13#ifndef ___optionsElements___
14#define ___optionsElements___
23const int K_OAH_ELEMENTS_INDENTER_OFFSET = 3;
26const int K_OAH_FIELD_WIDTH = 40;
31typedef SMARTP<oahElement> S_oahElement;
34typedef SMARTP<oahValuedAtom> S_oahValuedAtom;
37typedef SMARTP<oahHandler> S_oahHandler;
42enum oahElementVisibilityKind {
43 kElementVisibilityAlways,
44 kElementVisibilityHiddenByDefault };
46string optionVisibilityKindAsString (
47 oahElementVisibilityKind optionVisibilityKind);
61 oahElementVisibilityKind optionVisibilityKind);
72 oahElementVisibilityKind optionVisibilityKind);
82 void setHandlerUpLink (
84 { fHandlerUpLink = handlerUpLink; }
87 {
return fHandlerUpLink; }
89 string getShortName ()
const
90 {
return fShortName; }
92 string getLongName ()
const
95 string getDescription ()
const
96 {
return fDescription; }
98 oahElementVisibilityKind
99 getElementVisibilityKind ()
const
100 {
return fElementVisibilityKind; }
103 { fIsHidden =
true; }
105 bool getIsHidden ()
const
106 {
return fIsHidden; }
108 void setMultipleOccurrencesAllowed ()
109 { fMultipleOccurrencesAllowed =
true; }
111 bool getMultipleOccurrencesAllowed ()
const
112 {
return fMultipleOccurrencesAllowed; }
119 string fetchNames ()
const;
120 string fetchNamesInColumns (
121 int subGroupsShortNameFieldWidth)
const;
123 string fetchNamesBetweenParentheses ()
const;
124 string fetchNamesInColumnsBetweenParentheses (
125 int subGroupsShortNameFieldWidth)
const;
127 virtual int fetchVariableNameLength ()
const
134 handleOptionUnderName (
153 virtual string asShortNamedOptionString ()
const;
154 virtual string asActualLongNamedOptionString ()
const;
156 string asLongNamedOptionString ()
const
158 if (fLongName.size ()) {
159 return asActualLongNamedOptionString ();
162 return asShortNamedOptionString ();
166 string asString ()
const;
168 virtual void printOptionHeader (ostream& os)
const;
170 virtual void printOptionEssentials (
172 int fieldWidth)
const;
174 virtual void print (ostream& os)
const;
176 virtual void printHelp (ostream& os);
190 oahElementVisibilityKind
191 fElementVisibilityKind;
195 bool fMultipleOccurrencesAllowed;
198EXP ostream& operator<< (ostream& os,
const S_oahElement& elt);
254 virtual void set (
basevisitor* v) { fVisitor = v; }
256 virtual void browse (T& t) {
261 ".\\\" --> browse()" <<
268 t.browseData (fVisitor);
277 virtual void enter (T& t) {
282 ".\\\" --> enter()" <<
287 t.acceptIn (fVisitor);
289 virtual void leave (T& t) {
294 ".\\\" --> leave()" <<
299 t.acceptOut (fVisitor);
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: oahElements.h:245
Definition: oahElements.h:51
the base class for smart pointers implementation
Definition: smartpointer.h:29
Definition: oahElements.h:205