2#ifndef __CXMULTIFORM_H__
3#define __CXMULTIFORM_H__
77 cxWindow *pExtStatusWindow =
nullptr,
78 bool pAutoExit =
false,
bool pStacked =
false);
113 virtual std::shared_ptr<cxForm>
appendForm(
int pRow,
int pCol,
int pHeight,
114 int pWidth,
const std::string& pTitle =
"",
116 bool pStacked =
false);
137 virtual bool appendForm(std::shared_ptr<cxForm>& pForm,
int pRow,
int pCol,
bool* pMoved =
nullptr);
163 virtual std::shared_ptr<cxForm>
getForm(
unsigned pIndex)
const;
175 virtual std::shared_ptr<cxForm>
getForm(
const std::string& pTitle)
const;
186 virtual long show(
bool pBringToTop =
false,
bool pShowSubwindows =
true)
override;
202 virtual long showModal(
bool pShowSelf =
true,
bool pBringToTop =
false,
203 bool pShowSubwindows =
true)
override;
213 virtual void showAllSubforms(
bool pBringToTop =
true,
bool pSkipCurrentForm =
false)
const;
244 virtual std::string
getValue(
unsigned pFormIndex,
int pInputIndex)
const;
250 virtual std::string
getValue(
int pIndex)
const override;
256 virtual std::string
getValue(
const std::string& pStr,
bool pIsLabel =
true)
const override;
272 virtual std::string
getValue(
unsigned pFormIndex,
const std::string& pLabel,
273 bool pIsLabel =
true)
const;
286 virtual std::string
getValue(
const std::string& pTitle,
int pInputIndex)
const;
301 virtual std::string
getValue(
const std::string& pTitle,
const std::string& pLabel,
302 bool pIsLabel =
true)
const;
315 virtual bool setValue(
unsigned pFormIndex,
int pInputIndex,
const std::string& pValue,
316 bool pRefresh =
false);
331 virtual bool setValue(
unsigned pFormIndex,
const std::string& pLabel,
332 const std::string& pValue,
bool pIsLabel =
true,
333 bool pRefresh =
false);
346 virtual bool setValue(
const std::string& pTitle,
int pInputIndex,
347 const std::string& pValue,
bool pRefresh =
false);
361 virtual bool setValue(
const std::string& pTitle,
const std::string& pLabel,
362 const std::string& pValue,
bool pIsLabel =
true,
363 bool pRefresh =
false);
372 virtual bool setValue(
int pIndex,
const std::string& pValue,
bool pRefresh =
false)
override;
383 virtual bool setValue(
const std::string& pLabel,
const std::string& pValue,
bool pIsLabel =
true,
bool pRefresh =
false)
override;
416 virtual bool move(
int pNewRow,
int pNewCol,
bool pRefresh =
true)
override;
423 virtual void hide(
bool pHideSubwindows =
true)
override;
430 virtual void unhide(
bool pUnhideSubwindows =
true)
override;
455 void *p1,
void *p2,
void *p3,
void *p4,
456 bool pUseReturnVal =
false,
457 bool pExitAfterRun =
false,
458 bool pRunOnLeaveFunction =
true)
override;
482 bool pUseReturnVal =
false,
483 bool pExitAfterRun =
false,
484 bool pRunOnLeaveFunction =
true)
override;
507 bool pUseReturnVal =
false,
508 bool pExitAfterRun =
false,
509 bool pRunOnLeaveFunction =
true)
override;
559 virtual int getSubformIndex(
const std::shared_ptr<cxForm>& pForm)
const;
578 virtual void setChanged(
bool pDataChanged)
override;
634 virtual bool addQuitKey(
int pKey,
bool pRunOnLeaveFunction =
true,
635 bool pOverride =
false)
override;
660 virtual bool addExitKey(
int pKey,
bool pRunOnLeaveFunction =
true,
661 bool pOverride =
false)
override;
685 virtual void clear(
bool pRefresh =
false)
override;
716 virtual void setEnabled(
bool pEnabled)
override;
725 virtual std::string
cxTypeStr()
const override;
762 typedef std::vector<std::shared_ptr<cxForm> > formPtrContainer;
763 formPtrContainer mForms;
764 int mCurrentForm = 0;
765 bool mCycleForm =
true;
773 bool mAssumeMovingBackwards =
true;
777 inline void freeSubforms();
781 long doInputs(
bool& pContinueOn);
792 long doSubforms(
bool pShowSubforms,
bool& pContinueOn,
bool& pClickedInput);
797 bool selectNextForm();
802 bool selectPrevForm();
805 void addFormFunctionKeysToSubform(std::shared_ptr<cxForm>& pForm);
808 void addQuitAndExitKeysToSubform(std::shared_ptr<cxForm>& pForm);
813 inline bool subformIsEnabledAndEditable(
unsigned int pIndex);
Represents a text-based window on the screen. Can contain a title, status, and a message to appear wi...
Definition cxWindow.h:195
#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
std::string(* funcPtr0)()
Definition cxFunction.h:19
std::string(* funcPtr2)(void *p1, void *p2)
Definition cxFunction.h:20
eBorderStyle
Definition cxBorderStyles.h:26
@ eBS_SINGLE_LINE
Definition cxBorderStyles.h:28
@ eBS_NOBORDER
Definition cxBorderStyles.h:27