cxWidgets 1.0
Public Member Functions | Protected Member Functions | List of all members
cx::cxComboBox Class Reference

A text box that also has a drop-down box with a list of items that the user can choose from. More...

#include <cxComboBox.h>

Inheritance diagram for cx::cxComboBox:
Inheritance graph
Collaboration diagram for cx::cxComboBox:
Collaboration graph

Public Member Functions

 cxComboBox (cxWindow *pParentWindow=nullptr, int pRow=0, int pCol=0, int pHeight=DEFAULT_HEIGHT, int pWidth=DEFAULT_WIDTH, const std::string &pLabel="", eBorderStyle pBorderStyle=eBS_NOBORDER, eInputOptions pInputOption=eINPUT_EDITABLE, eInputTypes pInputType=eINPUT_TYPE_TEXT, std::string *pExtValue=nullptr, bool pMenuEnabled=true, int pRightLabelOffset=0, int pRightLabelHeight=1, int pRightLabelWidth=5, bool pShowRightLabel=false)
 Default constructor.
 
 cxComboBox (const cxComboBox &pThatComboBox)
 
virtual ~cxComboBox ()
 
virtual long showModal (bool pShowSelf=true, bool pBringToTop=true, bool pShowSubwindows=true) override
 Shows the window and waits for input.
 
virtual void resize (int pNewHeight, int pNewWidth, bool pRefresh=true) override
 Changes window's width and height. The window's upper-left.
 
virtual bool move (int pNewRow, int pNewCol, bool pRefresh=true) override
 Changes the window's position, based on a new upper-left corner.
 
virtual void erase (bool pEraseSubwindows=true) override
 Erases the window.
 
virtual void hide (bool pHideSubwindows=true) override
 Hides the window.
 
virtual void unhide (bool pUnhideSubwindows=true) override
 Un-hides the window.
 
virtual void appendToMenu (const std::string &pDisplayText, const std::string &pItemText="", bool pRefresh=false, bool pBringToTop=false)
 Adds a string item to the end of the menu.
 
virtual bool removeFromMenu (unsigned pItemIndex, bool pRefresh=false)
 Removes a menu item from the menu.
 
virtual bool removeFromMenu (const std::string &pItemText, bool pDisplayText=true, bool pRefresh=false)
 Removes a menu item from the menu.
 
virtual void removeAllItemsFromMenu ()
 Removes all items from the menu.
 
virtual void showMenu (bool pBringToTop=false)
 Shows the drop-down menu.
 
virtual void hideMenu ()
 Hides the drop-down menu.
 
virtual unsigned numMenuItems () const
 Returns the number of items on the menu.
 
virtual std::string getItemText (int pIndex) const
 
virtual int height () const override
 Returns the total height of the combo box, including.
 
virtual int width () const override
 Returns the width of the combo box.
 
virtual int inputHeight () const
 Returns the height of the input portion of.
 
virtual int inputWidth () const
 Returns the width of the input portion of.
 
virtual int menuHeight () const
 Returns the height of the menu portion of.
 
virtual int menuWidth () const
 Returns the width of the menu portion of.
 
virtual void setMenuHeight (int pNewHeight, bool pRefresh=false)
 Allows the height of the menu portion to be changed.
 
virtual void toggleMenu (bool pEnableMenu, bool pRefresh=true)
 Enables or disables the menu.
 
virtual bool menuIsEnabled () const
 Returns whether or not the menu is enabled.
 
virtual std::string cxTypeStr () const override
 Returns the name of the cxWidgets class. This can be used to.
 
cxMenugetMenu ()
 Returns a pointer to the drop-down menu.
 
virtual void setDropDownKey (int pKey)
 Sets a single key that will show the drop-down menu.
 
virtual void addDropDownKey (int pKey)
 Adds a key that will show the drop-down menu.
 
virtual void setDropDownKeys (const set< int > &pKeys)
 Sets the keys that will show the drop-down menu.
 
virtual void removeDropDownKey (int pKey)
 Removes a key from the list of keys that will show the.
 
virtual bool hasDropDownKey (int pKey) const
 Returns whether or not a key is in the list of drop-down keys.
 
virtual void toggleValidatorFunction (bool pRunValidatorFunction) override
 Sets whether or not the validator function should be used.
 
virtual bool getUseValidatorFunction () const override
 Returns whether or not the validator function should be used.
 
virtual void setUseAltMenuItemText (bool pUseAltMenuItemText)
 Sets whether or not to use the alternate text for all items on.
 
virtual bool getUseAltMenuItemText () const
 Returns whether or not the alternate text of the drop-down menu.
 
- Public Member Functions inherited from cx::cxMultiLineInput
 cxMultiLineInput (cxWindow *pParentWindow=nullptr, int pRow=0, int pCol=0, int pHeight=1, int pWidth=DEFAULT_WIDTH, const std::string &pLabel="", eBorderStyle pBorderStyle=eBS_NOBORDER, eInputOptions pInputOption=eINPUT_EDITABLE, eInputTypes pInputType=eINPUT_TYPE_TEXT, std::string *pExtValue=nullptr, int pRightLabelOffset=0, int pRightLabelHeight=1, int pRightLabelWidth=7, bool pShowRightLabel=false)
 
 cxMultiLineInput (const cxMultiLineInput &pThatInput)
 
virtual ~cxMultiLineInput ()
 
cxMultiLineInputoperator= (const cxMultiLineInput &pThatInput)
 Assignment operator.
 
virtual long show (bool pBringToTop=false, bool pShowSubwindows=false) override
 
void hide (bool pHideSubwindows=false) override
 
void unhide (bool pUnhideSubwindows=false) override
 
virtual std::string getLabel () const
 
virtual void setLabel (const std::string &pLabel)
 
virtual void clearValue (bool pRefresh=false)
 Clears the input value.
 
virtual void clear (bool pRefresh=false) override
 Alias for clearValue() (this is here to overload the clear()
 
virtual std::string getValue () const
 
virtual bool setValue (std::string pValue, bool pRefresh=false)
 Sets the text in the input.
 
std::string * getExtValue () const
 
void setExtValue (std::string *pExtVal, bool pRefresh=false)
 
virtual void setValidatorStr (const std::string &pValidator)
 Sets the validator string for this input.
 
virtual std::string getValidatorStr () const
 Returns the validator string.
 
virtual bool textIsValid () const
 Returns whether the text entered into the input is valid.
 
virtual bool textIsValid (const std::string &pText) const
 Returns whether some text is valid according to the input's validator.
 
bool getMasked ()
 
void toggleMasking (bool pMasking)
 
char getMaskChar () const
 
void setMaskChar (char pMaskChar)
 
virtual bool setKeyFunction (int pKey, const std::shared_ptr< cxFunction > &pFunction) override
 Sets a function to be called when a key is pressed.
 
virtual bool setKeyFunction (int pKey, funcPtr4 pFunction, void *p1, void *p2, void *p3, void *p4, bool pUseVal, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true) override
 Adds a function to call when the user presses some key.
 
virtual bool setKeyFunction (int pKey, funcPtr4 pFunction, void *p1, void *p2, void *p3, void *p4, bool pUseVal, bool pExitAfterRun, bool pRunOnLeaveFunction, bool pRunValidator)
 Just like the above function, but also lets you specify whether.
 
virtual bool setKeyFunction (int pKey, funcPtr2 pFunction, void *p1, void *p2, bool pUseVal, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true) override
 Adds a function to call when the user presses some key.
 
virtual bool setKeyFunction (int pKey, funcPtr2 pFunction, void *p1, void *p2, bool pUseVal, bool pExitAfterRun, bool pRunOnLeaveFunction, bool pRunValidator)
 Just like the above function, but also lets you specify whether.
 
virtual bool setKeyFunction (int pKey, funcPtr0 pFunction, bool pUseVal, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true) override
 Adds a function to call when the user presses some key.
 
virtual bool setKeyFunction (int pKey, funcPtr0 pFunction, bool pUseVal, bool pExitAfterRun, bool pRunOnLeaveFunction, bool pRunValidator)
 Just like the above function, but also lets you specify whether.
 
virtual void addSkipValidatorKey (int pKey)
 Adds a key to the list of keys that, when pressed, the input.
 
virtual void removeSkipValidatorKey (int pKey)
 Removes a key from the list of keys that skip the validator.
 
virtual bool hasSkipValidatorKey (int pKey) const
 Returns whether a key is in the list of keys that cause the.
 
virtual void clearKeyFunction (int pFunctionKey) override
 Removes a hotkey from the window so that it will not.
 
virtual void clearKeyFunctions () override
 Clears the list of external functions fired by hotkeys.
 
void setLabelColor (e_cxColors pColor)
 Sets the label color.
 
e_cxColors getLabelColor () const
 
void setValueColor (e_cxColors pColor)
 Sets the color of the value typed into the input.
 
e_cxColors getValueColor () const
 
virtual void setColor (e_WidgetItems pItem, e_cxColors pColor) override
 Sets the color of one of the window items.
 
virtual int getInputOption () const
 Returns the input option for the input (i.e., eINPUT_EDITABLE,.
 
virtual void setInputOption (eInputOptions pInputKind)
 Sets the input option for the input (i.e., eINPUT_EDITABLE,.
 
void toggleCursor (bool pShowCursor)
 Enables/disables the display of the cursor.
 
virtual bool setValidatorFunction (const std::shared_ptr< cxFunction > &pFunction)
 
bool setValidatorFunction (funcPtr4 pFunction, void *p1, void *p2, void *p3, void *p4)
 
bool setValidatorFunction (funcPtr2 pFunction, void *p1, void *p2)
 
bool setValidatorFunction (funcPtr0 pFunction)
 
void clearValidatorFunction ()
 Un-sets the validator function.
 
bool isFull () const
 Returns whether the value in the input takes up the maximum possible space for the input.
 
virtual void setOnKeyFunction (const std::shared_ptr< cxFunction > &pFunction)
 Sets a function to be run whenever a key is pressed.
 
virtual void setOnKeyFunction (funcPtr4 pFunction, void *p1, void *p2, void *p3, void *p4)
 Sets a function to be run whenever a key is pressed.
 
virtual void setOnKeyFunction (funcPtr2 pFunction, void *p1, void *p2)
 Sets a function to be run whenever a key is pressed.
 
virtual void setOnKeyFunction (funcPtr0 pFunction)
 Sets a function to be run whenever a key is pressed.
 
virtual void toggleOnKeyFunction (bool pRunOnKeyFunction)
 Sets whether the onKey function should be fired or not.
 
virtual void clearOnKeyFunction ()
 Un-sets the onKey function.
 
bool onKeyFunctionEnabled () const
 Returns whether or not the onKey function will be run.
 
void setEnterAlwaysExits (bool pEnterAlwaysExits)
 Sets whether the enter key always causes the input.
 
bool enterAlwaysExits () const
 Returns whether the enter key always causes the input.
 
virtual int maxValueLen () const
 Returns the maximum length of the value that may be set.
 
virtual bool hasFocus () const override
 Returns whether or not the input currently has focus.
 
virtual void setReadOnlyOnLeave (bool pReadOnlyOnLeave)
 Sets whether the input should go read-only when setFocus() exits.
 
bool canBeEditable () const
 Returns whether the input can be editable.
 
void setCanBeEditable (bool pCanBeEditable)
 Sets whether the input can be set editable. If this is called.
 
void setExitOnFull (bool pExitOnFull)
 Sets whether the input should exit automatically when it's full.
 
bool getExitOnFull () const
 Returns whether the input will exit automatically when full.
 
virtual void setBorderStyle (eBorderStyle pBorderStyle) override
 Sets the border style.
 
virtual bool isAbove (const cxWindow &pThatWindow) const override
 Returns whether the input is above another window.
 
virtual bool isBelow (const cxWindow &pThatWindow) const override
 Returns whether the input is below another window.
 
virtual void bringToTop (bool pRefresh=true) override
 Brings the window to the top.
 
virtual void refreshValue (bool pRefresh=true)
 Refreshes just the value portion of the input.
 
void trapNonAssignedFKeys (bool pTrapNonAssignedFKeys)
 Sets whether non-assigned function keys should.
 
virtual bool runOnFocusFunction (std::string *pFunctionRetval=nullptr) override
 Runs the onFocus function, if it's set. If the.
 
void runFieldFunction (int pKey)
 Runs the function that was set with setKeyFunction for this key.
 
int getInputLen () const
 
virtual bool addQuitKey (int pKey, bool pRunOnLeaveFunction=true, bool pOverride=false) override
 Adds a key that will cause the input to quit and return.
 
virtual void removeQuitKey (int pKey) override
 Removes a quit key (but doesn't work for ESC)
 
virtual bool addExitKey (int pKey, bool pRunOnLeaveFunction=true, bool pOverride=false) override
 Adds a key that will cause the input to quit and return.
 
virtual void removeExitKey (int pKey) override
 Removes an exit key.
 
virtual void enableInputLoop (bool pDoInputLoop)
 Enables or disables the input loop.
 
virtual bool inputLoopEnabled () const
 Returns whether the input loop is enabled.
 
virtual void setEditable (bool pEditable)
 Enables or disables editing of the input. If disabled, the.
 
virtual bool isEditable () const
 Returns whether or not the input is editable. An input is editable if it passes the 3 following criteria:

 
bool getAutoWrapAtBeginning () const
 Returns whether or not auto-wrapping of text.
 
void setAutoWrapAtBeginning (bool pWrapAtBeginning)
 Sets whether auto-wrapping of text.
 
bool getSkipIfReadOnly () const
 Returns whether the input will skip all.
 
void setSkipIfReadOnly (bool pSkipIfReadOnly)
 Sets whether the input should skip.
 
virtual void setDisableCursorOnShow (bool pDisableCursorOnShow) override
 Sets whether the window should disable the cursor.
 
cxFormgetParentForm () const
 Returns the parent cxForm pointer.
 
virtual void setValidateOnReverse (bool pValidateOnReverse)
 Sets whether or not to run the validator function.
 
virtual bool getValidateOnReverse () const
 Returns whether or not the validator function will.
 
virtual void setLastKey (int pLastKey) override
 Sets the last keypress.
 
virtual bool modalGetsKeypress () const override
 Returns whether or not a call to showModal() will wait for a.
 
virtual void setEnabled (bool pEnabled) override
 Enables or disables the input.
 
virtual void quitNow (bool pMoveForward)
 After this is called, the code returned by showModal will.
 
virtual void quitNow () override
 Tells the input to exit the input loop now, with a return value.
 
virtual void exitNow (bool pMoveForward)
 After this is called, the code returned by showModal will.
 
virtual void exitNow () override
 Tells the input to exit the input loop now, with a return value.
 
virtual cxWindowgetParent () const override
 Returns a pointer to the parent window. If the cxMultiLineInput.
 
virtual bool ranFunctionAndShouldExit () const
 Returns whether the input ran a key function that was set up.
 
virtual void addAttr (e_WidgetItems pItem, attr_t pAttr) override
 Adds an ncurses attribute to use for one of the items in the.
 
virtual void setAttr (e_WidgetItems pItem, attr_t pAttr) override
 Sets the ncurses attribute to use for one of the items in the.
 
virtual void removeAttr (e_WidgetItems pItem, attr_t pAttr) override
 Removes an ncurses attribute from one of the item lists.
 
virtual void removeAttrs (e_WidgetItems pItem) override
 Removes all attributes for a given window item.
 
virtual void getAttrs (e_WidgetItems pItem, std::set< attr_t > &pAttrs) const override
 Returns the set of ncurses attributes for a given item.
 
virtual bool getCursorLeftAlign () const
 Returns whether the cursor will be left-aligned when the.
 
virtual void setCursorLeftAlign (bool pCursorLeftAlign)
 Sets whether the cursor should be left-aligned when the.
 
bool getExitOnBackspaceAtFront () const
 Returns whether the input will exit the input loop when the.
 
void setExitOnBackspaceAtFront (bool pExitOnBackspaceAtFront)
 Sets whether the input should exit the input loop when the.
 
virtual std::string runValidatorFunction () const
 Runs the input's validator function and returns its return.
 
virtual bool hasNavKey (int pKey) const
 Returns whether a key is in the input's list of what it.
 
virtual void addNavKey (int pKey)
 Add a key to be considered a "navigational" key. The key will.
 
virtual void removeNavKey (int pKey)
 Removes a key from the input's list of "navigational" keys (see.
 
virtual void removeNavKeys ()
 Removes all keys that the input considers "navigational" keys.
 
virtual void getNavKeys (std::set< int > &pNavKeys) const
 Returns the input's list of what it considers "navigational".
 
virtual void setTimeout (int pTimeout)
 Sets the amount of time (in seconds) that the input should.
 
int getTimeout () const
 Returns the amount of time that the input will wait before.
 
eInputTypes getInputType () const
 Returns the input type. This is a member of the cxInputTypes.
 
virtual void setInputType (eInputTypes pInputType)
 Sets the input type. This is a member of the cxInputTypes.
 
long double getRangeLowDouble () const
 Returns the low end of the floating-point numeric range for.
 
void setRangeLowDouble (const long double &pRangeLowDouble)
 Sets the low end of the floating-point numeric range for the.
 
long double getRangeHighDouble () const
 Returns the high end of the floating-point numeric range for.
 
void setRangeHighDouble (const long double &pRangeHighDouble)
 Sets the high end of the floating-point numeric range for the.
 
long int getRangeLowInt () const
 Returns the low end of the whole numeric range for the input.
 
void setRangeLowInt (const long int &pRangeLowInt)
 Sets the low end of the whole numeric range for the input.
 
long int getRangeHighInt () const
 Returns the high end of the whole numeric range for the input.
 
void setRangeHighInt (const long int &pRangeHighInt)
 Sets the high end of the whole numeric range for the input.
 
void getRangeDouble (long double &pLow, long double &pHigh) const
 Returns the floating-point numeric range for in the input.
 
void setRangeDouble (const long double &pLow, const long double &pHigh)
 Sets the floating-point numeric range for the input.
 
void getRangeInt (long int &pLow, long int &pHigh)
 Returns the whole number range for the input.
 
void setRangeInt (const long int &pLow, const long int &pHigh)
 Sets the whole number range for the input.
 
virtual std::string inputValidator ()
 onLeave validator function - This runs just before the user
 
virtual std::string onKeypress ()
 This runs each time the user presses a key. If built-in.
 
virtual void useBuiltInValidator ()
 Sets up the input's built-in validator function for the input.
 
virtual bool usingBuiltInValidator () const
 Returns whether or not the built-in validator function is set.
 
virtual void useBuiltInOnKeyFunction ()
 Sets up the input's built-in onKey function for the input.
 
virtual bool usingBuiltInOnKeyFunction () const
 Returns whether or not the built-in onKeypress function is.
 
void validatorFuncMessageBox (bool pEnable)
 Sets whether or not a message box should be shown in the.
 
bool validatorFuncMessageBox () const
 Returns whether or not the message box for errors is enabled.
 
virtual void addValidOptions (const std::string &pValidOptions, bool pValidate=true)
 Adds single-character valid input strings to the input.
 
virtual void setValidOptions (const std::string &pValidOptions, bool pValidate=true)
 Sets single-character valid input strings to the input. This.
 
virtual void setValidOptions (const std::map< std::string, std::string > &pValidOptions, bool pValidate=true)
 Sets all the strings that may be typed into the input.
 
virtual void addValidOption (const std::string &pValidOption, const std::string &pRightLabelText="", bool pValidate=true)
 Adds a string to the set of valid strings that can be typed.
 
virtual void getValidOptions (std::map< std::string, std::string > &pValidOptions) const
 Returns the collection of valid input strings that can be typed.
 
std::string getValidOptionStrings (const eMLIF &pMLIF=eMLIF_COMMA_SEP) const
 Get the valid input strings formatted.
 
void getValidOptionStrings (std::set< std::string > &pValidOptionStrings) const
 Returns a set of all the valid input strings currently set.
 
virtual bool hasValidOptionString (const std::string &pStr) const
 Returns whether or not a string exists in the input's set of.
 
virtual std::string getValidOptionHelpText (const std::string &pInput) const
 Returns the help text for one of the valid input strings. If.
 
virtual void clearValidOptions ()
 Clears the set of valid strings that can be typed into the.
 
virtual bool autoFillFromValidOptions (bool pRefresh=false)
 For a text input, this will try to auto-fill the input based.
 
virtual void setForceUpper (bool pForceUpper)
 Toggles the option to force text to be upper-case.
 
virtual bool getForceUpper () const
 Returns the option for forcing text to upper-case.
 
virtual void setAllowBlank (bool pAllowBlank)
 Sets whether or not to allow a blank value.
 
virtual bool getAllowBlank () const
 Returns the option for allowing a blank value.
 
virtual void setExtendedHelp (const std::string &pExtendedHelp)
 Sets the "extended" help text for the input (this can be as.
 
virtual std::string getExtendedHelp () const
 Returns the extended help set in the input.
 
virtual void setExtendedHelpColor (e_cxColors pColor)
 Sets the color to use for the extended help message.
 
virtual e_cxColors getExtendedHelpColor () const
 Returns the color used for the extended help message.
 
virtual void setExtendedHelpAttribute (attr_t pAttr)
 Sets the attribute to use for the extended help message.
 
virtual attr_t getExtendedHelpAttribute () const
 Returns the attribute used for the extended help message.
 
virtual void autoGenerateExtendedHelp (bool pAutoGenerateExtendedHelp)
 Enables or disables automatic generation of the extended help.
 
virtual bool autoGenerateExtendeHelp () const
 Returns whether or not the extended help text will be.
 
virtual void setExtendedHelpKey (int pKey)
 Sets a single key to be used to display the extended help.
 
virtual void addExtendedHelpKey (int pKey)
 Adds an additional key to be used to display the extended help.
 
virtual void setExtendedHelpKeys (const std::set< int > &pKeys)
 Sets the keys to be used to display the extended help.
 
virtual std::set< int > getExtendedHelpKeys () const
 Returns the keys currently set up to display extended help.
 
virtual std::string getExtendedHelpKeyStrings () const
 Returns a comma-separated list of strings representing the.
 
virtual void clearExtendedHelpKeys ()
 Removes all extended help keys.
 
virtual void setUseExtendedHelpKeys (bool pUseExtendedHelpKey)
 Toggles whether or not to use the extended help keys.
 
virtual bool getUseExtendedHelpKeys () const
 Returns whether the extended help keys are set to be used.
 
virtual bool keyIsExtendedHelpKey (int pKey) const
 Returns whether or not a key is set up as an extended help key.
 
virtual void setShowRightLabel (bool pShowRightLabel)
 Sets whether or not to show the label to the right of the input.
 
virtual bool getShowRightLabel () const
 Returns whether or not the label to the right of the input.
 
virtual void setRightLabelOffset (int pOffset, bool pRefresh=false)
 Sets the horizontal distance of the right label from the right.
 
virtual int getRightLabelOffset () const
 Returns the offset of the right label from the right edge of.
 
virtual int getRightLabelTop () const
 Returns the top row of the right label window.
 
virtual int getRightLabelLeft () const
 Returns the leftmost column of the right label window.
 
virtual int getRightLabelBottom () const
 Returns the bottom row of the right label window.
 
virtual int getRightLabelRight () const
 Returns the rightmost column of the right label window.
 
virtual int getRightLabelHeight () const
 Returns the height of the right label window.
 
virtual int getRightLabelWidth () const
 Returns the width of the right label window.
 
virtual void setRightLabelWidth (int pWidth, bool pRefresh=false)
 Sets the width of the right label.
 
virtual void setRightLabelHeight (int pHeight, bool pRefresh=false)
 Sets the height of the right label.
 
virtual void resizeRightLabel (int pHeight, int pWidth, bool pRefresh=false)
 Re-sizes the right label.
 
virtual void setRightLabel (const std::string &pText, bool pRefresh=false)
 Sets the text of the right label.
 
virtual void setRightLabel (int pOffset, const std::string &pText, bool pRefresh=false)
 Sets the offset & the text of the right label.
 
virtual std::string getRightLabel () const
 Returns the text of the right label.
 
virtual void getRightLabelSize (int &pHeight, int &pWidth)
 Returns the size of the right label.
 
virtual e_cxColors getRightLabelColor () const
 Returns the color used for the right label.
 
virtual void setRightLabelColor (e_cxColors pColor)
 Sets the color to use for the right label.
 
virtual void setRightLabelAttr (attr_t pAttr)
 Sets the ncurses attribute for the right label message.
 
virtual void setMaxInputLength (int pLength)
 Sets the maximum text length that can be accepted by the input.
 
virtual int getMaxInputLength () const
 Returns the currently-set maximum input length.
 
virtual eInputErrors getErrorState () const
 Returns the current error state of the input. This can be.
 
virtual void setErrorState (eInputErrors pErrorState)
 Sets the error state for the input. This can be one of the.
 
virtual bool getUseClearKey () const
 Returns whether or not the clear key will be used.
 
virtual void setUseClearKey (bool pUseClearKey)
 Sets whether or not the clear key should be used.
 
virtual void additionalOnClear ()
 This function is called when the user clears the input. This.
 
virtual bool rightLabelEnabled () const
 Returns whether or not the right label window is enabled.
 
bool validatorFunctionIsSet () const
 Returns whether or not the validator function is set (if.
 
- Public Member Functions inherited from cx::cxWindow
 cxWindow (cxWindow *pParentWindow=nullptr, int pRow=0, int pCol=0, int pHeight=DEFAULT_HEIGHT, int pWidth=DEFAULT_WIDTH, const std::string &pTitle="", const std::string &pMessage="", const std::string &pStatus="", eBorderStyle pBorderStyle=eBS_SINGLE_LINE, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Default constructor.
 
 cxWindow (cxWindow *pParentWindow, int pRow, int pCol, const std::string &pTitle, const std::string &pMessage, const std::string &pStatus, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Overloaded constructor.
 
 cxWindow (cxWindow *pParentWindow, const std::string &pTitle, const std::string &pMessage, const std::string &pStatus, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Overloaded constructor - Centers the window in the middle of the screen.
 
 cxWindow (cxWindow *pParentWindow, const std::string &pTitle, const std::string &pMessage, const std::string &pStatus, int pHeight, int pWidth, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Overloaded constructor - Centers the window in the middle of the screen.
 
 cxWindow (cxWindow *pParentWindow, const std::string &pMessage, const std::string &pStatus, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Overloaded constructor - Centers the window in the middle of the screen.
 
 cxWindow (cxWindow *pParentWindow, const std::string &pMessage, const std::string &pStatus, int pHeight, int pWidth, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Overloaded constructor - Centers the window in the middle of the screen.
 
 cxWindow (cxWindow *pParentWindow, const std::string &pMessage, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Overloaded constructor - Centers the window in the middle of the screen.
 
 cxWindow (cxWindow *pParentWindow, eHPosition pHPosition, const std::string &pTitle, const std::string &pMessage, const std::string &pStatus, cxWindow *pExtTitleWindow=nullptr, cxWindow *pExtStatusWindow=nullptr, bool pHotkeyHighlighting=false)
 Overloaded constructor - Lets you specify the horizontal position.
 
 cxWindow (const cxWindow &pThatWindow)
 Copy constructor.
 
virtual ~cxWindow ()
 
virtual void centerHoriz (bool pRefresh=true)
 Centers the window horizontally on the screen.
 
virtual void alignHoriz (eHPosition pPosition, bool pRefresh=true)
 Aligns the window horizontally on the screen.
 
virtual void centerVert (bool pRefresh=true)
 Centers the window vertically on the screen.
 
virtual void alignVert (eVPosition pPosition, bool pRefresh=true)
 Aligns the window vertically on the screen.
 
virtual void center (bool pRefresh=true)
 Centers the window on the screen.
 
virtual std::string getTitle () const
 Accessor for title text - Returns the first string in the.
 
virtual void setTitle (const std::string &pTitle, bool pRefreshTitle=true)
 Setter for the title text - This sets the first string in the.
 
std::string getStatus () const
 Accessor for the status line text.
 
virtual void setStatus (const std::string &pStatus, bool pRefreshStatus=true)
 Mutator for the status line text.
 
std::string getMessage () const
 Returns the message that appears in the window, concatenating all message lines together.
 
virtual void setMessage (const std::string &pMessage)
 Sets the text that appears within the window.
 
virtual void addMessageLineBelow (const std::string &pLine)
 Adds a line to the message to be displayed in the window,.
 
virtual void addMessageLinesBelow (const std::vector< std::string > &pLines)
 Adds lines to the message below the current message text.
 
virtual void addMessageLinesBelow (const std::list< std::string > &pLines)
 Adds lines to the message below the current message text.
 
virtual void addMessageLinesBelow (const std::deque< std::string > &pLines)
 Adds lines to the message below the current message text.
 
virtual void addMessageLineAbove (const std::string &pLine)
 Adds a line to the message to be displayed in the window,.
 
virtual void addMessageLinesAbove (const std::vector< std::string > &pLines)
 Adds lines to the message above the current message text.
 
virtual void addMessageLinesAbove (const std::list< std::string > &pLines)
 Adds lines to the message above the current message text.
 
virtual void addMessageLinesAbove (const std::deque< std::string > &pLines)
 Adds lines to the message above the current message text.
 
virtual void setMessageLines (const std::vector< std::string > &pLines)
 Sets the message lines in the window.
 
virtual void setMessageLines (const std::list< std::string > &pLines)
 Sets the message lines in the window.
 
virtual void setMessageLines (const std::deque< std::string > &pLines)
 Sets the message lines in the window.
 
virtual void removeMessageLine (unsigned pIndex)
 Removes a line from the text inside the window (by index).
 
virtual void setMessageLine (unsigned pIndex, const std::string &pLine)
 Modifies one of the lines displayed in the window.
 
void setHorizTitleAlignment (eHPosition pHAlignment)
 Sets the horizontal alignment of the title text.
 
eHPosition getHorizTitleAlignment () const
 Accessor for the title text alignment.
 
void setHorizMessageAlignment (eHPosition pHAlignment)
 Sets the horizontal alignment of the message text.
 
eHPosition getHorizMessageAlignment () const
 Accessor for the horizontal message text alignment.
 
void setHorizStatusAlignment (eHPosition pHAlignment)
 Sets the horizontal alignment of the status text.
 
eHPosition getHorizStatusAlignment () const
 Accessor for the horizontal status text alignment.
 
void setVerticalMessageAlignment (eVPosition pVAlignment)
 Sets the vertical alignment of the message text.
 
eVPosition getVerticalMessageAlignment () const
 Accessor for the vertical message text alignment.
 
void setExtTitleWindow (cxWindow *pWindow, bool pRefreshTitle=true)
 Sets an external cxWindow object to be used for the title, rather.
 
cxWindowgetExtTitleWindow () const
 Accessor for the external title window pointer.
 
void setExtStatusWindow (cxWindow *pWindow, bool pRefreshStatus=true)
 Sets an external cxWindow object to be used for status, rather.
 
cxWindowgetExtStatusWindow () const
 Accessor for the external status window pointer.
 
bool isHidden () const
 Returns whether or not the window is hidden.
 
virtual long setFocus (bool pShowSelf=true, bool pBringToTop=true, bool pShowSubwindows=true)
 Alias for showModal()
 
virtual void setFocusColors ()
 Turns on the ncurses attribute A_REVERSE for the window to.
 
virtual void setFocusColors (attr_t pAttr)
 Turns on the ncurses attribute pAttr for the window to.
 
virtual void unSetFocusColors ()
 Disables focus for this window and unhighlights the message.
 
virtual void unSetFocusColors (attr_t pAttr)
 Disables focus for this window and un-highlights the message (using pAttr)
 
virtual void bringToBottom (bool pRefresh=false)
 Puts the window on the bottom of all other windows.
 
virtual bool isOnTop () const
 Returns whether the window is on top of all other windows.
 
virtual bool isOnBottom () const
 Returns whether the window is on the bottom of all other windows.
 
void touchWindow ()
 Marks the window's entire content as dirty so that the next.
 
virtual void drawBorder (int pRow, int pCol, int pHeight, int pWidth, bool pTop=true, bool pBottom=true, bool pLeft=true, bool pRight=true)
 Draws the border (based on the border style)
 
virtual void drawBorder (int pHeight, int pWidth)
 Draws a box in the window.
 
virtual void drawBorder ()
 Draws a box for the window border.
 
virtual int top () const
 Returns the top row of the window.
 
virtual int centerRow () const
 Returns the center row of the window.
 
virtual int bottom () const
 Returns the bottom row of the window.
 
virtual int left () const
 Returns the left column of the window.
 
virtual int centerCol () const
 Returns the center column of the window.
 
virtual int right () const
 Returns the right column of the window.
 
virtual int width (int pWidth)
 Changes the width of the window.
 
virtual int height (int pHeight)
 Changes the height of the window.
 
virtual void getRect (int &pTop, int &pLeft, int &pBottom, int &pRight)
 Returns the coordinates of the rectangle defining the window.
 
virtual bool pointIsInWindow (int pY, int pX) const
 Returns whether a screen location is in the window (including.
 
virtual bool pointIsInTitle (int pY, int pX) const
 Returns whether a screen location is in the title of the window.
 
virtual void getSize (int &pHeight, int &pWidth)
 Returns the height & width of the window.
 
virtual bool moveRelative (int pVerticalOffset, int pHorizOffset, bool pRefresh=true)
 Changes the window's position via vertical & horizontal offsets.
 
unsigned numSubWindows ()
 Returns the number of subwindows in this window.
 
void setSubWinMessage (unsigned pIndex, const std::string &pMessage)
 Sets the message of one of the subwindows (by index).
 
void setSubWinMessage (const std::string &pTitle, const std::string &pMessage)
 Sets the message of one of the subwindows (by title).
 
eBorderStyle getBorderStyle () const
 Returns the border style.
 
bool hasBorder () const
 Does this window have a border?
 
void setParent (cxWindow *pNewParent)
 Changes the pointer to the parent window; changes the parent window.
 
virtual void dump (std::string &pResult)
 Returns a string containing all the characters.
 
virtual void showSubwindows (bool pBringToTop=true, bool pShowSubwindows=true)
 Shows the subwindows for the window.
 
cxWindowoperator= (const cxWindow &pThatWindow)
 Assignment operator.
 
virtual void writeText (int pRow, int pCol, const std::string &pText, bool pRefresh=true)
 Writes text on the window. Note that the text is not permanant, so.
 
bool getHotkeyHighlighting () const
 Returns whether hotkey attributes are used when writing the message.
 
virtual bool isEnabled () const
 Returns whether or not the window is enabled.
 
virtual bool getDisableCursorOnShow () const
 Returns whether or not the window will disable.
 
virtual bool getExitOnMouseOutside () const
 Returns whether the window exits its modal input loop when.
 
virtual void setExitOnMouseOutside (bool pExitOnMouseOutside)
 Sets whether the window should exit its modal input loop.
 
virtual int getLastKey () const
 Returns the last key pressed by the user (for showModal(), etc.)
 
virtual bool lastKeyWasMouseEvt () const
 Returns whether or not the last keypress was a mouse event.
 
virtual void getLastMouseEvtCoords (int &pY, int &pX)
 Returns the coordinates of the last mouse event in the window.
 
virtual bool getChangeColorsOnFocus () const
 Returns whether the window will change.
 
virtual void setChangeColorsOnFocus (bool pChangeColorsOnFocus)
 Sets whether colors should change when focus.
 
virtual void setOnFocusFunction (const std::shared_ptr< cxFunction > &pFunction)
 Sets the window's "on focus" function.
 
virtual void setOnFocusFunction (funcPtr4 pFunction, void *p1, void *p2, void *p3, void *p4, bool pUseVal=false, bool pExitAfterRun=false)
 Sets the "on focus" function pointer.
 
virtual void setOnFocusFunction (funcPtr2 pFunction, void *p1, void *p2, bool pUseVal=false, bool pExitAfterRun=false)
 Sets the "on focus" function pointer.
 
virtual void setOnFocusFunction (funcPtr0 pFunction, bool pUseVal=false, bool pExitAfterRun=false)
 Sets the "on focus" function pointer.
 
virtual void setOnLeaveFunction (const std::shared_ptr< cxFunction > &pFunction)
 Sets the window's "on leave" function.
 
virtual void setOnLeaveFunction (funcPtr4 pFunction, void *p1, void *p2, void *p3, void *p4)
 Sets the "on leave" function pointer.
 
virtual void setOnLeaveFunction (funcPtr2 pFunction, void *p1, void *p2)
 Sets the "on focus" function pointer.
 
virtual void setOnLeaveFunction (funcPtr0 pFunction)
 Sets the "on focus" function pointer.
 
virtual bool runOnLeaveFunction (std::string *pFunctionRetval=nullptr)
 Runs the onLeave function, if it's set. However, if the last.
 
virtual void toggleOnFocusFunction (bool pRunOnFocus)
 Sets whether or not the onFocus function should run.
 
virtual void toggleOnLeaveFunction (bool pRunOnLeave)
 Sets whether or not the onLeave function should run.
 
virtual bool onFocusFunctionEnabled () const
 Returns whether or not the onFocus function is set to run.
 
virtual bool onLeaveFunctionEnabled () const
 Returns whether or not the onLeave function is set to run.
 
virtual const std::shared_ptr< cxFunction > & getOnFocusFunction () const
 Accessor for the onFocus function.
 
virtual const std::shared_ptr< cxFunction > & getOnLeaveFunction () const
 Accessor for the onLeave function.
 
virtual bool isModal () const
 Returns whether or not the window is currently.
 
virtual void clearKeyFunctionByPtr (funcPtr4 pFunction)
 Removes a keypress function pointer.
 
virtual void clearKeyFunctionByPtr (funcPtr2 pFunction)
 Removes a keypress function pointer.
 
virtual void clearKeyFunctionByPtr (funcPtr0 pFunction)
 Removes a keypress function pointer.
 
virtual bool hasKeyFunction (int pKey) const
 Returns whether an external function exists for a keypress.
 
virtual bool setMouseFunction (int pMouseState, const std::shared_ptr< cxFunction > &pFunction)
 Sets a function to be called for a certain mouse state.
 
virtual bool setMouseFunction (int pMouseState, funcPtr4 pFunction, void *p1, void *p2, void *p3, void *p4, bool pUseReturnVal=false, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true)
 Sets a function to be called for a certain mouse state.
 
virtual bool setMouseFunction (int pMouseState, funcPtr2 pFunction, void *p1, void *p2, bool pUseReturnVal=false, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true)
 Sets a function to be called for a certain mouse state.
 
virtual bool setMouseFunction (int pMouseState, funcPtr0 pFunction, bool pUseReturnVal=false, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true)
 Sets a function to be called for a certain mouse state. This.
 
virtual void clearMouseFunction (int pMouseState)
 Removes a function pointer for a mouse event so that it will.
 
virtual void clearMouseFunctions ()
 Clears the list of external functions fired by mouse events.
 
virtual bool hasMouseFunction (int pMouseState) const
 Returns whether an external function exists for a mouse event.
 
std::map< int, std::shared_ptr< cxFunction > >::iterator keyFunctions_begin ()
 Returns a begin iterator to the map of cxFunction pointers.
 
std::map< int, std::shared_ptr< cxFunction > >::iterator keyFunctions_end ()
 Returns an end iterator to the map of cxFunction pointers.
 
virtual void getFunctionKeyStrings (std::vector< std::string > &pKeys) const
 Populates a collection of strings representing the keys.
 
virtual void getFunctionKeys (std::vector< int > &pKeys) const
 Populates a collection with integers representing the keys.
 
virtual void setShowSubwinsForward (bool pShowSubwinsForward)
 Toggles the order in which subwindows will be shown.
 
virtual bool getShowSubwinsForward () const
 Returns whether or not the subwindows will be shown.
 
virtual void setShowSelfBeforeSubwins (bool pShowSelfBeforeSubwins)
 Sets whether the window will show itself before.
 
virtual bool getShowSelfBeforeSubwins () const
 Returns whether or not the window will show itself before.
 
virtual long getReturnCode () const
 Returns the return code set by the last call to.
 
virtual bool addTitleString (int pHPos, const std::string &pStr, bool pRefreshTitle=false)
 Adds/sets a string to appear in the title at.
 
virtual std::string getTitleString (int pHPos) const
 Returns the title string set at a given horizontal position.
 
virtual std::map< int, std::string > getTitleStrings () const
 Returns the map of title strings for the window.
 
virtual void getTitleStrings (std::map< int, std::string > &pTitleStrings) const
 Returns the map of title strings for the window (using an.
 
virtual void setTitleStrings (const std::map< int, std::string > &pTitleStrings)
 Sets all the title strings via a map of horizontal.
 
virtual void removeTitleString (int pHPos)
 Removes a title string at a given horizontal position.
 
virtual void removeTitleStrings ()
 Removes all title strings.
 
virtual bool addStatusString (int pHPos, const std::string &pStr, bool pRefreshStatus=false)
 Adds/sets a string to appear in the status line at.
 
virtual std::string getStatusString (int pHPos) const
 Returns the status string set at a given horizontal position.
 
virtual std::map< int, std::string > getStatusStrings () const
 Returns the map of status strings for the window.
 
virtual void getStatusStrings (std::map< int, std::string > &pStatusStrings) const
 Returns the map of status strings for the window (using an.
 
virtual void setStatusStrings (const std::map< int, std::string > &pStatusStrings)
 Sets all the status strings via a map of horizontal.
 
virtual void removeStatusString (int pHPos)
 Removes a status string at a given horizontal position.
 
virtual void removeStatusStrings ()
 Removes all status strings.
 
virtual void removeQuitKeys ()
 Removes all quit keys.
 
virtual void removeExitKeys ()
 Removes all exit keys.
 
virtual bool hasExitKey (int pKey) const
 Returns whether or not a key exists in the.
 
virtual bool hasQuitKey (int pKey) const
 Returns whether or not a key exists in the.
 
virtual void getQuitKeyStrings (std::vector< std::string > &pKeys) const
 Populates a collection of strings representing the keys.
 
virtual std::string getQuitKeyListString () const
 Returns a string containing a comma-separated list of the.
 
virtual void getExitKeyStrings (std::vector< std::string > &pKeys) const
 Populates a collection of strings representing the keys.
 
virtual std::string getExitKeyListString () const
 Returns a string containing a comma-separated list of the.
 
virtual std::map< int, bool > getQuitKeys () const
 Returns the keys that will make the window quit its input.
 
virtual std::map< int, bool > getExitKeys () const
 Returns the keys that will make the window exit is input.
 
void toggleMessage (bool pDrawMessage)
 Sets whether or not to draw the message area (the area within.
 
void toggleTitle (bool pDrawTitle)
 Sets whether or not to draw the title.
 
void toggleStatus (bool pDrawStatus)
 Sets whether or not to draw the status line.
 
bool messageWillDraw () const
 Returns whether the message will draw or not.
 
bool titleWillDraw () const
 Returns whether the title will draw or not.
 
bool statusWillDraw () const
 Returns whether the status line will draw or not.
 
void toggleSpecialChars (bool pDrawSpecialChars)
 Sets whether or not to draw the "special" characters (these are.
 
bool specialCharsWillDraw () const
 Returns whether the "special" characters will be drawn or.
 
virtual void drawTitle ()
 Writes the title line.
 
virtual void drawStatus ()
 Writes the status line.
 
virtual void drawMessage ()
 Writes the message text (in the area within the borders)
 
virtual void drawSpecialChars ()
 Writes the set of "special" characters to the window.
 
virtual void setReturnCode (const long &pReturnCode)
 Explicitly sets the member return code for the window.
 
virtual void setMessageColor (e_cxColors pColor)
 Returns the message color.
 
virtual void setTitleColor (e_cxColors pColor)
 Sets the title color.
 
virtual void setStatusColor (e_cxColors pColor)
 Sets the color of the status line at bottom of window.
 
virtual void setBorderColor (e_cxColors pColor)
 Sets the color of the window border.
 
virtual bool hasAttr (e_WidgetItems pItem, attr_t pAttr)
 Returns whether an attribute is set for a widget item.
 
bool getLeaveNow () const
 Returns whether or not something told the window to leave now.
 
std::string getName () const
 
virtual void setName (const std::string &pName)
 Sets the name of the window. The name is an alternative means.
 
bool mouseEvtWasInWindow () const
 Returns whether the current mouse information stored in the.
 
virtual bool mouseEvtWasInTitle () const
 Returns whether the current mouse information stored in the.
 
virtual void doMouseBehavior ()
 Triggers the window's mouse event behavior. This method can.
 
virtual void doMouseBehavior (int pMouseY, int pMouseX)
 Triggers the window's mouse event behavior. Also sets the.
 
std::shared_ptr< cxFunctiongetKeyFunction (int pKey) const
 Returns a cxFunction pointer for a key.
 
std::shared_ptr< cxFunction0getKeyFunctionAsFunction0 (int pKey) const
 Returns a cxFunction pointer for a key, casted to a cxFunction0.
 
std::shared_ptr< cxFunction2getKeyFunctionAsFunction2 (int pKey) const
 Returns a cxFunction pointer for a key, casted to a cxFunction2.
 
std::shared_ptr< cxFunction4getKeyFunctionAsFunction4 (int pKey) const
 Returns a cxFunction pointer for a key, casted to a cxFunction4.
 
bool mouseEvtWasButtonEvt () const
 Returns whether or not the mouse event read in mMouse was.
 
bool mouseButton1Pressed () const
 Returns whether or not the first mouse button was pressed.
 
bool mouseButton1Released () const
 Returns whether or not the first mouse button was released.
 
bool mouseButton1Clicked () const
 Returns whether or not the first mouse button was clicked.
 
bool mouseButton1DoubleClicked () const
 Returns whether or not the first mouse button was double-clicked.
 
bool mouseButton2Clicked () const
 Returns whether or not the second mouse button was clicked.
 
bool mouseButton2DoubleClicked () const
 Returns whether or not the second mouse button was double-clicked.
 
bool mouseButton3Clicked () const
 Returns whether or not the second mouse button was clicked.
 
virtual void mouseButton1Click (int pY, int pX)
 Tells the window that mouse button 1 was clicked at a certain.
 
virtual void mouseButton2Click (int pY, int pX)
 Tells the window that mouse button 2 was clicked at a certain.
 
virtual void mouseButton3Click (int pY, int pX)
 Tells the window that mouse button 3 was clicked at a certain.
 
std::string getString (int pRow, int pCol, int pNumber)
 Get the contents of a portion of the window. (for debugging/testing)
 
void info ()
 Display information about a window (for debugging/testing)
 
virtual void toggleBorderTop (bool pToggle)
 Sets whether or not to display the top border.
 
virtual void toggleBorderBottom (bool pToggle)
 Sets whether or not to display the bottom border.
 
virtual void toggleBorderLeft (bool pToggle)
 Sets whether or not to display the left border.
 
virtual void toggleBorderRight (bool pToggle)
 Sets whether or not to display the right border.
 
virtual void addSpecialChar (int pY, int pX, chtype pChar, attr_t pAttr=A_NORMAL)
 Adds a character to be written somewhere in the window. These.
 
virtual void removeSpecialChar (int pY, int pX)
 Removes a character from the set of special characters (by.
 
virtual void clearSpecialChars ()
 Clears the collection of special characters.
 
virtual bool functionExistsForLastMouseState () const
 Returns whether an external function pointer exists for the.
 
int getMouseState () const
 Returns the current mouse state as it was last captured by the.
 
std::string getMouseStateStr () const
 Returns a string version of the current mouse state as it was.
 
virtual e_cxColors getItemColor (e_WidgetItems pItem) const
 Returns the color of one of the items in a window.
 
- Public Member Functions inherited from cx::cxObject
 cxObject ()
 
virtual ~cxObject ()
 
virtual void beep ()
 

Protected Member Functions

long doInputLoop (bool pShowSelf, bool &pRunOnLeaveFunction)
 Handles the input loop. Returns cxID_QUIT or cxID_EXIT,.
 
void copyCxComboBoxStuff (const cxComboBox *pThatComboBox)
 Makes a copy of a cxComboBox's member variables.
 
bool menuIsModal () const
 Returns whether or not the drop-down menu is modal.
 
- Protected Member Functions inherited from cx::cxMultiLineInput
void copyCxMultiLineInputStuff (const cxMultiLineInput *pThatInput)
 Copies another cxMultiLineInput's member variables.
 
long doInputLoop (bool pShowInputs, bool &pRunOnLeaveFunction)
 Handles the input loop. Returns cxID_QUIT or cxID_EXIT,.
 
bool focusFunctionsWillRun () const
 Returns whether the onFocus and onLeave functions will be run.
 
void runFocusFunctions (bool pRunFocusFunctions)
 Enables or disables the onFocus and onLeave functions.
 
void setParentForm (cxForm *pParentForm)
 Sets the parent cxForm pointer.
 
bool searchParentFormsForFKey (int pFunctionKey, bool pIncludeNavigationalKeys=false)
 Searches the parent cxForm (if mParentForm isn't nullptr)
 
void freeInputs ()
 Frees the memory used by the single-line inputs.
 
virtual bool handleFunctionForLastKey (bool *pFunctionExists=nullptr, bool *pRunOnLeaveFunction=nullptr) override
 Looks for a function tied to the last keypress and.
 
virtual void enableAttrs (WINDOW *pWin, e_WidgetItems pItem) override
 Enables the attributes for one of the m*Attrs sets for an ncurses window.
 
virtual void disableAttrs (WINDOW *pWin, e_WidgetItems pItem) override
 Disables the attributes for one of the m*Attrs sets for an ncurses window.
 
- Protected Member Functions inherited from cx::cxWindow
virtual void reCreatePanel ()
 Creates mPanel (by calling new_panel()), then sets up.
 
void freeWindow ()
 Frees the memory used by the ncurses window and.
 
virtual void init (int pRow, int pCol, int pHeight, int pWidth, const std::string &pTitle, const std::string &pMessage, const std::string &pStatus, cxWindow *pParentWindow=nullptr, bool pResizeVertically=true)
 Initializes the window parameters and sets up the internal.
 
virtual void removeAllSubwindows ()
 Removes all subwindow pointers.
 
virtual void addSubwindow (cxWindow *pSubWindow)
 Adds a subwindow to the window. Subwindows of a.
 
virtual void removeSubWindow (const cxWindow *pSubWindow)
 Removes a window from the subwindow list.
 
virtual void setElementColor (short &pColorPair, attr_t &pElementAttr, e_cxColors pColor)
 Sets the color (and attribute, if necessary) of a color element.
 
virtual void writeWithHighlighting (WINDOW *pWindow, const std::string &pText, const int &pY, const int &pStartX, const int &pEndX, int pNormalTextItem=-1)
 Writes text to an ncurses WINDOW, highlighting any characters.
 
virtual void copyCxWinStuff (const cxWindow *pThatWindow, bool pRecreateWin=true)
 Makes a copy of a cxWindow's member variables.
 
virtual void getRowColBasedOn (cxWindow *pParentWindow, eHPosition pPosition, const std::string &pTitle, const std::string &pStatus, const std::string &pMessage, int &pRow, int &pCol)
 Figures out how to align text based on a title & message.
 
virtual bool handleFunctionForLastMouseState (bool *pFunctionExists=nullptr, bool *pRunOnLeaveFunction=nullptr)
 Looks for a function tied to the last mouse state captured.
 
void setKeyFunctions (const cxWindow &pWindow)
 Returns whether or not a mouse event location is within.
 
void setFocusFunctions (const cxWindow &pWindow)
 Re-sets the onFocus and onLeave functions from another.
 
bool parentIsCxPanel () const
 Returns whether or not the parent window, if there is one, is.
 
bool parentIsCxForm () const
 Returns whether or not the parent window, if there is one, is.
 
bool parentIsCxNotebook () const
 Returns whether or not the parent window, if there is one, is.
 
cxWindowPtrContainer::const_iterator subWindows_begin () const
 Returns a const iterator to the first subwindow.
 
cxWindowPtrContainer::const_iterator subWindows_end () const
 Returns a const iterator to the one past the last subwindow.
 
cxWindowPtrContainer::const_reverse_iterator subWindows_rbegin () const
 Returns a const reverse begin iterator for the subwindow collection.
 
cxWindowPtrContainer::const_reverse_iterator subWindows_rend () const
 Returns a const reverse end iterator for the subwindow collection.
 
bool onFocusFunctionIsSet () const
 Returns whether or not the onFocus function is set (if.
 
bool onLeaveFunctionIsSet () const
 Returns whether or not the onLeave function is set (if.
 

Additional Inherited Members

- Static Public Member Functions inherited from cx::cxMultiLineInput
static std::string clearInput (void *theInput, void *unused)
 Clears the value of a cxMultiLineInput.
 
- Static Public Member Functions inherited from cx::cxObject
static bool UseColors ()
 
static void UseColors (bool useIt)
 
static bool UseBeeps ()
 
static void UseBeeps (bool useIt)
 
- Protected Attributes inherited from cx::cxMultiLineInput
std::shared_ptr< cxFunctionmValidatorFunction
 This is the function to be run to validate.
 
bool mRunFocusFunctions = true
 Whether or not to run the onFocus and onLeave functions.
 
- Protected Attributes inherited from cx::cxWindow
WINDOW * mWindow = nullptr
 Everything in the window is written here; this is an nCurses window structure.
 
messageLineContainer mMessageLines
 Contains the text to be shown inside the window (note: the.
 
std::map< std::pair< int, int >, chtype > mSpecialChars
 Contains "special" characters which are added to the window.
 
std::set< attr_t > mMessageAttrs
 Message attributes.
 
std::set< attr_t > mTitleAttrs
 Title attributes.
 
std::set< attr_t > mStatusAttrs
 Status attributes.
 
std::set< attr_t > mBorderAttrs
 Border attributes.
 
std::set< attr_t > mHotkeyAttrs
 Hotkey attributes.
 
std::map< std::pair< int, int >, attr_t > mSpecialCharAttrs
 Attributes for the "special" characters (which are added to.
 
short mMessageColorPair = eWHITE_BLUE
 
short mTitleColorPair = eGRAY_BLUE
 
short mStatusColorPair = eBROWN_BLUE
 
short mBorderColorPair = eGRAY_BLUE
 
eHPosition mHorizTitleAlignment = eHP_LEFT
 
eHPosition mHorizMessageAlignment = eHP_LEFT
 
eHPosition mHorizStatusAlignment = eHP_LEFT
 
eVPosition mVerticalMessageAlignment = eVP_TOP
 
bool mDrawMessage = true
 
bool mDrawTitle = true
 
bool mDrawStatus = true
 
bool mDrawSpecialChars = true
 
std::shared_ptr< cxFunctionmOnFocusFunction = nullptr
 
std::shared_ptr< cxFunctionmOnLeaveFunction = nullptr
 
bool mIsModal = false
 
bool mLeaveNow = false
 
std::map< int, std::shared_ptr< cxFunction > > mKeyFunctions
 
std::map< int, std::shared_ptr< cxFunction > > mMouseFunctions
 
std::map< int, bool > mQuitKeys
 
std::map< int, bool > mExitKeys
 
bool mHotkeyHighlighting
 
- Static Protected Attributes inherited from cx::cxObject
static bool useColors
 Whether or not to use colors.
 
static bool useBeeps
 Whether or not to enable beeping.
 

Detailed Description

A text box that also has a drop-down box with a list of items that the user can choose from.

Constructor & Destructor Documentation

◆ cxComboBox() [1/2]

cx::cxComboBox::cxComboBox ( cxWindow pParentWindow = nullptr,
int  pRow = 0,
int  pCol = 0,
int  pHeight = DEFAULT_HEIGHT,
int  pWidth = DEFAULT_WIDTH,
const std::string &  pLabel = "",
eBorderStyle  pBorderStyle = eBS_NOBORDER,
eInputOptions  pInputOption = eINPUT_EDITABLE,
eInputTypes  pInputType = eINPUT_TYPE_TEXT,
std::string *  pExtValue = nullptr,
bool  pMenuEnabled = true,
int  pRightLabelOffset = 0,
int  pRightLabelHeight = 1,
int  pRightLabelWidth = 5,
bool  pShowRightLabel = false 
)
explicit

Default constructor.

Parameters
pParentWindowA pointer to the parent window.
pRowThe row of the upper-left corner.
pColThe column of the upper-left corner.
pHeightThe height of the window. Note that the height of the input is always 1. This parameter includes the input plus the height of the menu, which will appear below the input (i.e., a height of 10 means the 1-line input and a 9-line menu).
pWidthThe width of the window.
pLabelThe label of the input
pBorderStyleThe type of border to use - can be eBS_SINGLE_LINE for a single-line border or eBS_NOBORDER for no border.
pInputOptionSpecifies the editability of the input. Defaults to eINPUT_EDITABLE. The enNputOptions enumeration is in the file cxInputOptions.h.
pInputTypeSpecifies the type of input (text, numeric floating point, or numeric whole). This defaults to eINPUT_TYPE_TEXT.
pExtValuePointer to external input value; defaults to nullptr
pMenuEnabledWhether or not the menu should be enabled (defaults to true)
pRightlabelOffsetThe distance between the right edge of the input and the right label. Defaults to 0.
pRightLabelHeightThe height of the label to the right of the input (defaults to 1)
pRightLabelHeightThe width of the label to the right of the input (defaults to 5)
pShowRightLabelWhether or not to show the right label. Defaults to false.

◆ cxComboBox() [2/2]

cxComboBox::cxComboBox ( const cxComboBox pThatComboBox)

◆ ~cxComboBox()

cxComboBox::~cxComboBox ( )
virtual

Member Function Documentation

◆ addDropDownKey()

void cxComboBox::addDropDownKey ( int  pKey)
virtual

Adds a key that will show the drop-down menu.

Parameters
pKeyA key to add

◆ appendToMenu()

void cxComboBox::appendToMenu ( const std::string &  pDisplayText,
const std::string &  pItemText = "",
bool  pRefresh = false,
bool  pBringToTop = false 
)
virtual

Adds a string item to the end of the menu.

Parameters
pDisplayTextThe text to display for the item
pItemTextAlternate text to use for the item
pShowMenuWhether or not to refresh the menu after the item has been added (defaults to false).
pBringToTopWhether or not to bring the menu to the top if it's being shown (defaults to false).

References cx::cxMenu::append(), cx::cxITEM_NORMAL, cx::cxMenu::numMenuItems(), and cx::cxMenu::show().

Referenced by cxComboBoxNotEditableMenuEnabled(), and updateMenu().

◆ copyCxComboBoxStuff()

void cxComboBox::copyCxComboBoxStuff ( const cxComboBox pThatComboBox)
protected

Makes a copy of a cxComboBox's member variables.

Parameters
pThatComboBoxA pointer to another cxComboBox to copy

References cx::cxMultiLineInput::copyCxMultiLineInputStuff(), cx::cxWindow::getLastKey(), and cx::cxMultiLineInput::setLastKey().

◆ cxTypeStr()

string cxComboBox::cxTypeStr ( ) const
overridevirtual

Returns the name of the cxWidgets class. This can be used to.

determine the type of cxWidgets object that deriving classes

derive from in applications.

Returns
The name of the cxWidgets class.

Reimplemented from cx::cxMultiLineInput.

◆ doInputLoop()

long cxComboBox::doInputLoop ( bool  pShowSelf,
bool &  pRunOnLeaveFunction 
)
protected

Handles the input loop. Returns cxID_QUIT or cxID_EXIT,.

depending on the user's input. This function is meant

not to be virtual, since it is specifically for

cxComboBox.

Parameters
pShowSelfWhether or not to show the input window before doing the input loop.
pRunOnLeaveFunctionThis will contain a boolean value that will signify whether or not to run the onLeave function (which will be set false if the user presses a function key not set in the cxMultiLineInput object that the parent cxForm or any of its parent cxMultiForm objects have set).
Returns
A return code (cxID_QUIT or cxID_EXIT, depending on the user's input).

References cx::cxID_EXIT, cx::cxID_QUIT, cx::cxWindow::getLastKey(), hasDropDownKey(), cx::cxWindow::hasExitKey(), cx::cxWindow::hasQuitKey(), cx::cxMultiLineInput::isEditable(), cx::cxWindow::isEnabled(), cx::cxWindow::mExitKeys, cx::cxWindow::mLeaveNow, cx::cxWindow::mouseEvtWasInWindow(), cx::cxWindow::mQuitKeys, cx::cxMultiLineInput::searchParentFormsForFKey(), and cx::cxMultiLineInput::showModal().

Referenced by showModal().

◆ erase()

void cxComboBox::erase ( bool  pEraseSubwindows = true)
overridevirtual

Erases the window.

Parameters
pEraseSubwindowsWhether or not to erase the subwindows (defaults to true)

Reimplemented from cx::cxMultiLineInput.

References cx::cxMenu::erase(), and cx::cxMultiLineInput::erase().

◆ getItemText()

string cxComboBox::getItemText ( int  pIndex) const
virtual

Returns the text for a menu item.

Parameters
pIndexThe index of the menu item
Returns
The menu item text at the specified index, or a blank string if the index is out of bounds.

References cx::cxMenu::getItemText().

◆ getMenu()

cxMenu * cxComboBox::getMenu ( )

Returns a pointer to the drop-down menu.

Returns
A pointer to the drop-down menu

◆ getUseAltMenuItemText()

bool cxComboBox::getUseAltMenuItemText ( ) const
virtual

Returns whether or not the alternate text of the drop-down menu.

items will be used.

Returns
Boolean: Whether or not the alternate text of the drop-down menu items will be used

◆ getUseValidatorFunction()

bool cxComboBox::getUseValidatorFunction ( ) const
overridevirtual

Returns whether or not the validator function should be used.

Returns
Whether or not the validator function will be used

Reimplemented from cx::cxMultiLineInput.

◆ hasDropDownKey()

bool cxComboBox::hasDropDownKey ( int  pKey) const
virtual

Returns whether or not a key is in the list of drop-down keys.

Parameters
pKeyA key to check
Returns
true if the key is in the list of drop-down keys, or false if not

Referenced by doInputLoop().

◆ height()

int cxComboBox::height ( ) const
overridevirtual

Returns the total height of the combo box, including.

the input and the menu.

Returns
The total height of the combo box

Reimplemented from cx::cxWindow.

References cx::eBS_NOBORDER, cx::cxWindow::getBorderStyle(), cx::cxWindow::height(), cx::cxWindow::height(), and cx::cxWindow::isEnabled().

Referenced by comboBox(), comboBoxMenuDisable(), and resize().

◆ hide()

void cxComboBox::hide ( bool  pHideSubwindows = true)
overridevirtual

Hides the window.

Parameters
pHideSubwindowsWhether or not to also hide the subwindows (defaults to true)

Reimplemented from cx::cxWindow.

References cx::cxMultiLineInput::hide(), and cx::cxWindow::hide().

◆ hideMenu()

void cxComboBox::hideMenu ( )
virtual

Hides the drop-down menu.

References cx::cxWindow::hide().

◆ inputHeight()

int cxComboBox::inputHeight ( ) const
virtual

Returns the height of the input portion of.

the combo box.

Returns
The height of the input portion

References cx::cxWindow::height().

Referenced by comboBox().

◆ inputWidth()

int cxComboBox::inputWidth ( ) const
virtual

Returns the width of the input portion of.

the combo box.

Returns
The width of the input portion

References cx::cxWindow::width().

◆ menuHeight()

int cxComboBox::menuHeight ( ) const
virtual

Returns the height of the menu portion of.

the combo box.

Returns
The height of the menu portion

References cx::cxWindow::height().

Referenced by comboBox().

◆ menuIsEnabled()

bool cxComboBox::menuIsEnabled ( ) const
virtual

Returns whether or not the menu is enabled.

Returns
Whether or not the menu is enabled (true/false)

References cx::cxWindow::isEnabled().

◆ menuIsModal()

bool cxComboBox::menuIsModal ( ) const
protected

Returns whether or not the drop-down menu is modal.

Returns
true if the drop-down is modal, or false if not

References cx::cxWindow::isModal().

◆ menuWidth()

int cxComboBox::menuWidth ( ) const
virtual

Returns the width of the menu portion of.

the combo box.

Returns
The width of the menu portion

References cx::cxWindow::width().

◆ move()

bool cxComboBox::move ( int  pNewRow,
int  pNewCol,
bool  pRefresh = true 
)
overridevirtual

Changes the window's position, based on a new upper-left corner.

Parameters
pNewRowThe new topmost row of the form
pNewColThe new leftmost column of the form
pRefreshWhether or not to refresh the window (defaults to true)
Returns
Whether or not the move succeeded or not (true/false)

Reimplemented from cx::cxMultiLineInput.

References cx::eBS_NOBORDER, cx::cxWindow::getBorderStyle(), cx::cxMultiLineInput::getLabel(), cx::left(), cx::cxMenu::move(), cx::cxMultiLineInput::move(), cx::cxMultiLineInput::show(), and cx::top().

◆ numMenuItems()

unsigned cxComboBox::numMenuItems ( ) const
virtual

Returns the number of items on the menu.

Returns
The number of items on the menu

References cx::cxMenu::numMenuItems().

◆ removeAllItemsFromMenu()

void cxComboBox::removeAllItemsFromMenu ( )
virtual

Removes all items from the menu.

References cx::cxWindow::hide(), and cx::cxMenu::removeAllItems().

◆ removeDropDownKey()

void cxComboBox::removeDropDownKey ( int  pKey)
virtual

Removes a key from the list of keys that will show the.

drop-down menu.

Parameters
pKeyA key to remove

◆ removeFromMenu() [1/2]

virtual bool cx::cxComboBox::removeFromMenu ( const std::string &  pItemText,
bool  pDisplayText = true,
bool  pRefresh = false 
)
virtual

Removes a menu item from the menu.

Parameters
pItemTextThe text of the item to delete
pDisplayTextIf true (default), then pItemText specifies the text displayed on the menu. If false, then pItemText specifies the alternate item text.
pRefreshWhether or not to refresh the menu (defaults to false)
Returns
True if the item was deleted; false if not.

◆ removeFromMenu() [2/2]

bool cxComboBox::removeFromMenu ( unsigned  pItemIndex,
bool  pRefresh = false 
)
virtual

Removes a menu item from the menu.

Parameters
pItemIndexIndex of the item to delete
pRefreshWhether or not to refresh the menu (defaults to false)
Returns
True if the item was deleted; false if not.

References cx::cxMenu::remove().

◆ resize()

void cxComboBox::resize ( int  pNewHeight,
int  pNewWidth,
bool  pRefresh = true 
)
overridevirtual

Changes window's width and height. The window's upper-left.

coordinate stays the same. Note that the height must

be at least 2 if the combo box doesn't have borders, or 4

if it has borders, to leave room for both the input and

the drop-down menu.

Parameters
pNewHeightThe new height
pNewWidthThe new width
pRefreshWhether or not to refresh the window (defaults to true)

Reimplemented from cx::cxMultiLineInput.

References cx::eBS_NOBORDER, cx::cxWindow::getBorderStyle(), height(), cx::cxWindow::isEnabled(), cx::cxMultiLineInput::maxValueLen(), cx::cxMenu::resize(), cx::cxMultiLineInput::resize(), and width().

Referenced by comboBox(), and comboBoxMenuDisable().

◆ setDropDownKey()

void cxComboBox::setDropDownKey ( int  pKey)
virtual

Sets a single key that will show the drop-down menu.

Parameters
pKeyA key to set as the drop-down menu key

◆ setDropDownKeys()

void cxComboBox::setDropDownKeys ( const set< int > &  pKeys)
virtual

Sets the keys that will show the drop-down menu.

Parameters
pKeysA set of keys

◆ setMenuHeight()

void cxComboBox::setMenuHeight ( int  pNewHeight,
bool  pRefresh = false 
)
virtual

Allows the height of the menu portion to be changed.

Parameters
pNewHeightThe new height of the menu portion
pRefreshWhether or not to refresh the form (defaults to false)

References cx::cxMenu::resize(), and cx::cxWindow::width().

Referenced by comboBox().

◆ setUseAltMenuItemText()

void cxComboBox::setUseAltMenuItemText ( bool  pUseAltMenuItemText)
virtual

Sets whether or not to use the alternate text for all items on.

the drop-down menu. If this is set true, then when the user

selects an item, the item's alternate text will get set in the

input, rather than the item's displayed text.

Parameters
pUseAltMenuItemTextWhether or not to use the alternate text for all items on the drop-down menu

◆ showMenu()

void cxComboBox::showMenu ( bool  pBringToTop = false)
virtual

Shows the drop-down menu.

Parameters
pBringToTopWhether or not to bring the menu to the top (defaults to false)

References cx::cxMenu::show().

◆ showModal()

long cxComboBox::showModal ( bool  pShowSelf = true,
bool  pBringToTop = true,
bool  pShowSubwindows = true 
)
overridevirtual

◆ toggleMenu()

void cxComboBox::toggleMenu ( bool  pEnableMenu,
bool  pRefresh = true 
)
virtual

Enables or disables the menu.

Parameters
pEnableMenuIf true, the drop-down menu will be enabled; if false, the drop-down menu will be disabled.
pRefreshWhether or not to refresh the combo box, in case the input portion needs to resize(defaults to true)

References cx::eBS_NOBORDER, cx::cxWindow::getBorderStyle(), cx::cxMultiLineInput::getLabel(), cx::cxWindow::height(), cx::cxWindow::hide(), cx::cxWindow::isEnabled(), cx::left(), cx::cxMenu::move(), cx::cxMenu::resize(), cx::cxMultiLineInput::resize(), cx::cxWindow::setEnabled(), cx::cxWindow::top(), and width().

Referenced by comboBoxMenuDisable().

◆ toggleValidatorFunction()

void cxComboBox::toggleValidatorFunction ( bool  pRunValidatorFunction)
overridevirtual

Sets whether or not the validator function should be used.

Parameters
pRunValidatorFunctionWhether or not the validator function should be used

Reimplemented from cx::cxMultiLineInput.

◆ unhide()

void cxComboBox::unhide ( bool  pUnhideSubwindows = true)
overridevirtual

Un-hides the window.

Parameters
pUnhideSubwindowsWhether or not to also unhide the subwindows (defaults to true)

Reimplemented from cx::cxWindow.

References cx::cxWindow::isEnabled(), and cx::cxMultiLineInput::unhide().

◆ width()

int cxComboBox::width ( ) const
overridevirtual

Returns the width of the combo box.

Returns
The width of the combo box

Reimplemented from cx::cxWindow.

References cx::cxWindow::width().

Referenced by comboBox(), comboBoxMenuDisable(), resize(), and toggleMenu().


The documentation for this class was generated from the following files: