DCL 3.7.4
Loading...
Searching...
No Matches
HtmlMenuItem Class Reference

Public Member Functions

 HtmlMenuItem ()
 ~HtmlMenuItem ()
void assign (TextTemplate *pDest, const Session &session, TextTemplate *ABEGIN, TextTemplate *AEND, TextTemplate *BEGIN, TextTemplate *END, TextTemplate *LINK, TextTemplate *ACTIVE, TextTemplate *CAPTION, TextTemplate *SEPARATOR)
void setActive ()

Protected Attributes

HtmlMenuItem__pParent
PointerList __children
String __strTitle
String __strLink
int __nRoleID
bool __bActive
friend HtmlMenu

Detailed Description

Definition at line 23 of file Menu.cpp.

Constructor & Destructor Documentation

◆ HtmlMenuItem()

HtmlMenuItem::HtmlMenuItem ( )

Definition at line 157 of file Menu.cpp.

158{
159 __pParent = NULL;
160 __nRoleID = 10;
161 __bActive = false;
162}
#define NULL
Definition Config.h:312
HtmlMenuItem * __pParent
Definition Menu.cpp:26
bool __bActive
Definition Menu.cpp:31
int __nRoleID
Definition Menu.cpp:30

◆ ~HtmlMenuItem()

HtmlMenuItem::~HtmlMenuItem ( )

Definition at line 164 of file Menu.cpp.

165{
166 PointerList::Iterator itList = __children.begin();
167 for( ; itList != __children.end(); itList++)
168 delete (HtmlMenuItem*)(*itList);
169}
PointerList __children
Definition Menu.cpp:27

Member Function Documentation

◆ assign()

void HtmlMenuItem::assign ( TextTemplate * pDest,
const Session & session,
TextTemplate * ABEGIN,
TextTemplate * AEND,
TextTemplate * BEGIN,
TextTemplate * END,
TextTemplate * LINK,
TextTemplate * ACTIVE,
TextTemplate * CAPTION,
TextTemplate * SEPARATOR )

Definition at line 171 of file Menu.cpp.

183{
184 if (session.__nRoleID <= __nRoleID) {
185 if (__bActive) {
186 ACTIVE->assign(L"TITLE", __strTitle);
187 pDest->append(L"MENUITEM", *ACTIVE);
188 }
189 else {
190 if (__strTitle.isEmpty() && __strLink.isEmpty()) {
191 pDest->append(L"MENUITEM", *SEPARATOR);
192 }
193 else if (__strLink.isEmpty()) {
194 CAPTION->assign(L"TITLE", __strTitle);
195 pDest->append(L"MENUITEM", *CAPTION);
196 }
197 else {
198 LINK->assign(L"TITLE", __strTitle);
199 LINK->assign(L"LINK", __strLink);
200 pDest->append(L"MENUITEM", *LINK);
201 }
202 }
203
204 PointerList::Iterator itList = __children.begin();
205 if (itList != __children.end()) {
206 if (__bActive)
207 pDest->append(L"MENUITEM", *ABEGIN);
208 else
209 pDest->append(L"MENUITEM", *BEGIN);
210
211 for( ; itList != __children.end(); itList++)
212 ((HtmlMenuItem*)(*itList))->assign(pDest, session, ABEGIN, AEND, BEGIN, END, LINK, ACTIVE, CAPTION, SEPARATOR);
213
214 if (__bActive)
215 pDest->append(L"MENUITEM", *AEND);
216 else
217 pDest->append(L"MENUITEM", *END);
218 }
219 }
220}
String __strLink
Definition Menu.cpp:29
String __strTitle
Definition Menu.cpp:28
int __nRoleID
Definition Session.h:35

◆ setActive()

void HtmlMenuItem::setActive ( )

Definition at line 222 of file Menu.cpp.

223{
224 __bActive = true;
225
226 if (__pParent)
227 __pParent->setActive();
228}

Member Data Documentation

◆ __bActive

bool HtmlMenuItem::__bActive
protected

Definition at line 31 of file Menu.cpp.

◆ __children

PointerList HtmlMenuItem::__children
protected

Definition at line 27 of file Menu.cpp.

◆ __nRoleID

int HtmlMenuItem::__nRoleID
protected

Definition at line 30 of file Menu.cpp.

◆ __pParent

HtmlMenuItem* HtmlMenuItem::__pParent
protected

Definition at line 26 of file Menu.cpp.

◆ __strLink

String HtmlMenuItem::__strLink
protected

Definition at line 29 of file Menu.cpp.

◆ __strTitle

String HtmlMenuItem::__strTitle
protected

Definition at line 28 of file Menu.cpp.

◆ HtmlMenu

friend HtmlMenuItem::HtmlMenu
protected

Definition at line 33 of file Menu.cpp.


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