Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
nirt::gui Namespace Reference

The gui namespace contains useful classes for easy creation of a graphical user interface. More...

Classes

class  ICursorControl
 Interface to manipulate the mouse cursor. More...
 
class  IGUIButton
 GUI Button interface. More...
 
class  IGUICheckBox
 GUI Check box interface. More...
 
class  IGUIColorSelectDialog
 Standard color chooser dialog. More...
 
class  IGUIComboBox
 Combobox widget. More...
 
class  IGUIContextMenu
 GUI Context menu interface. More...
 
class  IGUIEditBox
 Single line edit box for editing simple text. More...
 
class  IGUIElement
 Base class of all GUI elements. More...
 
class  IGUIElementFactory
 Interface making it possible to dynamically create GUI elements. More...
 
class  IGUIEnvironment
 GUI Environment. Used as factory and manager of all other GUI elements. More...
 
class  IGUIFileOpenDialog
 Standard file chooser dialog. More...
 
class  IGUIFont
 Font interface. More...
 
class  IGUIFontBitmap
 Font interface. More...
 
class  IGUIImage
 GUI element displaying an image. More...
 
class  IGUIImageList
 Font interface. More...
 
class  IGUIInOutFader
 Element for fading out or in. More...
 
class  IGUIListBox
 Default list box GUI element. More...
 
class  IGUIMeshViewer
 3d mesh viewing GUI element. More...
 
class  IGUIProfiler
 Element to display profiler information. More...
 
class  IGUIScrollBar
 Default scroll bar GUI element. More...
 
class  IGUISkin
 A skin modifies the look of the GUI elements. More...
 
class  IGUISpinBox
 Single line edit box + spin buttons. More...
 
class  IGUISpriteBank
 Sprite bank interface. More...
 
class  IGUIStaticText
 Multi or single line text label. More...
 
class  IGUITab
 A tab-page, onto which other gui elements could be added. More...
 
class  IGUITabControl
 A standard tab control. More...
 
class  IGUITable
 Default list box GUI element. More...
 
class  IGUIToolBar
 Stays at the top of its parent like the menu bar and contains tool buttons. More...
 
class  IGUITreeView
 Default tree view GUI element. More...
 
class  IGUITreeViewNode
 Node for gui tree view. More...
 
class  IGUIWindow
 Default moveable window GUI element with border, caption and close icons. More...
 
class  SCursorSprite
 class used to set sprites as cursors. More...
 
class  SGUISprite
 A sprite composed of several frames. More...
 
class  SGUISpriteFrame
 A single sprite frame. More...
 

Enumerations

enum  EGUI_COLUMN_ORDERING {
  EGCO_NONE , EGCO_CUSTOM , EGCO_ASCENDING , EGCO_DESCENDING ,
  EGCO_FLIP_ASCENDING_DESCENDING , EGCO_COUNT
}
 modes for ordering used when a column header is clicked More...
 
enum  EGUI_ORDERING_MODE { EGOM_NONE , EGOM_ASCENDING , EGOM_DESCENDING , EGOM_COUNT }
 
enum  EGUI_TABLE_DRAW_FLAGS { EGTDF_ROWS = 1 , EGTDF_COLUMNS = 2 , EGTDF_ACTIVE_ROW = 4 , EGTDF_COUNT }
 
enum  EGUI_SPINBOX_VALIDATION { EGUI_SBV_NEVER = 0 , EGUI_SBV_CHANGE = 1 , EGUI_SBV_ENTER = 2 , EGUI_SBV_LOSE_FOCUS = 4 }
 
enum  EGUI_SKIN_TYPE {
  EGST_WINDOWS_CLASSIC =0 , EGST_WINDOWS_METALLIC , EGST_BURNING_SKIN , EGST_UNKNOWN ,
  EGST_COUNT
}
 Enumeration of available default skins. More...
 
enum  EGUI_DEFAULT_COLOR {
  EGDC_3D_DARK_SHADOW = 0 , EGDC_3D_SHADOW , EGDC_3D_FACE , EGDC_3D_HIGH_LIGHT ,
  EGDC_3D_LIGHT , EGDC_ACTIVE_BORDER , EGDC_ACTIVE_CAPTION , EGDC_APP_WORKSPACE ,
  EGDC_BUTTON_TEXT , EGDC_GRAY_TEXT , EGDC_HIGH_LIGHT , EGDC_HIGH_LIGHT_TEXT ,
  EGDC_INACTIVE_BORDER , EGDC_INACTIVE_CAPTION , EGDC_TOOLTIP , EGDC_TOOLTIP_BACKGROUND ,
  EGDC_SCROLLBAR , EGDC_WINDOW , EGDC_WINDOW_SYMBOL , EGDC_ICON ,
  EGDC_ICON_HIGH_LIGHT , EGDC_GRAY_WINDOW_SYMBOL , EGDC_EDITABLE , EGDC_GRAY_EDITABLE ,
  EGDC_FOCUSED_EDITABLE , EGDC_COUNT
}
 Enumeration for skin colors. More...
 
