cxWidgets 1.0
Public Member Functions | Static Public Attributes | List of all members
cx::cxDatePicker Class Reference

This is a dialog that displays a calendar, allowing the user to choose a date while viewing a calendar; this dialog also allows the user to navigate through the months and specify different years to view calendars of various months and years. More...

#include <cxDatePicker.h>

Inheritance diagram for cx::cxDatePicker:
Inheritance graph
Collaboration diagram for cx::cxDatePicker:
Collaboration graph

Public Member Functions

 cxDatePicker (cxWindow *pParentWindow=nullptr, int pRow=-1, int pCol=-1, const cxDate &pDate=cxDate::today())
 Constructs a cxDatePicker dialog centred on or near the given position. Creates all child widgets (nav buttons, month combo, year input, OK, Cancel) and initialises the calendar to today's date.
 
 cxDatePicker (int pYear, int pMonth, int pDay, cxWindow *pParentWindow=nullptr, int pRow=-1, int pCol=-1)
 Constructs a cxDatePicker dialog centred on or near the given position. Creates all child widgets (nav buttons, month combo, year input, OK, Cancel) and initialises the calendar to today's date.
 
virtual ~cxDatePicker ()
 
virtual std::string cxTypeStr () const override
 
virtual long showModal (bool pShowSelf=true, bool pBringToTop=true, bool pShowSubwindows=true) override
 Shows the date picker and enters the interactive input loop.
 
virtual void hide (bool pHideSubwindows=true) override
 Hides the date picker and all its child widgets.
 
virtual void unhide (bool pUnhideSubwindows=true) override
 Shows the date picker and its child widgets. Note: the month combo drop-down list stays hidden until the user activates it; only the combo's input field is shown.
 
virtual bool move (int pNewRow, int pNewCol, bool pRefresh=true) override
 Moves the date picker window and repositions all child widgets.
 
virtual void draw () override
 Draws the window border and calendar content.
 
const cxDategetSelectedDate () const noexcept
 Returns the date the user confirmed. Only meaningful after showModal() returned cxID_OK.
 
void setDate (const cxDate &pDate)
 Pre-sets the date shown when the picker opens.
 
- 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 show (bool pBringToTop=false, bool pShowSubwindows=true)
 Shows the window.
 
virtual bool modalGetsKeypress () const
 Returns whether or not a call to showModal() will wait for a.
 
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 erase (bool pEraseSubwindows=true)
 Erases the window.
 
virtual void bringToTop (bool pRefresh=true)
 Brings the window to the top.
 
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.
 
virtual bool isAbove (const cxWindow &pThatWindow) const
 Returns whether the window is above another window.
 
virtual bool isBelow (const cxWindow &pThatWindow) const
 Returns whether a window is below another window.
 
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 width () const
 Returns the width of the window.
 
virtual int height (int pHeight)
 Changes the height of the window.
 
virtual int height () const
 Returns 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 void addAttr (e_WidgetItems pItem, attr_t pAttr)
 Adds an ncurses attribute to use for one of the items in the.
 
virtual void setAttr (e_WidgetItems pItem, attr_t pAttr)
 Sets the ncurses attribute to use for one of the items in the.
 
virtual void removeAttr (e_WidgetItems pItem, attr_t pAttr)
 Removes an ncurses attribute from one of the item lists.
 
virtual void removeAttrs (e_WidgetItems pItem)
 Removes all attributes for a given window item.
 
virtual void getAttrs (e_WidgetItems pItem, std::set< attr_t > &pAttrs) const
 Returns the set of ncurses attributes for a given item.
 
virtual void resize (int pNewHeight, int pNewWidth, bool pRefresh=true)
 Changes the window's width and height. The window's upper-left.
 
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).
 
virtual bool hasFocus () const
 Returns true if window has focus, false otherwise.
 
virtual void setBorderStyle (eBorderStyle pBorderStyle)
 Sets the border style.
 
eBorderStyle getBorderStyle () const
 Returns the border style.
 
bool hasBorder () const
 Does this window have a border?
 
virtual cxWindowgetParent () const
 Returns a pointer to the parent window.
 
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.
 
virtual void setHotkeyHighlighting (bool pHotkeyHighlighting)
 Enables/disables the use of hotkey attributes when writing the message.
 
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 void setEnabled (bool pEnabled)
 Enables or disables the window. If the window is.
 
virtual void setDisableCursorOnShow (bool pDisableCursorOnShow)
 Sets whether the window should disable the cursor.
 
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 void setLastKey (int pLastKey)
 Sets the last keypress.
 
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 runOnFocusFunction (std::string *pFunctionRetval=nullptr)
 Runs the onFocus function, if it's set.
 
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 bool setKeyFunction (int pKey, const std::shared_ptr< cxFunction > &pFunction)
 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 pUseReturnVal=false, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true)
 Sets a function to be called when a key is pressed.
 
virtual bool setKeyFunction (int pKey, funcPtr2 pFunction, void *p1, void *p2, bool pUseReturnVal=false, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true)
 Sets a function to be called when a key is pressed.
 
virtual bool setKeyFunction (int pKey, funcPtr0 pFunction, bool pUseReturnVal=false, bool pExitAfterRun=false, bool pRunOnLeaveFunction=true)
 Sets a function to be called when a key is pressed. This.
 
virtual void clearKeyFunction (int pKey)
 Removes a function pointer for a keypress so that it will no.
 
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 void clearKeyFunctions ()
 Clears the list of external functions fired by hotkeys.
 
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 bool addQuitKey (int pKey, bool pRunOnLeaveFunction=true, bool pOverride=false)
 Adds a key that will cause the window to quit its input loop.
 
virtual void removeQuitKey (int pKey)
 Removes a quit key.
 
virtual void removeQuitKeys ()
 Removes all quit keys.
 
virtual bool addExitKey (int pKey, bool pRunOnLeaveFunction=true, bool pOverride=false)
 Adds a key that will cause the window to quit its input loop.
 
virtual void removeExitKey (int pKey)
 Removes an exit key.
 
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 clear (bool pRefresh=false)
 Clears the text from the window.
 
virtual void quitNow ()
 This is mainly for deriving classes. This causes the object.
 
virtual void exitNow ()
 This is mainly for deriving classes. It tells the object.
 
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 void setColor (e_WidgetItems pItem, e_cxColors pColor)
 Sets the color of one of the window items.
 
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 ()
 

Static Public Attributes

static constexpr int PICKER_WIDTH = 38
 
static constexpr int PICKER_HEIGHT = 20
 
static constexpr int ROW_DATE_HEADER = 1
 
static constexpr int ROW_SEPARATOR = 2
 
static constexpr int ROW_CTRL_TOP = 3
 
static constexpr int ROW_CTRL_MID = 4
 
static constexpr int ROW_CTRL_BOT = 5
 
static constexpr int ROW_DAY_HEADERS = 6
 
static constexpr int ROW_CAL_FIRST = 7
 
static constexpr int ROW_CAL_LAST = 12
 
static constexpr int ROW_BTN_TOP = 14
 
static constexpr int ROW_BTN_MID = 15
 
static constexpr int ROW_BTN_BOT = 16
 
static constexpr int COL_CAL = 2
 
static constexpr int COL_PREV_BTN = 2
 
static constexpr int NAV_BTN_W = 3
 
static constexpr int NAV_BTN_H = 3
 
static constexpr int COL_MONTH_COMBO = 6
 
static constexpr int MONTH_COMBO_W = 13
 
static constexpr int MONTH_COMBO_H = 10
 
static constexpr int COL_NEXT_BTN = 21
 
static constexpr int COL_YEAR_INPUT = 27
 
static constexpr int YEAR_INPUT_W = 6
 
static constexpr int COL_OK_BTN = 20
 
static constexpr int OK_BTN_W = 5
 
static constexpr int COL_CANCEL_BTN = 26
 
static constexpr int CANCEL_BTN_W = 10
 
static constexpr int DAY_CELL_W = 3
 

Additional Inherited Members

- 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 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 enableAttrs (WINDOW *pWin, e_WidgetItems pItem)
 Enables the attributes for one of the m*Attrs sets for an ncurses window.
 
virtual void disableAttrs (WINDOW *pWin, e_WidgetItems pItem)
 Disables the attributes for one of the m*Attrs sets for an ncurses window.
 
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 handleFunctionForLastKey (bool *pFunctionExists=nullptr, bool *pRunOnLeaveFunction=nullptr)
 Looks for a function tied to the last keypress and.
 
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.
 
- 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

This is a dialog that displays a calendar, allowing the user to choose a date while viewing a calendar; this dialog also allows the user to navigate through the months and specify different years to view calendars of various months and years.

Constructor & Destructor Documentation

◆ cxDatePicker() [1/2]

cx::cxDatePicker::cxDatePicker ( cxWindow pParentWindow = nullptr,
int  pRow = -1,
int  pCol = -1,
const cxDate pDate = cxDate::today() 
)
explicit

Constructs a cxDatePicker dialog centred on or near the given position. Creates all child widgets (nav buttons, month combo, year input, OK, Cancel) and initialises the calendar to today's date.

Parameters
pParentWindowParent window (nullptr = top-level)
pRowTop row (-1 = center vertically)
pColLeft column (-1 = center horizontally)
pDateThe date to show on the picker. Defaults to the current date.

◆ cxDatePicker() [2/2]

cx::cxDatePicker::cxDatePicker ( int  pYear,
int  pMonth,
int  pDay,
cxWindow pParentWindow = nullptr,
int  pRow = -1,
int  pCol = -1 
)
explicit

Constructs a cxDatePicker dialog centred on or near the given position. Creates all child widgets (nav buttons, month combo, year input, OK, Cancel) and initialises the calendar to today's date.

Parameters
pYearThe year to use for the date
pMonthThe month to use for the date
pDayThe day of the month to use for the date
pParentWindowParent window (nullptr = top-level)
pRowTop row (-1 = center vertically)
pColLeft column (-1 = center horizontally)

References cx::cxDate::getDay(), cx::cxDate::setDate(), and cx::cxDate::today().

◆ ~cxDatePicker()

cx::cxDatePicker::~cxDatePicker ( )
virtual

Member Function Documentation

◆ cxTypeStr()

string cx::cxDatePicker::cxTypeStr ( ) const
overridevirtual
Returns
The type name string "cxDatePicker".

Reimplemented from cx::cxWindow.

◆ draw()

void cx::cxDatePicker::draw ( )
overridevirtual

Draws the window border and calendar content.

Reimplemented from cx::cxWindow.

References cx::cxWindow::draw(), cx::cxWindow::mMessageColorPair, and cx::cxWindow::mWindow.

◆ getSelectedDate()

const cxDate & cx::cxDatePicker::getSelectedDate ( ) const
inlinenoexcept

Returns the date the user confirmed. Only meaningful after showModal() returned cxID_OK.

Returns
A const reference to the selected cxDate.

Referenced by cxDatePickerTest().

◆ hide()

void cx::cxDatePicker::hide ( bool  pHideSubwindows = true)
overridevirtual

Hides the date picker and all its child widgets.

Parameters
pHideSubwindowsIf true, hide all child widgets as well.

Reimplemented from cx::cxWindow.

References cx::cxWindow::hide().

Referenced by showModal().

◆ move()

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

Moves the date picker window and repositions all child widgets.

Parameters
pNewRowNew top row for the window.
pNewColNew left column for the window.
pRefreshIf true, redraw immediately after moving.
Returns
true on success, false if the move could not be performed.

Reimplemented from cx::cxWindow.

References cx::cxWindow::left(), cx::cxWindow::move(), and cx::cxWindow::top().

◆ setDate()

void cx::cxDatePicker::setDate ( const cxDate pDate)

Pre-sets the date shown when the picker opens.

Parameters
pDateThe date to display and select initially.

References cx::cxDate::getDay(), cx::cxDate::getMonth(), and cx::cxDate::monthName().

◆ showModal()

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

Shows the date picker and enters the interactive input loop.

Parameters
pShowSelfIf true, make the picker window itself visible.
pBringToTopIf true, raise the window to the top of the Z-order.
pShowSubwindowsIf true, show all child widgets as well.
Returns
cxID_OK if the user confirmed a date, cxID_CANCEL otherwise.

Reimplemented from cx::cxWindow.

References cx::cxID_CANCEL, cx::cxID_EXIT, cx::cxWindow::getLeaveNow(), cx::cxDate::getMonth(), cx::cxDate::getYear(), hide(), cx::cxWindow::isEnabled(), cx::cxWindow::mIsModal, cx::cxWindow::mLeaveNow, cx::cxDate::monthName(), cx::cxWindow::runOnFocusFunction(), cx::cxWindow::runOnLeaveFunction(), and cx::cxWindow::show().

Referenced by cxDatePickerTest().

◆ unhide()

void cx::cxDatePicker::unhide ( bool  pUnhideSubwindows = true)
overridevirtual

Shows the date picker and its child widgets. Note: the month combo drop-down list stays hidden until the user activates it; only the combo's input field is shown.

Parameters
pUnhideSubwindowsIf true, unhide all child widgets as well.

Reimplemented from cx::cxWindow.

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

Member Data Documentation

◆ CANCEL_BTN_W

constexpr int cx::cxDatePicker::CANCEL_BTN_W = 10
staticconstexpr

◆ COL_CAL

constexpr int cx::cxDatePicker::COL_CAL = 2
staticconstexpr

◆ COL_CANCEL_BTN

constexpr int cx::cxDatePicker::COL_CANCEL_BTN = 26
staticconstexpr

◆ COL_MONTH_COMBO

constexpr int cx::cxDatePicker::COL_MONTH_COMBO = 6
staticconstexpr

◆ COL_NEXT_BTN

constexpr int cx::cxDatePicker::COL_NEXT_BTN = 21
staticconstexpr

◆ COL_OK_BTN

constexpr int cx::cxDatePicker::COL_OK_BTN = 20
staticconstexpr

◆ COL_PREV_BTN

constexpr int cx::cxDatePicker::COL_PREV_BTN = 2
staticconstexpr

◆ COL_YEAR_INPUT

constexpr int cx::cxDatePicker::COL_YEAR_INPUT = 27
staticconstexpr

◆ DAY_CELL_W

constexpr int cx::cxDatePicker::DAY_CELL_W = 3
staticconstexpr

◆ MONTH_COMBO_H

constexpr int cx::cxDatePicker::MONTH_COMBO_H = 10
staticconstexpr

◆ MONTH_COMBO_W

constexpr int cx::cxDatePicker::MONTH_COMBO_W = 13
staticconstexpr

◆ NAV_BTN_H

constexpr int cx::cxDatePicker::NAV_BTN_H = 3
staticconstexpr

◆ NAV_BTN_W

constexpr int cx::cxDatePicker::NAV_BTN_W = 3
staticconstexpr

◆ OK_BTN_W

constexpr int cx::cxDatePicker::OK_BTN_W = 5
staticconstexpr

◆ PICKER_HEIGHT

constexpr int cx::cxDatePicker::PICKER_HEIGHT = 20
staticconstexpr

◆ PICKER_WIDTH

constexpr int cx::cxDatePicker::PICKER_WIDTH = 38
staticconstexpr

◆ ROW_BTN_BOT

constexpr int cx::cxDatePicker::ROW_BTN_BOT = 16
staticconstexpr

◆ ROW_BTN_MID

constexpr int cx::cxDatePicker::ROW_BTN_MID = 15
staticconstexpr

◆ ROW_BTN_TOP

constexpr int cx::cxDatePicker::ROW_BTN_TOP = 14
staticconstexpr

◆ ROW_CAL_FIRST

constexpr int cx::cxDatePicker::ROW_CAL_FIRST = 7
staticconstexpr

◆ ROW_CAL_LAST

constexpr int cx::cxDatePicker::ROW_CAL_LAST = 12
staticconstexpr

◆ ROW_CTRL_BOT

constexpr int cx::cxDatePicker::ROW_CTRL_BOT = 5
staticconstexpr

◆ ROW_CTRL_MID

constexpr int cx::cxDatePicker::ROW_CTRL_MID = 4
staticconstexpr

◆ ROW_CTRL_TOP

constexpr int cx::cxDatePicker::ROW_CTRL_TOP = 3
staticconstexpr

◆ ROW_DATE_HEADER

constexpr int cx::cxDatePicker::ROW_DATE_HEADER = 1
staticconstexpr

◆ ROW_DAY_HEADERS

constexpr int cx::cxDatePicker::ROW_DAY_HEADERS = 6
staticconstexpr

◆ ROW_SEPARATOR

constexpr int cx::cxDatePicker::ROW_SEPARATOR = 2
staticconstexpr

◆ YEAR_INPUT_W

constexpr int cx::cxDatePicker::YEAR_INPUT_W = 6
staticconstexpr

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