This module contains the definition of GWEN_GUI dialogs.
More...
|
enum | { GWEN_DialogEvent_ResultHandled =0,
GWEN_DialogEvent_ResultNotHandled,
GWEN_DialogEvent_ResultAccept,
GWEN_DialogEvent_ResultReject
} |
|
enum | GWEN_DIALOG_EVENTTYPE {
GWEN_DialogEvent_TypeInit =0,
GWEN_DialogEvent_TypeFini,
GWEN_DialogEvent_TypeValueChanged,
GWEN_DialogEvent_TypeActivated,
GWEN_DialogEvent_TypeEnabled,
GWEN_DialogEvent_TypeDisabled,
GWEN_DialogEvent_TypeClose,
GWEN_DialogEvent_TypeLast
} |
|
enum | GWEN_DIALOG_PROPERTY {
GWEN_DialogProperty_None =0,
GWEN_DialogProperty_Title,
GWEN_DialogProperty_Value,
GWEN_DialogProperty_MinValue,
GWEN_DialogProperty_MaxValue,
GWEN_DialogProperty_Enabled,
GWEN_DialogProperty_AddValue,
GWEN_DialogProperty_ClearValues,
GWEN_DialogProperty_ValueCount,
GWEN_DialogProperty_ColumnWidth,
GWEN_DialogProperty_Width,
GWEN_DialogProperty_Height,
GWEN_DialogProperty_SelectionMode,
GWEN_DialogProperty_SelectionState,
GWEN_DialogProperty_Focus,
GWEN_DialogProperty_SortDirection,
GWEN_DialogProperty_Sort,
GWEN_DialogProperty_Visibility,
GWEN_DialogProperty_ToolTip,
GWEN_DialogProperty_Unknown =-1
} |
|
enum | GWEN_DIALOG_SELECTION_MODE { GWEN_Dialog_SelectionMode_None =0,
GWEN_Dialog_SelectionMode_Single,
GWEN_Dialog_SelectionMode_Multi
} |
|
enum | GWEN_DIALOG_SORT_DIRECTION { GWEN_DialogSortDirection_None =0,
GWEN_DialogSortDirection_Up,
GWEN_DialogSortDirection_Down
} |
|
|
GWENHYWFAR_API void | GWEN_Dialog_AddMediaPath (GWEN_DIALOG *dlg, const char *s) |
|
GWENHYWFAR_API void | GWEN_Dialog_AddMediaPathsFromPathManager (GWEN_DIALOG *dlg, const char *destlib, const char *pathName, const char *relPath) |
|
GWENHYWFAR_API int | GWEN_Dialog_AddSubDialog (GWEN_DIALOG *dlg, const char *parentWidgetName, GWEN_DIALOG *subdlg) |
|
GWENHYWFAR_API void | GWEN_Dialog_free (GWEN_DIALOG *dlg) |
|
GWENHYWFAR_API uint32_t | GWEN_Dialog_GetGuiId (const GWEN_DIALOG *dlg) |
|
GWENHYWFAR_API const char * | GWEN_Dialog_GetId (const GWEN_DIALOG *dlg) |
|
GWENHYWFAR_API GWEN_DIALOG * | GWEN_Dialog_new (const char *dialogId) |
|
GWENHYWFAR_API int | GWEN_Dialog_ReadXml (GWEN_DIALOG *dlg, GWEN_XMLNODE *node) |
|
GWENHYWFAR_API int | GWEN_Dialog_ReadXmlFile (GWEN_DIALOG *dlg, const char *fname) |
|
GWENHYWFAR_API int | GWEN_Dialog_RemoveWidget (GWEN_DIALOG *dlg, const char *name) |
|
GWENHYWFAR_API
GWEN_DIALOG_SIGNALHANDLER | GWEN_Dialog_SetSignalHandler (GWEN_DIALOG *dlg, GWEN_DIALOG_SIGNALHANDLER fn) |
|
|
Functions in this group can only be called while in a GWEN_Gui_ExecDialog loop or between calls to GWEN_Gui_OpenDialog() and GWEN_Gui_CloseDialog() because these functions directly manipulate GUI widgets which are only valid in the intervals mentioned above.
|
GWENHYWFAR_API int | GWEN_Dialog_SetIntProperty (GWEN_DIALOG *dlg, const char *name, GWEN_DIALOG_PROPERTY prop, int index, int value, int doSignal) |
|
GWENHYWFAR_API int | GWEN_Dialog_GetIntProperty (GWEN_DIALOG *dlg, const char *name, GWEN_DIALOG_PROPERTY prop, int index, int defaultValue) |
|
GWENHYWFAR_API int | GWEN_Dialog_SetCharProperty (GWEN_DIALOG *dlg, const char *name, GWEN_DIALOG_PROPERTY prop, int index, const char *value, int doSignal) |
|
GWENHYWFAR_API const char * | GWEN_Dialog_GetCharProperty (GWEN_DIALOG *dlg, const char *name, GWEN_DIALOG_PROPERTY prop, int index, const char *defaultValue) |
|
|
These functions manipulate the descriptions of dialogs and widgets, the don't operate on the GUI widgets. That's why they are immediately available after construction.
|
GWENHYWFAR_API uint32_t | GWEN_Dialog_GetWidgetFlags (const GWEN_DIALOG *dlg, const char *name) |
|
GWENHYWFAR_API void | GWEN_Dialog_SetWidgetFlags (GWEN_DIALOG *dlg, const char *name, uint32_t fl) |
|
GWENHYWFAR_API void | GWEN_Dialog_AddWidgetFlags (GWEN_DIALOG *dlg, const char *name, uint32_t fl) |
|
GWENHYWFAR_API void | GWEN_Dialog_SubWidgetFlags (GWEN_DIALOG *dlg, const char *name, uint32_t fl) |
|
GWENHYWFAR_API int | GWEN_Dialog_GetWidgetColumns (const GWEN_DIALOG *dlg, const char *name) |
|
GWENHYWFAR_API void | GWEN_Dialog_SetWidgetColumns (GWEN_DIALOG *dlg, const char *name, int i) |
|
GWENHYWFAR_API int | GWEN_Dialog_GetWidgetRows (const GWEN_DIALOG *dlg, const char *name) |
|
GWENHYWFAR_API void | GWEN_Dialog_SetWidgetRows (GWEN_DIALOG *dlg, const char *name, int i) |
|
GWENHYWFAR_API const char * | GWEN_Dialog_GetWidgetText (const GWEN_DIALOG *dlg, const char *name) |
|
GWENHYWFAR_API void | GWEN_Dialog_SetWidgetText (GWEN_DIALOG *dlg, const char *name, const char *t) |
|
GWENHYWFAR_API GWEN_DB_NODE * | GWEN_Dialog_GetPreferences (const GWEN_DIALOG *dlg) |
|
This module contains the definition of GWEN_GUI dialogs.
A dialog contains widgets which can be accessed by name. A dialog can contain multiple subdialogs. Widgets of a dialog and its subdialogs should have unique names.
#define GWEN_WIDGET_FLAGS_DECOR_CLOSE 0x00400000L |
#define GWEN_WIDGET_FLAGS_DECOR_MAXIMIZE 0x00800000L |
#define GWEN_WIDGET_FLAGS_DECOR_MENU 0x00200000L |
#define GWEN_WIDGET_FLAGS_DECOR_MINIMIZE 0x01000000L |
#define GWEN_WIDGET_FLAGS_DECOR_SHRINKABLE 0x04000000L |
#define GWEN_WIDGET_FLAGS_DECOR_STRETCHABLE 0x02000000L |
#define GWEN_WIDGET_FLAGS_DEFAULT_WIDGET 0x08000000L |
#define GWEN_WIDGET_FLAGS_EQUAL_HEIGHT 0x00020000L |
#define GWEN_WIDGET_FLAGS_EQUAL_WIDTH 0x00040000L |
#define GWEN_WIDGET_FLAGS_FILLX 0x80000000L |
#define GWEN_WIDGET_FLAGS_FILLY 0x40000000L |
#define GWEN_WIDGET_FLAGS_FIXED_HEIGHT 0x00080000L |
#define GWEN_WIDGET_FLAGS_FIXED_WIDTH 0x00100000L |
#define GWEN_WIDGET_FLAGS_JUSTIFY_BOTTOM 0x00002000L |
#define GWEN_WIDGET_FLAGS_JUSTIFY_CENTERX 0x00001000L |
#define GWEN_WIDGET_FLAGS_JUSTIFY_CENTERY 0x00000800L |
#define GWEN_WIDGET_FLAGS_JUSTIFY_LEFT 0x00010000L |
#define GWEN_WIDGET_FLAGS_JUSTIFY_RIGHT 0x00008000L |
#define GWEN_WIDGET_FLAGS_JUSTIFY_TOP 0x00004000L |
#define GWEN_WIDGET_FLAGS_NO_WORDWRAP 0x00000400L |
#define GWEN_WIDGET_FLAGS_NONE 0x00000000L |
#define GWEN_WIDGET_FLAGS_PASSWORD 0x10000000L |
#define GWEN_WIDGET_FLAGS_READONLY 0x20000000L |
These are the predefined result codes to be returned by a signal handler. (Note: this is not a typedef because the signal handler has to be able to return GWEN_ERROR codes as well).
Enumerator |
---|
GWEN_DialogEvent_ResultHandled |
|
GWEN_DialogEvent_ResultNotHandled |
|
GWEN_DialogEvent_ResultAccept |
|
GWEN_DialogEvent_ResultReject |
|
Definition at line 109 of file dialog.h.
Enumerator |
---|
GWEN_DialogEvent_TypeInit |
|
GWEN_DialogEvent_TypeFini |
|
GWEN_DialogEvent_TypeValueChanged |
|
GWEN_DialogEvent_TypeActivated |
|
GWEN_DialogEvent_TypeEnabled |
|
GWEN_DialogEvent_TypeDisabled |
|
GWEN_DialogEvent_TypeClose |
|
GWEN_DialogEvent_TypeLast |
|
Definition at line 90 of file dialog.h.
Enumerator |
---|
GWEN_DialogProperty_None |
|
GWEN_DialogProperty_Title |
|
GWEN_DialogProperty_Value |
|
GWEN_DialogProperty_MinValue |
|
GWEN_DialogProperty_MaxValue |
|
GWEN_DialogProperty_Enabled |
|
GWEN_DialogProperty_AddValue |
|
GWEN_DialogProperty_ClearValues |
|
GWEN_DialogProperty_ValueCount |
|
GWEN_DialogProperty_ColumnWidth |
|
GWEN_DialogProperty_Width |
|
GWEN_DialogProperty_Height |
|
GWEN_DialogProperty_SelectionMode |
|
GWEN_DialogProperty_SelectionState |
|
GWEN_DialogProperty_Focus |
|
GWEN_DialogProperty_SortDirection |
value=direction, index=column
|
GWEN_DialogProperty_Sort |
|
GWEN_DialogProperty_Visibility |
|
GWEN_DialogProperty_ToolTip |
|
GWEN_DialogProperty_Unknown |
|
Definition at line 215 of file dialog.h.
Enumerator |
---|
GWEN_Dialog_SelectionMode_None |
|
GWEN_Dialog_SelectionMode_Single |
|
GWEN_Dialog_SelectionMode_Multi |
|
Definition at line 242 of file dialog.h.
Enumerator |
---|
GWEN_DialogSortDirection_None |
|
GWEN_DialogSortDirection_Up |
|
GWEN_DialogSortDirection_Down |
|
Definition at line 249 of file dialog.h.
Add a path where to find media such as icons, images etc when used e.g. with pushbuttons or images.
GWENHYWFAR_API void GWEN_Dialog_AddMediaPathsFromPathManager |
( |
GWEN_DIALOG * |
dlg, |
|
|
const char * |
destlib, |
|
|
const char * |
pathName, |
|
|
const char * |
relPath |
|
) |
| |
Add paths from the given path manager. For each entry of the given path managers path list that entry is concatenated with the relPath argument (if not NULL) and added to the dialogs list of media paths.
- Parameters
-
dlg | dialog to which media paths are to be added |
destlib | see the argument of the same name in GWEN_PathManager_GetPaths |
pathName | see the argument of the same name in GWEN_PathManager_GetPaths |
relPath | optional relative path to be added to each entry of the given path manager's entry to form a media path for this dialog |
Inserts a sub-dialog into the given dialog. The widgets of the subdialog become children of the main dialog below the widget referenced to by parentName. Please take care that the subdialog doesn't contain widgets with the same name as the main dialog. This only works if GWEN_Gui_ExecDialog has not been called yet! Takes over ownership of the given subdialog.
Returns a string property.
If the pointer returned is not the defaultValue
but rather a pointer generated by the dialog framework implementation then the pointer is only guaranteed to be valid until the next call with the same values of name
and property
.
Example: If you cycle through all entries of a listbox (by modifying index
) each successive call overwrites the string previously returned. However, when you call this function once with the property GWEN_DialogProperty_Title and next time with a property of GWEN_DialogProperty_Value those two pointers will not influence each other.
- Parameters
-
dlg | pointer to the dialog to be inspected |
name | name of the widget of the dialog whose property is to be read. Use NULL or an empty string to select the dialog itself |
prop | property to read (see GWEN_DialogProperty_Title ff) |
index | (see GWEN_Dialog_SetIntProperty for an explanation) |
defaultValue | default value to be returned if the real value is unavailable (e.g. if the current value is an empty string) |
Returns the I18N domain of the dialog. This is normally taken from the dialog description file (attribute "i18n" of the "dialog" element). This domain is used to localize strings of the dialog description file by using it as first argument to GWEN_I18N_Translate(). This allows for translation within the context of the dialog. AqBanking's dialogs use "aqbanking" as I18N domain, so the translation for its dialogs also appear in its pot files.
The dialog id is in most cases hardcoded into the describing XML file. It is the unique name of the dialog. This name is used to read/write dialog preferences.
This function returns the value of an integer property.
- Parameters
-
dlg | pointer to the dialog to be inspected |
name | name of the widget of the dialog whose property is to be read. Use NULL or an empty string to select the dialog itself |
prop | property to read (see GWEN_DialogProperty_Title ff) |
index | (see GWEN_Dialog_SetIntProperty for an explanation) |
defaultValue | default value to be returned if the real value is unavailable |
Returns a DB which can be used to read and store preference for the dialog. Most dialogs in AqBanking use this to remember the dialog geometry or the widths of columns in lists etc. This DB is automatically read from within the constructor (GWEN_Dialog_new) and written from within the destructor (GWEN_Dialog_free). This is achieved by calling the virtual functions GWEN_Gui_ReadDialogPrefs and GWEN_Gui_WriteDialogPrefs respectively. However, the current GWEN_GUI implementation must implement these functions. Fortunately, AqBanking's GUI implementation (use it with AB_Gui_Extend) does that. It reads/writes those dialog settings from/into its shared settings database.
This is another attribute from the dialog description file. It is used with widgets like GWEN_Widget_TypeLineEdit to specify the widget width in number of characters. It is also used for GWEN_Widget_TypeGridLayout to specify the number of columns.
- Parameters
-
dlg | pointer to the dialog to be inspected |
name | name of the widget of the dialog whose attribute is to be read. |
This is another attribute from the dialog description file. It is used with widgets GWEN_Widget_TypeGridLayout to specify the number of rows.
- Parameters
-
dlg | pointer to the dialog to be inspected |
name | name of the widget of the dialog whose attribute is to be read. |
Read dialog description from the given XML element.
Read dialog description from the given XML file.
This function sets the value of an integer property.
- Parameters
-
dlg | pointer to the dialog to be manipulated |
name | name of the widget of the dialog whose property is to be manipulated. Use NULL or an empty string to select the dialog itself |
prop | property to modify (see GWEN_DialogProperty_Title ff) |
index | for widgets with array like data this is the index into that array. Normally this value is 0. However, there are examples when this parameter does not equal 0. The property GWEN_DialogProperty_ColumnWidth of a GWEN_Widget_TypeListBox is such an example. Here the index selects the column whose width is to be changed. |
value | the value to set |
doSignal | some implementations send the GWEN_DialogEvent_TypeValueChanged signal when values are manipulated. Set this parameter to 0 if you don't need that. However, this is just a hint for the implementation, you should not rely on it actually being regarded by the implementation. So you might or might not get such a signal upon manipulation of a property. |
Sets the signal handler of the dialog. Please note that this doesn't set the signal handler of any sub-dialog, so each dialog will only receive its own signals.