quinta-feira, 23 de abril de 2009

Errata: Ícones

No tutorial sobre ícones, eu falei que o ícone deve saber quem é seu aplicativo. Isto é correto.

Entretanto, logo em seguida eu disse que isso era para que o ícone fosse criado junto com o aplicativo. Não é bem assim.

Um aplicativo FOX (FXApp) não tem conhecimento dos ícones ou imagens. Então quem tem a responsabilidade de criá-los é exatamente quem vai utilizá-los, seja uma janela, um botão ou qualquer outro objeto que exiba um ícone/imagem.

Ou seja, se a minha janela tem um ícone, o create() da janela vai chamar o create() de seu ícone. E como ícones e imagens podem ser compartilhados, a eles é permitido chamar create() mais de uma vez.

Observe que os objetos FOX são organizados em uma hierarquia em árvore, em que os pais criam os filhos. Isso quer dizer que se eu instancio uma imagem e dou um dono para ela antes que esse dono tenha sido criado, essa imagem será criada junto com seu dono.

Se eu instanciar uma imagem depois que seu dono foi criado, é preciso chamar create() na imagem manualmente.

Bom, o objetivo desse tópico era apenas apresentar essa correção. No fundo, no fundo, as imagens são criadas junto com o aplicativo, que é a raiz da hierarquia. Só que as imagens não são filhas do aplicativo, como eu imaginei, sendo criadas automaticamente se, e somente se, tiverem algum widget que seja dono delas.

Nenhum comentário: