|
Base list box widget. More...
#include <CComboBox.h>
Public Member Functions | |
| virtual void | clear () |
| uint32_t | buttons () const |
| void | buttons (uint32_t) |
| Fl_Callback_p | buttonClicked () const |
| void | buttonClicked (Fl_Callback *c) |
| void | columns (const CColumnList &columnList) |
| CColumnList & | columns () |
| void | addColumn (std::string cname, VariantDataType type=VariantDataType::VAR_STRING, int16_t cwidth=70, bool cvisible=true) |
| void | addRow (CPackedStrings *row) |
| void | addRow (int rowId, const Strings &strings) |
| void | addRows (std::string columnName, Strings rows) |
| void | resize (int x, int y, int w, int h) override |
| Variant | data () const override |
| void | data (const Variant &v) override |
| void | dataMode (CListViewDataMode dm) |
| CListViewDataMode | dataMode () |
| CPackedStrings * | findCaption (const String &caption) |
| CPackedStrings * | findKey (int keyValue) |
| PoolDatabaseConnection * | database () const |
| void | database (PoolDatabaseConnection *db) |
| String | sql () const |
| void | sql (std::string s) |
| std::string | keyField () const |
| void | keyField (std::string keyFieldName) |
| int | sortColumn () const |
| void | sort () |
| void | sortColumn (int sortColumn) |
| void | setup (PoolDatabaseConnection *db, std::string sql, std::string keyField) |
| QueryParameter & | param (const char *paramName) |
| void | refreshData () |
| int | findString (const std::string &str, bool select=true, uint32_t startRow=0, unsigned endRow=0) |
| CPackedStrings * | selectedRow () const |
| void | selectRow (unsigned rowNumber) |
| void | showHeaders () |
| void | hideHeaders () |
| unsigned | size () const |
| bool | preferredSize (int &w, int &h) override |
Public Member Functions inherited from sptk::CControl | |
| CControl (const char *label, int layoutSize=20, CLayoutAlign layoutAlign=CLayoutAlign::TOP) | |
| Constructor in SPTK style. More... | |
| void | resize (int x, int y, int w, int h) override |
| Resizes the control and inside widgets. More... | |
| void | draw () override |
| Draws the control. | |
| virtual int | tag () const |
| Returns the control's user data tag. | |
| virtual void | tag (int t) |
| Sets the control's user data tag. | |
| virtual Fl_Font | textFont () const |
| Returns the control's text font. More... | |
| virtual void | textFont (Fl_Font) |
| Sets the control's text font. More... | |
| virtual uchar | textSize () const |
| Returns the control's text font size. More... | |
| virtual void | textSize (uchar) |
| Sets the control's text font size. More... | |
| virtual Fl_Color | textColor () const |
| Returns the control's text color. More... | |
| virtual void | textColor (Fl_Color) |
| Sets the control's text color. More... | |
| virtual Fl_Color | labelColor () const |
| Returns the control's label color. | |
| virtual void | labelColor (Fl_Color) |
| Sets the control's label color. | |
| virtual Fl_Color | color () const |
| Returns the control's background color. | |
| virtual void | color (Fl_Color) |
| Sets the control's background color. | |
| uint32_t | flags () const |
| Returns the control's flags. | |
| void | flags (uint32_t flags) |
| Sets the control's flags. | |
| Fl_Widget * | control () const |
| Returns main widget inside the container. | |
| const String & | label () const override |
| Returns control's label. More... | |
| void | label (const String &) override |
| Sets control's label. More... | |
| Fl_Menu_ * | menu () const |
| Returns control's menu. | |
| void | menu (const Fl_Menu_Item *) |
| Sets control's menu. | |
| Fl_Font | labelFont () const |
| Returns control's label font. | |
| void | labelSize (Fl_Font f) |
| Sets control's label font. | |
| uchar | labelSize () const |
| Returns control's label font size. | |
| void | labelSize (uchar) |
| Sets control's label font size. | |
| uint32_t | labelWidth () const |
| Returns control's label width. | |
| void | labelWidth (uint32_t) |
| Sets control's label width. | |
| void | hint (const String &str) |
| Sets control's hint (tooltip) More... | |
| String | hint () const |
| Returns control's hint (tooltip) | |
| virtual int | maxLength () const |
| Returns control's max input length, if applicable. More... | |
| virtual void | maxLength (int) |
| Sets control's max input length, if applicable. More... | |
| virtual const String & | fieldName () const |
| Returns control's field name for universal data connection. | |
| virtual void | fieldName (const String &) |
| Sets control's field name for universal data connection. | |
| virtual CControlKind | kind () const =0 |
| Returns control's kind (internal SPTK RTTI). More... | |
| String | className () const override |
| Returns control's class name (internal SPTK RTTI). More... | |
| virtual void | reset () |
| Sets the control to empty text (for the input entries) More... | |
| virtual void | load (Query *) |
| Loads control data from query fields. More... | |
| virtual void | save (Query *) |
| Saves control data to query params. More... | |
| void | load (const xdoc::SNode &node, CLayoutXMLmode xmlMode) override |
| Loads control data from XML. More... | |
| void | load (const xdoc::SNode &node) override |
| Loads control data from XML. More... | |
| void | save (const xdoc::SNode &node, CLayoutXMLmode xmlMode) const override |
| Saves control data to XML. More... | |
| virtual void | save (const xdoc::SNode &node) const |
| Saves control data to XML. More... | |
| virtual bool | valid () const =0 |
| Returns true if the control state is valid, and the data is inside the limits (if applicable) More... | |
| virtual Variant | data () const |
| The universal data connector. More... | |
| virtual void | data (const Variant &v) |
| The universal data connector, sets control data. More... | |
| void | fireEvent (CEvent ev, int32_t arg) |
| Fires the event generated by this control. | |
| const CEventInfo & | event () const |
| Returns the last event fired by this control. | |
| CEvent | eventType () const |
| Returns the event type for the last fired by this control. | |
| int | eventArgument () const |
| Returns the event argument for the last fired by this control. | |
| CControl & | operator= (const String &str) |
| Control data assignment. | |
| CControl & | operator= (const char *str) |
| Control data assignment. | |
| CControl & | operator= (int32_t v) |
| Control data assignment. | |
| CControl & | operator= (uint32_t v) |
| Control data assignment. | |
| CControl & | operator= (int64_t v) |
| Control data assignment. | |
| CControl & | operator= (float v) |
| Control data assignment. | |
| CControl & | operator= (double v) |
| Control data assignment. | |
| CControl & | operator= (const DateTime &dt) |
| Control data assignment. | |
| CControl & | operator= (const Field &fld) |
| Control data assignment. | |
| operator String () const | |
| Control data conversion. | |
| operator int32_t () const | |
| Control data conversion. | |
| operator uint32_t () const | |
| Control data conversion. | |
| operator int64_t () const | |
| Control data conversion. | |
| operator uint64_t () const | |
| Control data conversion. | |
| operator float () const | |
| Control data conversion. | |
| operator double () const | |
| Control data conversion. | |
| operator DateTime () const | |
| Control data conversion. | |
Public Member Functions inherited from sptk::CLayoutClient | |
| CLayoutClient (Fl_Widget *widget, int layoutSize, CLayoutAlign ca) | |
| virtual | ~CLayoutClient () |
| CLayoutAlign | layoutAlign () const |
| void | layoutAlign (CLayoutAlign al) |
| int | layoutSize () const |
| void | layoutSize (int ls) |
| virtual void | label (const String &l) |
| virtual const String & | label () const |
| void | name (const char *aname) |
| void | name (const String &aname) |
| const String & | name () const |
| virtual bool | preferredSize (int &w, int &h) |
| virtual bool | computeSize (int &w, int &h) |
| virtual String | className () const |
| Fl_Widget * | widget () const |
| virtual void | load (const xdoc::SNode &node, CLayoutXMLmode xmlMode) |
| virtual void | load (const std::shared_ptr< xdoc::Node > &node) |
| virtual void | save (const std::shared_ptr< xdoc::Node > &node, CLayoutXMLmode xmlMode) const |
Protected Member Functions | |
| virtual void | dropDownList () |
| void | load (Query *) override |
| Loads data from the Query. More... | |
| void | save (Query *) override |
| Saves data to the Query. More... | |
| void | load (const xdoc::SNode &node, CLayoutXMLmode xmlMode) override |
| Loads control data from XML. More... | |
| void | save (const xdoc::SNode &node, CLayoutXMLmode xmlMode) const override |
| Saves control data to XML. More... | |
| bool | valid () const override |
| CBaseListBox (const char *label, int layoutSize, CLayoutAlign layoutAlign, int mode) | |
| ~CBaseListBox () override | |
| virtual void | button_handle (uint32_t theButtonKind) |
Protected Member Functions inherited from sptk::CControl | |
| bool | containsFocus () const |
| Does the control contain focus? | |
| void | notifyFocus (bool gotFocus=true) |
| Internal focus notification on focus change. | |
| virtual void | onEnter () |
| Internal focus notification on focus change. | |
| virtual void | onExit () |
| Internal focus notification on focus change. More... | |
| uint32_t | labelHeight () const |
| Computes the label height based on the labelFont() and labelWidth() | |
| int | handle (int) override |
| Special handle() method. | |
Protected Member Functions inherited from sptk::CLayoutClient | |
| int | lastPreferredH () const |
| int | lastPreferredW () const |
| void | lastPreferredH (int height) |
| void | lastPreferredW (int width) |
Protected Attributes | |
| CDBDropDownList * | m_dropDownWindow |
| CDBListView * | m_list |
| int | m_buttonSpace |
Protected Attributes inherited from sptk::CControl | |
| bool | m_limited {false} |
| uint32_t | m_labelWidth {0} |
| Fl_Color | m_labelColor |
| Fl_Color | m_textColor |
| Fl_Font | m_textFont |
| uchar | m_textSize {0} |
| String | m_fieldName |
| String | m_hint |
| Fl_Widget * | m_control {nullptr} |
| int | m_tag {0} |
| uint32_t | m_controlFlags {0} |
| Control's special flags (a bit combination of InputEntryFlags). More... | |
| Fl_Menu_Button * | m_menuButton {nullptr} |
| CEventInfo | m_event |
| bool | m_hasFocus {false} |
Protected Attributes inherited from sptk::CLayoutClient | |
| Fl_Widget * | m_widget |
| String | m_name |
| String | m_label |
| CLayoutAlign | m_layoutAlign |
Friends | |
| class | CInternalComboBoxPanel |
Additional Inherited Members | |
Static Public Member Functions inherited from sptk::CControl | |
| static CControlKind | controlNameToType (const String &typeName, int &maxLength, const String &values="") |
| Converts control name to control kind. | |
| static void | defaultControlMenuCopy (Fl_Widget *, void *) |
| Default callback function to support CControl default menu item 'Copy'. | |
| static void | defaultControlMenuCut (Fl_Widget *, void *) |
| Default callback function to support CControl default menu item 'Delete'. | |
| static void | defaultControlMenuPaste (Fl_Widget *, void *) |
| Default callback function to support CControl default menu item 'Paste'. | |
| static void | defaultControlMenuClear (Fl_Widget *, void *) |
| Default callback function to support CControl default menu item 'Clear'. | |
Static Public Attributes inherited from sptk::CControl | |
| static const Fl_Menu_Item | defaultControlMenu [] |
| CControl default menu. | |
Static Protected Member Functions inherited from sptk::CControl | |
| static void | internalCallback (Fl_Widget *internalWidget, void *data) |
| Internal callback function. | |
Base list box widget.
A base class for CListBox and CComboBox. Implements most of the common methods for these two classes.
|
protected |
Constructor in SPTK style
| label | const char *, label |
| layoutSize | int, widget align in layout |
| layoutAlign | CLayoutAlign, widget align in layout |
| mode | int, IS_COMBO_BOX or IS_LIST_BOX - internal |
|
overrideprotected |
Destructor
| void sptk::CBaseListBox::addColumn | ( | std::string | cname, |
| VariantDataType | type = VariantDataType::VAR_STRING, |
||
| int16_t | cwidth = 70, |
||
| bool | cvisible = true |
||
| ) |
Adds a new column to the internal list view.
| cname | std::string, column name |
| type | VariantType, column data type |
| cwidth | int16_t, column width |
| cvisible | bool, is the column visible? |
| void sptk::CBaseListBox::addRow | ( | CPackedStrings * | row | ) |
Adds a new row to the internal list view. Doesn't make a copy - just inserts the pointer. The row will be destroyed in CCombo destructor. The row ID may be defined inside CPackedStrings object.
| row | CPackedStrings *, new row |
| void sptk::CBaseListBox::addRow | ( | int | rowId, |
| const Strings & | strings | ||
| ) |
Adds a new row to the internal list view. Makes a copy of data in rowStrings. The row ID may be defined inside Strings object, or with rowID parameter.
| rowId | Row argument (key value) |
| row | Row data |
| void sptk::CBaseListBox::addRows | ( | std::string | columnName, |
| Strings | rows | ||
| ) |
Creates the column as columnName and adds rows to the internal list view. If the column with such name already exists, it will be used. The method is good the a very simple cases of one-column combo boxes. The row IDs may be defined inside Strings object strings.
| columnName | std::string, new columnName |
| rows | Strings, new rows |
|
protectedvirtual |
Internal buttons callback function
|
inline |
Returns buttons' callback function
|
inline |
Sets buttons' callback function
|
inline |
Returns the bitmask of visible buttons' IDs
| void sptk::CBaseListBox::buttons | ( | uint32_t | ) |
Sets the bitmask for visible buttons' IDs
|
virtual |
Clears the list view inside
| CColumnList & sptk::CBaseListBox::columns | ( | ) |
Returns current column list of the internal list view.
| void sptk::CBaseListBox::columns | ( | const CColumnList & | columnList | ) |
Sets the internal list view columns from the column list. The old column list is destroyed and replaced with a copy of columnList.
| columnList | CColumnList&, new column list |
|
overridevirtual |
Universal data connection. Operates with selected list view item's ID.
Reimplemented from sptk::CControl.
|
overridevirtual |
Universal data connection. Operates with selected list view item's ID.
Reimplemented from sptk::CControl.
| PoolDatabaseConnection * sptk::CBaseListBox::database | ( | ) | const |
Returns database connection pointer
| void sptk::CBaseListBox::database | ( | PoolDatabaseConnection * | db | ) |
Defines database connection
|
inline |
Returns data mode as LVDM_KEY, LVDM_INDEX, or LVDM_TEXT.
References sptk::CListView::dataMode().
|
inline |
Sets data mode for the data() methods. Defines which information list view are working with in data() method - key value, item index, or item caption.
References sptk::CListView::dataMode().
|
protectedvirtual |
Drops down the window with the List View. CComboBox only.
|
inline |
Finds an item with the caption (a string in the first column).
| caption | std::string, the caption to find and select. |
References sptk::CListView::findCaption().
|
inline |
Finds an item with the key (an integer associated with the item - argument()).
| keyValue | int, the caption to find and select. |
References sptk::CListView::findKey().
| int sptk::CBaseListBox::findString | ( | const std::string & | str, |
| bool | select = true, |
||
| uint32_t | startRow = 0, |
||
| unsigned | endRow = 0 |
||
| ) |
Finds a string in the sort column of list view defined with sortColumn()
| str | std::string, string to find |
| select | bool, true if we want to select the found row |
| startRow | uint32_t, the row number to start |
| endRow | uint32_t, the row number to finish |
| void sptk::CBaseListBox::hideHeaders | ( | ) |
Hides column headers in the list
| std::string sptk::CBaseListBox::keyField | ( | ) | const |
Returns SQL query field name that contains unique row IDS, preferrably - integers.
| void sptk::CBaseListBox::keyField | ( | std::string | keyFieldName | ) |
Sets SQL query field name that contains unique row IDS, preferrably - integers.
| keyFieldName | std::string, a name of the key field |
|
overrideprotectedvirtual |
Loads control data from XML.
Layout information may also include widget size and position, as well as visible() and active() states
| node | xml::Node*, the XML node |
| xmlMode | CLayoutXMLmode, the mode defining how the layout and/or data should be stored |
Reimplemented from sptk::CLayoutClient.
|
overrideprotectedvirtual |
Loads data from the Query.
Reimplemented from sptk::CControl.
| QueryParameter & sptk::CBaseListBox::param | ( | const char * | paramName | ) |
Returns the SQL query parameter reference for the parameter name. It is typical to call: myCombo.param("customer_id") = 1234
| paramName | const char *, parameter name. |
|
overridevirtual |
Computes the optimal widgets size
| w | int&, input - width offered by the program, output - width required by widget |
| h | int&, input - height offered by the program, output - height required by widget |
Reimplemented from sptk::CLayoutClient.
| void sptk::CBaseListBox::refreshData | ( | ) |
Reloads data from the database if database connection is defined. Throws an exception if any error.
|
override |
Resizes the control and inside widgets.
| x | int, x-position |
| y | int, y-position |
| w | int, width |
| h | int, height |
|
overrideprotected |
Saves control data to XML.
Layout information may also include widget size and position, as well as visible() and active() states
| node | xml::Node*, the XML node |
| xmlMode | CLayoutXMLmode, the mode defining how the layout and/or data should be stored |
|
overrideprotectedvirtual |
Saves data to the Query.
Reimplemented from sptk::CControl.
| CPackedStrings * sptk::CBaseListBox::selectedRow | ( | ) | const |
Returns the currently selected row, or reference to NULL if not selected
| void sptk::CBaseListBox::selectRow | ( | unsigned | rowNumber | ) |
Selects a row
| rowNumber | unsigned, row number |
| void sptk::CBaseListBox::setup | ( | PoolDatabaseConnection * | db, |
| std::string | sql, | ||
| std::string | keyField | ||
| ) |
The fast way to define a database connection.
| db | DatabaseConnection *, a pointer to the database |
| sql | std::string, a SQL query text |
| keyField | std::string, a name of the query field with unique row IDs |
| void sptk::CBaseListBox::showHeaders | ( | ) |
Shows column headers in the list
| unsigned sptk::CBaseListBox::size | ( | ) | const |
Returns the number of rows in list view
|
inline |
Sorts the list
References sptk::CListView::sort().
| int sptk::CBaseListBox::sortColumn | ( | ) | const |
Returns sortColumn
| void sptk::CBaseListBox::sortColumn | ( | int | sortColumn | ) |
Defines sortColumn.
| sortColumn | int, sort column number. -1 means don't sort. |
| String sptk::CBaseListBox::sql | ( | ) | const |
Returns SQL query text
| void sptk::CBaseListBox::sql | ( | std::string | s | ) |
Defines SQL query text
| s | std::string, SQL text |
|
inlineoverrideprotectedvirtual |
Returns true, if the data is valid.
Implements sptk::CControl.
|
protected |
The width of space taken by buttons
|
protected |
Drop down window - CComboBox only
|
protected |
Internal CDBListView widget