00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105 #ifndef INC_DLGMGR
00106 #define INC_DLGMGR
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117 #include "stack.h"
00118
00119
00120 class Node;
00121 class DialogOp;
00122 class DialogTabOp;
00123 class DialogColourInfo;
00124 class CustomComboBoxControlDataItem;
00125 class DialogEventHandler;
00126
00127 #define WM_CTL_COMMIT WM_USER + 211 // Message sent by subclassed edit/combo boxed when enter or
00128
00129
00130 #define WM_CTL_SETFOCUS WM_USER + 212 // Message sent by subclassed edit/combo boxed to parent tool bar
00131
00132
00133
00134
00135
00137
00139
00140
00141
00142
00143 #if WIN16
00144
00145
00146 #pragma pack(1)
00147
00148 typedef struct
00149 {
00150 DWORD style;
00151 BYTE cdit;
00152 WORD x;
00153 WORD y;
00154 WORD cx;
00155 WORD cy;
00156 } DLGTEMPLATE;
00157
00158 typedef struct
00159 {
00160 WORD x;
00161 WORD y;
00162 WORD cx;
00163 WORD cy;
00164 WORD id;
00165 DWORD style;
00166 } DLGITEMTEMPLATE;
00167
00168
00169 #pragma pack()
00170
00171 #endif
00172
00173 WX_DECLARE_STRING_HASH_MAP( String_256, IdToSerializedPaneInfo );
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190 class DialogPosition: public ListItem
00191 {
00192 public:
00193 CDlgResID DlgResourceID;
00194 List DlgWinList;
00195 INT32 LastX;
00196 INT32 LastY;
00197 CDlgResID ActivePage;
00198 INT32 ActivePageIndex;
00199 };
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213 class ActiveDlgStateItem: public ListItem
00214 {
00215 public:
00216 wxWindow *pActiveWindow;
00217 BOOL fIsAModalDialog;
00218 };
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238 class ActiveDlgStateStack: public Stack
00239 {
00240
00241 };
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256 class CGadgetImageList : public CCObject
00257 {
00258 CC_DECLARE_DYNAMIC(CGadgetImageList);
00259
00260 class ResIDListItem : public ListItem
00261 {
00262 public:
00263 ResIDListItem(ResourceID newresID = 0) {m_ResID = newresID;}
00264 ResourceID m_ResID;
00265 };
00266
00267 public:
00268 CGadgetImageList(UINT32 width=0, UINT32 height=0) {m_width = width; m_height = height;}
00269 ~CGadgetImageList();
00270
00271 UINT32 Add(CDlgResID resID);
00272 ListItem* FindFirstBitmap(ResourceID* presID) const;
00273 ListItem* FindNextBitmap(ListItem* pListItem, ResourceID* presID) const;
00274 UINT32 GetWidth() const {return m_width;}
00275 UINT32 GetHeight() const {return m_height;}
00276
00277 private:
00278 List m_BitmapIDList;
00279 UINT32 m_width;
00280 UINT32 m_height;
00281 };
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296 class CamelotTreeItemData : public wxTreeItemData
00297 {
00298 public:
00299 CamelotTreeItemData(CCObject* pObj = NULL) {m_pObject = pObj;}
00300
00301 CCObject* GetObject() {return m_pObject;}
00302
00303 private:
00304 CCObject* m_pObject;
00305 };
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326 class wxPropertySheetDialog;
00327
00328 class DialogBarOp;
00329
00330 class DialogManager: public CCObject
00331 {
00332 friend class DialogEventHandler;
00333 friend class wxPropertySheetDialog;
00334
00335 public:
00336
00337 DialogManager();
00338
00339
00340 static BOOL Create(DialogOp* DlgOp, CDlgResID MainDlgID,
00341 CDlgResID SubDlgID,
00342 CDlgMode Mode = MODELESS, INT32 OpeningPage = -1, CWindowID ParentWnd = NULL);
00343 private:
00344
00345 static void CreateRecursor(wxWindow * pwxWindow);
00346
00347
00348 static BOOL CreateBar(DialogBarOp* DlgOp);
00349 static BOOL CreateTabbedDialog(DialogTabOp* pTabDlgOp, CDlgMode Mode, INT32 OpeningPage, CDlgResID MainDlgID );
00350
00351
00352
00353 static BOOL PostCreate(DialogOp * pDialogOp, INT32 OpeningPage);
00354
00355 public:
00356
00357
00358
00359 CWindowID Create(DialogOp* DialogOp);
00360
00361
00362 static void Open(CWindowID WindowID, DialogOp* DlgOp);
00363
00364
00365
00366 static void Close(CWindowID WindowID, DialogOp* DlgOp);
00367
00368
00369 static BOOL MergeDialogs( CWindowID Dialog, CWindowID Mergee, bool fAbove );
00370
00371
00372 static BOOL BringToTop(CWindowID WindowID, DialogOp* pDlgOp);
00373
00374
00375 static wxBookCtrlBase * GetBookControl(CWindowID WindowID, CGadgetID Gadget =0 );
00376
00377
00378 static BOOL IsGadgetTickable(CWindowID WindowID,
00379 CGadgetID Gadget);
00380
00381
00382
00383 static BOOL ColourPickerAbort(CWindowID WindowID, CGadgetID Gadget, WPARAM wParam = 0);
00384
00385
00386
00387 static void Delete(CWindowID WindowID, DialogOp* DlgOp);
00388
00389
00390
00391
00392 static void ProcessMouseEvent(CDlgMessage DialogMessageType,
00393 wxWindow *pDlg, UINT32 wParam, INT32 lParam);
00394
00395
00396
00397
00398
00399
00400 static wxWindow * GetGadget(CWindowID WindowID, CGadgetID Gadget);
00401
00402 static OpDescriptor * GetGadgetOpDescriptor(CWindowID WindowID, CGadgetID Gadget);
00403
00404
00405
00406
00407 static BOOL SetUnitGadgetValue( CWindowID WindowID,
00408 CGadgetID Gadget,
00409 UnitType Unit,
00410 MILLIPOINT value,
00411 BOOL EndOfList = TRUE,
00412 INT32 ListPos = 0
00413 );
00414
00415 static BOOL SetDimensionUnitGadgetValue(CWindowID WindowID,
00416 CGadgetID Gadget,
00417 UnitType units,
00418 double value,
00419 Node* pNode,
00420 BOOL IncludeUnitSpecifier = TRUE,
00421 BOOL EndOfList = FALSE,
00422 INT32 ListPos = 0);
00423
00424 static BOOL SetLongGadgetValue(CWindowID WindowID,
00425 CGadgetID Gadget,
00426 INT32 value,
00427 BOOL EndOfList = TRUE,
00428 INT32 ListPos = 0);
00429
00430 static BOOL SetDoubleGadgetValue(CWindowID WindowID,
00431 CGadgetID Gadget,
00432 double value,
00433 BOOL EndOfList = TRUE,
00434 INT32 ListPos = 0);
00435
00436 static BOOL SetStringGadgetValue(CWindowID WindowID,
00437 CGadgetID Gadget,
00438 UINT32 IDStrID,
00439 BOOL EndOfList = TRUE,
00440 INT32 ListPos = 0);
00441
00442 static BOOL SetStringGadgetValue(CWindowID WindowID,
00443 CGadgetID Gadget,
00444 const StringBase& StrVal,
00445 BOOL EndOfList = TRUE,
00446 INT32 ListPos = 0);
00447
00448 static BOOL SetCustomComboGadgetValue(CWindowID WindowID,
00449 CGadgetID Gadget,
00450 CustomComboBoxControlDataItem* TheItem,
00451 BOOL EndOfList = TRUE,
00452 INT32 ListPos = 0);
00453
00454 static BOOL SelectCustomComboGadgetValueOnString (CWindowID WindowID,
00455 CGadgetID Gadget,
00456 StringBase* StrVal);
00457
00458 static BOOL SetGadgetRange(CWindowID WindowID,
00459 CGadgetID Gadget,
00460 INT32 Min,
00461 INT32 Max,
00462 INT32 PageInc = 1);
00463
00464 static BOOL SetListBoxSelection( CWindowID WindowID, CGadgetID Gadget, INT32 Index, BOOL SelectIt, BOOL SingleSelection );
00465
00466 static BOOL SetBoolGadgetSelected(CWindowID WindowID,
00467 CGadgetID Gadget,
00468 BOOL IsSelected,
00469 INT32 ListPos = 0);
00470
00471 static BOOL SetSelectedValueIndex(CWindowID WindowID,
00472 CGadgetID Gadget,
00473 INT32 Index);
00474
00475 static BOOL SetSelectedValueRange(CWindowID WindowID,
00476 CGadgetID Gadget,
00477 WORD StartIndex,
00478 WORD EndIndex,
00479 BOOL Selected = TRUE);
00480
00481 static BOOL SetDimensionGadgetValue( CWindowID WindowID,
00482 CGadgetID Gadget,
00483 MILLIPOINT value,
00484 Node* pNode,
00485 BOOL IncludeUnitSpecifier = TRUE,
00486 BOOL EndOfList = FALSE,
00487 INT32 ListPos = -1
00488 );
00489
00490 static BOOL SetMemoryGadgetValue( CWindowID WindowID,
00491 CGadgetID Gadget,
00492 UINT32 value,
00493 BOOL EndOfList = TRUE,
00494 INT32 ListPos = 0
00495 );
00496
00497 static BOOL SetGadgetHelp( CWindowID WindowID,
00498 CGadgetID Gadget,
00499 UINT32 BubbleID,
00500 UINT32 StatusID,
00501 UINT32 ModuleID = 0);
00502
00503
00504
00505
00506 static MILLIPOINT GetUnitGadgetValue(CWindowID WindowID,
00507 CGadgetID Gadget,
00508 UnitType DefaultType,
00509 MILLIPOINT StartRange,
00510 MILLIPOINT EndRange,
00511 UINT32 IDSInvalidMsg = 0,
00512 BOOL* Valid = NULL);
00513
00514 static INT32 GetLongGadgetValue(CWindowID WindowID,
00515 CGadgetID Gadget,
00516 INT32 StartRange,
00517 INT32 EndRange,
00518 UINT32 IDSInvalidMsg = 0,
00519 BOOL* Valid = NULL,
00520 Convert::PFNSTRINGTOINT32 pfnParser = Convert::StringToLong);
00521
00522 static double GetDoubleGadgetValue(CWindowID WindowID,
00523 CGadgetID Gadget,
00524 double StartRange,
00525 double EndRange,
00526 UINT32 IDSInvalidMsg = 0,
00527 BOOL* Valid = NULL,
00528 Convert::PFNSTRINGTODOUBLE pfnParser = Convert::StringToDouble);
00529
00530 static BOOL GetBoolGadgetSelected(CWindowID WindowID,
00531 CGadgetID Gadget,
00532 UINT32 IDSInvalidMsg = 0,
00533 BOOL* Valid = NULL,
00534 INT32 ListPos = 0);
00535
00536 static String_256 GetStringGadgetValue(CWindowID WindowID,
00537 CGadgetID Gadget,
00538 BOOL* Valid = NULL,
00539 INT32 ListPos = -1);
00540
00541 static BOOL GetGadgetRange(CWindowID WindowID,
00542 CGadgetID Gadget,
00543 INT32* Min,
00544 INT32* Max);
00545
00546 static MILLIPOINT GetDimensionGadgetValue( CWindowID WindowID,
00547 CGadgetID Gadget,
00548 Node* pNode,
00549 BOOL* Valid = NULL,
00550 INT32 ListPos = -1);
00551
00552 static BOOL GetDoubleAndUnitGadgetValue(double* pMPValue,
00553 double* pUnitValue,
00554 UnitType* pUnitType,
00555 CWindowID WindowID,
00556 CGadgetID Gadget,
00557 Node* pNode);
00558
00559 static UINT32 GetMemoryGadgetValue(CWindowID WindowID,
00560 CGadgetID Gadget,
00561 UINT32 StartRange,
00562 UINT32 EndRange,
00563 UINT32 IDSInvalidMsg = 0,
00564 BOOL* Valid = NULL);
00565
00566
00567
00568 static BOOL DeleteAllValues(CWindowID WindowID,
00569 CGadgetID Gadget);
00570
00571 static BOOL DeleteValue(CWindowID WindowID,
00572 CGadgetID Gadget,
00573 BOOL EndOfList = TRUE,
00574 INT32 ListPos = 0);
00575
00576 static BOOL GetValueCount(CWindowID WindowID,
00577 CGadgetID Gadget,
00578 INT32* Count);
00579
00580 static BOOL GetValueIndex(CWindowID WindowID,
00581 CGadgetID Gadget,
00582 INT32* Index);
00583
00584 static BOOL GetValueIndex(CWindowID WindowID,
00585 CGadgetID Gadget,
00586 WORD* Index);
00587
00588 static INT32 GetSelectedCount(CWindowID WindowID, CGadgetID Gadget);
00589 static INT32 GetFirstSelectedItem(CWindowID WindowID, CGadgetID Gadget);
00590 static INT32* GetSelectedItems(CWindowID WindowID, CGadgetID Gadget);
00591
00592
00593
00594 static BOOL EnableGadget(CWindowID WindowID, CGadgetID Gadget, BOOL Enabled);
00595 static BOOL IsGadgetEnabled( CWindowID WindowID, CGadgetID Gadget );
00596 static BOOL SetGadgetWritable(CWindowID id, CGadgetID Gadget, BOOL enable);
00597 static BOOL HideGadget(CWindowID WindowID, CGadgetID Gadget, BOOL Hide);
00598 static BOOL GadgetRedraw(CWindowID WindowID, CGadgetID Gadget, BOOL Redraw);
00599 static void Layout(CWindowID WindowID, BOOL CanYield=FALSE);
00600
00601
00602
00603 static void RelayoutDialog(DialogTabOp* DlgOp);
00604
00605
00606
00607 static BOOL SetKeyboardFocus(CWindowID WindowID, CGadgetID Gadget);
00608 static BOOL DefaultKeyboardFocus();
00609 static BOOL HighlightText(CWindowID WindowID, CGadgetID Gadget, INT32 nStart = 0, INT32 nEnd = -1);
00610 static BOOL CaptureMouse(CWindowID WindowID, CGadgetID Gadget);
00611 static BOOL ReleaseMouse(CWindowID WindowID, CGadgetID Gadget);
00612
00613
00614
00615 static void PaintGadgetNow(CWindowID WindowID, CGadgetID gid);
00616 static void InvalidateGadget(CWindowID WindowID, CGadgetID Gadget, BOOL EraseBackround=TRUE);
00617
00618
00619 static void InvalidateGadget(CWindowID WindowID, CGadgetID Gadget,
00620 ReDrawInfoType *ExtraInfo,
00621 DocRect *InvalidRect);
00622
00623
00624
00625 static void ScrollKernelRenderedGadget(CWindowID WindowID, CGadgetID Gadget,
00626 DocRect *RectToScroll, DocCoord *ScrollBy);
00627
00628
00629 static BOOL GetKernelRenderedGadgetInfo(CWindowID WindowID, CGadgetID Gadget,
00630 ReDrawInfoType *Result);
00631
00632
00633
00634
00635 static void SetEditGadgetType(CWindowID WindowID, CGadgetID Gadget, EditGadgetType Type);
00636 static void SetEditGadgetType(CWindowID WindowID, CGadgetID, UINT32 IDSValidChar);
00637
00638 static void DualFunctionButton(CWindowID DialogWnd,
00639 CGadgetID ButtonGadget);
00640
00641
00642
00643 static BOOL MakeListBoxDragable(CWindowID WindowID,
00644 CGadgetID Gadget);
00645
00646 static void SetComboListLength(CWindowID WindowID,CGadgetID Gadget);
00647
00648
00649 static void SetGadgetBitmaps(CWindowID DialogWnd, CGadgetID Gadget, UINT32 Bitmap1, UINT32 Bitmap2);
00650 static void SetGadgetBitmaps(CWindowID DialogWnd, CGadgetID Gadget, const CGadgetImageList& images);
00651 static void SetGadgetBitmap(CWindowID WindowID, CGadgetID Gadget, ResourceID Bitmap);
00652 static ResourceID GetGadgetBitmap(CWindowID WindowID, CGadgetID Gadget);
00653
00654
00655
00656 static void SetBitmapButtonIndexes(CWindowID WindowID, CGadgetID Gadget,
00657 UINT32 UnselectedIndex, UINT32 SelectedIndex);
00658
00659
00660
00661
00662
00663 static UINT32 GetGadgetImageCount(CWindowID wnd, CGadgetID Gadget);
00664
00665 static void DeInit();
00666
00667 ~DialogManager();
00668
00669
00670 static BOOL IsADialogWindow(wxWindow *pWnd);
00671
00672
00673
00674 static CTreeItemID SetTreeGadgetItem(CWindowID wnd, CGadgetID Gadget, CTreeItemID hParent, const StringBase& str, CTreeItemID hInsAfter, INT32 iImage, CCObject* pObj = NULL);
00675 static CCObject* GetTreeGadgetItemData(CWindowID wnd, CGadgetID Gadget, CTreeItemID hItem);
00676 static BOOL SelectTreeGadgetItem(CWindowID wnd, CGadgetID Gadget, CTreeItemID hItem, BOOL bNewState = TRUE);
00677 static CTreeItemID GetTreeGadgetRootItem(CWindowID wnd, CGadgetID Gadget);
00678 static CTreeItemID GetTreeGadgetFirstSelectedItem(CWindowID wnd, CGadgetID Gadget);
00679 static BOOL TreeGadgetExpandItem(CWindowID wnd, CGadgetID Gadget, CTreeItemID hItem);
00680 static CTreeItemID GetTreeGadgetNextVisItem(CWindowID wnd, CGadgetID Gadget, CTreeItemID hItem);
00681 static CTreeItemID GetTreeGadgetFirstChildItem(CWindowID wnd, CGadgetID Gadget, CTreeItemID hItem);
00682 static UINT32 GetTreeGadgetChildrenCount(CWindowID wnd, CGadgetID Gadget, CTreeItemID hItem, BOOL bRecursive = FALSE);
00683
00684
00685
00686
00687 static BOOL AddAPage(DialogTabOp* pDialogTabOp, CDlgResID DialogResID, CGadgetID Gadget=0);
00688
00689
00690 static CWindowID GetPageWindow(CWindowID Win, CDlgResID PageID, INT32* PageIndex = NULL);
00691
00692
00693 static BOOL SetTitlebarName(CWindowID Win, String_256* Name);
00694
00695
00696
00697
00698 static wxWindow *pDlgCurrent;
00699
00700
00701 static BOOL ModalDialogOpen(DialogOp** pModal = NULL);
00702
00703
00704 static BOOL IsWindowVisible(CWindowID Win);
00705
00706
00707
00708 static BOOL IsCustomComboDropdownVisible(CWindowID WindowID, CGadgetID Gadget);
00709
00710
00711
00712 static BOOL CloseDropdown (CWindowID WindowID, CGadgetID Gadget, BOOL CloseVal);
00713
00714
00715
00716 static void EnableAllDialogs(BOOL Enable, wxWindow *pExceptMe = NULL);
00717
00718
00719 static BOOL RecordActiveDialogState();
00720 static void RestoreActiveDialogState();
00721
00722
00723 static CDlgResID GetActivePage(CWindowID WindowID, CGadgetID Gadget = 0);
00724 void SetPropertyPageModified(BOOL Value);
00725
00726
00727 static BOOL AddDialogControlToHelper(CWindowID WindowID, CGadgetID Gadget);
00728 static BOOL RemoveDialogControlFromHelper(CWindowID, CGadgetID);
00729
00730 static BOOL GetStatusLineText(String_256* ptext, CWindowID window);
00731 static CWindowID GetWindowUnderPointer(WinCoord * wc = NULL);
00732
00733 public:
00734
00735 static UINT32 SetTimer(DialogOp *pDialogOp, CWindowID WindowID, UINT32 nIDEvent, UINT32 nElapse, void (* lpfnTimer)(void *) = NULL, void * param=NULL, BOOL OneShot=FALSE);
00736 static BOOL KillTimer( DialogOp * pDialogOp, CWindowID WindowID, INT32 nIDEvent);
00737
00738
00739 static BOOL GetWindowPosition(CWindowID WindowID, wxRect *pRect);
00740 static BOOL GetWindowPosition(CWindowID WindowID, RECT *pRect);
00741 static BOOL GetGadgetPosition(CWindowID WindowID, CGadgetID Gadget, wxRect *pRect);
00742 static BOOL GetGadgetPosition(CWindowID WindowID, CGadgetID Gadget, RECT *pRect);
00743 static BOOL SetWindowPosition(CWindowID WindowID, const wxRect &Rect);
00744 static BOOL SetWindowPosition(CWindowID WindowID, const RECT &Rect);
00745 static BOOL SetGadgetPosition(CWindowID WindowID, CGadgetID Gadget, const wxRect &Rect);
00746 static BOOL SetGadgetPosition(CWindowID WindowID, CGadgetID Gadget, const RECT &Rect);
00747
00748 static INT32 GetScreenDpi();
00749 static BOOL GetScreenSize(INT32 * pWidth, INT32 * pHeight);
00750
00751 private:
00752 static void DeletePropShtDetails(DialogTabOp* pOp);
00753
00754
00755 static DLGTEMPLATE *MergeDialog( CDlgResID Main,
00756 CDlgResID Other );
00757
00758 static void SetGadgetIDToFocus(wxWindow *pDialogWnd);
00759 static List *GetControlList( CWindowID );
00760 static void DeleteControlList( CWindowID );
00761
00762
00763 static LPWSTR MovePastWideStr(LPWSTR pWideStr);
00764 static size_t SizeDlgHeader(DLGTEMPLATE *pHeader);
00765 static size_t SizeCtrlData(DLGITEMTEMPLATE *pData);
00766
00767
00768
00769 static List DiscardStrList;
00770
00771
00772
00773
00774
00775 static List DialogPositionList;
00776
00777
00778
00779 static List ScrollPageIncList;
00780
00781 static wxPropertySheetDialog* GetPropertySheetFromOp( DialogTabOp* pDialogTabOp );
00782
00783 static BOOL HandleScrollBarMsg(wxWindow *pScrollWnd,
00784 UINT32 wParam,
00785 INT32 lParam,
00786 WORD CurrentThumbPos);
00787
00788 static DialogPosition* FindDialogPositionRecord(CDlgResID DialogID);
00789
00790
00791
00792
00793
00794
00795 static INT32 FAR PASCAL EXPORT ValidateEditGadgetProc(wxWindow *pwnd,
00796 UINT32 message,
00797 UINT32 wParam,
00798 INT32 lParam);
00799
00800
00801 static INT32 FAR PASCAL EXPORT RgtMouseButtonProc(wxWindow *pwnd,
00802 UINT32 message,
00803 UINT32 wParam,
00804 INT32 lParam);
00805
00806 static UINT32 MsgDragList;
00807 static UINT32 MsgSlaveDrawItem;
00808
00809
00810 static BOOL CustomControlMsg(wxWindow *pwnd, UINT32 wParam, INT32 lParam);
00811
00812 private:
00813
00814
00815 static ActiveDlgStateStack ActiveDlgStack;
00816
00817
00818 protected:
00819
00820 static void Event (DialogEventHandler *pEvtHandler, wxEvent &event);
00821
00822 static void EnsurePanePreferenceDeclared(wxString key);
00823 static void InitPaneInfoHash();
00824 static void LoadPaneInfo(wxString key, wxAuiPaneInfo &paneinfo);
00825 static void SavePaneInfo(wxString key, wxAuiPaneInfo &paneinfo);
00826 static IdToSerializedPaneInfo * s_pPaneInfoHash;
00827
00828 public:
00829 static void FreePaneInfoHash();
00830 };
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851 class ScrollPageInc: public ListItem
00852 {
00853 public:
00854 wxWindow *pDlgWindow;
00855 wxWindow *pScrollBarWnd;
00856 INT32 PageInc;
00857 };
00858
00859
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873 class DlgDiscardString: public ListItem
00874 {
00875 public:
00876 wxWindow *DlgWindow;
00877 StringBase *pStr;
00878 };
00879
00880
00881
00882
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00895
00896 class ControlInfo: public ListItem
00897 {
00898 public:
00899 ~ControlInfo();
00900 wxWindow *pControlWnd;
00901 UINT32 IDSValidCh;
00902 FARPROC lpfnOldProc;
00903
00904 };
00905
00906
00907
00908
00909
00910
00911
00912
00913
00914
00915
00916
00917
00918
00919
00920 class CWindowIDItem: public ListItem
00921 {
00922 public:
00923 CWindowID DlgWin;
00924 };
00925
00926
00927
00928
00929
00930 #endif // !INC_DLGMGR