Mudando o foco de NSTextField para NSOpenGLView?
-
28-10-2019 - |
Pergunta
Estou desenvolvendo uma interface para uma simulação OpenGL no Mac usando o Interface Builder.Todo o material OpenGL está sendo escrito em C ++ (que eu conheço muito bem).Infelizmente, não tenho ideia sobre Objective-C.
Basicamente, tenho alguns NSTextField exibindo informações sobre um objeto selecionado na Tela.Usando estes campos de texto o usuário pode manipular o objeto na tela e então há um botão Salvar e um botão Restaurar (que tanto salva os novos valores quanto restaura os originais)
Eu tenho tudo isso funcionando.Meu problema é que quando eu insiro dados em um NSTextField, o "foco" das janelas parece permanecer no NSTextField (a borda azul permanece ao redor dele).
Eu uso o teclado para interagir com itens dentro do NSOpenGLView, preciso passar o foco de volta para o NSOpenGLView quando clico nos botões Salvar ou Restaurar.
Desculpe se esta é uma pergunta muito direta
Obrigado
David
Solução
Você já tentou usar NSWindow makeFirstResponder método para tornar seu NSOpenGLView o primeiro a responder?
Outras dicas
Consegui fazer funcionar.
Tive que adicionar a linha:
[[NSApp keyWindow] makeFirstResponder: MyOpenGLView];
ao final da função que está sendo chamada quando clico em qualquer um dos meus botões.
(Obrigado Julio por me apontar a direção certa)