24 #ifndef __CSelectableDialogSwitcher__ 25 #define __CSelectableDialogSwitcher__ 27 #include "ISelectableDialogSwitcher.h" 28 #include "HelperInterface.h" 30 #include "IStringListControlData.h" 47 void SetWidgetID(
WidgetID widgetID) { fWidgetID = widgetID; }
48 WidgetID GetWidgetID()
const {
return fWidgetID; }
50 void SetIndex(int32 index) { fIndex = index; }
51 int32 GetIndex()
const {
return fIndex; }
53 void SetShown(bool16 shown) { fShown = shown; }
54 bool16 GetShown()
const {
return fShown; }
56 void SetAutoVisible(bool16 autoVisible) { fAutoVisible = autoVisible; }
57 bool16 GetAutoVisible()
const {
return fAutoVisible; }
67 inline DialogPanelEntry::DialogPanelEntry() :
68 fWidgetID(kInvalidWidgetID),
75 inline DialogPanelEntry::DialogPanelEntry(
const WidgetID dialogPanelWidgetID, int32 index, bool16 shown, bool16 autoVisible) :
76 fWidgetID(dialogPanelWidgetID),
79 fAutoVisible(autoVisible)
84 fWidgetID(other.fWidgetID),
87 fAutoVisible(other.fAutoVisible)
95 fWidgetID = other.fWidgetID;
96 fIndex = other.fIndex;
97 fShown = other.fShown;
98 fAutoVisible = other.fAutoVisible;
104 inline bool16 DialogPanelEntry::operator==(
const DialogPanelEntry& other)
const 106 return fWidgetID == other.fWidgetID && fIndex == other.fIndex && fAutoVisible == other.fAutoVisible;
141 const WidgetID dialogGroupPanelWidgetID = kDialogGroupPanelWidgetID,
142 const WidgetID dialogSelectionWidgetID = kSelectDialogSelectionWidgetID,
143 const WidgetID dialogTitleTextWidgetID = kSelectDialogTitleTextWidgetID);
194 virtual bool16 SetKeyFocusToSelectionList();
199 virtual void ShowHideDialogPanel(int32 dialogNumber, bool16 showPanel);
202 virtual void SelectionWidgetClear(bool16 invalidate = kTrue, bool16 notifyOfChange = kTrue);
203 virtual PMString SelectionWidgetGetString(int32 index)
const;
204 virtual int32 SelectionWidgetLength()
const;
205 virtual void SelectionWidgetRemoveString(int32 index, bool16 invalidate = kTrue, bool16 notifyOfChange = kTrue);
206 virtual void SelectionWidgetSelect(int32 index, bool16 invalidate = kTrue, bool16 notifyOfChange = kTrue);
208 virtual void InitializePanel();
210 virtual void RebuildIfNecessary();
212 virtual void UpdateTitleTextString(int32 dialogNumber);
214 virtual int32 GetPanelIndexInDialog(
const int32& panelIndex)
const;
215 virtual bool16 GetPanelAutoVisible(
const int32& index)
const;
218 void CustomLoadDialogPanel(
bool skipAddRomanPanel = kFalse);
220 int32 fCurrentDialogPanelIndex;
221 bool16 fSwitchingPanels;
223 bool16 fPanelsLoaded;
228 bool16 fPanelsInitialized;
229 bool16 fAutoResizable;
232 void DumpPanelEntries();