Já que nosso último tutorial foi sobre criar uma janela vazia, usando FXMainWindow, falarei agora especificamente sobre essa classe.
Descrição
Declaração
Sim, ela é só isso.
Discussão
1: A classe FXMainWindow é derivada de FXTopWindow. Por isso ela é pequena desse jeito, toda a funcionalidade dela é herdada das superclasses. E a hierarquia não é pequena:
Obs.: Em tópicos deste tipo, tratarei de apenas uma classe, ou seja, vou me limitar ao que a declaração da classe apresenta.
11-19: Construtor. Recebe 15 parâmetros:
Percebam que apenas a aplicação e o título da janela são obrigatórios. Todos os outros parâmetros têm valores default, ou seja, podem ser omitidos. Outra vantagem do FOX Toolkit: os parâmetros default asseguram um layout agradável aos olhos.
Observações
Links
Descrição
A MainWindow é normalmente a janela central de uma aplicação. Aplicações podem ter qualquer número de janelas principais.
Quando uma MainWindow é fechada, ela envia uma mensagem SEL_CLOSE para o seu alvo; o alvo deve retornar 0 se não houver nenhuma objeção contra o fechamento, e 1 caso contrário.
Depois que a mensagem SEL_CLOSE for enviada e nenhuma objeção for levantada, a janela principal deletará a si mesma.
Declaração
1 class FXAPI FXMainWindow : public FXTopWindow {
2 FXDECLARE(FXMainWindow)
3 protected:
4 FXMainWindow(){}
5 private:
6 FXMainWindow(const FXMainWindow&);
7 FXMainWindow &operator=(const FXMainWindow&);
8 public:
9
10 /// Constrói uma janela principal
11 FXMainWindow(FXApp* a, const FXString& name,
12 FXIcon *ic = NULL, FXIcon *mi = NULL,
13 FXuint opts = DECOR_ALL,
14 FXint x = 0, FXint y = 0,
15 FXint w = 0, FXint h = 0,
16 FXint pl = 0, FXint pr = 0,
17 FXint pt = 0, FXint pb = 0,
18 FXint hs = 0, FXint vs = 0
19 );
20
21 /// Cria os recursos do servidor (server-side)
22 virtual void create();
23
24 /// Destrutor
25 virtual ~FXMainWindow();
26 };
Sim, ela é só isso.
Discussão
1: A classe FXMainWindow é derivada de FXTopWindow. Por isso ela é pequena desse jeito, toda a funcionalidade dela é herdada das superclasses. E a hierarquia não é pequena:
Obs.: Em tópicos deste tipo, tratarei de apenas uma classe, ou seja, vou me limitar ao que a declaração da classe apresenta.
11-19: Construtor. Recebe 15 parâmetros:
- FXApp *a - Ponteiro para a aplicação.
- FXString &name - Título da janela.
- FXIcon *ic, FXIcon *mi - Ícones da janela.
- Ícone grande, que aparece quando se troca de janela com Alt+Tab
- Ícone pequeno, que aparece no canto superior esquerdo da janela
- FXuint opts - Opções da janela.
Essas opções referem-se às decorações da janela, e são definidas em FXTopWindow.h. Chegaremos lá. - FXint x, FXint y - Posição inicial da janela.
- FXint w, FXint h - Largura e altura da janela.
- FXint pl, FXint pr, FXint pt, FXint pb - Espaçamento entre os componentes e a borda da janela.
Uma MainWindow é um gerenciador de layout (layout manager), portanto aceita esses parâmetros. Quando falarmos de gerenciadores de layout, explicarei melhor. - FXint hs, FXint vs - Espaçamento entre um componente e outro.
Idem.
Percebam que apenas a aplicação e o título da janela são obrigatórios. Todos os outros parâmetros têm valores default, ou seja, podem ser omitidos. Outra vantagem do FOX Toolkit: os parâmetros default asseguram um layout agradável aos olhos.
Observações
- A descrição da classe foi retirada da própria documentação de referência.
- O gráfico de herança foi desenhado com o programa Dia.
Links
Nenhum comentário:
Postar um comentário