enum  EGUI_DEFAULT_SIZE {
  EGDS_SCROLLBAR_SIZE = 0 , EGDS_MENU_HEIGHT , EGDS_WINDOW_BUTTON_WIDTH , EGDS_CHECK_BOX_WIDTH ,
  EGDS_MESSAGE_BOX_WIDTH , EGDS_MESSAGE_BOX_HEIGHT , EGDS_BUTTON_WIDTH , EGDS_BUTTON_HEIGHT ,
  EGDS_TEXT_DISTANCE_X , EGDS_TEXT_DISTANCE_Y , EGDS_TITLEBARTEXT_DISTANCE_X , EGDS_TITLEBARTEXT_DISTANCE_Y ,
  EGDS_MESSAGE_BOX_GAP_SPACE , EGDS_MESSAGE_BOX_MIN_TEXT_WIDTH , EGDS_MESSAGE_BOX_MAX_TEXT_WIDTH , EGDS_MESSAGE_BOX_MIN_TEXT_HEIGHT ,
  EGDS_MESSAGE_BOX_MAX_TEXT_HEIGHT , EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X , EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y , EGDS_BUTTON_PRESSED_TEXT_OFFSET_X ,
  EGDS_BUTTON_PRESSED_TEXT_OFFSET_Y , EGDS_BUTTON_PRESSED_SPRITE_OFFSET_X , EGDS_BUTTON_PRESSED_SPRITE_OFFSET_Y , EGDS_COUNT
}
 Enumeration for default sizes. More...
 
enum  EGUI_DEFAULT_TEXT {
  EGDT_MSG_BOX_OK = 0 , EGDT_MSG_BOX_CANCEL , EGDT_MSG_BOX_YES , EGDT_MSG_BOX_NO ,
  EGDT_WINDOW_CLOSE , EGDT_WINDOW_MAXIMIZE , EGDT_WINDOW_MINIMIZE , EGDT_WINDOW_RESTORE ,
  EGDT_COUNT
}
 
enum  EGUI_DEFAULT_ICON {
  EGDI_WINDOW_MAXIMIZE = 0 , EGDI_WINDOW_RESTORE , EGDI_WINDOW_CLOSE , EGDI_WINDOW_MINIMIZE ,
  EGDI_WINDOW_RESIZE , EGDI_CURSOR_UP , EGDI_CURSOR_DOWN , EGDI_CURSOR_LEFT ,
  EGDI_CURSOR_RIGHT , EGDI_MENU_MORE , EGDI_CHECK_BOX_CHECKED , EGDI_DROP_DOWN ,
  EGDI_SMALL_CURSOR_UP , EGDI_SMALL_CURSOR_DOWN , EGDI_RADIO_BUTTON_CHECKED , EGDI_MORE_LEFT ,
  EGDI_MORE_RIGHT , EGDI_MORE_UP , EGDI_MORE_DOWN , EGDI_EXPAND ,
  EGDI_COLLAPSE , EGDI_FILE , EGDI_DIRECTORY , EGDI_COUNT
}
 Customizable symbols for GUI. More...
 
enum  EGUI_DEFAULT_FONT {
  EGDF_DEFAULT =0 , EGDF_BUTTON , EGDF_WINDOW , EGDF_MENU ,
  EGDF_TOOLTIP , EGDF_COUNT
}
 
enum  EGUI_LISTBOX_COLOR {
  EGUI_LBC_TEXT =0 , EGUI_LBC_TEXT_HIGHLIGHT , EGUI_LBC_ICON , EGUI_LBC_ICON_HIGHLIGHT ,
  EGUI_LBC_COUNT
}
 Enumeration for listbox colors. More...
 
enum  EGUI_FONT_TYPE { EGFT_BITMAP = 0 , EGFT_VECTOR , EGFT_OS , EGFT_CUSTOM }
 An enum for the different types of GUI font. More...
 
enum  ECONTEXT_MENU_CLOSE { ECMC_IGNORE = 0 , ECMC_REMOVE = 1 , ECMC_HIDE = 2 }
 
enum  EGUI_BUTTON_STATE {
  EGBS_BUTTON_UP =0 , EGBS_BUTTON_DOWN , EGBS_BUTTON_MOUSE_OVER , EGBS_BUTTON_MOUSE_OFF ,
  EGBS_BUTTON_FOCUSED , EGBS_BUTTON_NOT_FOCUSED , EGBS_BUTTON_DISABLED , EGBS_COUNT
}
 
enum  EGUI_BUTTON_IMAGE_STATE {
  EGBIS_IMAGE_UP , EGBIS_IMAGE_UP_MOUSEOVER , EGBIS_IMAGE_UP_FOCUSED , EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER ,
  EGBIS_IMAGE_DOWN , EGBIS_IMAGE_DOWN_MOUSEOVER , EGBIS_IMAGE_DOWN_FOCUSED , EGBIS_IMAGE_DOWN_FOCUSED_MOUSEOVER ,
  EGBIS_IMAGE_DISABLED , EGBIS_COUNT
}
 
enum  EGUI_EVENT_TYPE {
  EGET_ELEMENT_FOCUS_LOST = 0 , EGET_ELEMENT_FOCUSED , EGET_ELEMENT_HOVERED , EGET_ELEMENT_LEFT ,
  EGET_ELEMENT_CLOSED , EGET_BUTTON_CLICKED , EGET_SCROLL_BAR_CHANGED , EGET_CHECKBOX_CHANGED ,
  EGET_LISTBOX_CHANGED , EGET_LISTBOX_SELECTED_AGAIN , EGET_FILE_SELECTED , EGET_DIRECTORY_SELECTED ,
  EGET_FILE_CHOOSE_DIALOG_CANCELLED , EGET_MESSAGEBOX_YES , EGET_MESSAGEBOX_NO , EGET_MESSAGEBOX_OK ,
  EGET_MESSAGEBOX_CANCEL , EGET_EDITBOX_ENTER , EGET_EDITBOX_CHANGED , EGET_EDITBOX_MARKING_CHANGED ,
  EGET_TAB_CHANGED , EGET_MENU_ITEM_SELECTED , EGET_COMBO_BOX_CHANGED , EGET_SPINBOX_CHANGED ,
  EGET_TABLE_CHANGED , EGET_TABLE_HEADER_CHANGED , EGET_TABLE_SELECTED_AGAIN , EGET_TREEVIEW_NODE_DESELECT ,
  EGET_TREEVIEW_NODE_SELECT , EGET_TREEVIEW_NODE_EXPAND , EGET_TREEVIEW_NODE_COLLAPSE , EGET_TREEVIEW_NODE_COLLAPS = EGET_TREEVIEW_NODE_COLLAPSE ,
  EGET_COUNT
}
 Enumeration for all events which are sendable by the gui system. More...
 
enum  ECURSOR_ICON {
  ECI_NORMAL , ECI_CROSS , ECI_HAND , ECI_HELP ,
  ECI_IBEAM , ECI_NO , ECI_WAIT , ECI_SIZEALL ,
  ECI_SIZENESW , ECI_SIZENWSE , ECI_SIZENS , ECI_SIZEWE ,
  ECI_UP , ECI_COUNT
}
 Default icons for cursors.
 
enum  ECURSOR_PLATFORM_BEHAVIOR { ECPB_NONE = 0 , ECPB_X11_CACHE_UPDATES = 1 }
 platform specific behavior flags for the cursor More...
 
enum  EMESSAGE_BOX_FLAG {
  EMBF_OK = 0x1 , EMBF_CANCEL = 0x2 , EMBF_YES = 0x4 , EMBF_NO = 0x8 ,
  EMBF_FORCE_32BIT = 0x7fffffff
}
 enumeration for message box layout flags More...
 
enum  EGUI_ELEMENT_TYPE {
  EGUIET_BUTTON = 0 , EGUIET_CHECK_BOX , EGUIET_COMBO_BOX , EGUIET_CONTEXT_MENU ,
  EGUIET_MENU , EGUIET_EDIT_BOX , EGUIET_FILE_OPEN_DIALOG , EGUIET_COLOR_SELECT_DIALOG ,
  EGUIET_IN_OUT_FADER , EGUIET_IMAGE , EGUIET_LIST_BOX , EGUIET_MESH_VIEWER ,
  EGUIET_MESSAGE_BOX , EGUIET_MODAL_SCREEN , EGUIET_SCROLL_BAR , EGUIET_SPIN_BOX ,
  EGUIET_STATIC_TEXT , EGUIET_TAB , EGUIET_TAB_CONTROL , EGUIET_TABLE ,
  EGUIET_TOOL_BAR , EGUIET_TREE_VIEW , EGUIET_WINDOW , EGUIET_ELEMENT ,
  EGUIET_ROOT , EGUIET_PROFILER , EGUIET_COUNT , EGUIET_FORCE_32_BIT = 0x7fffffff
}
 List of all basic Nirtcpp GUI elements. More...
 
enum  EGUI_ALIGNMENT { EGUIA_UPPERLEFT =0 , EGUIA_LOWERRIGHT , EGUIA_CENTER , EGUIA_SCALE }
 
enum  EFOCUS_FLAG {
  EFF_SET_ON_LMOUSE_DOWN = 0x1 , EFF_SET_ON_RMOUSE_DOWN = 0x2 , EFF_SET_ON_MOUSE_OVER = 0x4 , EFF_SET_ON_TAB = 0x8 ,
  EFF_CAN_FOCUS_DISABLED = 0x16
}
 Bitflags for defining the the focus behavior of the gui. More...
 

Variables

const c8 *const GUIColumnOrderingNames []
 Names for EGUI_COLUMN_ORDERING types.
 
const c8 *const GUIOrderingModeNames []
 
const c8 *const GUISkinTypeNames [EGST_COUNT+1]
 Names for gui element types.
 
const c8 *const GUISkinColorNames [EGDC_COUNT+1]
 Names for default skin colors.
 
const c8 *const GUISkinSizeNames [EGDS_COUNT+1]
 Names for default skin sizes.
 
const c8 *const GUISkinTextNames [EGDT_COUNT+1]
 Names for default skin sizes.
 
const c8 *const GUISkinIconNames [EGDI_COUNT+1]
 
const c8 *const GUISkinFontNames [EGDF_COUNT+1]
 
const c8 *const GUIButtonStateNames [EGBS_COUNT+1]
 Names for gui button state icons.
 
const c8 *const GUIButtonImageStateNames [EGBIS_COUNT+1]
 Names for gui button image states.
 
const c8 *const GUICursorIconNames [ECI_COUNT+1]
 Names for ECURSOR_ICON.
 
const c8 *const GUIElementTypeNames []
 Names for built-in element types.
 
const c8 *const GUIAlignmentNames []
 Names for alignments.
 

Detailed Description

The gui namespace contains useful classes for easy creation of a graphical user interface.

Enumeration Type Documentation

◆ ECONTEXT_MENU_CLOSE

Close behavior. Default is ECMC_REMOVE

Enumerator
ECMC_IGNORE 

do nothing - menu stays open

ECMC_REMOVE 

remove the gui element

ECMC_HIDE 

call setVisible(false)

◆ ECURSOR_PLATFORM_BEHAVIOR

platform specific behavior flags for the cursor

Enumerator
ECPB_NONE 

default - no platform specific behavior

ECPB_X11_CACHE_UPDATES 

On X11 try caching cursor updates as XQueryPointer calls can be expensive.

Update cursor positions only when the nirtcpp timer has been updated or the timer is stopped. This means you usually get one cursor update per device->run() which will be fine in most cases. See this forum-thread for a more detailed explanation: http://nirtcpp.sourceforge.net/forum/viewtopic.php?f=7&t=45525

◆ EFOCUS_FLAG

Bitflags for defining the the focus behavior of the gui.

Enumerator
EFF_SET_ON_LMOUSE_DOWN 

When set the focus changes when the left mouse-button got clicked while over an element.

EFF_SET_ON_RMOUSE_DOWN 

When set the focus changes when the right mouse-button got clicked while over an element Note that elements usually don't care about right-click and that won't change with this flag This is mostly to allow taking away focus from elements with right-mouse additionally.

EFF_SET_ON_MOUSE_OVER 

When set the focus changes when the mouse-cursor is over an element.

EFF_SET_ON_TAB 

When set the focus can be changed with TAB-key combinations.

EFF_CAN_FOCUS_DISABLED 

When set it's possible to set the focus to disabled elements.

◆ EGUI_ALIGNMENT

Enumerator
EGUIA_UPPERLEFT 

Aligned to parent's top or left side (default)

EGUIA_LOWERRIGHT 

Aligned to parent's bottom or right side.

EGUIA_CENTER 

Aligned to the center of parent.

EGUIA_SCALE 

Stretched to fit parent.

◆ EGUI_BUTTON_IMAGE_STATE

State of buttons used for drawing texture images. Note that only a single state is active at a time Also when no image is defined for a state it will use images from another state and if that state is not set from the replacement for that,etc. So in many cases setting EGBIS_IMAGE_UP and EGBIS_IMAGE_DOWN is sufficient.

Enumerator
EGBIS_IMAGE_UP 

When no other states have images they will all use this one.

EGBIS_IMAGE_UP_MOUSEOVER 

When not set EGBIS_IMAGE_UP is used.

EGBIS_IMAGE_UP_FOCUSED 

When not set EGBIS_IMAGE_UP_MOUSEOVER is used.

EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER 

When not set EGBIS_IMAGE_UP_FOCUSED is used.

EGBIS_IMAGE_DOWN 

When not set EGBIS_IMAGE_UP is used.

EGBIS_IMAGE_DOWN_MOUSEOVER 

When not set EGBIS_IMAGE_DOWN is used.

EGBIS_IMAGE_DOWN_FOCUSED 

When not set EGBIS_IMAGE_DOWN_MOUSEOVER is used.

EGBIS_IMAGE_DOWN_FOCUSED_MOUSEOVER 

When not set EGBIS_IMAGE_DOWN_FOCUSED is used.

EGBIS_IMAGE_DISABLED 

When not set EGBIS_IMAGE_UP or EGBIS_IMAGE_DOWN are used (depending on button state).

EGBIS_COUNT 

not used, counts the number of enumerated items

◆ EGUI_BUTTON_STATE

Current state of buttons used for drawing sprites. Note that up to 3 states can be active at the same time: EGBS_BUTTON_UP or EGBS_BUTTON_DOWN EGBS_BUTTON_MOUSE_OVER or EGBS_BUTTON_MOUSE_OFF EGBS_BUTTON_FOCUSED or EGBS_BUTTON_NOT_FOCUSED

Enumerator
EGBS_BUTTON_UP 

The button is not pressed.

EGBS_BUTTON_DOWN 

The button is currently pressed down.

EGBS_BUTTON_MOUSE_OVER 

The mouse cursor is over the button.

EGBS_BUTTON_MOUSE_OFF 

The mouse cursor is not over the button.

EGBS_BUTTON_FOCUSED 

The button has the focus.

EGBS_BUTTON_NOT_FOCUSED 

The button doesn't have the focus.

EGBS_BUTTON_DISABLED 

The button is disabled All other states are ignored in that case.

EGBS_COUNT 

not used, counts the number of enumerated items

◆ EGUI_COLUMN_ORDERING

modes for ordering used when a column header is clicked

Enumerator
EGCO_NONE 

Do not use ordering.

EGCO_CUSTOM 

Send a EGET_TABLE_HEADER_CHANGED message when a column header is clicked.

EGCO_ASCENDING 

Sort it ascending by it's ascii value like: a,b,c,...

EGCO_DESCENDING 

Sort it descending by it's ascii value like: z,x,y,...

EGCO_FLIP_ASCENDING_DESCENDING 

Sort it ascending on first click, descending on next, etc.

EGCO_COUNT 

Not used as mode, only to get maximum value for this enum.

◆ EGUI_DEFAULT_COLOR

Enumeration for skin colors.

Enumerator
EGDC_3D_DARK_SHADOW 

Dark shadow for three-dimensional display elements.

EGDC_3D_SHADOW 

Shadow color for three-dimensional display elements (for edges facing away from the light source).

EGDC_3D_FACE 

Face color for three-dimensional display elements and for dialog box backgrounds.

EGDC_3D_HIGH_LIGHT 

Highlight color for three-dimensional display elements (for edges facing the light source.)

EGDC_3D_LIGHT 

Light color for three-dimensional display elements (for edges facing the light source.)

EGDC_ACTIVE_BORDER 

Active window border.

EGDC_ACTIVE_CAPTION 

Active window title bar text.

EGDC_APP_WORKSPACE 

Background color of multiple document interface (MDI) applications.

EGDC_BUTTON_TEXT 

Text on a button.

EGDC_GRAY_TEXT 

Grayed (disabled) text.

EGDC_HIGH_LIGHT 

Item(s) selected in a control.

EGDC_HIGH_LIGHT_TEXT 

Text of item(s) selected in a control.

EGDC_INACTIVE_BORDER 

Inactive window border.

EGDC_INACTIVE_CAPTION 

Inactive window caption.

EGDC_TOOLTIP 

Tool tip text color.

EGDC_TOOLTIP_BACKGROUND 

Tool tip background color.

EGDC_SCROLLBAR 

Scrollbar gray area.

EGDC_WINDOW 

Window background.

EGDC_WINDOW_SYMBOL 

Window symbols like on close buttons, scroll bars and check boxes.

EGDC_ICON 

Icons in a list or tree.

EGDC_ICON_HIGH_LIGHT 

Selected icons in a list or tree.

EGDC_GRAY_WINDOW_SYMBOL 

Grayed (disabled) window symbols like on close buttons, scroll bars and check boxes.

EGDC_EDITABLE 

Window background for editable field (editbox, checkbox-field)

EGDC_GRAY_EDITABLE 

Grayed (disabled) window background for editable field (editbox, checkbox-field)

EGDC_FOCUSED_EDITABLE 

Show focus of window background for editable field (editbox or when checkbox-field is pressed)

EGDC_COUNT 

this value is not used, it only specifies the amount of default colors available.

◆ EGUI_DEFAULT_FONT

Enumerator
EGDF_DEFAULT 

For static text, edit boxes, lists and most other places.

EGDF_BUTTON 

Font for buttons.

EGDF_WINDOW 

Font for window title bars.

EGDF_MENU 

Font for menu items.

EGDF_TOOLTIP 

Font for tooltips.

EGDF_COUNT 

this value is not used, it only specifies the amount of default fonts available.

◆ EGUI_DEFAULT_ICON

Customizable symbols for GUI.

Enumerator
EGDI_WINDOW_MAXIMIZE 

maximize window button

EGDI_WINDOW_RESTORE 

restore window button

EGDI_WINDOW_CLOSE 

close window button

EGDI_WINDOW_MINIMIZE 

minimize window button

EGDI_WINDOW_RESIZE 

resize icon for bottom right corner of a window

EGDI_CURSOR_UP 

scroll bar up button

EGDI_CURSOR_DOWN 

scroll bar down button

EGDI_CURSOR_LEFT 

scroll bar left button

EGDI_CURSOR_RIGHT 

scroll bar right button

EGDI_MENU_MORE 

icon for menu children

EGDI_CHECK_BOX_CHECKED 

tick for checkbox

EGDI_DROP_DOWN 

down arrow for dropdown menus

EGDI_SMALL_CURSOR_UP 

smaller up arrow

EGDI_SMALL_CURSOR_DOWN 

smaller down arrow

EGDI_RADIO_BUTTON_CHECKED 

selection dot in a radio button

EGDI_MORE_LEFT 

<< icon indicating there is more content to the left

EGDI_MORE_RIGHT 

‍icon indicating that there is more content to the right

EGDI_MORE_UP 

icon indicating that there is more content above

EGDI_MORE_DOWN 

icon indicating that there is more content below

EGDI_EXPAND 

plus icon for trees

EGDI_COLLAPSE 

minus icon for trees

EGDI_FILE 

file icon for file selection

EGDI_DIRECTORY 

folder icon for file selection

EGDI_COUNT 

value not used, it only specifies the number of icons

◆ EGUI_DEFAULT_SIZE

Enumeration for default sizes.

Enumerator
EGDS_SCROLLBAR_SIZE 

default with / height of scrollbar. Also width of drop-down button in comboboxes.

EGDS_MENU_HEIGHT 

height of menu

EGDS_WINDOW_BUTTON_WIDTH 

width and height of a window titlebar button (like minimize/maximize/close buttons). The titlebar height is also calculated from that.

EGDS_CHECK_BOX_WIDTH 

width of a checkbox check

EGDS_MESSAGE_BOX_WIDTH 
Deprecated:
This may be removed by Nirtcpp 1.9
EGDS_MESSAGE_BOX_HEIGHT 
Deprecated:
This may be removed by Nirtcpp 1.9
EGDS_BUTTON_WIDTH 

width of a default button

EGDS_BUTTON_HEIGHT 

height of a default button (OK and cancel buttons)

EGDS_TEXT_DISTANCE_X 

distance for text from background

EGDS_TEXT_DISTANCE_Y 

distance for text from background

EGDS_TITLEBARTEXT_DISTANCE_X 

distance for text in the title bar, from the left of the window rect

EGDS_TITLEBARTEXT_DISTANCE_Y 

distance for text in the title bar, from the top of the window rect

EGDS_MESSAGE_BOX_GAP_SPACE 

free space in a messagebox between borders and contents on all sides

EGDS_MESSAGE_BOX_MIN_TEXT_WIDTH 

minimal space to reserve for messagebox text-width

EGDS_MESSAGE_BOX_MAX_TEXT_WIDTH 

maximal space to reserve for messagebox text-width

EGDS_MESSAGE_BOX_MIN_TEXT_HEIGHT 

minimal space to reserve for messagebox text-height

EGDS_MESSAGE_BOX_MAX_TEXT_HEIGHT 

maximal space to reserve for messagebox text-height

EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X 

pixels to move an unscaled button image to the right when a button is pressed and the unpressed image looks identical

EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y 

pixels to move an unscaled button image down when a button is pressed and the unpressed image looks identical

EGDS_BUTTON_PRESSED_TEXT_OFFSET_X 

pixels to move the button text to the right when a button is pressed

EGDS_BUTTON_PRESSED_TEXT_OFFSET_Y 

pixels to move the button text down when a button is pressed

EGDS_BUTTON_PRESSED_SPRITE_OFFSET_X 

pixels to move an unscaled button sprite to the right when a button is pressed

EGDS_BUTTON_PRESSED_SPRITE_OFFSET_Y 

pixels to move an unscaled button sprite down when a button is pressed

EGDS_COUNT 

this value is not used, it only specifies the amount of default sizes available.

◆ EGUI_DEFAULT_TEXT

Enumerator
EGDT_MSG_BOX_OK 

Text for the OK button on a message box.

EGDT_MSG_BOX_CANCEL 

Text for the Cancel button on a message box.

EGDT_MSG_BOX_YES 

Text for the Yes button on a message box.

EGDT_MSG_BOX_NO 

Text for the No button on a message box.

EGDT_WINDOW_CLOSE 

Tooltip text for window close button.

EGDT_WINDOW_MAXIMIZE 

Tooltip text for window maximize button.

EGDT_WINDOW_MINIMIZE 

Tooltip text for window minimize button.

EGDT_WINDOW_RESTORE 

Tooltip text for window restore button.

EGDT_COUNT 

this value is not used, it only specifies the number of default texts

◆ EGUI_ELEMENT_TYPE

List of all basic Nirtcpp GUI elements.

An IGUIElement returns this when calling IGUIElement::getType();

Enumerator
EGUIET_BUTTON 

A button (IGUIButton)

EGUIET_CHECK_BOX 

A check box (IGUICheckBox)

EGUIET_COMBO_BOX 

A combo box (IGUIComboBox)

EGUIET_CONTEXT_MENU 

A context menu (IGUIContextMenu)

EGUIET_MENU 

A menu (IGUIMenu)

EGUIET_EDIT_BOX 

An edit box (IGUIEditBox)

EGUIET_FILE_OPEN_DIALOG 

A file open dialog (IGUIFileOpenDialog)

EGUIET_COLOR_SELECT_DIALOG 

A color select open dialog (IGUIColorSelectDialog)

EGUIET_IN_OUT_FADER 

A in/out fader (IGUIInOutFader)

EGUIET_IMAGE 

An image (IGUIImage)

EGUIET_LIST_BOX 

A list box (IGUIListBox)

EGUIET_MESH_VIEWER 

A mesh viewer (IGUIMeshViewer)

EGUIET_MESSAGE_BOX 

A message box (IGUIWindow)

EGUIET_MODAL_SCREEN 

A modal screen.

EGUIET_SCROLL_BAR 

A scroll bar (IGUIScrollBar)

EGUIET_SPIN_BOX 

A spin box (IGUISpinBox)

EGUIET_STATIC_TEXT 

A static text (IGUIStaticText)

EGUIET_TAB 

A tab (IGUITab)

EGUIET_TAB_CONTROL 

A tab control.

EGUIET_TABLE 

A Table.

EGUIET_TOOL_BAR 

A tool bar (IGUIToolBar)

EGUIET_TREE_VIEW 

A Tree View.

EGUIET_WINDOW 

A window.

EGUIET_ELEMENT 

Unknown type.

EGUIET_ROOT 

The root of the GUI.

EGUIET_PROFILER 

IGUIProfiler.

EGUIET_COUNT 

Not an element, amount of elements in there.

EGUIET_FORCE_32_BIT 

This enum is never used, it only forces the compiler to compile this enumeration to 32 bit.

◆ EGUI_EVENT_TYPE

Enumeration for all events which are sendable by the gui system.

Enumerator
EGET_ELEMENT_FOCUS_LOST 

A gui element has lost its focus.

GUIEvent.Caller is losing the focus to GUIEvent.Element. If the event is absorbed then the focus will not be changed.

EGET_ELEMENT_FOCUSED 

A gui element has got the focus.

If the event is absorbed then the focus will not be changed.

EGET_ELEMENT_HOVERED 

The mouse cursor hovered over a gui element.

If an element has sub-elements you also get this message for the subelements

EGET_ELEMENT_LEFT 

The mouse cursor left the hovered element.

If an element has sub-elements you also get this message for the subelements

EGET_ELEMENT_CLOSED 

An element would like to close.

Windows and context menus use this event when they would like to close, this can be canceled by absorbing the event.

EGET_BUTTON_CLICKED 

A button was clicked.

EGET_SCROLL_BAR_CHANGED 

A scrollbar has changed its position.

EGET_CHECKBOX_CHANGED 

A checkbox has changed its check state.

EGET_LISTBOX_CHANGED 

A new item in a listbox was selected.

NOTE: You also get this event currently when the same item was clicked again after more than 500 ms.

EGET_LISTBOX_SELECTED_AGAIN 

An item in the listbox was selected, which was already selected.

NOTE: You get the event currently only if the item was clicked again within 500 ms or selected by "enter" or "space".

EGET_FILE_SELECTED 

A file has been selected in the file dialog.

EGET_DIRECTORY_SELECTED 

A directory has been selected in the file dialog.

EGET_FILE_CHOOSE_DIALOG_CANCELLED 

