sexta-feira, 17 de abril de 2009

Layout Managers: Espaçamentos

Todos os gerenciadores de layout do FOX Toolkit têm um preenchimento (padding) interior, que afasta seus widgets filhos das suas bordas de cima, baixo, esquerda e direita por uma certa distância em pixels.

Além do preenchimento, há também um espaçamento (spacing), que é a distância (em pixels) entre dois widgets dentro do mesmo gerenciador de layout.

Bom, acho que com um desenho fica mais fácil de entender:


  • PL - espaço entre os widgets e a borda esquerda do gerenciador
  • PR - espaço entre os widgets e a borda direita
  • PT - espaço entre os widgets e a borda superior
  • PB - espaço entre os widgets e a borda inferior
  • HS - espaço horizontal entre um widget e outro
  • VS - espaço vertical entre um widget e outro

Esses parâmetros (nessa ordem) são tipicamente os seis últimos parâmetros do construtor de um gerenciador de layout. Porém, são fornecidos valores padrões para esses parâmetros, ou seja, na maioria dos casos não será necessário informá-los.

Como exemplo, o construtor de FXHorizontalFrame:

FXHorizontalFrame(FXComposite *p,
FXuint opts = 0,
FXint x = 0, FXint y = 0,
FXint w = 0, FXint h = 0,
FXint pl = DEFAULT_SPACING,
FXint pr = DEFAULT_SPACING,
FXint pt = DEFAULT_SPACING,
FXint pb = DEFAULT_SPACING,
FXint hs = DEFAULT_SPACING,
FXint vs = DEFAULT_SPACING
);

DEFAULT_SPACING é uma enumeração definida em FXPacker.h (FXHorizontalFrame deriva diretamente de FXPacker):

enum { DEFAULT_SPACING = 4 };

Ou seja, ao se colocar widgets dentro de um FXHorizontalFrame, estes estarão distantes das bordas por quatro pixels, e distantes entre si também por quatro pixels (isto, claro, se os valores não forem informados, aceitando os padrões).

Nenhum comentário: