26#define DEFAULT_CXFORM_JUMPMENU_KEY KEY_F(4)
39typedef std::pair<std::shared_ptr<cxMultiLineInput>, std::shared_ptr<cxMultiLineInput> >
cxMLInputPtrPair;
40typedef std::pair<std::shared_ptr<cxComboBox>, std::shared_ptr<cxComboBox> >
cxComboBoxPtrPair;
110 cxWindow *pExtTitleWindow =
nullptr,
111 cxWindow *pExtStatusWindow =
nullptr,
112 bool pAutoExit =
false,
bool pStacked =
false);
162 virtual std::shared_ptr<cxMultiLineInput>
append(
int pRow,
int pCol,
int pHeight,
163 int pWidth,
const std::string& pLabel,
164 const std::string& pValidator =
"",
165 const std::string& pHelpString =
"",
167 const std::string& pName =
"",
168 std::string *pExtValue =
nullptr,
169 int pRightLabelOffset = 0,
170 int pRightLabelHeight = 1,
171 int pRightLabelWidth = 7,
172 bool pShowRightLabel =
false,
205 virtual std::shared_ptr<cxComboBox>
appendComboBox(
int pRow,
int pCol,
int pHeight,
206 int pWidth,
const std::string& pLabel,
207 const std::string& pValidator =
"",
208 const std::string& pHelpString =
"",
210 const std::string& pName =
"",
211 std::string *pExtValue =
nullptr,
212 int pRightLabelOffset = 0,
213 int pRightLabelHeight = 1,
214 int pRightLabelWidth = 7,
215 bool pShowRightLabel =
false);
281 const std::string& pLabel,
282 const std::string& pValidator =
"",
283 const std::string& pHelpString =
"",
285 const std::string& pName =
"",
286 std::string *pExtValue1 =
nullptr,
287 std::string *pExtValue2 =
nullptr,
288 int pRightLabel1Offset = 0,
289 int pRightLabel1Height = 1,
290 int pRightLabel1Width = 7,
291 bool pShowRightLabel1 =
false,
292 int pRightLabel2Offset = 0,
293 int pRightLabel2Height = 1,
294 int pRightLabel2Width = 7,
295 bool pShowRightLabel2 =
false,
359 const std::string& pLabel,
360 const std::string& pValidator =
"",
361 const std::string& pHelpString =
"",
363 const std::string& pName =
"",
364 std::string *pExtValue1 =
nullptr,
365 std::string *pExtValue2 =
nullptr,
366 int pRightLabel1Offset = 0,
367 int pRightLabel1Height = 1,
368 int pRightLabel1Width = 7,
369 bool pShowRightLabel1 =
false,
370 int pRightLabel2Offset = 0,
371 int pRightLabel2Height = 1,
372 int pRightLabel2Width = 7,
373 bool pShowRightLabel2 =
false);
390 virtual void appendPair(std::shared_ptr<cxMultiLineInput>& pInput1,
391 std::shared_ptr<cxMultiLineInput>& pInput2,
392 int pRow,
int pCol,
const std::string& pName =
"");
429 virtual std::shared_ptr<cxMultiLineInput>
append(
int pHeight,
int pWidth,
const std::string& pLabel,
430 const std::string& pValidator =
"",
431 const std::string& pHelpString =
"",
433 const std::string& pName =
"",
434 std::string *pExtValue =
nullptr,
435 int pRightLabelOffset = 0,
436 int pRightLabelHeight = 1,
437 int pRightLabelWidth = 7,
438 bool pShowRightLabel =
false,
470 virtual std::shared_ptr<cxComboBox>
appendComboBox(
int pHeight,
int pWidth,
const std::string& pLabel,
471 const std::string& pValidator =
"",
472 const std::string& pHelpString =
"",
474 const std::string& pName =
"",
475 std::string *pExtValue =
nullptr,
476 int pRightLabelOffset = 0,
477 int pRightLabelHeight = 1,
478 int pRightLabelWidth = 7,
479 bool pShowRightLabel =
false);
507 virtual void append(std::shared_ptr<cxMultiLineInput>& pInput,
int pRow,
int pCol,
bool* pMoved =
nullptr);
513 virtual void remove(
unsigned int pIndex);
521 virtual void remove(
const std::string& pLabel,
bool pIsLabel =
true);
527 virtual void remove(
const std::shared_ptr<cxMultiLineInput>& pInput);
547 const std::shared_ptr<cxFunction>& pFieldFunction,
548 bool pIsLabel =
true);
568 funcPtr4 pFieldFunction,
void *p1,
void *p2,
569 void *p3,
void *p4,
bool pUseVal,
570 bool pExitAfterRun =
false,
571 bool pIsLabel =
true);
589 funcPtr4 pFieldFunction,
void *p1,
void *p2,
590 void *p3,
void *p4,
bool pUseVal,
591 bool pExitAfterRun =
false);
607 funcPtr2 pFieldFunction,
void *p1,
void *p2,
608 bool pUseVal,
bool pExitAfterRun =
false,
609 bool pIsLabel =
true);
619 const std::shared_ptr<cxFunction>& pFieldFunction);
634 funcPtr2 pFieldFunction,
void *p1,
void *p2,
635 bool pUseVal,
bool pExitAfterRun =
false);
654 const std::shared_ptr<cxFunction>& pFunction,
655 bool pIsLabel =
true);
681 void *p1,
void *p2,
void *p3,
void *p4,
bool pUseVal,
682 bool pIsLabel =
true);
696 void *p1,
void *p2,
void *p3,
void *p4,
bool pUseVal);
713 virtual void setOnLeaveFunction(
const std::string& pLabel,
const std::shared_ptr<cxFunction>& pFunction,
714 bool pIsLabel =
true);
741 void *p1,
void *p2,
void *p3,
void *p4,
742 bool pIsLabel =
true);
755 void *p1,
void *p2,
void *p3,
void *p4);
769 virtual void setFieldLabel(
const std::string& pName,
const std::string& pLabel);
783 virtual void setFieldName(
const std::string& pLabel,
const std::string& pName);
798 virtual void enableInputLoop(
const std::string& pLabel,
bool pDoInputLoop,
bool pIsLabel =
true);
866 virtual long show(
bool pBringToTop =
false,
bool pShowSubwindows =
true)
override;
878 virtual long showModal(
bool pShowSelf =
true,
bool pBringToTop =
false,
879 bool pShowSubwindows =
true)
override;
899 virtual void hide(
bool pHideSubwindows =
true)
override;
906 virtual void unhide(
bool pUnhideSubwindows =
true)
override;
916 virtual bool move(
int pNewRow,
int pNewCol,
bool pRefresh =
true)
override;
929 virtual std::string
getValue(
int pIndex)
const;
937 virtual std::string
getValue(
const std::string& pStr,
bool pIsLabel =
true)
const;
946 virtual std::string
getLabel(
int pIndex)
const;
955 virtual std::string
getName(
int pIndex)
const;
964 virtual std::string
getName(
const std::string& pLabel)
const;
974 virtual std::string
getStatus(
int pIndex)
const;
986 virtual std::string
getStatus(
const std::string& pLabel,
bool pIsLabel =
true)
const;
995 virtual bool setValue(
int pIndex,
const std::string& pValue,
bool pRefresh =
false);
1006 virtual bool setValue(
const std::string& pLabel,
const std::string& pValue,
1007 bool pIsLabel =
true,
bool pRefresh =
false);
1041 bool setMaskChar(
const std::string& pLabel,
char pMaskChar,
bool pIsLabel =
true);
1058 bool getMasked(
const std::string& pLabel,
bool pIsLabel =
true);
1077 virtual bool toggleMasking(
const std::string& pLabel,
bool pMasking,
bool pIsLabel =
true);
1122 virtual bool setKeyFunction(
int pKey,
const std::shared_ptr<cxFunction>& pFunction)
override;
1154 void *p1,
void *p2,
void *p3,
void *p4,
1155 bool pUseReturnVal =
false,
1156 bool pExitAfterRun =
false,
1157 bool pRunOnLeaveFunction =
true)
override;
1181 bool pUseReturnVal =
false,
1182 bool pExitAfterRun =
false,
1183 bool pRunOnLeaveFunction =
true)
override;
1204 bool pUseReturnVal =
false,
1205 bool pExitAfterRun =
false,
1206 bool pRunOnLeaveFunction =
true)
override;
1218 virtual bool setKeyFunction(
int pIndex,
int pKey,
const std::shared_ptr<cxFunction>& pFunction);
1232 virtual bool setKeyFunction(
const std::string& pLabel,
int pKey,
const std::shared_ptr<cxFunction>& pFunction,
bool pIsLabel =
true);
1261 funcPtr4 pFunction,
void *p1,
void *p2,
1262 void *p3,
void *p4,
bool pUseVal,
1263 bool pExitAfterRun,
bool pRunOnLeaveFunction,
1264 bool pRunValidator);
1293 funcPtr4 pFunction,
void *p1,
void *p2,
1294 void *p3,
void *p4,
bool pUseVal,
1295 bool pExitAfterRun,
bool pRunOnLeaveFunction,
1296 bool pRunValidator,
bool pIsLabel =
true);
1323 void *p1,
void *p2,
bool pUseVal,
1324 bool pExitAfterRun,
bool pRunOnLeaveFunction,
1325 bool pRunValidator);
1352 funcPtr2 pFunction,
void *p1,
void *p2,
1353 bool pUseVal,
bool pExitAfterRun,
1354 bool pRunOnLeaveFunction,
bool pRunValidator,
1355 bool pIsLabel =
true);
1380 bool pUseVal,
bool pExitAfterRun,
1381 bool pRunOnLeaveFunction,
bool pRunValidator);
1407 bool pExitAfterRun,
bool pRunOnLeaveFunction,
1408 bool pRunValidator,
bool pIsLabel =
true);
1542 int inputTopRow(
const std::string& pLabel,
bool pIslabel =
true)
const;
1586 int inputHeight(
const std::string& pLabel,
bool pIsLabel =
true)
const;
1608 int inputWidth(
const std::string& pLabel,
bool pIsLabel =
true)
const;
1632 int maxInputLen(
const std::string& pLabel,
bool pIsLabel =
true)
const;
1662 std::string
inputName(
int pIndex)
const;
1682 virtual void scrollInputs(
int pVScrollAmt,
int pHScrollAmt,
bool pRefresh =
false,
bool pBringToTop =
false);
1691 virtual void toggleCursor(
int pIndex,
bool pShowCursor);
1703 virtual void toggleCursor(
const std::string& pLabel,
bool pShowCursor,
bool pIsLabel =
true);
1725 std::shared_ptr<cxMultiLineInput>
getInput(
int pIndex)
const;
1742 std::shared_ptr<cxMultiLineInput>
getInput(
const std::string& pLabel,
bool pIsLabel =
true)
const;
1799 bool pIsLabel =
true,
bool pRefresh =
true);
1817 virtual void setStatus(
const std::string& pStatus,
bool pRefreshStatus =
true)
override;
1849 void *p3,
void *p4);
1860 bool pIsLabel =
true);
1875 void *p1,
void *p2,
void *p3,
void *p4,
1876 bool pIsLabel =
true);
1905 void *p2,
void *p3,
void *p4);
1917 virtual void setOnKeyFunction(
const std::string& pLabel,
const std::shared_ptr<cxFunction>& pFunction,
1918 bool pIsLabel =
true);
1936 void *p2,
void *p3,
void *p4,
bool pIsLabel =
true);
1962 void *p2,
bool pIsLabel =
true);
2183 virtual int getInputIndex(
const std::string& pLabel,
bool pIsLabel =
true)
const;
2194 virtual int getInputIndex(
const std::shared_ptr<cxMultiLineInput>& pInput)
const;
2236 virtual void setCanBeEditable(
const std::string& pLabel,
bool pCanBeEditable,
bool pIsLabel =
true);
2264 virtual bool canBeEditable(
const std::string& pLabel,
bool pIsLabel =
true)
const;
2319 virtual bool addQuitKey(
int pKey,
bool pRunOnLeaveFunction =
true,
2320 bool pOverride =
false)
override;
2345 virtual bool addExitKey(
int pKey,
bool pRunOnLeaveFunction =
true,
2346 bool pOverride =
false)
override;
2373 void *p3,
void *p4,
bool pUseVal =
false,
2374 bool pExitAfterRun =
false)
override;
2392 bool pUseVal =
false,
bool pExitAfterRun =
false)
override;
2408 bool pExitAfterRun =
false)
override;
2440 void *p3,
void *p4)
override;
2472 virtual void showAllInputs(
bool pBringToTop =
true,
bool pSkipCurrentInput =
false)
const;
2542 virtual void bringToTop(
bool pRefresh =
true)
override;
2623 virtual int maxValueLen(
const std::string& pLabel,
bool pIsLabel =
true);
2645 virtual bool isEditable(
const std::string& pLabel,
bool pIsLabel =
true)
const;
2683 bool pOnlyEditable =
false);
2697 virtual void getValues(std::map<std::string, std::string>& pValues,
2698 bool pUseLabels =
true,
2699 bool pSkipBlankIDs =
false)
const;
2716 virtual void setValues(
const std::map<std::string, std::string>& pValues,
2717 bool pUseLabels =
true,
bool pRefresh =
false,
2718 bool pDisableValidatorFunctions =
false);
2727 virtual void setEnabled(
bool pEnabled)
override;
2751 virtual bool hasInput(
const std::string& pStr,
bool pIsLabel =
true)
const;
2850 virtual void getNavKeys(std::set<int>& pNavKeys)
const;
2859 virtual void getNavKeyStrings(std::set<std::string>& pNavKeyStrings)
const;
2876 virtual std::string
cxTypeStr()
const override;
2883 virtual void setLastKey(
int pLastKey)
override;
2889 virtual void quitNow()
override;
2895 virtual void exitNow()
override;
2978 virtual std::string
getExtendedHelp(
const std::string& pIDStr,
bool pIsLabel =
true)
const;
2997 bool pIsLabel =
true);
3052 virtual bool swap(
int pInput1Index,
int pInput2Index);
3064 virtual bool swap(std::shared_ptr<cxWindow>& pInput1, std::shared_ptr<cxWindow>& pInput2);
3155 bool& pRunOnLeaveFunction,
3156 bool& pFunctionExists,
3157 bool pExitOverride =
false);
3176 unsigned int mTotalInputHeight = 0;
3181 bool mApplyAttrDefaults =
true;
3185 bool mCustomStatus =
false;
3188 bool mEditableInputsExist =
false;
3193 bool mInputsOnBorder;
3196 bool mAllowQuit =
true;
3197 bool mAllowExit =
true;
3198 bool mExitOnLeaveFirst =
false;
3200 bool mWaitForInputIfEmpty =
true;
3202 bool mDataChanged =
false;
3205 std::shared_ptr<cxFunction> mLoopStartFunction;
3206 std::shared_ptr<cxFunction> mLoopEndFunction;
3215 bool mCycleInput =
true;
3220 bool mUseInputStatus =
true;
3229 bool mHasBeenShown =
false;
3234 std::set<int> mExtendedHelpKeys;
3235 bool mUseExtendedHelpKeys =
true;
3244 bool mAllValidateOnJumpKey =
true;
3254 std::vector<bool> mInputShowBools;
3261 std::vector<int> mInputJumpIndexes;
3268 inline void useInputStatusAsFormStatus(
bool refreshStatus =
false);
3272 bool selectNextInput();
3276 bool selectPrevInput();
3281 inline int greatestLeftSide()
const;
3284 inline int lowestLeftSide()
const;
3287 inline int greatestTopSide()
const;
3290 inline int lowestTopSide()
const;
3294 inline int inputNextLowestTop(
int topSide);
3298 inline int inputNextLowestLeft(
int leftSide);
3305 inline void clearInputIfSpace();
3308 inline void freeInputs();
3311 static std::string changeFocus(
void *theForm,
void *theIndex);
3318 void addJumpKeys(
const std::string& pItemText,
int pIndex);
3322 void showJumpMenu();
3325 int highestEditableInput()
const;
3332 void applyAttrDefaults(std::shared_ptr<cxMultiLineInput>& pInput);
3339 void applyWinAttributes(std::shared_ptr<cxMultiLineInput>& pInput);
cxPanel is a window that contains other windows. When showModal()
Definition cxPanel.h:46
Represents a text-based window on the screen. Can contain a title, status, and a message to appear wi...
Definition cxWindow.h:195
std::string getName() const
Definition cxWindow.cpp:3793
std::string getStatus() const
Accessor for the status line text.
Definition cxWindow.cpp:976
#define DEFAULT_HEIGHT
Definition cxWindow.h:68
#define DEFAULT_WIDTH
Definition cxWindow.h:69
cxBorderChars.h - Defines border characters to be used in drawing a box (i.e., in cxWindow and all it...
Definition cxApp.cpp:5
std::string(* funcPtr4)(void *p1, void *p2, void *p3, void *p4)
Definition cxFunction.h:21
eInputType
Definition cxForm.h:31
@ eIT_CXCOMBOBOX
Definition cxForm.h:33
@ eIT_CXMULTILINEINPUT
Definition cxForm.h:32
e_WidgetItems
Definition cxWidgetItems.h:42
std::string(* funcPtr0)()
Definition cxFunction.h:19
std::pair< std::shared_ptr< cxMultiLineInput >, std::shared_ptr< cxMultiLineInput > > cxMLInputPtrPair
Definition cxForm.h:39
std::string(* funcPtr2)(void *p1, void *p2)
Definition cxFunction.h:20
eInputOptions
Definition cxInputOptions.h:20
@ eINPUT_EDITABLE
Definition cxInputOptions.h:21
eBorderStyle
Definition cxBorderStyles.h:26
@ eBS_SINGLE_LINE
Definition cxBorderStyles.h:28
std::pair< std::shared_ptr< cxComboBox >, std::shared_ptr< cxComboBox > > cxComboBoxPtrPair
Definition cxForm.h:40
e_cxColors
Definition cxColors.h:46