A file open dialog has been closed without choosing a file.

EGET_MESSAGEBOX_YES 

'Yes' was clicked on a messagebox

EGET_MESSAGEBOX_NO 

'No' was clicked on a messagebox

EGET_MESSAGEBOX_OK 

'OK' was clicked on a messagebox

EGET_MESSAGEBOX_CANCEL 

'Cancel' was clicked on a messagebox

EGET_EDITBOX_ENTER 

In an editbox 'ENTER' was pressed.

EGET_EDITBOX_CHANGED 

The text in an editbox was changed. This does not include automatic changes in text-breaking.

EGET_EDITBOX_MARKING_CHANGED 

The marked area in an editbox was changed.

EGET_TAB_CHANGED 

The tab was changed in an tab control.

EGET_MENU_ITEM_SELECTED 

A menu item was selected in a (context) menu.

EGET_COMBO_BOX_CHANGED 

The selection in a combo box has been changed.

EGET_SPINBOX_CHANGED 

The value of a spin box has changed.

EGET_TABLE_CHANGED 

A table has changed.

EGET_TREEVIEW_NODE_DESELECT 

A tree view node lost selection. See IGUITreeView::getLastEventNode().

EGET_TREEVIEW_NODE_SELECT 

A tree view node was selected. See IGUITreeView::getLastEventNode().

EGET_TREEVIEW_NODE_EXPAND 

A tree view node was expanded. See IGUITreeView::getLastEventNode().

EGET_TREEVIEW_NODE_COLLAPSE 

A tree view node was collapsed. See IGUITreeView::getLastEventNode().

EGET_TREEVIEW_NODE_COLLAPS 

deprecated - use EGET_TREEVIEW_NODE_COLLAPSE instead. This may be removed by Nirtcpp 1.9

EGET_COUNT 

No real event. Just for convenience to get number of events.

◆ EGUI_FONT_TYPE

An enum for the different types of GUI font.

Enumerator
EGFT_BITMAP 

Bitmap fonts loaded from an XML file or a texture.

EGFT_VECTOR 

Scalable vector fonts loaded from an XML file.

These fonts reside in system memory and use no video memory until they are displayed. These are slower than bitmap fonts but can be easily scaled and rotated.

EGFT_OS 

A font which uses a the native API provided by the operating system.

Currently not used.

EGFT_CUSTOM 

An external font type provided by the user.

◆ EGUI_LISTBOX_COLOR

Enumeration for listbox colors.

Enumerator
EGUI_LBC_TEXT 

Color of text.

EGUI_LBC_TEXT_HIGHLIGHT 

Color of selected text.

EGUI_LBC_ICON 

Color of icon.

EGUI_LBC_ICON_HIGHLIGHT 

Color of selected icon.

EGUI_LBC_COUNT 

Not used, just counts the number of available colors.

◆ EGUI_ORDERING_MODE

Enumerator
EGOM_NONE 

No element ordering.

EGOM_ASCENDING 

Elements are ordered from the smallest to the largest.

EGOM_DESCENDING 

Elements are ordered from the largest to the smallest.

EGOM_COUNT 

this value is not used, it only specifies the amount of default ordering types available.

◆ EGUI_SKIN_TYPE

Enumeration of available default skins.

To set one of the skins, use the following code, for example to set the Windows classic skin:

gui::IGUISkin* newskin = environment->createSkin(gui::EGST_WINDOWS_CLASSIC);
environment->setSkin(newskin);
newskin->drop();
bool drop() const
Drops the object. Decrements the reference counter by one.
Definition IReferenceCounted.hpp:126
A skin modifies the look of the GUI elements.
Definition IGUISkin.hpp:385
@ EGST_WINDOWS_CLASSIC
Default windows look and feel.
Definition IGUISkin.hpp:33
Enumerator
EGST_WINDOWS_CLASSIC 

Default windows look and feel.

EGST_WINDOWS_METALLIC 

Like EGST_WINDOWS_CLASSIC, but with metallic shaded windows and buttons.

EGST_BURNING_SKIN 

Burning's skin.

EGST_UNKNOWN 

An unknown skin, not serializable at present.

EGST_COUNT 

this value is not used, it only specifies the number of skin types

◆ EGUI_SPINBOX_VALIDATION

Enumeration bitflag for when to validate the text typed into the spinbox Default used by Nirtcpp is: (EGUI_SBV_ENTER|EGUI_SBV_LOSE_FOCUS)

Enumerator
EGUI_SBV_NEVER 

Does not validate typed text, probably a bad idea setting this usually.

EGUI_SBV_CHANGE 

Validate on each change. Was default up to Nirtcpp 1.8.

EGUI_SBV_ENTER 

Validate when enter was pressed.

EGUI_SBV_LOSE_FOCUS 

Validate when the editbox loses the focus.

◆ EMESSAGE_BOX_FLAG

enumeration for message box layout flags

Enumerator
EMBF_OK 

Flag for the OK button.

EMBF_CANCEL 

Flag for the cancel button.

EMBF_YES 

Flag for the yes button.

EMBF_NO 

Flag for the no button.

EMBF_FORCE_32BIT 

This value is not used. It only forces this enumeration to compile in 32 bit.

Variable Documentation

◆ GUIAlignmentNames

const c8* const nirt::gui::GUIAlignmentNames[]
Initial value:
=
{
"upperLeft",
"lowerRight",
"center",
"scale",
0
}

Names for alignments.

◆ GUIButtonImageStateNames

