Class Fox::FXMatrix
In: FXMatrix.rb
Parent: FXPacker

The FXMatrix layout manager automatically arranges its child windows in rows and columns. If the matrix style is MATRIX_BY_ROWS, then the matrix will have the given number of rows and the number of columns grows as more child windows are added; if the matrix style is MATRIX_BY_COLUMNS, then the number of columns is fixed and the number of rows grows as more children are added. If all children in a row (column) have the LAYOUT_FILL_ROW (LAYOUT_FILL_COLUMN) hint set, then the row (column) will be stretchable as the matrix layout manager itself is resized. If more than one row (column) is stretchable, the space is apportioned to each stretchable row (column) proportionally. Within each cell of the matrix, all other layout hints are observed. For example, a child having LAYOUT_CENTER_Y and LAYOUT_FILL_X hints will be centered in the Y-direction, while being stretched in the X-direction. Empty cells can be obtained by simply placing a borderless FXFrame widget as a space-holder.

Matrix packing options

MATRIX_BY_ROWS:Fixed number of rows, add columns as needed
MATRIX_BY_COLUMNS:Fixed number of columns, adding rows as needed
Methods
childAtRowCol    colOfChild    new    rowOfChild   
Attributes
matrixStyle  [RW] 

Matrix style [Integer]

numColumns  [RW] 

Number of columns [Integer]

numRows  [RW] 

Number of rows [Integer]

Public Class methods
new(parent, n=1, opts=MATRIX_BY_ROWS, x=0, y=0, width=0, height=0, padLeft=DEFAULT_SPACING, padRight=DEFAULT_SPACING, padTop=DEFAULT_SPACING, padBottom=DEFAULT_SPACING, hSpacing=DEFAULT_SPACING, vSpacing=DEFAULT_SPACING) {|theMatrix| ...}

Construct a matrix layout manager with n rows or columns

Public Instance methods
childAtRowCol(row, column)

Obtain the child placed at a certain row and column.

rowOfChild(child)

Return the row in which the given child is placed.

colOfChild(child)

Return the column in which the given child is placed.