OEImageTableOptions

class OEImageTableOptions

This class represents the OEImageTableOptions class that encapsulates properties that determine how an image table is depicted.

The OEImageTableOptions class stores the following properties:

Property Get method Set method Corresponding namespace / class / type
number of columns NumColumns   integer greater than 0
number of rows NumRows   integer greater than 1
width of columns   SetColumnWidths vector of non zero integers
height of rows   SetRowHeights vector of non zero integers
cell font size   SetBaseFontSize positive non-zero integer
pen used around cells cells GetCellBorderPen SetCellBorderPen OEPen
table cell color GetCellColor SetCellColor OEColor
table cell font GetCellFont SetCellFont OEFont
header HasHeader SetHeader boolean
header color GetHeaderColor SetHeaderColor OEColor
header font GetHeaderFont SetHeaderFont OEFont
table margins GetMargin SetMargin / SetMargins positive floating point number in the range of \([0.0, 25.0]\)
stub column HasStubColumn SetStubColumn boolean
stub column color GetStubColumnColor SetStubColumnColor OEColor
stub column font GetStubColumnFont SetStubColumnFont OEFont

Constructors

OEImageTableOptions(unsigned int rows, unsigned int cols,
                    unsigned int style=OEImageTableStyle::Default)

Creates an OEImageTableOptions object with the given parameters.

rows
The total number of rows in the table including the header.
cols
The total number of columns in the table including the stub column.
style
This value has to be from the OEImageTableStyle namespace.

Note

By default, the columns and rows of a table are created with equal widths and heights. The relative width and hight ratio of the columns and rows can be adjusted using the OEImageTableOptions.SetColumnWidths and OEImageTableOptions.SetRowHeights methods, respectively.

Example (Example of generating a 4 x 4 image table with header and ‘MediumBlue’ style)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
../../_images/OEImageTableOptions_Default.png

Example of generating a 4 x 4 image table with header and ‘MediumBlue’ style

OEImageTableOptions(const OEImageTableOptions &rhs)

Copy constructor.

operator=

OEImageTableOptions &operator=(const OEImageTableOptions &)

Assignment operator.

GetCellBorderPen

const OEPen &GetCellBorderPen() const

Returns the pen that is used to mark the border of the cells in the table.

GetCellColor

const OESystem::OEColor GetCellColor(bool even=true) const

Returns the color used to highlight the ‘body’ cells in the table. A cell is considered to be part of the ‘body’ of the table if it is neither in the header nor in the stub column.

even
This parameter determines whether to returns the color of the even or odd rows in the table.

GetCellFont

const OEFont GetCellFont() const

Returns the font used by the OEImageTable.DrawText method to draw text on the ‘body’ cells.

See also

GetHeaderColor

const OESystem::OEColor GetHeaderColor() const

Returns the color used to highlight the ‘header’ cells in the table.

GetHeaderFont

const OEFont GetHeaderFont() const

Returns the font used by the OEImageTable.DrawText method to draw text on the ‘header’ cells.

GetMargin

double GetMargin(unsigned int margin) const

Returns the ratio of a specific margin of the table.

margin
This value has to be from the OEMargin namespace.

GetStubColumnColor

const OESystem::OEColor GetStubColumnColor() const

Returns the color used to highlight the ‘stub column’ cells in the table.

GetStubColumnFont

const OEFont GetStubColumnFont() const

Returns the font used by the OEImageTable.DrawText method to draw text on the ‘stub column’ cells.

HasHeader

bool HasHeader() const

Returns whether a table has a ‘header’ row. By default, a table is generated with a ‘header’ row.

HasStubColumn

bool HasStubColumn() const

Returns whether the table has a ‘stub’ column. By default, a table is generated without a ‘stub’ column.

NumColumns

unsigned int NumColumns() const

Returns the total number of columns in the table including the stub column.

NumRows

unsigned int NumRows() const

Returns the total number of rows in the table including the header row.

SetBaseFontSize

void SetBaseFontSize(unsigned int fontsize)

Controls the font size in add table cells (including cells of header, stub column and body).

See also

The other properties of the used fonts can be controlled with the following methods:

SetCellBorderPen

void SetCellBorderPen(const OEPen &pen)

Sets the pen that is used to mark the border of the cells in the table.

Example (Example of using the SetCellBorderPen method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
OEPen pen = new OEPen(oechem.getOEBlack(), oechem.getOEDarkBlue(), OEFill.Off, 2.0);
tableopts.SetCellBorderPen(pen);
../../_images/OEImageTableOptions_SetCellBorderPen.png

Example of using the SetCellBorderPen method

SetCellColor

void SetCellColor(const OESystem::OEColor &color, bool even=true)

Sets the color used to highlight the ‘body’ cells in the table. A cell is considered to be part of the ‘body’ of the table if it is neither in the header nor in the stub column.

color
The color of the cells.
even
This parameter determines whether the color is applied to the even or to the odd rows of the table.

Example (Example of using the SetCellColor method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
boolean even = true;
tableopts.SetCellColor(oechem.getOELightGrey(), !even);
../../_images/OEImageTableOptions_SetCellColor.png

Example of using the SetCellColor method

SetCellFont

void SetCellFont(const OEFont &font)

Sets the font used by the OEImageTable.DrawText method to draw text on the ‘body’ cells. A cell is considered to be part of the ‘body’ of the table if it is neither in the header nor in the stub column.

Example (Example of using the SetCellFont method)

../../_images/OEImageTableOptions_SetCellFont.png

Example of using the SetCellFont method

SetColumnWidths

bool SetColumnWidths(const std::vector<unsigned int> &widths)

Sets the relative widths of the columns.

widths
The relative widths of the columns. The size of the vector has to be OEImageTableOptions.NumColumns().

Example (Example of using the SetColumnWidths method)

The following example show how to adjust the width ratio of the columns.

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
ArrayList<Integer> widths = new ArrayList<Integer>();
widths.add(20);
widths.add(10);
widths.add(20);
widths.add(10);
tableopts.SetColumnWidths(widths);
../../_images/OEImageTableOptions_SetColumnWidths.png

Example of using the SetColumnWidths method

SetHeader

bool SetHeader(bool has)

Sets whether to have a ‘header’ row in the table.

Example (Example of using the SetHeader method)

By default, a table is generated with a header row on the top. The following example show how to remove the header.

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
tableopts.SetHeader(false);
../../_images/OEImageTableOptions_SetHeader.png

Example of using the SetHeader method

SetHeaderColor

void SetHeaderColor(const OESystem::OEColor &color)

Sets the color used to highlight the ‘header’ cells in the table.

Example (Example of using the SetHeaderColor method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
tableopts.SetHeaderColor(oechem.getOELightGrey());
../../_images/OEImageTableOptions_SetHeaderColor.png

Example of using the SetHeaderColor method

SetHeaderFont

void SetHeaderFont(const OEFont &font)

Sets the font used by the OEImageTable.DrawText method to draw text on the ‘header’ cells.

Example (Example of using the SetHeaderFont method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
OEFont font = new OEFont(OEFontFamily.Default, OEFontStyle.Default,
                         12, OEAlignment.Right, oechem.getOEPinkTint());
tableopts.SetHeaderFont(font);
../../_images/OEImageTableOptions_SetHeaderFont.png

Example of using the SetHeaderFont method

SetMargin

bool SetMargin(unsigned int marginlog, double margin)

Sets the size of a specific margin of the table.

marginloc
This value has to be from the OEMargin namespace.
margin
This number is considered as a percentage of either the width or the height of image on which the table will be drawn and has to be in the range of \([0.0, 25.0]\). For example, 10.0% means, that the left and right margin are 10% of the total width of the image, and the top and bottom margins are 10% of the total height of the image.

Example (Example of using the SetMargin method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
tableopts.SetMargin(OEMargin.Left, 10.0);
tableopts.SetMargin(OEMargin.Right, 10.0);
../../_images/OEImageTableOptions_SetMargin.png

Example of using the SetMargin method

SetMargins

bool SetMargins(double margin)

Sets the size of all margins of the table.

margin
This number is considered as a percentage of either the width or the height of image on which the table will be drawn and has to be in the range of \([0.0, 25.0]\). For example, 10.0% means, that the left and right margin are 10% of the total width of the image, and the top and bottom margins are 10% of the total height of the image.

Example (Example of using the SetMargins method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
tableopts.SetMargins(10.0);
../../_images/OEImageTableOptions_SetMargins.png

Example of using the SetMargins method

SetRowHeights

bool SetRowHeights(const std::vector<unsigned int> &heights)

Sets the relative heights of the rows.

heights
The relative heights of the rows. The size of the vector has to be OEImageTableOptions.NumRows().

Example (Example of using the SetRowHeights method)

The following example show how to adjust the height ratio of the rows.

EImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
rrayList<Integer> heights = new ArrayList<Integer>();
eights.add(10);
eights.add(20);
eights.add(30);
eights.add(40);
ableopts.SetRowHeights(heights);
../../_images/OEImageTableOptions_SetRowHeights.png

Example of using the SetRowHeights method

SetStubColumn

bool SetStubColumn(bool has)

Sets whether to have a ‘stub’ column in the table.

Example (Example of using the SetStubColumn method)

By default, a table is generated without a ‘stub’ column. The following example show how to add one on the left.

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
tableopts.SetStubColumn(true);
../../_images/OEImageTableOptions_SetStubColumn.png

Example of using the SetStubColumn method

SetStubColumnColor

void SetStubColumnColor(const OESystem::OEColor & color)

Sets the color used to highlight the ‘stub’ cells in the table.

Example (Example of using the SetStubColumnColor method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
tableopts.SetStubColumn(true);
tableopts.SetStubColumnColor(oechem.getOELightGrey());
../../_images/OEImageTableOptions_SetStubColumnColor.png

Example of using the SetStubColumnColor method

SetStubColumnFont

void SetStubColumnFont(const OEFont &font)

Sets the font used by the OEImageTable.DrawText method to draw text on the ‘stub column’ cells.

Example (Example of using the SetStubColumnFont method)

OEImageTableOptions tableopts = new OEImageTableOptions(4, 4, OEImageTableStyle.MediumBlue);
tableopts.SetStubColumn(true);
OEFont font = new OEFont(OEFontFamily.Default, OEFontStyle.Default,
                         12, OEAlignment.Right, oechem.getOEPinkTint());
tableopts.SetStubColumnFont(font);
../../_images/OEImageTableOptions_SetStubColumnFont.png

Example of using the SetStubColumnFont method