const c8* const nirt::gui::GUIButtonImageStateNames[EGBIS_COUNT+1]
Initial value:
=
{
"Image",
"ImageUpOver",
"ImageUpFocused",
"ImageUpFocusedOver",
"PressedImage",
"ImageDownOver",
"ImageDownFocused",
"ImageDownFocusedOver",
"ImageDisabled",
0
}

Names for gui button image states.

◆ GUIButtonStateNames

const c8* const nirt::gui::GUIButtonStateNames[EGBS_COUNT+1]
Initial value:
=
{
"buttonUp",
"buttonDown",
"buttonMouseOver",
"buttonMouseOff",
"buttonFocused",
"buttonNotFocused",
"buttonDisabled",
0
}

Names for gui button state icons.

◆ GUIColumnOrderingNames

const c8* const nirt::gui::GUIColumnOrderingNames[]
Initial value:
=
{
"none",
"custom",
"ascend",
"descend",
"ascend_descend",
0,
}

Names for EGUI_COLUMN_ORDERING types.

◆ GUICursorIconNames

const c8* const nirt::gui::GUICursorIconNames[ECI_COUNT+1]
Initial value:
=
{
"normal",
"cross",
"hand",
"help",
"ibeam",
"no",
"wait",
"sizeall",
"sizenesw",
"sizenwse",
"sizens",
"sizewe",
"sizeup",
0
}

Names for ECURSOR_ICON.

◆ GUIElementTypeNames

const c8* const nirt::gui::GUIElementTypeNames[]
Initial value:
=
{
"button",
"checkBox",
"comboBox",
"contextMenu",
"menu",
"editBox",
"fileOpenDialog",
"colorSelectDialog",
"inOutFader",
"image",
"listBox",
"meshViewer",
"messageBox",
"modalScreen",
"scrollBar",
"spinBox",
"staticText",
"tab",
"tabControl",
"table",
"toolBar",
"treeview",
"window",
"element",
"root",
"profiler",
0
}

Names for built-in element types.

◆ GUIOrderingModeNames

const c8* const nirt::gui::GUIOrderingModeNames[]
Initial value:
=
{
"none",
"ascending",
"descending",
0
}

◆ GUISkinColorNames

const c8* const nirt::gui::GUISkinColorNames[EGDC_COUNT+1]
Initial value:
=
{
"3DDarkShadow",
"3DShadow",
"3DFace",
"3DHighlight",
"3DLight",
"ActiveBorder",
"ActiveCaption",
"AppWorkspace",
"ButtonText",
"GrayText",
"Highlight",
"HighlightText",
"InactiveBorder",
"InactiveCaption",
"ToolTip",
"ToolTipBackground",
"ScrollBar",
"Window",
"WindowSymbol",
"Icon",
"IconHighlight",
"GrayWindowSymbol",
"Editable",
"GrayEditable",
"FocusedEditable",
0,
}

Names for default skin colors.

◆ GUISkinFontNames

const c8* const nirt::gui::GUISkinFontNames[EGDF_COUNT+1]
Initial value:
=
{
"defaultFont",
"buttonFont",
"windowFont",
"menuFont",
"tooltipFont",
0
}

◆ GUISkinIconNames

const c8* const nirt::gui::GUISkinIconNames[EGDI_COUNT+1]
Initial value:
=
{
"windowMaximize",
"windowRestore",
"windowClose",
"windowMinimize",
"windowResize",
"cursorUp",
"cursorDown",
"cursorLeft",
"cursorRight",
"menuMore",
"checkBoxChecked",
"dropDown",
"smallCursorUp",
"smallCursorDown",
"radioButtonChecked",
"moreLeft",
"moreRight",
"moreUp",
"moreDown",
"expand",
"collapse",
"file",
"directory",
0
}

◆ GUISkinSizeNames

const c8* const nirt::gui::GUISkinSizeNames[EGDS_COUNT+1]
Initial value:
=
{
"ScrollBarSize",
"MenuHeight",
"WindowButtonWidth",
"CheckBoxWidth",
"MessageBoxWidth",
"MessageBoxHeight",
"ButtonWidth",
"ButtonHeight",
"TextDistanceX",
"TextDistanceY",
"TitleBarTextX",
"TitleBarTextY",
"MessageBoxGapSpace",
"MessageBoxMinTextWidth",
"MessageBoxMaxTextWidth",
"MessageBoxMinTextHeight",
"MessageBoxMaxTextHeight",
"ButtonPressedImageOffsetX",
"ButtonPressedImageOffsetY",
"ButtonPressedTextOffsetX",
"ButtonPressedTextOffsetY",
"ButtonPressedSpriteOffsetX",
"ButtonPressedSpriteOffsetY",
0
}

Names for default skin sizes.

◆ GUISkinTextNames

const c8* const nirt::gui::GUISkinTextNames[EGDT_COUNT+1]
Initial value:
=
{
"MessageBoxOkay",
"MessageBoxCancel",
"MessageBoxYes",
"MessageBoxNo",
"WindowButtonClose",
"WindowButtonMaximize",
"WindowButtonMinimize",
"WindowButtonRestore",
0
}

Names for default skin sizes.

◆ GUISkinTypeNames

const c8* const nirt::gui::GUISkinTypeNames[EGST_COUNT+1]
Initial value:
=
{
"windowsClassic",
"windowsMetallic",
"burning",
"unknown",
0,
}

Names for gui element types.


Nirtcpp    @cppfx.xyz

Esvcpp    esv::print