diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba680ba..4f8c510 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,7 @@ endif()
set(wxBUILD_INSTALL OFF CACHE BOOL "skip")
set(wxBUILD_SHARED OFF CACHE BOOL "skip")
set(wxBUILD_USE_STATIC_RUNTIME ON CACHE BOOL "skip")
+set(wxUSE_LIBWEBP OFF CACHE BOOL "skip")
set(wxUSE_MEDIACTRL OFF CACHE BOOL "skip")
set(wxUSE_POSTSCRIPT OFF CACHE BOOL "skip")
set(wxUSE_STC OFF CACHE BOOL "skip")
diff --git a/GM/CBDesign.fbp b/GM/CBDesign.fbp
index 52d892b..ad6e88a 100644
--- a/GM/CBDesign.fbp
+++ b/GM/CBDesign.fbp
@@ -5932,7 +5932,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -9242,7 +9242,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -9836,7 +9836,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -9968,7 +9968,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -13251,7 +13251,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -13451,7 +13451,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -13583,7 +13583,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -15952,7 +15952,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -16923,7 +16923,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
@@ -19841,7 +19841,7 @@
- wxBORDER_SIMPLE|wxTAB_TRAVERSAL|wxWANTS_CHARS
+ wxBORDER_SIMPLE|wxWANTS_CHARS
diff --git a/GM/CBDesign.xrc b/GM/CBDesign.xrc
index fee6757..c71d01b 100644
--- a/GM/CBDesign.xrc
+++ b/GM/CBDesign.xrc
@@ -1074,7 +1074,7 @@
5
@@ -1155,7 +1155,7 @@
5
-
+
1
@@ -1164,7 +1164,7 @@
5
-
+
1
@@ -1660,7 +1660,7 @@
5
-
+
@@ -1685,7 +1685,7 @@
5
-
+
@@ -1796,7 +1796,7 @@
5
-
+
@@ -1821,7 +1821,7 @@
5
-
+
@@ -2452,7 +2452,7 @@
5
-
+
@@ -2486,7 +2486,7 @@
5
-
+
@@ -2511,7 +2511,7 @@
5
-
+
@@ -2958,7 +2958,7 @@
5
-
+
@@ -2966,7 +2966,7 @@
5
-
+
@@ -3137,7 +3137,7 @@
5
-
+
@@ -3729,7 +3729,7 @@
5
-
+
diff --git a/GM/DlgBrdp.h b/GM/DlgBrdp.h
index 33ab089..efd7d98 100644
--- a/GM/DlgBrdp.h
+++ b/GM/DlgBrdp.h
@@ -34,36 +34,6 @@ class CBoardPropDialog : public wxDialog
CBoardPropDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
-private:
- CB_XRC_BEGIN_CTRLS_DECL()
- RefPtr m_staticHalfPixelWidth;
- RefPtr m_staticSmallPixelWidth;
- RefPtr m_staticSmallPixelHeight;
- RefPtr m_staticHalfPixelHeight;
- RefPtr m_staticPixelWidth;
- RefPtr m_staticPixelHeight;
- RefPtr m_editBrdName;
- RefPtr m_cpCellFrame;
- RefPtr m_staticWidth;
- RefPtr m_staticHeight;
- RefPtr m_staticRows;
- RefPtr m_staticCols;
- RefPtr m_comboStyle;
- RefPtr m_chkCellLines;
- RefPtr m_chkGridSnap;
- RefPtr m_chkTrackCellNum;
- RefPtr m_editRowTrkOffset;
- RefPtr m_editColTrkOffset;
- RefPtr m_editXGridSnapOff;
- RefPtr m_editYGridSnapOff;
- RefPtr m_editXGridSnap;
- RefPtr m_editYGridSnap;
- RefPtr m_chkColTrkInvert;
- RefPtr m_chkRowTrkInvert;
- RefPtr m_chkCellBorderOnTop;
- RefPtr m_chkEnableXParentCells;
- CB_XRC_END_CTRLS_DECL()
-public:
bool m_bCellLines;
bool m_bGridSnap;
bool m_bTrackCellNum;
@@ -97,6 +67,36 @@ class CBoardPropDialog : public wxDialog
uint32_t m_nCellHt;
uint32_t m_nCellWd;
CellStagger m_bStagger;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_staticHalfPixelWidth;
+ RefPtr m_staticSmallPixelWidth;
+ RefPtr m_staticSmallPixelHeight;
+ RefPtr m_staticHalfPixelHeight;
+ RefPtr m_staticPixelWidth;
+ RefPtr m_staticPixelHeight;
+ RefPtr m_editBrdName;
+ RefPtr m_cpCellFrame;
+ RefPtr m_staticWidth;
+ RefPtr m_staticHeight;
+ RefPtr m_staticRows;
+ RefPtr m_staticCols;
+ RefPtr m_comboStyle;
+ RefPtr m_chkCellLines;
+ RefPtr m_chkGridSnap;
+ RefPtr m_chkTrackCellNum;
+ RefPtr m_editRowTrkOffset;
+ RefPtr m_editColTrkOffset;
+ RefPtr m_editXGridSnapOff;
+ RefPtr m_editYGridSnapOff;
+ RefPtr m_editXGridSnap;
+ RefPtr m_editYGridSnap;
+ RefPtr m_chkColTrkInvert;
+ RefPtr m_chkRowTrkInvert;
+ RefPtr m_chkCellBorderOnTop;
+ RefPtr m_chkEnableXParentCells;
+ CB_XRC_END_CTRLS_DECL()
+public:
// Implementation
protected:
diff --git a/GM/DlgBrdsz.h b/GM/DlgBrdsz.h
index 3edf06e..802762c 100644
--- a/GM/DlgBrdsz.h
+++ b/GM/DlgBrdsz.h
@@ -34,7 +34,15 @@ class CBoardReshapeDialog : public wxDialog
CBoardReshapeDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ uint32_t m_nCellHt;
+ uint32_t m_nCellWd;
+ size_t m_nCols;
+ size_t m_nRows;
+ CellStagger m_bStagger;
+
+ CellFormType m_eCellStyle; // Used to disable cell a cell dimension
private:
+ bool m_bStaggerAdapter;
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_checkStaggerIn;
RefPtr m_editCellWd;
@@ -42,15 +50,7 @@ class CBoardReshapeDialog : public wxDialog
RefPtr m_editCols;
RefPtr m_editRows;
CB_XRC_END_CTRLS_DECL()
- bool m_bStaggerAdapter;
public:
- uint32_t m_nCellHt;
- uint32_t m_nCellWd;
- size_t m_nCols;
- size_t m_nRows;
- CellStagger m_bStagger;
-
- CellFormType m_eCellStyle; // Used to disable cell a cell dimension
// Implementation
protected:
diff --git a/GM/DlgGboxp.h b/GM/DlgGboxp.h
index 8491ac1..8a5cfb8 100644
--- a/GM/DlgGboxp.h
+++ b/GM/DlgGboxp.h
@@ -55,13 +55,13 @@ class CGmBoxPropsDialog : public wxDialog
wxDECLARE_EVENT_TABLE();
+ // adapt between m_nCompressLevel and m_comboCompress
+ int32_t m_nCompressLevelIndex;
+
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_comboCompress;
RefPtr m_editAuthor;
RefPtr m_editTitle;
RefPtr m_editDescr;
CB_XRC_END_CTRLS_DECL()
-
- // adapt between m_nCompressLevel and m_comboCompress
- int m_nCompressLevelIndex;
};
diff --git a/GM/DlgMEditMulti.h b/GM/DlgMEditMulti.h
index 540e116..fd9a703 100644
--- a/GM/DlgMEditMulti.h
+++ b/GM/DlgMEditMulti.h
@@ -39,6 +39,10 @@ class CMarkerEditMultipleDialog : public wxDialog
CMarkerEditMultipleDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ wxCheckBoxState m_bPromptForText;
+
+ bool m_bSetText;
+ wxString m_strText;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_chkSetText;
@@ -48,10 +52,6 @@ class CMarkerEditMultipleDialog : public wxDialog
CB_XRC_END_CTRLS_DECL()
public:
- wxCheckBoxState m_bPromptForText;
-
- bool m_bSetText;
- wxString m_strText;
// Overrides
protected:
diff --git a/GM/DlgMakts.h b/GM/DlgMakts.h
index e866897..a8f6983 100644
--- a/GM/DlgMakts.h
+++ b/GM/DlgMakts.h
@@ -29,12 +29,12 @@ class CCreateTSet : public wxDialog
CCreateTSet(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ wxString m_strTSName;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_editTSName;
CB_XRC_END_CTRLS_DECL()
public:
- wxString m_strTSName;
// Implementation
protected:
diff --git a/GM/DlgMgrpn.h b/GM/DlgMgrpn.h
index 6118f2b..2e3aada 100644
--- a/GM/DlgMgrpn.h
+++ b/GM/DlgMgrpn.h
@@ -32,10 +32,10 @@ class CMarkGroupNewDialog : public wxDialog
CMarkGroupNewDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+public:
+ wxString m_strName;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_editName;
CB_XRC_END_CTRLS_DECL()
-public:
- wxString m_strName;
};
diff --git a/GM/DlgMkbrd.h b/GM/DlgMkbrd.h
index 3c20b68..547d829 100644
--- a/GM/DlgMkbrd.h
+++ b/GM/DlgMkbrd.h
@@ -29,7 +29,15 @@ class CGridType : public wxDialog
CGridType(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ int m_iCellWd;
+ int m_iCellHt;
+ size_t m_iCols;
+ size_t m_iRows;
+ wxString m_strBoardName;
+ CellStagger m_bStagger;
+ CellFormType m_nBoardType;
private:
+ int m_nBoardTypeHelper;
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_staticPixelSize;
RefPtr m_chkStagger;
@@ -40,15 +48,7 @@ class CGridType : public wxDialog
RefPtr m_radioRect;
RefPtr m_editBoardName;
CB_XRC_END_CTRLS_DECL()
- int m_nBoardTypeHelper;
public:
- int m_iCellWd;
- int m_iCellHt;
- size_t m_iCols;
- size_t m_iRows;
- wxString m_strBoardName;
- CellStagger m_bStagger;
- CellFormType m_nBoardType;
// Implementation
protected:
diff --git a/GM/DlgMrkp.h b/GM/DlgMrkp.h
index c42b4b0..8c9d3bf 100644
--- a/GM/DlgMrkp.h
+++ b/GM/DlgMrkp.h
@@ -35,15 +35,15 @@ class CMarkerPropDialog : public wxDialog
CMarkerPropDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ wxString m_strName;
+ MarkerTrayViz m_nMarkerViz;
private:
+ int m_nMarkerVizHelper;
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_editName;
RefPtr m_radioMarkerViz;
CB_XRC_END_CTRLS_DECL()
- int m_nMarkerVizHelper;
public:
- wxString m_strName;
- MarkerTrayViz m_nMarkerViz;
// Implementation
protected:
diff --git a/GM/DlgNtile.h b/GM/DlgNtile.h
index 14fabf4..9752e6b 100644
--- a/GM/DlgNtile.h
+++ b/GM/DlgNtile.h
@@ -34,13 +34,6 @@ class CNewTileDialog : public wxDialog
CNewTileDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
-private:
- CB_XRC_BEGIN_CTRLS_DECL()
- RefPtr m_editWidth;
- RefPtr m_editHeight;
- RefPtr m_comboBoard;
- CB_XRC_END_CTRLS_DECL()
-public:
UINT m_nHeight;
UINT m_nWidth;
@@ -48,6 +41,13 @@ class CNewTileDialog : public wxDialog
UINT m_nHalfWidth;
CBoardManager* m_pBMgr;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editWidth;
+ RefPtr m_editHeight;
+ RefPtr m_comboBoard;
+ CB_XRC_END_CTRLS_DECL()
+public:
// Implementation
protected:
diff --git a/GM/DlgPEditMulti.h b/GM/DlgPEditMulti.h
index a6d70e5..52a2b88 100644
--- a/GM/DlgPEditMulti.h
+++ b/GM/DlgPEditMulti.h
@@ -39,6 +39,12 @@ class CPieceEditMultipleDialog : public wxDialog
CPieceEditMultipleDialog(size_t sides, wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ BOOL m_bSetTopOnlyVisible; // TRUE if m_bTopOnlyVisible changed
+ BOOL m_bTopOnlyVisible;
+ BOOL m_bTopOnlyOwnersToo;
+
+ std::vector m_bSetTexts; // TRUE if text should change
+ std::vector m_strs;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_chkTopVisibleOwnersToo;
@@ -56,12 +62,6 @@ class CPieceEditMultipleDialog : public wxDialog
CB_XRC_END_CTRLS_DECL()
public:
- BOOL m_bSetTopOnlyVisible; // TRUE if m_bTopOnlyVisible changed
- BOOL m_bTopOnlyVisible;
- BOOL m_bTopOnlyOwnersToo;
-
- std::vector m_bSetTexts; // TRUE if text should change
- std::vector m_strs;
// Overrides
protected:
diff --git a/GM/DlgPaste.h b/GM/DlgPaste.h
index df59ee7..cad1ae5 100644
--- a/GM/DlgPaste.h
+++ b/GM/DlgPaste.h
@@ -32,14 +32,14 @@ class CPasteBitmapDialog : public wxDialog
CPasteBitmapDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ int m_nPasteAction;
+
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_radioPasteAction;
CB_XRC_END_CTRLS_DECL()
public:
- int m_nPasteAction;
-
// Implementation
protected:
diff --git a/GM/DlgPcep.h b/GM/DlgPcep.h
index 8c67db7..6a3efa6 100644
--- a/GM/DlgPcep.h
+++ b/GM/DlgPcep.h
@@ -32,11 +32,9 @@ class CPiecePropDialog : public wxDialog
CPiecePropDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ wxString m_strName;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_editName;
CB_XRC_END_CTRLS_DECL()
-
-public:
- wxString m_strName;
};
diff --git a/GM/DlgPgrpn.h b/GM/DlgPgrpn.h
index a1e0e65..7c295fb 100644
--- a/GM/DlgPgrpn.h
+++ b/GM/DlgPgrpn.h
@@ -32,11 +32,9 @@ class CPieceGroupNameDialog : public wxDialog
CPieceGroupNameDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ wxString m_strName;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_editName;
CB_XRC_END_CTRLS_DECL()
-
-public:
- wxString m_strName;
};
diff --git a/GM/DlgPnew.h b/GM/DlgPnew.h
index 87a0bf5..f4615b6 100644
--- a/GM/DlgPnew.h
+++ b/GM/DlgPnew.h
@@ -41,6 +41,7 @@ class CPieceNewDialog : public wxDialog
// Dialog Data
private:
+ size_t m_qty;
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_chkTopOnlyOwnersToo;
RefPtr m_chkTopOnlyVisible;
@@ -61,7 +62,6 @@ class CPieceNewDialog : public wxDialog
RefPtr m_side_1;
RefPtr m_create;
CB_XRC_END_CTRLS_DECL()
- size_t m_qty;
RefPtr m_pDoc; // Pointer to document
const size_t m_nPSet; // Number of piece set
diff --git a/GM/DlgSvisi.h b/GM/DlgSvisi.h
index 0ad59c6..fa0524c 100644
--- a/GM/DlgSvisi.h
+++ b/GM/DlgSvisi.h
@@ -32,6 +32,10 @@ class CSetScaleVisibilityDialog : public wxDialog
CSetScaleVisibilityDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ bool m_bFullScale;
+ bool m_bHalfScale;
+ bool m_bSmallScale;
+ bool m_bNaturalScale;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_chkNaturalScale;
@@ -41,10 +45,6 @@ class CSetScaleVisibilityDialog : public wxDialog
CB_XRC_END_CTRLS_DECL()
public:
- bool m_bFullScale;
- bool m_bHalfScale;
- bool m_bSmallScale;
- bool m_bNaturalScale;
// Implementation
protected:
diff --git a/GM/DlgTexto.h b/GM/DlgTexto.h
index 1b4a5c1..1d71d4f 100644
--- a/GM/DlgTexto.h
+++ b/GM/DlgTexto.h
@@ -35,13 +35,6 @@ class CTextObjDialog : public wxDialog
virtual ~CTextObjDialog();
// Dialog Data
-private:
- CB_XRC_BEGIN_CTRLS_DECL()
- RefPtr m_btnTxtPropFont;
- RefPtr m_editText;
- CB_XRC_END_CTRLS_DECL()
-
-public:
CFontTbl* m_pFontMgr;
FontID m_fontID; // Current font.
private:
@@ -49,6 +42,13 @@ class CTextObjDialog : public wxDialog
public:
wxString m_strText;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_btnTxtPropFont;
+ RefPtr m_editText;
+ CB_XRC_END_CTRLS_DECL()
+
+public:
void SetFontID(FontID fontID);
diff --git a/GM/DlgTilsz.h b/GM/DlgTilsz.h
index 6edafbc..3d6504b 100644
--- a/GM/DlgTilsz.h
+++ b/GM/DlgTilsz.h
@@ -34,6 +34,13 @@ class CResizeTileDialog : public wxDialog
CResizeTileDialog(wxWindow* parent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
+ bool m_bRescaleBMaps;
+ UINT m_nWidth;
+ UINT m_nHeight;
+
+ UINT m_nHalfHeight; // If 0, caller computes half size
+ UINT m_nHalfWidth; // If 0, caller computes half size
+ CBoardManager* m_pBMgr;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_editHeight;
@@ -44,15 +51,6 @@ class CResizeTileDialog : public wxDialog
RefPtr m_chkRescaleBMaps;
CB_XRC_END_CTRLS_DECL()
-public:
- bool m_bRescaleBMaps;
- UINT m_nWidth;
- UINT m_nHeight;
-
- UINT m_nHalfHeight; // If 0, caller computes half size
- UINT m_nHalfWidth; // If 0, caller computes half size
- CBoardManager* m_pBMgr;
-
// Implementation
protected:
bool TransferDataToWindow() override;
diff --git a/GM/DlgTsetp.h b/GM/DlgTsetp.h
index b7f9972..a07ebc2 100644
--- a/GM/DlgTsetp.h
+++ b/GM/DlgTsetp.h
@@ -32,17 +32,15 @@ class CTSetPropDialog : public wxDialog
CTSetPropDialog(wxWindow* parent = &CB::GetMainWndWx());
// Dialog Data
+ wxString m_strName;
+
+ wxColour m_crTrans;
private:
CB_XRC_BEGIN_CTRLS_DECL()
RefPtr m_cpTrans;
RefPtr m_editName;
CB_XRC_END_CTRLS_DECL()
-public:
- wxString m_strName;
-
- wxColour m_crTrans;
-
// Implementation
protected:
#if 0
diff --git a/GM/FrmBited.cpp b/GM/FrmBited.cpp
index 34f0209..4b953c7 100644
--- a/GM/FrmBited.cpp
+++ b/GM/FrmBited.cpp
@@ -61,6 +61,9 @@ CBitEditFrame::CBitEditFrame(wxDocument& doc,
retval->SetSashGravity(0.0);
CTileSelView* pSelView = new CTileSelView(*retval, view, createParam);
CBitEditView* pBitView = new CBitEditView(*retval, view);
+ // don't steal Ctrl-Tab from MDI client
+ wxASSERT(retval->HasFlag(wxTAB_TRAVERSAL));
+ retval->ToggleWindowStyle(wxTAB_TRAVERSAL);
if (!retval->SplitVertically(pSelView, pBitView, 90))
{
AfxThrowMemoryException();
@@ -305,6 +308,7 @@ bool wxBitEditView::OnClose(bool /*deleteWindow*/)
{
/* doc's life determined by wxGbxProjView, not this,
so bypass wxView::OnClose() */
+ FileHistoryRemoveMenu();
return true;
}
@@ -318,6 +322,7 @@ bool wxBitEditView::OnCreate(wxDocument* doc, long flags)
new CBitEditFrame(CheckedDeref(doc),
*this,
CheckedDeref(GetMainFrame()));
+ FileHistoryAddMenu();
/* wx tried to activate this before it was ready,
so do it now */
ready = true;
diff --git a/GM/FrmDockTile.cpp b/GM/FrmDockTile.cpp
index 65699a9..e47154f 100644
--- a/GM/FrmDockTile.cpp
+++ b/GM/FrmDockTile.cpp
@@ -62,10 +62,6 @@ void CDockTilePalette::SetChild(CTilePalette* pChildWnd)
m_pChildWnd->SetDockingFrame(NULL);
Refresh(TRUE);
}
- // We need to set this field explicitly rather than
- // using CDockablePane::SetChild() since this function
- // insists that the window be non-NULL even though it's
- // perfectly fine to be NULL!
m_pChildWnd = pChildWnd;
if (pChildWnd != NULL)
{
@@ -75,13 +71,14 @@ void CDockTilePalette::SetChild(CTilePalette* pChildWnd)
Layout();
SetMinClientSize(m_pChildWnd->GetMinSize());
pane.BestSize(GetBestSize()).
+ FloatingClientSize(GetBestSize()).
MinSize(GetMinSize());
}
else
{
pane.Show(false);
}
- auiMgr.Update();
+ GetMainFrame()->AuiScheduleUpdate();
}
wxSize CDockTilePalette::DoGetBestClientSize() const
diff --git a/GM/FrmMain.cpp b/GM/FrmMain.cpp
index 47114e0..5f32a59 100644
--- a/GM/FrmMain.cpp
+++ b/GM/FrmMain.cpp
@@ -46,8 +46,8 @@ static char THIS_FILE[] = __FILE__;
wxBEGIN_EVENT_TABLE(CMainFrame, wxDocParentFrameAny)
#if 0
ON_WM_CREATE()
- ON_WM_CLOSE()
#endif
+ EVT_CLOSE(OnClose)
EVT_MENU(XRCID("ID_WINDOW_TOOLPAL"), OnWindowToolPal)
EVT_MENU(XRCID("ID_WINDOW_ITOOLPAL"), OnWindowIToolPal)
EVT_MENU(XRCID("ID_WINDOW_COLORPAL"), OnWindowColorPal)
@@ -235,6 +235,7 @@ CMainFrame::CMainFrame() :
MinSize(m_wndColorPal->GetBestSize()).
BestSize(m_wndColorPal->GetBestSize()).
MaxSize(m_wndColorPal->GetBestSize()).
+ FloatingClientSize(m_wndColorPal->GetBestSize()).
Right().Layer(0).Position(0).
Hide());
@@ -243,12 +244,35 @@ CMainFrame::CMainFrame() :
auiManager.AddPane(m_wndTilePal, wxAuiPaneInfo().
Name("CTilePalette").Caption("Tiles"_cbstring).
BestSize(m_wndTilePal->GetBestSize()).
+ FloatingClientSize(m_wndTilePal->GetBestSize()).
Right().Layer(0).Position(1).
Hide());
- // default width doesn't leave enough space for color palette
- SetClientSize(4*m_wndColorPal->GetBestSize().x, GetClientSize().y);
+ if (!wxPersistentRegisterAndRestore(this))
+ {
+ // default width doesn't leave enough space for color palette
+ wxSize clientSize = GetClientSize();
+ if (clientSize.x < 4*m_wndColorPal->GetBestSize().x)
+ {
+ wxSize oldSize = GetSize();
+ clientSize.x = 4*m_wndColorPal->GetBestSize().x;
+ wxSize newSize = ClientToWindowSize(clientSize);
+ // preserve aspect ratio of window
+ newSize.y = oldSize.y * newSize.x/oldSize.x;
+ // but don't exceed client area
+ wxRect clientArea = wxDisplay().GetClientArea();
+ newSize.x = std::min(newSize.x, clientArea.GetWidth());
+ newSize.y = std::min(newSize.y, clientArea.GetHeight());
+ wxPoint pos = GetPosition();
+ pos.x = std::min(pos.x, clientArea.GetRight() - newSize.x);
+ pos.y = std::min(pos.y, clientArea.GetBottom() - newSize.y);
+ SetSize(pos.x, pos.y, newSize.x, newSize.y);
+ }
+ }
+
auiManager.Update();
+
+ RestoreProfileSettings();
}
CMainFrame::~CMainFrame()
@@ -360,13 +384,15 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
return 0;
}
+#endif
-void CMainFrame::OnClose()
+void CMainFrame::OnClose(wxCloseEvent& event)
{
SaveProfileSettings();
- CMDIFrameWndEx::OnClose();
+ event.Skip();
}
+#if 0
/////////////////////////////////////////////////////////////////////////////
BOOL CMainFrame::OnHelpInfo(HELPINFO* pHelpInfo)
@@ -402,43 +428,50 @@ wxView* CMainFrame::GetActiveView() const
///////////////////////////////////////////////////////////////////////
-static const CB::string szSectSettings = "Settings";
-static const CB::string szSectControlBars = "ControlBars";
-static const CB::string szEntryToolPal = "ToolPal";
-static const CB::string szEntryIToolPal = "ImageToolPal";
+static const CB::string szFramePath = "Persistent_Options/Window/frame/";
+static const CB::string szConfigVer = "v1";
+static const CB::string szEntryPerspective = "Perspective";
static const CB::string szEntryColorPal = "ColorPal";
static const CB::string szEntryTilePal = "TilePal";
-static const CB::string szEntryToolBar = "ToolBar";
static const CB::string szEntryStatusBar = "StatusBar";
void CMainFrame::SaveProfileSettings()
{
-#if 0
- SaveBarState(szSectControlBars);
+ wxConfigBase& config = CheckedDeref(wxConfig::Get());
+ wxConfigPathChanger setPath(&config, szFramePath);
- GetApp()->WriteProfileInt(szSectSettings, szEntryColorPal, m_bColorPalOn);
- GetApp()->WriteProfileInt(szSectSettings, szEntryTilePal, m_bTilePalOn);
+ wxString perspective = szConfigVer + "\n" + auiManager.SavePerspective();
+ CB_VERIFY(config.Write(szEntryPerspective, perspective));
- GetApp()->WriteProfileInt(szSectSettings, szEntryStatusBar,
- (m_wndStatusBar.GetStyle() & WS_VISIBLE) ? 1 : 0);
-#else
- AfxThrowNotSupportedException();
-#endif
+ CB_VERIFY(config.Write(szEntryColorPal, m_bColorPalOn));
+ CB_VERIFY(config.Write(szEntryTilePal, m_bTilePalOn));
+
+ CB_VERIFY(config.Write(szEntryStatusBar, bool(m_wndStatusBar)));
}
void CMainFrame::RestoreProfileSettings()
{
-#if 0
- // Note: I only send a message to turn off the tool and status bars
- // since MFC sets them on by default.
- if (!GetApp()->GetProfileInt(szSectSettings, szEntryStatusBar, 1))
- SendMessage(WM_COMMAND, ID_VIEW_STATUS_BAR, 0L);
-
- m_bColorPalOn = GetApp()->GetProfileInt(szSectSettings, szEntryColorPal, TRUE);
- m_bTilePalOn = GetApp()->GetProfileInt(szSectSettings, szEntryTilePal, TRUE);
-#else
- AfxThrowNotSupportedException();
-#endif
+ wxConfigBase& config = CheckedDeref(wxConfig::Get());
+ wxConfigPathChanger setPath(&config, szFramePath);
+
+ // status bar is initialized on, so only adjust to turn off
+ if (!config.Read(szEntryStatusBar, true))
+ {
+ wxCommandEvent dummy;
+ OnViewStatusBar(dummy);
+ }
+
+ m_bColorPalOn = config.Read(szEntryColorPal, true);
+ m_bTilePalOn = config.Read(szEntryTilePal, true);
+
+ wxString perspective = config.Read(szEntryPerspective, wxEmptyString);
+ wxStringTokenizer tokenizer(perspective, "\n");
+ if (tokenizer.HasMoreTokens() &&
+ tokenizer.GetNextToken() == szConfigVer.wx_str() &&
+ tokenizer.HasMoreTokens())
+ {
+ auiManager.LoadPerspective(tokenizer.GetNextToken());
+ }
}
void CMainFrame::OnUpdateEnable(wxUpdateUIEvent& pCmdUI)
@@ -609,22 +642,6 @@ void CMainFrame::OnIdle()
UpdatePaletteWindow(*m_wndColorPal, tblColor, m_bColorPalOn);
- wxAuiPaneInfo& pane = auiManager.GetPane(m_wndTilePal);
- if (GetCurrentDocument() == NULL)
- {
- pane.Show(false);
- auiMgrScheduleUpdate = true;
- }
- else
- {
- wxSize newSize = m_wndTilePal->GetBestSize();
- if (pane.best_size != newSize)
- {
- pane.BestSize(newSize);
- auiMgrScheduleUpdate = true;
- }
- }
-
if (m_wndColorPal->GetHandle() && m_wndColorPal->IsShownOnScreen())
{
wxCommandEvent event(wxEVT_MENU, XRCID("WM_IDLEUPDATECMDUI"));
diff --git a/GM/FrmMain.h b/GM/FrmMain.h
index 7d3c503..97d8d74 100644
--- a/GM/FrmMain.h
+++ b/GM/FrmMain.h
@@ -61,6 +61,7 @@ class CMainFrame : public wxDocParentFrameAny
public:
void SaveProfileSettings();
void RestoreProfileSettings();
+ void AuiScheduleUpdate() { auiMgrScheduleUpdate = true; }
// Implementation
public:
@@ -99,8 +100,8 @@ class CMainFrame : public wxDocParentFrameAny
#if 0
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
- afx_msg void OnClose();
#endif
+ void OnClose(wxCloseEvent& event);
void OnWindowToolPal(wxCommandEvent& event);
void OnWindowIToolPal(wxCommandEvent& event);
void OnWindowColorPal(wxCommandEvent& event);
diff --git a/GM/ToolObjs.cpp b/GM/ToolObjs.cpp
index b3b2f9a..38bc050 100644
--- a/GM/ToolObjs.cpp
+++ b/GM/ToolObjs.cpp
@@ -853,7 +853,7 @@ wxCursor CTileTool::OnSetCursor(const CBrdEditView& /*pView*/, wxPoint /*point*/
void CCellEraserTool::OnLButtonDown(CBrdEditView& pView, int nMods,
wxPoint point)
{
- pView.SetCellColor(noColor, point, TRUE);
+ pView.SetCellColor(noColorWx, point, TRUE);
// pView->SetCellTile(nullTid, point, TRUE);
}
@@ -861,7 +861,7 @@ void CCellEraserTool::OnMouseMove(CBrdEditView& pView, int nMods, int nButs, wxP
{
if (nButs & wxMOUSE_BTN_LEFT)
{
- pView.SetCellColor(noColor, point, TRUE);
+ pView.SetCellColor(noColorWx, point, TRUE);
// pView->SetCellTile(nullTid, point, TRUE);
}
}
diff --git a/GM/VwEdtbrd.cpp b/GM/VwEdtbrd.cpp
index 4097500..933a661 100644
--- a/GM/VwEdtbrd.cpp
+++ b/GM/VwEdtbrd.cpp
@@ -1020,7 +1020,7 @@ void CBrdEditView::SetCellColor(wxColour crCell, wxPoint pnt, BOOL bUpdate)
if (!pBa.FindCell(pnt.x, pnt.y, row, col, m_nZoom))
return; // Not a valid cell hit
- if (crCell != pBa.GetCellColor(row, col))
+ if (crCell != CB::Convert(pBa.GetCellColor(row, col)))
{
pBa.SetCellColor(row, col, CB::Convert(crCell));
if (bUpdate)
@@ -1093,7 +1093,7 @@ void CBrdEditView::DoCreateTextDrawingObject(wxPoint point)
if (!dlg.m_strText.empty())
{
CreateTextDrawingObject(point, dlg.m_fontID,
- m_pBMgr->GetForeColor(), dlg.m_strText, TRUE);
+ CB::Convert(m_pBMgr->GetForeColor()), dlg.m_strText, TRUE);
GetDocument().SetModifiedFlag();
}
}
@@ -2397,6 +2397,7 @@ bool wxBrdEditView::OnClose(bool /*deleteWindow*/)
{
/* doc's life determined by wxGbxProjView, not this,
so bypass wxView::OnClose() */
+ FileHistoryRemoveMenu();
return true;
}
@@ -2422,6 +2423,7 @@ bool wxBrdEditView::OnCreate(wxDocument* doc, long flags)
/* KLUDGE: giving each frame its own menu
seems to avoid crashes on process close */
wxXmlResource::Get()->LoadMenuBar(frame, "IDR_GAMEBOX"_cbstring);
+ FileHistoryAddMenu();
new CBrdEditView(*this, *createParam);
frame->Show();
diff --git a/GM/VwPrjgbx.cpp b/GM/VwPrjgbx.cpp
index deb86b9..d078b4e 100644
--- a/GM/VwPrjgbx.cpp
+++ b/GM/VwPrjgbx.cpp
@@ -159,6 +159,7 @@ wxBEGIN_EVENT_TABLE(CGbxProjView, wxPanel)
EVT_UPDATE_UI(XRCID("ID_PROJECT_CLONEBOARD"), OnUpdateProjectCloneBoard)
EVT_DRAGDROP(OnDragItem)
EVT_GET_DRAG_SIZE(OnGetDragSize)
+ EVT_NAVIGATION_KEY(OnNavigationKey)
wxEND_EVENT_TABLE()
/////////////////////////////////////////////////////////////////////////////
@@ -189,6 +190,17 @@ CGbxProjView::CGbxProjView(wxView& v) :
m_listTiles->EnableDrag();
m_listTiles->EnableSelfDrop();
m_listTiles->EnableDropScroll();
+ // don't steal Ctrl-Tab from MDI client
+ wxASSERT(HasFlag(wxTAB_TRAVERSAL));
+ ToggleWindowStyle(wxTAB_TRAVERSAL);
+ /* KLUDGE: even w/o wxTAB_TRAVERSAL, we still need this
+ hack as well, or dynamic handlers trigger infinite
+ recursion before executing event table handler */
+ Bind(wxEVT_NAVIGATION_KEY,
+ [this](wxNavigationKeyEvent& event)
+ {
+ OnNavigationKey(event);
+ });
}
CGbxProjView::~CGbxProjView()
@@ -523,6 +535,25 @@ void CGbxProjView::OnGetDragSize(GetDragSizeEvent& event)
event.SetSize(retval);
}
+void CGbxProjView::OnNavigationKey(wxNavigationKeyEvent& event)
+{
+ // don't steal Ctrl-Tab from MDI client
+ if (event.IsWindowChange())
+ {
+ GetMainFrame()->GetClientWindow()->ProcessWindowEvent(event);
+ }
+ else
+ {
+ // KLUDGE: avoid infinite recursion at end of children
+ static wxRecursionGuardFlag flag;
+ wxRecursionGuard guard(flag);
+ if (!guard.IsInside())
+ {
+ wxPanel::OnNavigationKey(event);
+ }
+ }
+}
+
/////////////////////////////////////////////////////////////////////////////
// Updates buttons for specified group
@@ -1435,20 +1466,21 @@ bool wxGbxProjView::OnClose(bool deleteWindow)
{
GetWindow().Hide();
}
- wxMenuBar& menubar = CheckedDeref(GetFrame().GetMenuBar());
- wxMenu& menuFile = CheckedDeref(menubar.GetMenu(size_t(0)));
- wxDocManager& docMgr = CheckedDeref(wxDocManager::GetDocumentManager());
- docMgr.FileHistoryRemoveMenu(&menuFile);
+ FileHistoryRemoveMenu();
/* CB defines doc's life only by proj view,
- so delete rest */
+ so close rest */
wxViewVector views = GetDocument()->GetViewsVector();
for (auto it = views.begin() ; it != views.end() ; ++it)
{
::wxView* view = *it;
if (view != this)
{
- delete view;
+ /* KLUDGE: need to close frame because
+ closing non-proj views is disabled
+ in order to override standard doc
+ lifetime */
+ CB_VERIFY(view->GetFrame()->Close(true));
}
}
@@ -1482,10 +1514,7 @@ bool wxGbxProjView::OnCreate(wxDocument* doc, long flags)
/* KLUDGE: giving each frame its own menu
seems to avoid crashes on process close */
wxMenuBar& menubar = CheckedDeref(wxXmlResource::Get()->LoadMenuBar(frame, "IDR_GAMEBOX"_cbstring));
- wxMenu& menuFile = CheckedDeref(menubar.GetMenu(size_t(0)));
- wxDocManager& docMgr = CheckedDeref(wxDocManager::GetDocumentManager());
- docMgr.FileHistoryUseMenu(&menuFile);
- docMgr.FileHistoryAddFilesToMenu(&menuFile);
+ FileHistoryAddMenu();
/* postpone because this gets called before OnOpenDocument()
new CGbxProjView(*this);
frame->Show();
diff --git a/GM/VwPrjgbx.h b/GM/VwPrjgbx.h
index 5dda287..989b0b8 100644
--- a/GM/VwPrjgbx.h
+++ b/GM/VwPrjgbx.h
@@ -245,6 +245,7 @@ class CGbxProjView : public wxPanel, private CB::Impl::CGbxProjViewBase
void OnUpdateProjectCloneBoard(wxUpdateUIEvent& pCmdUI);
void OnDragItem(DragDropEvent& event);
void OnGetDragSize(GetDragSizeEvent& event);
+ void OnNavigationKey(wxNavigationKeyEvent& event);
wxDECLARE_EVENT_TABLE();
private:
diff --git a/GM/VwTilesl.cpp b/GM/VwTilesl.cpp
index be14255..e197045 100644
--- a/GM/VwTilesl.cpp
+++ b/GM/VwTilesl.cpp
@@ -81,7 +81,7 @@ void CTileSelView::OnInitialUpdate()
// Fetch small scale color and create bogus tile for color editing
tile = m_pTileMgr->GetTile(m_tid, smallScale);
- m_crSmall = tile.GetSmallColor();
+ m_crSmall = CB::Convert(tile.GetSmallColor());
m_sizeSmall = wxSize(8, 8);
m_bmSmall = CreateColorBitmap(m_sizeSmall, m_crSmall);
diff --git a/GP/CBPlay.fbp b/GP/CBPlay.fbp
new file mode 100644
index 0000000..28f2522
--- /dev/null
+++ b/GP/CBPlay.fbp
@@ -0,0 +1,12825 @@
+
+
+
+
+ C++
+ ;
+ 0
+ connect
+ none
+
+
+ 0
+ 1
+ res
+ UTF-8
+ MyProjectBase
+ 6000
+ 1
+ 1
+ UI
+ CBPlay
+ .
+ 0
+ source_name
+ 1
+ 0
+ source_name
+
+ 1
+ 1
+ 1
+ 0
+ 0
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CChgGameOwnerDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Change Game File Owner
+
+ 0
+
+
+
+
+
+ bSizer1
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer2
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Select a new owner for the Game file:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText1
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ "1" "2" "3" "4" "5" "6"
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listPlayers
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_SINGLE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer3
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CCreateGeomorphicBoardDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Create Geomorphic Board
+
+ 0
+
+
+
+
+
+ bSizer30
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer31
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ New board's name:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText23
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editBoardName
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer34
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer35
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listBoard
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_SINGLE|wxLB_SORT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Add Board
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_btnAddBoard
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Add Row Break
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_btnAddBreak
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer36
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listGeo
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_SINGLE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Clear List
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_btnClearList
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer33
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Help
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_HELP
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CCreatePlayersDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Create Players
+
+ 0
+
+
+
+
+
+ bSizer36
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer38
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer40
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ How many players should be created?
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText26
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editPlayerCount
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Tip: Maximum of 26 players. Zero deletes all players.
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText25
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer39
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CDieRollerDlg
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Roll Dice
+
+ 0
+
+
+
+
+
+ bSizer4
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer5
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer6
+ wxVERTICAL
+ none
+
+ 5
+
+ 0
+
+
+ bSizer11
+ wxVERTICAL
+ none
+
+ 5
+
+ 0
+
+
+ bSizer12
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Roll
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText5
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editSets
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ sets of the following:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText6
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 5
+ wxBOTH
+
+
+ 0
+
+ fgSizer1
+ wxFLEX_GROWMODE_SPECIFIED
+ none
+ 3
+ 0
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Roll:
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkRoll1
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editDice1
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Dice having:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText7
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editFaces1
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Faces
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText8
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Roll:
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkRoll2
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editDice2
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Dice having:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText9
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editFaces2
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Faces
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText10
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Roll:
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkRoll3
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editDice3
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Dice having:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText11
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editFaces3
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Faces
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText12
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer7
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Roll
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer8
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Add:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText2
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editBias
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ to the above result.
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText3
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+ 5
+ wxEXPAND
+ 0
+
+ 2
+ wxHORIZONTAL
+ 1
+
+ 0
+
+ fgSizer2
+ wxFLEX_GROWMODE_ALL
+ none
+ 2
+ 0
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Seed value (optional):
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText13
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editSeed
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Reset Seed Vaue
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_btnResetSeed
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CEditElementTextDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Enter Object Text
+
+ 0
+
+
+
+
+
+ bSizer14
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer15
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Enter text to be associated with the piece and/or marker:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText14
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editText
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxTE_MULTILINE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+ 1
2
3
4
5
6
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Set text on all sides of pieces.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkAllSides
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer16
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CEditPlayersDialog
+
+ -1,-1
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Edit Player Names
+
+ 0
+
+
+
+
+
+ bSizer14
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+ -1,-1
+ bSizer15
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Player names:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText14
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxEXPAND|wxALL
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listNames
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_SINGLE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ New player name:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText15
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editName
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_HORIZONTAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Update Name
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_btnUpdate
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer16
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CImportTraysDlg
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Import Piece Groups
+
+ 0
+
+
+
+
+
+ bSizer17
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer18
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Create Trays from the selected Piece Groups:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText16
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listGroups
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_EXTENDED|wxLB_SORT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer20
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Select All
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnBnClickedSelectAll
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Clear All
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnBnClickedClearAll
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer19
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CMarkerCountDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Enter Marker Count
+
+ 0
+
+
+
+
+
+ bSizer21
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Enter the number of markers to be created:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText17
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editMarkerCount
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer22
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CMovDescDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Enter Move Description
+
+ 0
+
+
+
+
+
+ bSizer23
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer24
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer25
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Enter a description for this recorded set of moves.
The title is presented in the move history list.
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText18
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Title:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText19
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer26
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editTitle
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Description:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText20
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editDesc
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxTE_MULTILINE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CMultiplayerGameDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Creating Multiplayer Game
+
+ 0
+
+
+
+
+
+ bSizer27
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer28
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ This scenario is for a multi-player game. You will be prompted for a base file name that will be used to create a unique game file for each player. The generated files should be distributed to the appropriate players after which you may begin play.
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_static1
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Create a Referee game file. It has unlimited player access.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkCreateReferee
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ The names below are the default player names. You may change them now before creating the games. Press OK when you are done.
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_static2
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listPlayers
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_SINGLE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editPlayer
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_HORIZONTAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Update Name
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnBtnPressUpdateName
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer29
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CPasswordDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Enter Password
+
+ 0
+
+
+
+
+
+ bSizer41
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer42
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Enter the password:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText27
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editPassword
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxTE_PASSWORD
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer43
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CPBrdPropDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Board Properties
+
+ 0
+
+
+
+
+
+ bSizer44
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer45
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer46
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Board Name:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText28
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editBoardName
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Board's owner:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticOwnerLabel
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer47
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_comboOwners
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 0
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Allow non-owners to access pieces on this board.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkAllowAccess
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ This board is private (restricted to owner).
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkPrivate
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Automatically Show Board on Open
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkOpenBoardOnLoad
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Show select list and tiny board view. (Reopen window)
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkShowSelListAndTinyMap
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Draw locked objects below non-locked objects.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkDrawLockedBeneath
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ wxID_ANY
+ Snap Grid
+
+ sbSizer2
+ wxVERTICAL
+ 1
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+ 4
+ wxBOTH
+
+
+ 0
+
+ fgSizer3
+ wxFLEX_GROWMODE_SPECIFIED
+ none
+ 2
+ 0
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ X Pixels:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText30
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editXGridSnap
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ X Offset:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText31
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editXGridSnapOff
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Y Pixels:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText32
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editYGridSnap
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Y Offset:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText33
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editYGridSnapOff
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Enable snap grid
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkGridSnap
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Snap objects to their centers.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkGridRectCenters
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Snap plotted move lines to grid.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkSnapMovePlot
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ wxID_ANY
+ Cells
+
+ sbSizer3
+ wxVERTICAL
+ 1
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Show cell border lines on large boards.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkCellBorders
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Show cell border lines on small board.
+
+ 0
+
+
+ 0
+
+ 1
+ m_chkSmallCellBorders
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer48
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND|wxALL
+ 0
+
+ wxID_ANY
+ Auto Stack
+
+ sbSizer4
+ wxVERTICAL
+ 1
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+ 3
+ wxBOTH
+
+
+ 0
+
+ fgSizer4
+ wxFLEX_GROWMODE_SPECIFIED
+ none
+ 2
+ 0
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ X Piece Stagger:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText37
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editXStackStagger
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Pixels
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText38
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Y Piece Stagger:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText39
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editYStackStagger
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Pixels
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText40
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+
+
+ 5
+ wxEXPAND|wxALL
+ 0
+
+ wxID_ANY
+ Plotted Moves
+
+ sbSizer5
+ wxVERTICAL
+ 1
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+ 2
+ wxBOTH
+
+
+ 0
+
+ fgSizer5
+ wxFLEX_GROWMODE_SPECIFIED
+ none
+ 2
+ 0
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Color:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText41
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_cpPlotColor
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxCLRP_DEFAULT_STYLE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Width:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText42
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ "1" "2" "3" "4" "5"
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_comboPlotWd
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 0
+ 1
+
+ wxCB_SORT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CRotatePieceDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Rotate Object
+
+ 0
+
+
+
+
+
+ bSizer48
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT
+ 1
+
+ 2
+ 0
+
+ gSizer1
+ none
+ 4
+ 0
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ -1°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCCW1
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ +1°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCW1
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ -5°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCCW5
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ +5°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCW5
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ -10°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCCW10
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ +10°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCW10
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ -50°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCCW50
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxLEFT|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ +50°
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRotatePieceCW50
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND|wxLEFT
+ 0
+
+
+ bSizer49
+ wxVERTICAL
+ none
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+ wxBU_EXACTFIT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editCurVal
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxTE_CENTER|wxTE_READONLY
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CScnPropDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Scenario Properties
+
+ 0
+
+
+
+
+
+ bSizer50
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer51
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer52
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Author:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText39
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editAuthor
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Title:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText40
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer53
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editTitle
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+ MMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Description:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText41
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editDescr
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxTE_MULTILINE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+ 1
2
3
4
5
6
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CSelectBoardsDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Select Boards
+
+ 0
+
+
+
+
+
+ bSizer57
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer58
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Select boards used in the scenario:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText44
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listBoards
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_EXTENDED|wxLB_SORT
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer60
+ wxHORIZONTAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Select All
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnBtnClickedSelectAll
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Clear All
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnBtnClickedClearAll
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer59
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CSelectNewOwnerDialog
+
+
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Select New Owner
+
+ 0
+
+
+
+
+
+ bSizer54
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer55
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Select a new owner for the piece(s):
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText43
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ "1" "2" "3" "4" "5" "6"
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listPlayers
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_SINGLE
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+ 5
+
+ 0
+
+
+ bSizer56
+ wxVERTICAL
+ none
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ OK
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Cancel
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+
+ CSendMsgDialog
+
+
+ wxCAPTION
+ ; ; forward_declare
+ Send Message
+
+ 0
+
+
+
+
+
+ bSizer61
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 2
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editMsg
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxTE_MULTILINE|wxTE_PROCESS_ENTER
+ CEditNoChevron; forward_declare; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+ 0
+
+ 0
+
+ 1
+ m_editMsg2
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxTE_MULTILINE|wxTE_PROCESS_ENTER
+ CEditNoChevron; forward_declare; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+ 1
2
3
4
5
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer62
+ wxHORIZONTAL
+ none
+
+ 5
+ wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Send && Close
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxBOTTOM
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Send
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnSendMsgSend
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxBOTTOM|wxRIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Roll Dice...
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRollDice
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxTOP|wxBOTTOM|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Defer
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_btnDefer
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxBOTTOM|wxRIGHT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Discard
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_CANCEL
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ wxAUI_MGR_DEFAULT
+
+ wxBOTH
+
+ 1
+ 0
+ 1
+ impl_virtual
+
+
+
+ 0
+ wxID_ANY
+
+ -1,-1
+ CSetPiecesDialog
+
+ -1,-1
+ wxDEFAULT_DIALOG_STYLE
+ ; ; forward_declare
+ Setup Pieces
+
+ 0
+
+
+
+
+ 500,375
+ bSizer63
+ wxHORIZONTAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer64
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Piece Group:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText44
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_comboPGrp
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 0
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Pieces:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText45
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listPiece
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_MULTIPLE
+ CPieceListBoxWx; forward_declare
+ 0
+
+
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 0
+
+
+ bSizer65
+ wxVERTICAL
+ none
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 1
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Close
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ wxID_OK
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 2
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Copy >>
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnCopySelections
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Copy All >>
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnCopyAll
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+ 0
+ protected
+ 0
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Remove <<
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRemoveSelections
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+ 0
+
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+
+ 0
+ 0
+ wxID_ANY
+ Remove All <<
+
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ OnRemoveAll
+ 1
+
+
+ protected
+ 1
+
+
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxEXPAND
+ 3
+
+ 0
+ protected
+ 0
+
+
+
+
+
+ 5
+ wxEXPAND
+ 1
+
+
+ bSizer66
+ wxVERTICAL
+ none
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Tray Name:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText46
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_comboYGrp
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 0
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+ 5
+ wxTOP|wxRIGHT|wxLEFT
+ 0
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+ Tray Contents:
+ 0
+
+ 0
+
+
+ 0
+
+ 1
+ m_staticText47
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+ ; ; forward_declare
+ 0
+
+
+
+
+ -1
+
+
+
+ 5
+ wxALL|wxEXPAND
+ 1
+
+ 1
+ 1
+ 1
+ 1
+ 0
+
+ 0
+ 0
+
+
+
+ 1
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 0
+ 1
+
+ 1
+
+ 0
+ 0
+ wxID_ANY
+
+ 0
+
+
+ 0
+
+ 1
+ m_listTray
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+ wxLB_MULTIPLE
+ CTrayListBoxWx; forward_declare
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GP/CBPlay.xrc b/GP/CBPlay.xrc
new file mode 100644
index 0000000..0664ab8
--- /dev/null
+++ b/GP/CBPlay.xrc
@@ -0,0 +1,2455 @@
+
+
+
+
+ Change Game File Owner
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT
+ 5
+
+
+
+
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Create Geomorphic Board
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+
+
+
+
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Create Players
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+
+
+ wxALL
+ 5
+
+
+
+ -1
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Roll Dice
+ 1
+
+ wxVERTICAL
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+
+ 5
+
+
+ wxVERTICAL
+
+
+ 5
+
+
+ wxHORIZONTAL
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ 0
+ 0
+
+
+ 3
+ 5
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ 0
+ 0
+
+ 1
+ 2
+ 2
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Enter Object Text
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 1\n2\n3\n4\n5\n6
+ 0
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Edit Player Names
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxEXPAND|wxALL
+ 5
+
+
+
+
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_HORIZONTAL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Import Piece Groups
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND
+ 5
+
+
+
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Enter Marker Count
+ 1
+
+ wxHORIZONTAL
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Enter Move Description
+ 1
+
+ wxVERTICAL
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ -1
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ \n\n\n\n\n\n\n\n\n
+ 0
+
+
+
+
+
+
+ Creating Multiplayer Game
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+
+
+
+ wxALL
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_HORIZONTAL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Enter Password
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL
+ 5
+
+
+
+
+ 0
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Board Properties
+ 1
+
+ wxVERTICAL
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+ 0
+
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+
+
+
+ wxALL
+ 5
+
+
+ wxVERTICAL
+
+
+ wxEXPAND
+ 5
+
+
+ 0
+ 0
+
+
+ 2
+ 4
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ 0
+
+
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+
+
+ wxALL
+ 5
+
+
+ wxVERTICAL
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+
+
+
+
+
+
+ 5
+
+
+ wxHORIZONTAL
+
+ wxEXPAND|wxALL
+ 5
+
+
+ wxVERTICAL
+
+
+ wxEXPAND
+ 5
+
+
+ 0
+ 0
+
+
+ 2
+ 3
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ 0
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL
+ 5
+
+
+
+ -1
+
+
+
+
+
+
+
+ wxEXPAND|wxALL
+ 5
+
+
+ wxVERTICAL
+
+
+ wxEXPAND
+ 5
+
+
+ 0
+ 0
+
+
+ 2
+ 2
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ #000000
+
+
+
+ wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND
+ 5
+
+
+
+ 0
+
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Rotate Object
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT
+ 5
+
+
+ 4
+ 2
+ 0
+ 0
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxLEFT|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ wxEXPAND|wxLEFT
+ 5
+
+
+ wxVERTICAL
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxALL
+ 5
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ Scenario Properties
+ 1
+
+ wxVERTICAL
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+ MMMMMMMMMMMMMMMMMMMMMMMMMMMMM
+ 0
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 1\n2\n3\n4\n5\n6
+ 0
+
+
+
+
+
+
+ Select Boards
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ - 8
+ - 9
+ - 10
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Select New Owner
+ 1
+
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+
+
+
+
+
+
+
+ 5
+
+
+ wxVERTICAL
+
+ wxALL
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxALL
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Send Message
+ 1
+
+ wxVERTICAL
+
+ wxEXPAND|wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+
+ 0
+
+
+
+ wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT
+ 5
+
+
+
+ 1\n2\n3\n4\n5
+ 0
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxHORIZONTAL
+
+ wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxTOP|wxBOTTOM
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxTOP|wxBOTTOM|wxRIGHT
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxTOP|wxBOTTOM|wxLEFT
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxTOP|wxBOTTOM|wxRIGHT
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+ Setup Pieces
+ 1
+
+ 500,375
+ wxHORIZONTAL
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+ 0
+
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 1
+ 0
+ 0
+
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+ wxEXPAND
+ 5
+
+ 0,0
+
+
+
+
+ wxEXPAND
+ 5
+
+
+ wxVERTICAL
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+ 0
+
+
+
+
+ wxTOP|wxRIGHT|wxLEFT
+ 5
+
+
+
+ -1
+
+
+
+ wxALL|wxEXPAND
+ 5
+
+
+
+
+
+
+
+
+
+
diff --git a/GP/CBPlay32.vcxproj b/GP/CBPlay32.vcxproj
index 3e67f25..24ba1e9 100644
--- a/GP/CBPlay32.vcxproj
+++ b/GP/CBPlay32.vcxproj
@@ -129,7 +129,7 @@ echo off
0x0409
- wxbase33u.lib;wxmsw33u_core.lib;wxpng.lib;wxzlib.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
+ wxbase33u.lib;wxbase33u_xml.lib;wxmsw33u_core.lib;wxmsw33u_html.lib;wxmsw33u_xrc.lib;wxexpat.lib;wxpng.lib;wxzlib.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
true
true
false
@@ -186,7 +186,7 @@ echo off
Windows
..\out\build\x64-Release\deps\wxWidgets\lib\vc_x64_lib
- wxbase33u.lib;wxmsw33u_core.lib;wxpng.lib;wxzlib.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
+ wxbase33u.lib;wxbase33u_xml.lib;wxmsw33u_core.lib;wxmsw33u_html.lib;wxmsw33u_xrc.lib;wxexpat.lib;wxpng.lib;wxzlib.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
@@ -230,7 +230,7 @@ echo off
0x0409
- wxbase33ud.lib;wxmsw33ud_core.lib;wxpngd.lib;wxzlibd.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
+ wxbase33ud.lib;wxbase33ud_xml.lib;wxmsw33ud_core.lib;wxmsw33ud_html.lib;wxmsw33ud_xrc.lib;wxexpatd.lib;wxpngd.lib;wxzlibd.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
true
true
false
@@ -280,7 +280,7 @@ echo off
0x0409
- wxbase33ud.lib;wxmsw33ud_core.lib;wxpngd.lib;wxzlibd.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
+ wxbase33ud.lib;wxbase33ud_xml.lib;wxmsw33ud_core.lib;wxmsw33ud_html.lib;wxmsw33ud_xrc.lib;wxexpatd.lib;wxpngd.lib;wxzlibd.lib;htmlhelp.lib;rpcrt4.lib;%(AdditionalDependencies)
true
true
false
@@ -311,7 +311,6 @@ echo off
-
@@ -424,7 +423,6 @@ echo off
-
diff --git a/GP/CMakeLists.txt b/GP/CMakeLists.txt
index 03b9b77..802ad0d 100644
--- a/GP/CMakeLists.txt
+++ b/GP/CMakeLists.txt
@@ -15,7 +15,6 @@ set(SRCS
DlgNPly.cpp
DlgPass.cpp
DlgPbprp.cpp
- DlgRot.cpp
DlgRotpc.cpp
DlgScnp.cpp
DlgSelOwner.cpp
@@ -136,3 +135,12 @@ if (MSVC)
endif()
target_precompile_headers(CBPlay PRIVATE StdAfx.h)
target_link_libraries(CBPlay wx::core wx::xrc)
+
+add_custom_command(
+ OUTPUT "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/CBPlay.xrc"
+ COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/CBPlay.xrc" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/CBPlay.xrc"
+ DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/CBPlay.xrc"
+ VERBATIM
+)
+add_custom_target(CBPlay_copy_files DEPENDS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/CBPlay.xrc)
+add_dependencies(CBPlay CBPlay_copy_files)
diff --git a/GP/Cbplay32.vcxproj.filters b/GP/Cbplay32.vcxproj.filters
index 5d381d8..3367882 100644
--- a/GP/Cbplay32.vcxproj.filters
+++ b/GP/Cbplay32.vcxproj.filters
@@ -69,9 +69,6 @@
Source Files
-
- Source Files
-
Source Files
@@ -385,9 +382,6 @@
Header Files
-
- Header Files
-
Header Files
diff --git a/GP/DlgChgGameOwner.cpp b/GP/DlgChgGameOwner.cpp
index 41ff860..d775224 100644
--- a/GP/DlgChgGameOwner.cpp
+++ b/GP/DlgChgGameOwner.cpp
@@ -1,6 +1,6 @@
// DlgChangeOwner.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -36,62 +36,57 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CChgGameOwnerDialog dialog
-CChgGameOwnerDialog::CChgGameOwnerDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CChgGameOwnerDialog::IDD, pParent)
+CChgGameOwnerDialog::CChgGameOwnerDialog(CPlayerManager& pm, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CChgGameOwnerDialog)
+ , m_btnOK(XRCCTRL(*this, "wxID_OK", std::remove_reference_t))
+ CB_XRC_CTRL(m_listPlayers)
+ CB_XRC_END_CTRLS_DEFN(),
+ m_pPlayerMgr(&pm)
{
- //{{AFX_DATA_INIT(CChgGameOwnerDialog)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
-
- m_nPlayer = -1;
- m_pPlayerMgr = NULL;
-}
-
-void CChgGameOwnerDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CChgGameOwnerDialog)
- DDX_Control(pDX, IDOK, m_btnOK);
- DDX_Control(pDX, IDC_D_CHGGAMEOWN_LIST, m_listPlayers);
- //}}AFX_DATA_MAP
+ m_nPlayer = INVALID_PLAYER;
}
-BEGIN_MESSAGE_MAP(CChgGameOwnerDialog, CDialog)
- //{{AFX_MSG_MAP(CChgGameOwnerDialog)
- ON_LBN_SELCHANGE(IDC_D_CHGGAMEOWN_LIST, OnSelChangePlayerList)
- ON_LBN_DBLCLK(IDC_D_CHGGAMEOWN_LIST, OnDblClkPlayerList)
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+wxBEGIN_EVENT_TABLE(CChgGameOwnerDialog, wxDialog)
+ EVT_LISTBOX(XRCID("m_listPlayers"), OnSelChangePlayerList)
+ EVT_LISTBOX_DCLICK(XRCID("m_listPlayers"), OnDblClkPlayerList)
+wxEND_EVENT_TABLE()
/////////////////////////////////////////////////////////////////////////////
// CChgGameOwnerDialog message handlers
-void CChgGameOwnerDialog::OnOK()
+bool CChgGameOwnerDialog::TransferDataFromWindow()
{
- m_nPlayer = m_listPlayers.GetCurSel();
- CDialog::OnOK();
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+
+ m_nPlayer = PlayerId(m_listPlayers->GetSelection());
+
+ return true;
}
-BOOL CChgGameOwnerDialog::OnInitDialog()
+bool CChgGameOwnerDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
-
- for (int i = 0; i < m_pPlayerMgr->GetSize(); i++)
- m_listPlayers.AddString(m_pPlayerMgr->ElementAt(i).m_strName);
+ m_listPlayers->Clear();
+ for (const Player& player : *m_pPlayerMgr)
+ m_listPlayers->AppendString(player.m_strName);
- if (m_nPlayer >= 0)
- m_listPlayers.SetCurSel(m_nPlayer);
- m_btnOK.EnableWindow(m_listPlayers.GetCurSel() >= 0);
+ if (m_nPlayer != INVALID_PLAYER)
+ m_listPlayers->SetSelection(static_cast(m_nPlayer));
+ m_btnOK->Enable(m_listPlayers->GetSelection() != wxNOT_FOUND);
- return TRUE; // return TRUE unless you set the focus to a control
+ return wxDialog::TransferDataToWindow();
}
-void CChgGameOwnerDialog::OnSelChangePlayerList()
+void CChgGameOwnerDialog::OnSelChangePlayerList(wxCommandEvent& /*event*/)
{
- m_btnOK.EnableWindow(m_listPlayers.GetCurSel() >= 0);
+ m_btnOK->Enable(m_listPlayers->GetSelection() != wxNOT_FOUND);
}
-void CChgGameOwnerDialog::OnDblClkPlayerList()
+void CChgGameOwnerDialog::OnDblClkPlayerList(wxCommandEvent& /*event*/)
{
- OnOK();
+ wxCommandEvent event(wxEVT_BUTTON, m_btnOK->GetId());
+ event.SetEventObject(&*m_btnOK);
+ m_btnOK->HandleWindowEvent(event);
}
diff --git a/GP/DlgChgGameOwner.h b/GP/DlgChgGameOwner.h
index 0115365..ecbba7e 100644
--- a/GP/DlgChgGameOwner.h
+++ b/GP/DlgChgGameOwner.h
@@ -1,6 +1,6 @@
// DlgSelOwner.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -33,42 +33,37 @@
/////////////////////////////////////////////////////////////////////////////
// CSelectNewOwnerDialog dialog
-class CChgGameOwnerDialog : public CDialog
+class CChgGameOwnerDialog : public wxDialog
{
// Construction
public:
- CChgGameOwnerDialog(CWnd* pParent = NULL); // standard constructor
+ CChgGameOwnerDialog(CPlayerManager& pm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CChgGameOwnerDialog )
- enum { IDD = IDD_CHANGE_GAME_OWNER };
- CButton m_btnOK;
- CListBox m_listPlayers;
- //}}AFX_DATA
+ PlayerId m_nPlayer;
+ RefPtr m_pPlayerMgr;
- int m_nPlayer;
- CPlayerManager* m_pPlayerMgr;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_btnOK;
+ RefPtr m_listPlayers;
+ CB_XRC_END_CTRLS_DECL()
+public:
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CChgGameOwnerDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
// Implementation
protected:
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
- // Generated message map functions
- //{{AFX_MSG(CChgGameOwnerDialog )
- virtual void OnOK();
- virtual BOOL OnInitDialog();
- afx_msg void OnSelChangePlayerList();
- afx_msg void OnDblClkPlayerList();
+ void OnSelChangePlayerList(wxCommandEvent& event);
+ void OnDblClkPlayerList(wxCommandEvent& event);
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
#endif
diff --git a/GP/DlgDice.cpp b/GP/DlgDice.cpp
index 5a10cdc..330d114 100644
--- a/GP/DlgDice.cpp
+++ b/GP/DlgDice.cpp
@@ -1,6 +1,6 @@
// DlgDice.cpp : implementation file
//
-// Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -91,10 +91,24 @@ CArchive& operator>>(CArchive& ar, CRollState& rs)
/////////////////////////////////////////////////////////////////////////////
// CDieRollerDlg dialog
-CDieRollerDlg::CDieRollerDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CDieRollerDlg::IDD, pParent)
+CDieRollerDlg::CDieRollerDlg(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CDieRollerDlg)
+ CB_XRC_CTRL(m_btnResetSeed)
+ CB_XRC_CTRL_VAL(m_editSeed, m_strSeed, wxFILTER_ASCII, 40)
+ , m_btnOK(XRCCTRL(*this, "wxID_OK", std::remove_reference_t))
+ CB_XRC_CTRL_VAL(m_chkRoll3, m_bRoll3)
+ CB_XRC_CTRL_VAL(m_chkRoll2, m_bRoll2)
+ CB_XRC_CTRL_VAL(m_chkRoll1, m_bRoll1)
+ CB_XRC_CTRL_VAL(m_editSets, m_nSets, uint32_t(1), uint32_t(75))
+ CB_XRC_CTRL_VAL(m_editDice1, m_nDice1, uint32_t(0), uint32_t(100))
+ CB_XRC_CTRL_VAL(m_editFaces1, m_nFaces1, uint32_t(2), uint32_t(32767))
+ CB_XRC_CTRL_VAL(m_editDice2, m_nDice2, uint32_t(0), uint32_t(100))
+ CB_XRC_CTRL_VAL(m_editFaces2, m_nFaces2, uint32_t(2), uint32_t(32767))
+ CB_XRC_CTRL_VAL(m_editDice3, m_nDice3, uint32_t(0), uint32_t(100))
+ CB_XRC_CTRL_VAL(m_editFaces3, m_nFaces3, uint32_t(2), uint32_t(32767))
+ CB_XRC_CTRL_VAL(m_editBias, m_nBias, -5000, 5000)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CDieRollerDlg)
m_strSeed = "";
m_nFaces1 = uint32_t(6);
m_nFaces2 = uint32_t(6);
@@ -107,59 +121,41 @@ CDieRollerDlg::CDieRollerDlg(CWnd* pParent /*=NULL*/)
m_bRoll3 = FALSE;
m_nBias = int32_t(0);
m_nSets = uint32_t(1);
- //}}AFX_DATA_INIT
m_bFirstRoll = TRUE;
m_strInitialSeed = "";
-}
-void CDieRollerDlg::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CDieRollerDlg)
- DDX_Control(pDX, IDC_DIE_RESET_SEED, m_btnResetSeed);
- DDX_Control(pDX, IDC_DIE_SEED, m_editSeed);
- DDX_Control(pDX, IDOK, m_btnOK);
- DDX_Control(pDX, IDC_DIE_ROLL3, m_chkRoll3);
- DDX_Control(pDX, IDC_DIE_ROLL2, m_chkRoll2);
- DDX_Control(pDX, IDC_DIE_ROLL1, m_chkRoll1);
- DDX_Text(pDX, IDC_DIE_SEED, m_strSeed);
- DDV_MaxChars(pDX, m_strSeed, 40);
- DDX_Text(pDX, IDC_DIE_FACES1, m_nFaces1);
- DDV_MinMaxUInt(pDX, m_nFaces1, 2, 32767);
- DDX_Text(pDX, IDC_DIE_FACES2, m_nFaces2);
- DDV_MinMaxUInt(pDX, m_nFaces2, 2, 32767);
- DDX_Text(pDX, IDC_DIE_FACES3, m_nFaces3);
- DDV_MinMaxUInt(pDX, m_nFaces3, 2, 32767);
- DDX_Text(pDX, IDC_DIE_NUMDIES1, m_nDice1);
- DDV_MinMaxUInt(pDX, m_nDice1, 0, 100);
- DDX_Text(pDX, IDC_DIE_NUMDIES2, m_nDice2);
- DDV_MinMaxUInt(pDX, m_nDice2, 0, 100);
- DDX_Text(pDX, IDC_DIE_NUMDIES3, m_nDice3);
- DDV_MinMaxUInt(pDX, m_nDice3, 0, 100);
- DDX_Check(pDX, IDC_DIE_ROLL1, m_bRoll1);
- DDX_Check(pDX, IDC_DIE_ROLL2, m_bRoll2);
- DDX_Check(pDX, IDC_DIE_ROLL3, m_bRoll3);
- DDX_Text(pDX, IDC_DIE_BIAS, m_nBias);
- DDV_MinMaxInt(pDX, m_nBias, -5000, 5000);
- DDX_Text(pDX, IDC_DIE_SETS, m_nSets);
- DDV_MinMaxUInt(pDX, m_nSets, 1, 75);
- //}}AFX_DATA_MAP
+ // KLUDGE: don't see a way to use GetSizeFromText() in .xrc
+ wxSize editSize = m_editSets->GetSizeFromText("999");
+ m_editSets->SetInitialSize(editSize);
+ m_editDice1->SetInitialSize(editSize);
+ m_editDice2->SetInitialSize(editSize);
+ m_editDice3->SetInitialSize(editSize);
+ editSize = m_editFaces1->GetSizeFromText("99999");
+ m_editFaces1->SetInitialSize(editSize);
+ m_editFaces2->SetInitialSize(editSize);
+ m_editFaces3->SetInitialSize(editSize);
+ m_editBias->SetInitialSize(editSize);
+ SetMinSize(wxDefaultSize);
+ Layout();
+ Fit();
+ Centre();
}
-BEGIN_MESSAGE_MAP(CDieRollerDlg, CDialog)
- //{{AFX_MSG_MAP(CDieRollerDlg)
- ON_BN_CLICKED(IDC_DIE_ROLL1, OnDieRoll1)
- ON_BN_CLICKED(IDC_DIE_ROLL2, OnDieRoll2)
- ON_BN_CLICKED(IDC_DIE_ROLL3, OnDieRoll3)
- ON_EN_CHANGE(IDC_DIE_NUMDIES1, OnChangeDieNumdies1)
- ON_EN_CHANGE(IDC_DIE_NUMDIES2, OnChangeDieNumdies2)
- ON_EN_CHANGE(IDC_DIE_NUMDIES3, OnChangeDieNumdies3)
- ON_BN_CLICKED(IDC_DIE_RESET_SEED, OnDieResetSeed)
+wxBEGIN_EVENT_TABLE(CDieRollerDlg, wxDialog)
+ EVT_CHECKBOX(XRCID("m_chkRoll1"), OnDieRoll1)
+ EVT_CHECKBOX(XRCID("m_chkRoll2"), OnDieRoll2)
+ EVT_CHECKBOX(XRCID("m_chkRoll3"), OnDieRoll3)
+ EVT_TEXT(XRCID("m_editDice1"), OnChangeDieNumdies1)
+ EVT_TEXT(XRCID("m_editDice2"), OnChangeDieNumdies2)
+ EVT_TEXT(XRCID("m_editDice3"), OnChangeDieNumdies3)
+ EVT_BUTTON(XRCID("m_btnResetSeed"), OnDieResetSeed)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -184,6 +180,7 @@ static DWORD adwHelpMap[] =
IDC_DIE_SETS, IDH_DIE_SETS,
0, 0
};
+#endif
/////////////////////////////////////////////////////////////////////////////
@@ -340,7 +337,7 @@ void CDieRollerDlg::SetRollState(const CRollState& rstate)
{
m_bFirstRoll = rstate.m_bFirstRoll;
m_nSets = rstate.m_nSetsToRoll;
- m_strSeed = rstate.m_strUserSeed;
+ m_strSeed = rstate.m_strUserSeed.wx_str();
m_strInitialSeed = rstate.m_strUserSeed; // Saved to detect changes
m_nSeedCarryOver = rstate.m_nSeedCarryOver;
@@ -364,79 +361,93 @@ void CDieRollerDlg::SetRollState(const CRollState& rstate)
bool CDieRollerDlg::IsAnyDieSelected() const
{
- return (m_chkRoll1.GetCheck() && GetDlgItemInt(IDC_DIE_NUMDIES1) > 0) ||
- (m_chkRoll2.GetCheck() && GetDlgItemInt(IDC_DIE_NUMDIES2) > 0) ||
- (m_chkRoll3.GetCheck() && GetDlgItemInt(IDC_DIE_NUMDIES3) > 0);
+ static const auto GetDlgItemInt = [](const wxTextCtrl& tc) -> int
+ {
+ CB::string s = tc.GetValue();
+ return std::stoi(s.w_str());
+ };
+ return (m_chkRoll1->GetValue() && GetDlgItemInt(*m_editDice1) > 0) ||
+ (m_chkRoll2->GetValue() && GetDlgItemInt(*m_editDice2) > 0) ||
+ (m_chkRoll3->GetValue() && GetDlgItemInt(*m_editDice3) > 0);
}
/////////////////////////////////////////////////////////////////////////////
void CDieRollerDlg::UpdateControls()
{
- m_btnOK.EnableWindow(IsAnyDieSelected());
+ m_btnOK->Enable(IsAnyDieSelected());
}
/////////////////////////////////////////////////////////////////////////////
// CDieRollerDlg message handlers
-BOOL CDieRollerDlg::OnInitDialog()
+bool CDieRollerDlg::TransferDataToWindow()
{
- CDialog::OnInitDialog();
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
UpdateControls();
if (!m_bFirstRoll && !m_strSeed.empty())
- m_editSeed.EnableWindow(FALSE);
+ m_editSeed->Enable(false);
else
- m_btnResetSeed.EnableWindow(FALSE);
+ m_btnResetSeed->Enable(false);
return TRUE;
}
-void CDieRollerDlg::OnOK()
+bool CDieRollerDlg::TransferDataFromWindow()
{
- CDialog::OnOK();
- if (m_strInitialSeed != m_strSeed)
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+ if (m_strInitialSeed.wx_str() != m_strSeed)
m_bFirstRoll = TRUE;
MakeFormattedRollResult();
+
+ return true;
}
-void CDieRollerDlg::OnDieRoll1()
+void CDieRollerDlg::OnDieRoll1(wxCommandEvent& /*event*/)
{
UpdateControls();
}
-void CDieRollerDlg::OnDieRoll2()
+void CDieRollerDlg::OnDieRoll2(wxCommandEvent& /*event*/)
{
UpdateControls();
}
-void CDieRollerDlg::OnDieRoll3()
+void CDieRollerDlg::OnDieRoll3(wxCommandEvent& /*event*/)
{
UpdateControls();
}
-void CDieRollerDlg::OnChangeDieNumdies1()
+void CDieRollerDlg::OnChangeDieNumdies1(wxCommandEvent& /*event*/)
{
UpdateControls();
}
-void CDieRollerDlg::OnChangeDieNumdies2()
+void CDieRollerDlg::OnChangeDieNumdies2(wxCommandEvent& /*event*/)
{
UpdateControls();
}
-void CDieRollerDlg::OnChangeDieNumdies3()
+void CDieRollerDlg::OnChangeDieNumdies3(wxCommandEvent& /*event*/)
{
UpdateControls();
}
-void CDieRollerDlg::OnDieResetSeed()
+void CDieRollerDlg::OnDieResetSeed(wxCommandEvent& /*event*/)
{
- m_editSeed.EnableWindow(TRUE);
- m_btnResetSeed.EnableWindow(FALSE);
+ m_editSeed->Enable(true);
+ m_btnResetSeed->Enable(false);
m_bFirstRoll = TRUE;
}
+#if 0
BOOL CDieRollerDlg::OnHelpInfo(HELPINFO* pHelpInfo)
{
return GetApp()->DoHelpTipHelp(pHelpInfo, adwHelpMap);
@@ -446,4 +457,5 @@ void CDieRollerDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
diff --git a/GP/DlgDice.h b/GP/DlgDice.h
index daab2ea..af76eff 100644
--- a/GP/DlgDice.h
+++ b/GP/DlgDice.h
@@ -1,6 +1,6 @@
// DlgDice.h : header file
//
-// Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -66,11 +66,11 @@ CArchive& operator>>(CArchive& ar, CRollState& rs);
/////////////////////////////////////////////////////////////////////////////
// CDieRollerDlg dialog
-class CDieRollerDlg : public CDialog
+class CDieRollerDlg : public wxDialog
{
// Construction
public:
- CDieRollerDlg(CWnd* pParent = NULL); // standard constructor
+ CDieRollerDlg(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Methods
public:
@@ -80,15 +80,7 @@ class CDieRollerDlg : public CDialog
void SetRollState(const CRollState& rstate);
// Dialog Data
- //{{AFX_DATA(CDieRollerDlg)
- enum { IDD = IDD_DIEROLLER };
- CButton m_btnResetSeed;
- CEdit m_editSeed;
- CButton m_btnOK;
- CButton m_chkRoll3;
- CButton m_chkRoll2;
- CButton m_chkRoll1;
- CB::string m_strSeed;
+ wxString m_strSeed;
uint32_t m_nFaces1;
uint32_t m_nFaces2;
uint32_t m_nFaces3;
@@ -100,15 +92,29 @@ class CDieRollerDlg : public CDialog
bool m_bRoll3;
int32_t m_nBias;
uint32_t m_nSets;
- //}}AFX_DATA
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_btnResetSeed;
+ RefPtr m_editSeed;
+ RefPtr m_btnOK;
+ RefPtr m_chkRoll3;
+ RefPtr m_chkRoll2;
+ RefPtr m_chkRoll1;
+ RefPtr m_editSets;
+ RefPtr m_editDice1;
+ RefPtr m_editFaces1;
+ RefPtr m_editDice2;
+ RefPtr m_editFaces2;
+ RefPtr m_editDice3;
+ RefPtr m_editFaces3;
+ RefPtr m_editBias;
+ CB_XRC_END_CTRLS_DECL()
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CDieRollerDlg)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
+protected:
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
// Implementation
protected:
@@ -125,21 +131,18 @@ class CDieRollerDlg : public CDialog
uint32_t m_nSeedCarryOver;
- // Generated message map functions
- //{{AFX_MSG(CDieRollerDlg)
- virtual void OnOK();
- afx_msg void OnDieRoll1();
- afx_msg void OnDieRoll2();
- afx_msg void OnDieRoll3();
- afx_msg void OnChangeDieNumdies1();
- afx_msg void OnChangeDieNumdies2();
- afx_msg void OnChangeDieNumdies3();
- virtual BOOL OnInitDialog();
- afx_msg void OnDieResetSeed();
+ void OnDieRoll1(wxCommandEvent& event);
+ void OnDieRoll2(wxCommandEvent& event);
+ void OnDieRoll3(wxCommandEvent& event);
+ void OnChangeDieNumdies1(wxCommandEvent& event);
+ void OnChangeDieNumdies2(wxCommandEvent& event);
+ void OnChangeDieNumdies3(wxCommandEvent& event);
+ void OnDieResetSeed(wxCommandEvent& event);
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
#endif
diff --git a/GP/DlgEPly.cpp b/GP/DlgEPly.cpp
index b7d6070..2551fd7 100644
--- a/GP/DlgEPly.cpp
+++ b/GP/DlgEPly.cpp
@@ -1,6 +1,6 @@
// DlgEPly.cpp : implementation file
//
-// Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -26,6 +26,7 @@
#include "Gp.h"
#include "Player.h"
#include "DlgEply.h"
+#include
#ifdef _DEBUG
#define new DEBUG_NEW
@@ -36,33 +37,25 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CEditPlayersDialog dialog
-CEditPlayersDialog::CEditPlayersDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CEditPlayersDialog::IDD, pParent)
+CEditPlayersDialog::CEditPlayersDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CEditPlayersDialog)
+ CB_XRC_CTRL(m_btnUpdate)
+ CB_XRC_CTRL(m_listNames)
+ CB_XRC_CTRL(m_editName)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CEditPlayersDialog)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
}
-void CEditPlayersDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CEditPlayersDialog)
- DDX_Control(pDX, IDC_D_EPLAY_UPDATE_NAME, m_btnUpdate);
- DDX_Control(pDX, IDC_D_EPLAY_NAME_LIST, m_listNames);
- DDX_Control(pDX, IDC_D_EPLAY_EDIT_NAME, m_editName);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CEditPlayersDialog, CDialog)
- //{{AFX_MSG_MAP(CEditPlayersDialog)
- ON_LBN_SELCHANGE(IDC_D_EPLAY_NAME_LIST, OnSelChangeNameList)
- ON_BN_CLICKED(IDC_D_EPLAY_UPDATE_NAME, OnBtnPressUpdateName)
+wxBEGIN_EVENT_TABLE(CEditPlayersDialog, wxDialog)
+ EVT_LISTBOX(XRCID("m_listNames"), OnSelChangeNameList)
+ EVT_BUTTON(XRCID("m_btnUpdate"), OnBtnPressUpdateName)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -83,70 +76,94 @@ void CEditPlayersDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
-void CEditPlayersDialog::SetDialogsPlayerNames(CPlayerManager* pPlayerMgr)
+void CEditPlayersDialog::SetDialogsPlayerNames(const CPlayerManager& pPlayerMgr)
{
- m_tblNames.reserve(m_tblNames.size() + value_preserving_cast(pPlayerMgr->GetSize()));
- for (int i = 0; i < pPlayerMgr->GetSize(); i++)
- m_tblNames.push_back(pPlayerMgr->ElementAt(i).m_strName);
+ m_tblNames.reserve(m_tblNames.size() + pPlayerMgr.size());
+ for (const Player& player : pPlayerMgr)
+ {
+ m_tblNames.push_back(player.m_strName);
+ }
}
-void CEditPlayersDialog::GetPlayerNamesFromDialog(CPlayerManager* pPlayerMgr)
+void CEditPlayersDialog::GetPlayerNamesFromDialog(CPlayerManager& pPlayerMgr) const
{
- for (int i = 0; i < pPlayerMgr->GetSize(); i++)
- pPlayerMgr->ElementAt(i).m_strName = m_tblNames[value_preserving_cast(i)];
+ wxASSERT(pPlayerMgr.size() <= m_tblNames.size());
+ for (size_t i = size_t(0) ; i < pPlayerMgr.size() ; ++i)
+ {
+ pPlayerMgr[PlayerId(i)].m_strName = m_tblNames[i];
+ }
}
/////////////////////////////////////////////////////////////////////////////
// CEditPlayersDialog message handlers
-void CEditPlayersDialog::OnSelChangeNameList()
+void CEditPlayersDialog::OnSelChangeNameList(wxCommandEvent& /*event*/)
{
- int nSel = m_listNames.GetCurSel();
- if (nSel >= 0)
+ int nSel = m_listNames->GetSelection();
+ if (nSel != wxNOT_FOUND)
{
- CB::string strEdit = CB::string::GetText(m_listNames, nSel);
- m_editName.SetWindowText(strEdit);
+ wxString strEdit = m_listNames->GetString(value_preserving_cast(nSel));
+ m_editName->SetValue(strEdit);
}
}
-void CEditPlayersDialog::OnBtnPressUpdateName()
+void CEditPlayersDialog::OnBtnPressUpdateName(wxCommandEvent& /*event*/)
{
- CB::string strEdit = CB::string::GetWindowText(m_editName);
+ CB::string strEdit = m_editName->GetValue();
if (!strEdit.empty())
{
- int nSel = m_listNames.GetCurSel();
- if (nSel >= 0)
+ int nSel = m_listNames->GetSelection();
+ if (nSel != wxNOT_FOUND)
{
- m_listNames.DeleteString(nSel);
- m_listNames.InsertString(nSel, strEdit);
+ m_listNames->Delete(value_preserving_cast(nSel));
+ m_listNames->Insert(strEdit, value_preserving_cast(nSel));
}
}
}
-BOOL CEditPlayersDialog::OnInitDialog()
+bool CEditPlayersDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
+ /* display the player names initially sorted,
+ but don't actually reorder them */
+ m_tblNamesSorted.resize(m_tblNames.size());
+ std::iota(m_tblNamesSorted.begin(), m_tblNamesSorted.end(), size_t(0));
+ std::sort(m_tblNamesSorted.begin(), m_tblNamesSorted.end(),
+ [this](const size_t left, const size_t right)
+ {
+ return m_tblNames[left] < m_tblNames[right];
+ });
for (size_t i = size_t(0) ; i < m_tblNames.size() ; ++i)
- m_listNames.AddString(m_tblNames[i]);
+ m_listNames->AppendString(m_tblNames[m_tblNamesSorted[i]]);
- return TRUE; // return TRUE unless you set the focus to a control
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
+ return true;
}
-void CEditPlayersDialog::OnOK()
+bool CEditPlayersDialog::TransferDataFromWindow()
{
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+
m_tblNames.clear();
- m_tblNames.reserve(value_preserving_cast(m_listNames.GetCount()));
- for (int i = 0; i < m_listNames.GetCount(); i++)
+ m_tblNames.reserve(m_listNames->GetCount());
+ for (size_t i = size_t(0) ; i < m_tblNamesSorted.size() ; ++i)
{
- CB::string strName = CB::string::GetText(m_listNames, i);
+ unsigned j = value_preserving_cast(m_tblNamesSorted[i]);
+ CB::string strName = m_listNames->GetString(j);
m_tblNames.push_back(std::move(strName));
}
- CDialog::OnOK();
+ return true;
}
diff --git a/GP/DlgEPly.h b/GP/DlgEPly.h
index 0e219e2..d78f1b7 100644
--- a/GP/DlgEPly.h
+++ b/GP/DlgEPly.h
@@ -1,6 +1,6 @@
// DlgEPly.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -33,45 +33,43 @@
// CEditPlayersDialog dialog
class CPlayerManager;
-class CEditPlayersDialog : public CDialog
+class CEditPlayersDialog : public wxDialog
{
// Construction
public:
- CEditPlayersDialog(CWnd* pParent = NULL); // standard constructor
+ CEditPlayersDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CEditPlayersDialog)
- enum { IDD = IDD_EDIT_PLAYERS };
- CButton m_btnUpdate;
- CListBox m_listNames;
- CEdit m_editName;
- //}}AFX_DATA
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_btnUpdate;
+ RefPtr m_listNames;
+ RefPtr m_editName;
+ CB_XRC_END_CTRLS_DECL()
+ // wx doesn't support mixing sorted wxListBox w/ Insert()
+ std::vector m_tblNamesSorted;
+public:
- void SetDialogsPlayerNames(CPlayerManager* pPlayerMgr);
- void GetPlayerNamesFromDialog(CPlayerManager* pPlayerMgr);
+ void SetDialogsPlayerNames(const CPlayerManager& pPlayerMgr);
+ void GetPlayerNamesFromDialog(CPlayerManager& pPlayerMgr) const;
std::vector m_tblNames;
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CEditPlayersDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
+protected:
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
// Implementation
protected:
- // Generated message map functions
- //{{AFX_MSG(CEditPlayersDialog)
- virtual void OnOK();
- afx_msg void OnSelChangeNameList();
- afx_msg void OnBtnPressUpdateName();
- virtual BOOL OnInitDialog();
+ void OnSelChangeNameList(wxCommandEvent& event);
+ void OnBtnPressUpdateName(wxCommandEvent& event);
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
#endif
diff --git a/GP/DlgEdtEl.cpp b/GP/DlgEdtEl.cpp
index b149f0d..82245e5 100644
--- a/GP/DlgEdtEl.cpp
+++ b/GP/DlgEdtEl.cpp
@@ -1,6 +1,6 @@
// DlgEdtEl.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -36,35 +36,26 @@ static char THIS_FILE[] = __FILE__;
// CEditElementTextDialog dialog
-CEditElementTextDialog::CEditElementTextDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CEditElementTextDialog::IDD, pParent)
+CEditElementTextDialog::CEditElementTextDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CEditElementTextDialog)
+ CB_XRC_CTRL_VAL(m_chkAllSides, m_bSetAllSides)
+ CB_XRC_CTRL_VAL(m_editText, m_strTextTemp)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CEditElementTextDialog)
m_strText = "";
m_bSetAllSides = FALSE;
- //}}AFX_DATA_INIT
m_nSides = size_t(1);
}
-void CEditElementTextDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CEditElementTextDialog)
- DDX_Control(pDX, IDC_D_EDITELEM_SETALL, m_chkAllSides);
- DDX_Control(pDX, IDC_D_EDITELEM_TEXT, m_editText);
- DDX_Text(pDX, IDC_D_EDITELEM_TEXT, m_strText);
- DDX_Check(pDX, IDC_D_EDITELEM_SETALL, m_bSetAllSides);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CEditElementTextDialog, CDialog)
- //{{AFX_MSG_MAP(CEditElementTextDialog)
+wxBEGIN_EVENT_TABLE(CEditElementTextDialog, wxDialog)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -84,17 +75,32 @@ void CEditElementTextDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
// CEditElementTextDialog message handlers
-BOOL CEditElementTextDialog::OnInitDialog()
+bool CEditElementTextDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
+ m_strTextTemp = m_strText.wx_str();
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
+
+ wxTextPos nChars = m_editText->GetLastPosition();
+ m_editText->SetFocus();
+ m_editText->SetSelection(value_preserving_cast(nChars), value_preserving_cast(nChars));
+ m_chkAllSides->Enable(m_nSides >= size_t(2));
+ return true;
+}
- int nChars = m_editText.GetWindowTextLength();
- m_editText.SetFocus();
- m_editText.SetSel(nChars, nChars, TRUE);
- m_chkAllSides.EnableWindow(m_nSides >= size_t(2));
- return FALSE;
+bool CEditElementTextDialog::TransferDataFromWindow()
+{
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+ m_strText = m_strTextTemp;
+ return true;
}
diff --git a/GP/DlgEdtEl.h b/GP/DlgEdtEl.h
index b3d9a95..5ce64d0 100644
--- a/GP/DlgEdtEl.h
+++ b/GP/DlgEdtEl.h
@@ -1,6 +1,6 @@
// DlgEdtEl.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -32,40 +32,38 @@
/////////////////////////////////////////////////////////////////////////////
// CEditElementTextDialog dialog
-class CEditElementTextDialog : public CDialog
+class CEditElementTextDialog : public wxDialog
{
// Construction
public:
- CEditElementTextDialog(CWnd* pParent = NULL); // standard constructor
+ CEditElementTextDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CEditElementTextDialog)
- enum { IDD = IDD_EDIT_ELEMENT_TEXT };
- CButton m_chkAllSides;
- CEdit m_editText;
CB::string m_strText;
- BOOL m_bSetAllSides;
- //}}AFX_DATA
+ bool m_bSetAllSides;
size_t m_nSides;
+private:
+ wxString m_strTextTemp;
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_chkAllSides;
+ RefPtr m_editText;
+ CB_XRC_END_CTRLS_DECL()
+public:
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CEditElementTextDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
+protected:
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
// Implementation
protected:
- // Generated message map functions
- //{{AFX_MSG(CEditElementTextDialog)
- virtual BOOL OnInitDialog();
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
#endif
diff --git a/GP/DlgItray.cpp b/GP/DlgItray.cpp
index d258798..419342b 100644
--- a/GP/DlgItray.cpp
+++ b/GP/DlgItray.cpp
@@ -1,6 +1,6 @@
// DlgITray.cpp : implementation file
//
-// Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -38,32 +38,33 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CImportTraysDlg dialog
-CImportTraysDlg::CImportTraysDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CImportTraysDlg::IDD, pParent)
+CImportTraysDlg::CImportTraysDlg(CGamDoc& doc, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CImportTraysDlg)
+ CB_XRC_CTRL(m_listGroups)
+ CB_XRC_END_CTRLS_DEFN(),
+ m_pDoc(&doc)
{
- //{{AFX_DATA_INIT(CImportTraysDlg)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- m_pDoc = NULL;
-}
-
-void CImportTraysDlg::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CImportTraysDlg)
- DDX_Control(pDX, IDC_D_IMPPCE_GROUPLIST, m_listGroups);
- //}}AFX_DATA_MAP
+ // adjust m_listGroups size
+ for (int i = 0; i < 12; ++i)
+ {
+ m_listGroups->Append(wxEmptyString);
+ }
+ Layout();
+ Fit();
+ Centre();
+ m_listGroups->Clear();
}
-BEGIN_MESSAGE_MAP(CImportTraysDlg, CDialog)
- //{{AFX_MSG_MAP(CImportTraysDlg)
+wxBEGIN_EVENT_TABLE(CImportTraysDlg, wxDialog)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
- ON_BN_CLICKED(IDC_D_IMPPCE_SELECTALL, OnBnClickedSelectAll)
- ON_BN_CLICKED(IDC_D_IMPPCE_CLEARALL, OnBnClickedClearAll)
-END_MESSAGE_MAP()
+#endif
+ EVT_BUTTON(XRCID("OnBnClickedSelectAll"), OnBnClickedSelectAll)
+ EVT_BUTTON(XRCID("OnBnClickedClearAll"), OnBnClickedClearAll)
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -82,18 +83,20 @@ void CImportTraysDlg::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
// CImportTraysDlg message handlers
-BOOL CImportTraysDlg::OnInitDialog()
+bool CImportTraysDlg::TransferDataToWindow()
{
- ASSERT(m_pDoc != NULL); // MUST BE SET
- CDialog::OnInitDialog();
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
const CPieceManager& pPMgr = m_pDoc->GetPieceManager();
- CTrayManager* pYMgr = m_pDoc->GetTrayManager();
- ASSERT(pYMgr != NULL);
+ CTrayManager& pYMgr = m_pDoc->GetTrayManager();
// Loop through all the piece groups in the gamebox. If a group
// already doesn't exist as a tray in the scenario, add it to the
@@ -103,59 +106,66 @@ BOOL CImportTraysDlg::OnInitDialog()
{
CB::string strName = pPMgr.GetPieceSet(nPSet).GetName();
size_t nTray;
- for (nTray = size_t(0); nTray < pYMgr->GetNumTraySets(); nTray++)
+ for (nTray = size_t(0); nTray < pYMgr.GetNumTraySets(); nTray++)
{
- if (strName.CompareNoCase(pYMgr->GetTraySet(nTray).GetName()) == 0)
+ if (strName.CompareNoCase(pYMgr.GetTraySet(nTray).GetName()) == 0)
break;
}
- if (nTray >= pYMgr->GetNumTraySets())
+ if (nTray >= pYMgr.GetNumTraySets())
{
// Found one...
- int nIdx = m_listGroups.AddString(strName);
- m_listGroups.SetItemData(nIdx, nPSet);
- m_listGroups.SetCheck(nIdx, 0);
+ int nIdx = m_listGroups->Append(strName);
+ m_listGroups->SetClientData(value_preserving_cast(nIdx), reinterpret_cast(value_preserving_cast(nPSet)));
+ m_listGroups->Check(value_preserving_cast(nIdx), false);
}
}
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
+ return TRUE;
}
-void CImportTraysDlg::OnOK()
+bool CImportTraysDlg::TransferDataFromWindow()
{
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+
const CPieceManager& pPMgr = m_pDoc->GetPieceManager();
- CTrayManager* pYMgr = m_pDoc->GetTrayManager();
- CPieceTable* pPTbl = m_pDoc->GetPieceTable();
- ASSERT(pPTbl != NULL);
+ CTrayManager& pYMgr = m_pDoc->GetTrayManager();
+ CPieceTable& pPTbl = m_pDoc->GetPieceTable();
- for (int i = 0; i < m_listGroups.GetCount(); i++)
+ for (unsigned int i = 0u ; i < m_listGroups->GetCount() ; ++i)
{
- if (m_listGroups.GetCheck(i) > 0)
+ if (m_listGroups->IsChecked(i))
{
- size_t nPSet = value_preserving_cast(m_listGroups.GetItemData(i));
+ size_t nPSet = value_preserving_cast(reinterpret_cast(m_listGroups->GetClientData(i)));
const CPieceSet& pPSet = pPMgr.GetPieceSet(nPSet);
// Create tray and add pieces...
- size_t nTray = pYMgr->CreateTraySet(pPSet.GetName());
- CTraySet& pYSet = pYMgr->GetTraySet(nTray);
+ size_t nTray = pYMgr.CreateTraySet(pPSet.GetName());
+ CTraySet& pYSet = pYMgr.GetTraySet(nTray);
// Locate only those pieces that aren't currently being used.
- std::vector arrUnusedPieces = pPTbl->LoadUnusedPieceList(nPSet);
- pPTbl->SetPieceListAsFrontUp(arrUnusedPieces);
+ std::vector arrUnusedPieces = pPTbl.LoadUnusedPieceList(nPSet);
+ pPTbl.SetPieceListAsFrontUp(arrUnusedPieces);
pYSet.AddPieceList(arrUnusedPieces);
}
}
- CDialog::OnOK();
+ return true;
}
-void CImportTraysDlg::OnBnClickedSelectAll()
+void CImportTraysDlg::OnBnClickedSelectAll(wxCommandEvent& /*event*/)
{
- for (int i = 0; i < m_listGroups.GetCount(); i++)
- m_listGroups.SetCheck(i, 1);
+ for (unsigned int i = 0u ; i < m_listGroups->GetCount() ; ++i)
+ {
+ m_listGroups->Check(i, true);
+ }
}
-void CImportTraysDlg::OnBnClickedClearAll()
+void CImportTraysDlg::OnBnClickedClearAll(wxCommandEvent& /*event*/)
{
- for (int i = 0; i < m_listGroups.GetCount(); i++)
- m_listGroups.SetCheck(i, 0);
+ for (unsigned int i = 0u ; i < m_listGroups->GetCount() ; ++i)
+ {
+ m_listGroups->Check(i, false);
+ }
}
diff --git a/GP/DlgItray.h b/GP/DlgItray.h
index 59ec2f6..cb236dd 100644
--- a/GP/DlgItray.h
+++ b/GP/DlgItray.h
@@ -1,6 +1,6 @@
// DlgITray.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -32,44 +32,36 @@
/////////////////////////////////////////////////////////////////////////////
// CImportTraysDlg dialog
-class CImportTraysDlg : public CDialog
+class CImportTraysDlg : public wxDialog
{
// Construction
public:
- CImportTraysDlg(CWnd* pParent = NULL); // standard constructor
+ CImportTraysDlg(CGamDoc& doc, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CImportTraysDlg)
- enum { IDD = IDD_IMPORTPIECEGROUPS };
- CCheckListBox m_listGroups;
- //}}AFX_DATA
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_listGroups;
+ CB_XRC_END_CTRLS_DECL()
- CGamDoc* m_pDoc;
+ RefPtr m_pDoc;
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CImportTraysDlg)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
+public:
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
// Implementation
protected:
- // Generated message map functions
- //{{AFX_MSG(CImportTraysDlg)
- virtual BOOL OnInitDialog();
- virtual void OnOK();
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
public:
- afx_msg void OnBnClickedSelectAll();
- afx_msg void OnBnClickedClearAll();
+ void OnBnClickedSelectAll(wxCommandEvent& event);
+ void OnBnClickedClearAll(wxCommandEvent& event);
};
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
#endif // _DLGITRAY_H_
diff --git a/GP/DlgMPly.cpp b/GP/DlgMPly.cpp
index f70acfa..6453166 100644
--- a/GP/DlgMPly.cpp
+++ b/GP/DlgMPly.cpp
@@ -1,6 +1,6 @@
// DlgMPly.cpp
//
-// Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -36,34 +36,36 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CMultiplayerGameDialog dialog
-CMultiplayerGameDialog::CMultiplayerGameDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CMultiplayerGameDialog::IDD, pParent)
+CMultiplayerGameDialog::CMultiplayerGameDialog(CPlayerManager& pm, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CMultiplayerGameDialog)
+ CB_XRC_CTRL(m_static1)
+ CB_XRC_CTRL_VAL(m_chkCreateReferee, m_bCreateReferee)
+ CB_XRC_CTRL(m_static2)
+ CB_XRC_CTRL(m_editPlayer)
+ CB_XRC_CTRL(m_listPlayers)
+ CB_XRC_END_CTRLS_DEFN(),
+ m_pPlayerMgr(&pm)
{
- //{{AFX_DATA_INIT(CMultiplayerGameDialog)
m_bCreateReferee = FALSE;
- //}}AFX_DATA_INIT
- m_pPlayerMgr = NULL;
-}
-void CMultiplayerGameDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CMultiplayerGameDialog)
- DDX_Control(pDX, IDC_D_MPGAME_PLAYER_NAME, m_editPlayer);
- DDX_Control(pDX, IDC_D_MPGAME_PLAYER_LIST, m_listPlayers);
- DDX_Check(pDX, IDC_D_MPGAME_CREATE_REFEREE, m_bCreateReferee);
- //}}AFX_DATA_MAP
+ wxSize chkSize = m_chkCreateReferee->GetBestSize();
+ m_static1->Wrap(chkSize.GetWidth());
+ m_static2->Wrap(chkSize.GetWidth());
+ /* adding content to listbox may change its size, so no
+ reason to adjust layout yet despite changing static
+ wrap */
}
-BEGIN_MESSAGE_MAP(CMultiplayerGameDialog, CDialog)
- //{{AFX_MSG_MAP(CMultiplayerGameDialog)
- ON_BN_CLICKED(IDC_D_MPGAME, OnBtnPressUpdateName)
- ON_LBN_SELCHANGE(IDC_D_MPGAME_PLAYER_LIST, OnSelChangePlayerList)
+wxBEGIN_EVENT_TABLE(CMultiplayerGameDialog, wxDialog)
+ EVT_BUTTON(XRCID("OnBtnPressUpdateName"), OnBtnPressUpdateName)
+ EVT_LISTBOX(XRCID("m_listPlayers"), OnSelChangePlayerList)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -85,50 +87,67 @@ void CMultiplayerGameDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
// CMultiplayerGameDialog message handlers
-void CMultiplayerGameDialog::OnBtnPressUpdateName()
+void CMultiplayerGameDialog::OnBtnPressUpdateName(wxCommandEvent& /*event*/)
{
- CB::string strEdit = CB::string::GetWindowText(m_editPlayer);
+ CB::string strEdit = m_editPlayer->GetValue();
if (!strEdit.empty())
{
- int nSel = m_listPlayers.GetCurSel();
- if (nSel >= 0)
+ int nSel = m_listPlayers->GetSelection();
+ if (nSel != wxNOT_FOUND)
{
- m_listPlayers.DeleteString(nSel);
- m_listPlayers.InsertString(nSel, strEdit);
+ m_listPlayers->Delete(value_preserving_cast(nSel));
+ m_listPlayers->Insert(strEdit, value_preserving_cast(nSel));
}
}
}
-void CMultiplayerGameDialog::OnSelChangePlayerList()
+void CMultiplayerGameDialog::OnSelChangePlayerList(wxCommandEvent& /*event*/)
{
- int nSel = m_listPlayers.GetCurSel();
- if (nSel >= 0)
+ int nSel = m_listPlayers->GetSelection();
+ if (nSel != wxNOT_FOUND)
{
- CB::string strEdit = CB::string::GetText(m_listPlayers, nSel);
- m_editPlayer.SetWindowText(strEdit);
+ CB::string strEdit = m_listPlayers->GetString(value_preserving_cast(nSel));
+ m_editPlayer->SetValue(strEdit);
}
}
-BOOL CMultiplayerGameDialog::OnInitDialog()
+bool CMultiplayerGameDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
- ASSERT(m_pPlayerMgr != NULL);
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
+
+ for (const Player& player : *m_pPlayerMgr)
+ {
+ m_listPlayers->Append(player.m_strName);
+ }
- for (int i = 0; i < m_pPlayerMgr->GetSize(); i++)
- m_listPlayers.AddString(m_pPlayerMgr->ElementAt(i).m_strName);
+ // all controls are ready, so now adjust layout
+ SetMinSize(wxDefaultSize);
+ Fit();
+ Centre();
- return TRUE; // return TRUE unless you set the focus to a control
+ return TRUE;
}
-void CMultiplayerGameDialog::OnOK()
+bool CMultiplayerGameDialog::TransferDataFromWindow()
{
- for (int i = 0; i < m_pPlayerMgr->GetSize(); i++)
- m_pPlayerMgr->ElementAt(i).m_strName = CB::string::GetText(m_listPlayers, i);
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+
+ for (size_t i = size_t(0) ; i < m_pPlayerMgr->size() ; ++i)
+ {
+ (*m_pPlayerMgr)[PlayerId(i)].m_strName = m_listPlayers->GetString(value_preserving_cast(i));
+ }
- CDialog::OnOK();
+ return true;
}
diff --git a/GP/DlgMPly.h b/GP/DlgMPly.h
index fe39d15..0c5bb3b 100644
--- a/GP/DlgMPly.h
+++ b/GP/DlgMPly.h
@@ -1,6 +1,6 @@
// DlgMPly.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -34,42 +34,39 @@
class CPlayerManager;
-class CMultiplayerGameDialog : public CDialog
+class CMultiplayerGameDialog : public wxDialog
{
// Construction
public:
- CMultiplayerGameDialog(CWnd* pParent = NULL); // standard constructor
+ CMultiplayerGameDialog(CPlayerManager& pm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CMultiplayerGameDialog)
- enum { IDD = IDD_MULTIPLAYER_GAME };
- CEdit m_editPlayer;
- CListBox m_listPlayers;
- BOOL m_bCreateReferee;
- //}}AFX_DATA
+ bool m_bCreateReferee;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_static1;
+ RefPtr m_chkCreateReferee;
+ RefPtr m_static2;
+ RefPtr m_editPlayer;
+ RefPtr m_listPlayers;
+ CB_XRC_END_CTRLS_DECL()
- CPlayerManager* m_pPlayerMgr;
+ RefPtr m_pPlayerMgr;
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CMultiplayerGameDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
// Implementation
protected:
- // Generated message map functions
- //{{AFX_MSG(CMultiplayerGameDialog)
- afx_msg void OnBtnPressUpdateName();
- afx_msg void OnSelChangePlayerList();
- virtual BOOL OnInitDialog();
- virtual void OnOK();
+ void OnBtnPressUpdateName(wxCommandEvent& event);
+ void OnSelChangePlayerList(wxCommandEvent& event);
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
#endif
diff --git a/GP/DlgMarkCount.cpp b/GP/DlgMarkCount.cpp
index f3000c8..8f30a03 100644
--- a/GP/DlgMarkCount.cpp
+++ b/GP/DlgMarkCount.cpp
@@ -1,6 +1,6 @@
// DlgMarkCount.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -36,29 +36,18 @@ static char THIS_FILE[] = __FILE__;
// CMarkerCountDialog dialog
-CMarkerCountDialog::CMarkerCountDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CMarkerCountDialog::IDD, pParent)
+CMarkerCountDialog::CMarkerCountDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CMarkerCountDialog)
+ CB_XRC_CTRL_VAL(m_editMarkerCount, m_nMarkerCount, 2, 25)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CMarkerCountDialog)
- m_nMarkerCount = 0;
- //}}AFX_DATA_INIT
-}
-
+ // KLUDGE: don't see a way to use GetSizeFromText() in .xrc
+ wxSize editSize = m_editMarkerCount->GetSizeFromText("99");
+ m_editMarkerCount->SetInitialSize(editSize);
+ SetMinSize(wxDefaultSize);
+ Layout();
+ Fit();
+ Centre();
-void CMarkerCountDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CMarkerCountDialog)
- DDX_Text(pDX, IDC_MRKCNT_NUMBER, m_nMarkerCount);
- DDV_MinMaxInt(pDX, m_nMarkerCount, 2, 25);
- //}}AFX_DATA_MAP
+ m_nMarkerCount = 0;
}
-
-
-BEGIN_MESSAGE_MAP(CMarkerCountDialog, CDialog)
- //{{AFX_MSG_MAP(CMarkerCountDialog)
- // NOTE: the ClassWizard will add message map macros here
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
diff --git a/GP/DlgMarkCount.h b/GP/DlgMarkCount.h
index ff1d64b..2b7e93f 100644
--- a/GP/DlgMarkCount.h
+++ b/GP/DlgMarkCount.h
@@ -1,6 +1,6 @@
// DlgMarkCount.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -32,34 +32,24 @@
/////////////////////////////////////////////////////////////////////////////
// CMarkerCountDialog dialog
-class CMarkerCountDialog : public CDialog
+class CMarkerCountDialog : public wxDialog
{
// Construction
public:
- CMarkerCountDialog(CWnd* pParent = NULL); // standard constructor
+ CMarkerCountDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CMarkerCountDialog)
- enum { IDD = IDD_MARKER_COUNT };
int m_nMarkerCount;
- //}}AFX_DATA
-
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editMarkerCount;
+ CB_XRC_END_CTRLS_DECL()
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CMarkerCountDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
// Implementation
protected:
- // Generated message map functions
- //{{AFX_MSG(CMarkerCountDialog)
- // NOTE: the ClassWizard will add member functions here
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
};
#endif
diff --git a/GP/DlgMdesc.cpp b/GP/DlgMdesc.cpp
index 34e0d00..269c629 100644
--- a/GP/DlgMdesc.cpp
+++ b/GP/DlgMdesc.cpp
@@ -1,6 +1,6 @@
// dlgmdesc.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -34,34 +34,24 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CMovDescDialog dialog
-CMovDescDialog::CMovDescDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CMovDescDialog::IDD, pParent)
+CMovDescDialog::CMovDescDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CMovDescDialog)
+ CB_XRC_CTRL_VAL(m_editDesc, m_strDesc, wxFILTER_NONE, 2048)
+ CB_XRC_CTRL_VAL(m_editTitle, m_strTitle, wxFILTER_NONE, 64)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CMovDescDialog)
m_strDesc = "";
m_strTitle = "";
- //}}AFX_DATA_INIT
}
-void CMovDescDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CMovDescDialog)
- DDX_Text(pDX, IDC_D_MDESC_DESCR, m_strDesc);
- DDV_MaxChars(pDX, m_strDesc, 2048);
- DDX_Text(pDX, IDC_D_MDESC_TITLE, m_strTitle);
- DDV_MaxChars(pDX, m_strTitle, 64);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CMovDescDialog, CDialog)
- //{{AFX_MSG_MAP(CMovDescDialog)
- // NOTE: the ClassWizard will add message map macros here
+wxBEGIN_EVENT_TABLE(CMovDescDialog, wxDialog)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -81,6 +71,7 @@ void CMovDescDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
// CMovDescDialog message handlers
diff --git a/GP/DlgMdesc.h b/GP/DlgMdesc.h
index e07bf05..d6f7e87 100644
--- a/GP/DlgMdesc.h
+++ b/GP/DlgMdesc.h
@@ -1,6 +1,6 @@
// DlgMdesc.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -25,28 +25,26 @@
/////////////////////////////////////////////////////////////////////////////
// CMovDescDialog dialog
-class CMovDescDialog : public CDialog
+class CMovDescDialog : public wxDialog
{
// Construction
public:
- CMovDescDialog(CWnd* pParent = NULL); // standard constructor
+ CMovDescDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CMovDescDialog)
- enum { IDD = IDD_GMOVDESCR };
- CB::string m_strDesc;
- CB::string m_strTitle;
- //}}AFX_DATA
+ wxString m_strDesc;
+ wxString m_strTitle;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editDesc;
+ RefPtr m_editTitle;
+ CB_XRC_END_CTRLS_DECL()
// Implementation
protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
-
- // Generated message map functions
- //{{AFX_MSG(CMovDescDialog)
- // NOTE: the ClassWizard will add member functions here
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
diff --git a/GP/DlgNPly.cpp b/GP/DlgNPly.cpp
index 6017b55..02021f2 100644
--- a/GP/DlgNPly.cpp
+++ b/GP/DlgNPly.cpp
@@ -1,6 +1,6 @@
// DlgNPly.cpp
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -35,27 +35,17 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CCreatePlayersDialog dialog
-CCreatePlayersDialog::CCreatePlayersDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CCreatePlayersDialog::IDD, pParent)
+CCreatePlayersDialog::CCreatePlayersDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CCreatePlayersDialog)
+ CB_XRC_CTRL_VAL(m_editPlayerCount, m_nPlayerCount, size_t(0), size_t(26))
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CCreatePlayersDialog)
m_nPlayerCount = size_t(0);
- //}}AFX_DATA_INIT
-}
-void CCreatePlayersDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CCreatePlayersDialog)
- DDX_Text(pDX, IDC_D_CPLAY_NUM_PLAYERS, m_nPlayerCount);
- DDV_MinMaxUInt(pDX, value_preserving_cast(m_nPlayerCount), 0, 26);
- //}}AFX_DATA_MAP
+ // KLUDGE: don't see a way to use GetSizeFromText() in .xrc
+ wxSize editSize = m_editPlayerCount->GetSizeFromText("99");
+ m_editPlayerCount->SetInitialSize(editSize);
+ SetMinSize(wxDefaultSize);
+ Fit();
+ Centre();
}
-
-BEGIN_MESSAGE_MAP(CCreatePlayersDialog, CDialog)
- //{{AFX_MSG_MAP(CCreatePlayersDialog)
- // NOTE: the ClassWizard will add message map macros here
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
diff --git a/GP/DlgNPly.h b/GP/DlgNPly.h
index 88064cc..27fcb5b 100644
--- a/GP/DlgNPly.h
+++ b/GP/DlgNPly.h
@@ -1,6 +1,6 @@
// DlgNPly.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -32,34 +32,18 @@
/////////////////////////////////////////////////////////////////////////////
// CCreatePlayersDialog dialog
-class CCreatePlayersDialog : public CDialog
+class CCreatePlayersDialog : public wxDialog
{
// Construction
public:
- CCreatePlayersDialog(CWnd* pParent = NULL); // standard constructor
+ CCreatePlayersDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CCreatePlayersDialog)
- enum { IDD = IDD_CREATE_PLAYERS };
size_t m_nPlayerCount;
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CCreatePlayersDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(CCreatePlayersDialog)
- // NOTE: the ClassWizard will add member functions here
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editPlayerCount;
+ CB_XRC_END_CTRLS_DECL()
};
#endif
diff --git a/GP/DlgNewGeoBoard.cpp b/GP/DlgNewGeoBoard.cpp
index 66f2eda..619c296 100644
--- a/GP/DlgNewGeoBoard.cpp
+++ b/GP/DlgNewGeoBoard.cpp
@@ -1,6 +1,6 @@
// DlgNewGeoBoard.cpp : implementation file
//
-// Copyright (c) 1994-2024 By Dale L. Larson & William Su, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -40,12 +40,18 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CCreateGeomorphicBoardDialog dialog
-CCreateGeomorphicBoardDialog::CCreateGeomorphicBoardDialog(CGamDoc& doc, CWnd* pParent /*=NULL*/)
- : CDialog(CCreateGeomorphicBoardDialog::IDD, pParent),
+CCreateGeomorphicBoardDialog::CCreateGeomorphicBoardDialog(CGamDoc& doc, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CCreateGeomorphicBoardDialog)
+ , m_btnOK(XRCCTRL(*this, "wxID_OK", std::remove_reference_t))
+ CB_XRC_CTRL(m_btnClearList)
+ CB_XRC_CTRL(m_btnAddBreak)
+ CB_XRC_CTRL(m_btnAddBoard)
+ CB_XRC_CTRL(m_listGeo)
+ CB_XRC_CTRL(m_editBoardName)
+ CB_XRC_CTRL(m_listBoard)
+ CB_XRC_END_CTRLS_DEFN(),
m_pDoc(&doc)
{
- //{{AFX_DATA_INIT(CCreateGeomorphicBoardDialog)
- //}}AFX_DATA_INIT
m_nCurrentRowHeight = size_t(0);
m_nCurrentColumn = size_t(0);
m_nMaxColumns = size_t(0);
@@ -54,37 +60,21 @@ CCreateGeomorphicBoardDialog::CCreateGeomorphicBoardDialog(CGamDoc& doc, CWnd* p
/////////////////////////////////////////////////////////////////////////////
-void CCreateGeomorphicBoardDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CCreateGeomorphicBoardDialog)
- DDX_Control(pDX, IDOK, m_btnOK);
- DDX_Control(pDX, IDC_D_NEWGEO_CLEAR, m_btnClearList);
- DDX_Control(pDX, IDC_D_NEWGEO_ADD_BREAK, m_btnAddBreak);
- DDX_Control(pDX, IDC_D_NEWGEO_ADD_BOARD, m_btnAddBoard);
- DDX_Control(pDX, IDC_D_NEWGEO_GEOMORPHIC_LIST, m_listGeo);
- DDX_Control(pDX, IDC_D_NEWGEO_BOARD_NAME, m_editBoardName);
- DDX_Control(pDX, IDC_D_NEWGEO_BOARD_LIST, m_listBoard);
- //}}AFX_DATA_MAP
-}
-
-/////////////////////////////////////////////////////////////////////////////
-
-BEGIN_MESSAGE_MAP(CCreateGeomorphicBoardDialog, CDialog)
- //{{AFX_MSG_MAP(CCreateGeomorphicBoardDialog)
- ON_LBN_SELCHANGE(IDC_D_NEWGEO_BOARD_LIST, OnSelChangeBoardList)
- ON_BN_CLICKED(IDC_D_NEWGEO_ADD_BOARD, OnBtnPressedAddBoard)
- ON_BN_CLICKED(IDC_D_NEWGEO_ADD_BREAK, OnBtnPressedAddBreak)
- ON_BN_CLICKED(IDC_D_NEWGEO_CLEAR, OnBtnPressClear)
- ON_EN_CHANGE(IDC_D_NEWGEO_BOARD_NAME, OnChangeBoardName)
- ON_LBN_DBLCLK(IDC_D_NEWGEO_BOARD_LIST, OnDblClickBoardList)
+wxBEGIN_EVENT_TABLE(CCreateGeomorphicBoardDialog, wxDialog)
+ EVT_LISTBOX(XRCID("m_listBoard"), OnSelChangeBoardList)
+ EVT_BUTTON(XRCID("m_btnAddBoard"), OnBtnPressedAddBoard)
+ EVT_BUTTON(XRCID("m_btnAddBreak"), OnBtnPressedAddBreak)
+ EVT_BUTTON(XRCID("m_btnClearList"), OnBtnPressClear)
+ EVT_TEXT(XRCID("m_editBoardName"), OnChangeBoardName)
+ EVT_LISTBOX_DCLICK(XRCID("m_listBoard"), OnDblClickBoardList)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
ON_BN_CLICKED(IDC_D_NEWGEO_HELP, OnBtnPressedHelp)
- ON_WM_DESTROY()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -98,12 +88,13 @@ static DWORD adwHelpMap[] =
IDC_D_NEWGEO_BOARD_LIST, IDH_D_NEWGEO_BOARD_LIST,
0,0
};
+#endif
/////////////////////////////////////////////////////////////////////////////
void CCreateGeomorphicBoardDialog::LoadBoardListWithCompliantBoards()
{
- ResetContent(m_listBoard);
+ ResetContent(*m_listBoard);
if (m_nMaxColumns != size_t(0) && m_nCurrentColumn == m_nMaxColumns)
return; // No boards allowed since row break is only option
@@ -176,47 +167,47 @@ void CCreateGeomorphicBoardDialog::LoadBoardListWithCompliantBoards()
continue;
}
static const CB::string suffix[] = { "", " - 90°", " - 180°", " - 270°" };
- int nItem = m_listBoard.AddString(pBrd.GetName() + suffix[ptrdiff_t(r)]);
- m_listBoard.SetItemDataPtr(nItem, ge.release());
+ int nItem = m_listBoard->Append(pBrd.GetName() + suffix[ptrdiff_t(r)]);
+ m_listBoard->SetClientData(value_preserving_cast(nItem), ge.release());
}
}
- if (m_listBoard.GetCount() > 0)
- m_listBoard.SetCurSel(0);
+ if (m_listBoard->GetCount() > 0)
+ m_listBoard->SetSelection(0);
}
void CCreateGeomorphicBoardDialog::UpdateButtons()
{
- BOOL bEnableOK = m_editBoardName.GetWindowTextLength() > size_t(0) &&
- m_listGeo.GetCount() > size_t(0) &&
+ BOOL bEnableOK = !m_editBoardName->GetValue().empty() &&
+ m_listGeo->GetCount() > size_t(0) &&
(m_nCurrentColumn == m_nMaxColumns || m_nMaxColumns == size_t(0));
- m_btnOK.EnableWindow(bEnableOK);
+ m_btnOK->Enable(bEnableOK);
if (m_pRootBoard == NULL)
{
// Nothing added yet. Don't allow row break.
- m_btnAddBreak.EnableWindow(FALSE);
- m_btnAddBoard.EnableWindow(m_listBoard.GetCurSel() >= 0);
+ m_btnAddBreak->Enable(FALSE);
+ m_btnAddBoard->Enable(m_listBoard->GetSelection() != wxNOT_FOUND);
}
else if (m_nMaxColumns == size_t(0) && !m_tblColWidth.empty())
{
// At least one column but no row break yet. Allow anything.
- m_btnAddBreak.EnableWindow(TRUE);
- m_btnAddBoard.EnableWindow(m_listBoard.GetCurSel() >= 0);
+ m_btnAddBreak->Enable(TRUE);
+ m_btnAddBoard->Enable(m_listBoard->GetSelection() != wxNOT_FOUND);
}
else if (m_nMaxColumns > size_t(0) && m_nCurrentColumn == m_nMaxColumns)
{
- m_btnAddBreak.EnableWindow(TRUE);
- m_btnAddBoard.EnableWindow(FALSE);
+ m_btnAddBreak->Enable(TRUE);
+ m_btnAddBoard->Enable(FALSE);
}
else
{
// Somewhere other than the end of a follow on row
// of boards. Only allow adding a board.
- m_btnAddBreak.EnableWindow(FALSE);
- m_btnAddBoard.EnableWindow(m_listBoard.GetCurSel() >= 0);
+ m_btnAddBreak->Enable(FALSE);
+ m_btnAddBoard->Enable(m_listBoard->GetSelection() != wxNOT_FOUND);
}
- m_btnClearList.EnableWindow(m_listGeo.GetCount() > 0);
+ m_btnClearList->Enable(m_listGeo->GetCount() > 0);
}
OwnerPtr CCreateGeomorphicBoardDialog::DetachGeomorphicBoard()
@@ -227,26 +218,26 @@ OwnerPtr CCreateGeomorphicBoardDialog::DetachGeomorphicBoard()
/////////////////////////////////////////////////////////////////////////////
// CCreateGeomorphicBoardDialog message handlers
-void CCreateGeomorphicBoardDialog::OnSelChangeBoardList()
+void CCreateGeomorphicBoardDialog::OnSelChangeBoardList(wxCommandEvent& /*event*/)
{
UpdateButtons();
}
-void CCreateGeomorphicBoardDialog::OnChangeBoardName()
+void CCreateGeomorphicBoardDialog::OnChangeBoardName(wxCommandEvent& /*event*/)
{
UpdateButtons();
}
-void CCreateGeomorphicBoardDialog::OnDblClickBoardList()
+void CCreateGeomorphicBoardDialog::OnDblClickBoardList(wxCommandEvent& event)
{
- if (m_btnAddBoard.IsWindowEnabled())
- OnBtnPressedAddBoard();
+ if (m_btnAddBoard->IsEnabled())
+ OnBtnPressedAddBoard(event);
}
-void CCreateGeomorphicBoardDialog::OnBtnPressedAddBoard()
+void CCreateGeomorphicBoardDialog::OnBtnPressedAddBoard(wxCommandEvent& /*event*/)
{
- ASSERT(m_listBoard.GetCurSel() >= 0);
- CGeoBoardElement& ge = *static_cast(m_listBoard.GetItemDataPtr(m_listBoard.GetCurSel()));
+ wxASSERT(m_listBoard->GetSelection() != wxNOT_FOUND);
+ CGeoBoardElement& ge = *static_cast(m_listBoard->GetClientData(m_listBoard->GetSelection()));
CBoardManager& pBMgr = m_pDoc->GetBoardManager();
const CBoard& pBrd = pBMgr.Get(ge);
const CBoardArray& pBArray = pBrd.GetBoardArray();
@@ -258,30 +249,30 @@ void CCreateGeomorphicBoardDialog::OnBtnPressedAddBoard()
if (m_nCurrentRowHeight == size_t(0))
m_nCurrentRowHeight = pBArray.GetRows();
- CB::string strLabel = CB::string::GetText(m_listBoard, m_listBoard.GetCurSel());
+ CB::string strLabel = m_listBoard->GetString(m_listBoard->GetSelection());
- int nItem = m_listGeo.AddString(strLabel);
- m_listGeo.SetItemDataPtr(nItem, new CGeoBoardElement(ge));
+ int nItem = m_listGeo->Append(strLabel);
+ m_listGeo->SetClientData(value_preserving_cast(nItem), new CGeoBoardElement(ge));
m_nCurrentColumn++;
if (m_nCurrentColumn == m_nMaxColumns)
{
- m_btnAddBoard.EnableWindow(FALSE);
- m_btnAddBreak.EnableWindow(TRUE);
+ m_btnAddBoard->Enable(FALSE);
+ m_btnAddBreak->Enable(TRUE);
}
else if (m_nMaxColumns == size_t(0) && !m_tblColWidth.empty())
- m_btnAddBreak.EnableWindow(TRUE);
+ m_btnAddBreak->Enable(TRUE);
LoadBoardListWithCompliantBoards();
UpdateButtons();
}
-void CCreateGeomorphicBoardDialog::OnBtnPressedAddBreak()
+void CCreateGeomorphicBoardDialog::OnBtnPressedAddBreak(wxCommandEvent& /*event*/)
{
CB::string str = CB::string::LoadString(IDS_ROW_BREAK);
- int nItem = m_listGeo.AddString(str);
- m_listGeo.SetItemDataPtr(nItem, nullptr);
+ int nItem = m_listGeo->Append(str);
+ m_listGeo->SetClientData(value_preserving_cast(nItem), nullptr);
m_nMaxColumns = m_tblColWidth.size();
m_nRowNumber++;
@@ -292,9 +283,9 @@ void CCreateGeomorphicBoardDialog::OnBtnPressedAddBreak()
UpdateButtons();
}
-void CCreateGeomorphicBoardDialog::OnBtnPressClear()
+void CCreateGeomorphicBoardDialog::OnBtnPressClear(wxCommandEvent& /*event*/)
{
- ResetContent(m_listGeo);
+ ResetContent(*m_listGeo);
m_nMaxColumns = size_t(0);
m_nCurrentColumn = size_t(0);
m_nCurrentRowHeight = size_t(0);
@@ -306,39 +297,50 @@ void CCreateGeomorphicBoardDialog::OnBtnPressClear()
UpdateButtons();
}
-BOOL CCreateGeomorphicBoardDialog::OnInitDialog()
+bool CCreateGeomorphicBoardDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
LoadBoardListWithCompliantBoards();
UpdateButtons();
+ // update layout after filling in m_listBoard
+ Fit();
+ Centre();
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
+ return TRUE;
}
-void CCreateGeomorphicBoardDialog::OnOK()
+bool CCreateGeomorphicBoardDialog::TransferDataFromWindow()
{
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+
m_pGeoBoard = MakeOwner(*m_pDoc);
- CB::string strName = CB::string::GetWindowText(m_editBoardName);
+ CB::string strName = m_editBoardName->GetValue();
m_pGeoBoard->SetName(strName);
- m_pGeoBoard->SetSerialNumber(m_pDoc->GetPBoardManager()->IssueGeoSerialNumber());
+ m_pGeoBoard->SetSerialNumber(m_pDoc->GetPBoardManager().IssueGeoSerialNumber());
m_pGeoBoard->SetBoardRowCount(m_nRowNumber + size_t(1));
m_pGeoBoard->SetBoardColCount(m_tblColWidth.size());
- for (int i = 0; i < m_listGeo.GetCount(); i++)
+ for (unsigned int i = 0u; i < m_listGeo->GetCount(); i++)
{
- CGeoBoardElement* ge = static_cast(m_listGeo.GetItemDataPtr(i));
+ CGeoBoardElement* ge = static_cast(m_listGeo->GetClientData(i));
if (!ge)
continue; // Skip the row break
m_pGeoBoard->AddElement(ge->m_nBoardSerialNum, ge->m_rotation);
}
- CDialog::OnOK();
+ return true;
}
+#if 0
BOOL CCreateGeomorphicBoardDialog::OnHelpInfo(HELPINFO* pHelpInfo)
{
return GetApp()->DoHelpTipHelp(pHelpInfo, adwHelpMap);
@@ -353,18 +355,20 @@ void CCreateGeomorphicBoardDialog::OnBtnPressedHelp()
{
GetApp()->DoHelpTopic("gp-adv-geomorphic.htm");
}
+#endif
-void CCreateGeomorphicBoardDialog::OnDestroy()
+// see https://docs.wxwidgets.org/latest/classwx_window_destroy_event.html
+CCreateGeomorphicBoardDialog::~CCreateGeomorphicBoardDialog()
{
- ResetContent(m_listBoard);
- ResetContent(m_listGeo);
+ ResetContent(*m_listBoard);
+ ResetContent(*m_listGeo);
}
-void CCreateGeomorphicBoardDialog::ResetContent(CListBox& lb)
+void CCreateGeomorphicBoardDialog::ResetContent(wxListBox& lb)
{
- for (int i = 0; i < lb.GetCount(); ++i)
+ for (unsigned int i = 0u; i < lb.GetCount(); ++i)
{
- delete static_cast(lb.GetItemDataPtr(i));
+ delete static_cast(lb.GetClientData(i));
}
- lb.ResetContent();
+ lb.Clear();
}
diff --git a/GP/DlgNewGeoBoard.h b/GP/DlgNewGeoBoard.h
index a113be0..2bb97c9 100644
--- a/GP/DlgNewGeoBoard.h
+++ b/GP/DlgNewGeoBoard.h
@@ -1,6 +1,6 @@
// DlgNewGeoBoard.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -35,11 +35,13 @@
class CGamDoc;
class CGeomorphicBoard;
-class CCreateGeomorphicBoardDialog : public CDialog
+class CCreateGeomorphicBoardDialog : public wxDialog
{
// Construction
public:
- CCreateGeomorphicBoardDialog(CGamDoc& doc, CWnd* pParent = NULL); // standard constructor
+ CCreateGeomorphicBoardDialog(CGamDoc& doc, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
+ // see https://docs.wxwidgets.org/latest/classwx_window_destroy_event.html
+ ~CCreateGeomorphicBoardDialog();
// Operations
public:
@@ -47,28 +49,22 @@ class CCreateGeomorphicBoardDialog : public CDialog
OwnerPtr DetachGeomorphicBoard();
// Dialog Data
- //{{AFX_DATA(CCreateGeomorphicBoardDialog)
- enum { IDD = IDD_GEOMORPHIC_BOARD };
- CButton m_btnOK;
- CButton m_btnClearList;
- CButton m_btnAddBreak;
- CButton m_btnAddBoard;
- CListBox m_listGeo;
- CEdit m_editBoardName;
- CListBox m_listBoard;
- //}}AFX_DATA
-
private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_btnOK;
+ RefPtr m_btnClearList;
+ RefPtr m_btnAddBreak;
+ RefPtr m_btnAddBoard;
+ RefPtr m_listGeo;
+ RefPtr m_editBoardName;
+ RefPtr m_listBoard;
+ CB_XRC_END_CTRLS_DECL()
+
RefPtr m_pDoc;
public:
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CCreateGeomorphicBoardDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
// Implementation - vars
protected:
@@ -89,24 +85,22 @@ class CCreateGeomorphicBoardDialog : public CDialog
void LoadBoardListWithCompliantBoards();
void UpdateButtons();
- // Generated message map functions
- //{{AFX_MSG(CCreateGeomorphicBoardDialog)
- virtual BOOL OnInitDialog();
- virtual void OnOK();
- afx_msg void OnSelChangeBoardList();
- afx_msg void OnBtnPressedAddBoard();
- afx_msg void OnBtnPressedAddBreak();
- afx_msg void OnBtnPressClear();
- afx_msg void OnChangeBoardName();
- afx_msg void OnDblClickBoardList();
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
+ void OnSelChangeBoardList(wxCommandEvent& event);
+ void OnBtnPressedAddBoard(wxCommandEvent& event);
+ void OnBtnPressedAddBreak(wxCommandEvent& event);
+ void OnBtnPressClear(wxCommandEvent& event);
+ void OnChangeBoardName(wxCommandEvent& event);
+ void OnDblClickBoardList(wxCommandEvent& event);
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
afx_msg void OnBtnPressedHelp();
- afx_msg void OnDestroy();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
- static void ResetContent(CListBox& lb);
+ static void ResetContent(wxListBox& lb);
};
#endif
diff --git a/GP/DlgPass.cpp b/GP/DlgPass.cpp
index 5ca5eb3..922750a 100644
--- a/GP/DlgPass.cpp
+++ b/GP/DlgPass.cpp
@@ -1,6 +1,6 @@
// DlgPass.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -36,29 +36,34 @@ static char THIS_FILE[] = __FILE__;
// CPasswordDialog dialog
-CPasswordDialog::CPasswordDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CPasswordDialog::IDD, pParent)
+CPasswordDialog::CPasswordDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CPasswordDialog)
+ CB_XRC_CTRL_VAL(m_editPassword, tempPassword)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CPasswordDialog)
m_strPassword = "";
- //}}AFX_DATA_INIT
}
-
-void CPasswordDialog::DoDataExchange(CDataExchange* pDX)
+bool CPasswordDialog::TransferDataToWindow()
{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CPasswordDialog)
- DDX_Text(pDX, IDC_D_GETPASS_PASSWORD, m_strPassword);
- //}}AFX_DATA_MAP
+ tempPassword = m_strPassword.wx_str();
+
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
+
+ return TRUE;
}
+bool CPasswordDialog::TransferDataFromWindow()
+{
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
-BEGIN_MESSAGE_MAP(CPasswordDialog, CDialog)
- //{{AFX_MSG_MAP(CPasswordDialog)
- // NOTE: the ClassWizard will add message map macros here
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+ m_strPassword = tempPassword;
-/////////////////////////////////////////////////////////////////////////////
-// CPasswordDialog message handlers
+ return true;
+}
diff --git a/GP/DlgPass.h b/GP/DlgPass.h
index 7909e2c..fb3b29a 100644
--- a/GP/DlgPass.h
+++ b/GP/DlgPass.h
@@ -1,6 +1,6 @@
// DlgPass.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -32,34 +32,24 @@
/////////////////////////////////////////////////////////////////////////////
// CPasswordDialog dialog
-class CPasswordDialog : public CDialog
+class CPasswordDialog : public wxDialog
{
// Construction
public:
- CPasswordDialog(CWnd* pParent = NULL); // standard constructor
+ CPasswordDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CPasswordDialog)
- enum { IDD = IDD_GET_PASSWORD };
CB::string m_strPassword;
- //}}AFX_DATA
-
+private:
+ wxString tempPassword;
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editPassword;
+ CB_XRC_END_CTRLS_DECL()
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CPasswordDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(CPasswordDialog)
- // NOTE: the ClassWizard will add member functions here
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+public:
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
};
#endif
diff --git a/GP/DlgPbprp.cpp b/GP/DlgPbprp.cpp
index a77b4cc..cec0d33 100644
--- a/GP/DlgPbprp.cpp
+++ b/GP/DlgPbprp.cpp
@@ -1,6 +1,6 @@
// DlgPbprp.cpp - Playing board properties
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -37,10 +37,31 @@ static char THIS_FILE[] = __FILE__;
// CPBrdPropDialog dialog
-CPBrdPropDialog::CPBrdPropDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CPBrdPropDialog::IDD, pParent)
+CPBrdPropDialog::CPBrdPropDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CPBrdPropDialog)
+ CB_XRC_CTRL(m_chkAllowAccess)
+ CB_XRC_CTRL(m_chkPrivate)
+ CB_XRC_CTRL(m_comboOwners)
+ CB_XRC_CTRL(m_staticOwnerLabel)
+ CB_XRC_CTRL(m_cpPlotColor)
+ CB_XRC_CTRL(m_comboPlotWd)
+ CB_XRC_CTRL_VAL(m_chkGridSnap, m_bGridSnap)
+ CB_XRC_CTRL_VAL(m_chkSmallCellBorders, m_bSmallCellBorders)
+ CB_XRC_CTRL_VAL(m_chkCellBorders, m_bCellBorders)
+ CB_XRC_CTRL_VAL(m_editXStackStagger, m_xStackStagger, -256, 256)
+ CB_XRC_CTRL_VAL(m_editYStackStagger, m_yStackStagger, -256, 256)
+ CB_XRC_CTRL_VAL(m_editBoardName, m_strBoardName)
+ CB_XRC_CTRL_VAL(m_chkGridRectCenters, m_bGridRectCenters)
+ CB_XRC_CTRL_VAL(m_chkSnapMovePlot, m_bSnapMovePlot)
+ CB_XRC_CTRL_VAL(m_editXGridSnapOff, m_fXGridSnapOff, 0.f, 255.999f)
+ CB_XRC_CTRL_VAL(m_editYGridSnapOff, m_fYGridSnapOff, 0.f, 255.999f)
+ CB_XRC_CTRL_VAL(m_editXGridSnap, m_fXGridSnap, 2.f, 256.f)
+ CB_XRC_CTRL_VAL(m_editYGridSnap, m_fYGridSnap, 2.f, 256.f)
+ CB_XRC_CTRL_VAL(m_chkOpenBoardOnLoad, m_bOpenBoardOnLoad)
+ CB_XRC_CTRL_VAL(m_chkShowSelListAndTinyMap, m_bShowSelListAndTinyMap)
+ CB_XRC_CTRL_VAL(m_chkDrawLockedBeneath, m_bDrawLockedBeneath)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CPBrdPropDialog)
m_bGridSnap = FALSE;
m_bSmallCellBorders = FALSE;
m_bCellBorders = FALSE;
@@ -56,57 +77,23 @@ CPBrdPropDialog::CPBrdPropDialog(CWnd* pParent /*=NULL*/)
m_bOpenBoardOnLoad = FALSE;
m_bShowSelListAndTinyMap = FALSE;
m_bDrawLockedBeneath = TRUE;
- //}}AFX_DATA_INIT
- m_crPlotColor = RGB(0,0,0);
- m_nPlotWd = 1;
+ m_crPlotColor = wxColour(0,0,0);
+ m_nPlotWd = uint32_t(1);
m_bNonOwnerAccess = FALSE;
m_bPrivate = FALSE;
- m_nOwnerSel = -1;
+ m_nOwnerSel = INVALID_PLAYER;
m_pPlayerMgr = NULL;
m_bOwnerInfoIsReadOnly = FALSE;
}
-void CPBrdPropDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CPBrdPropDialog)
- DDX_Control(pDX, IDC_D_PBPRP_NONOWNER_ACCESS, m_chkAllowAccess);
- DDX_Control(pDX, IDC_D_PBPRP_NONOWNER_HIDE, m_chkPrivate);
- DDX_Control(pDX, IDC_D_PBPRP_OWNER_LIST, m_comboOwners);
- DDX_Control(pDX, IDC_D_PBPRP_OWNER_LABEL, m_staticOwnerLabel);
- DDX_Control(pDX, IDC_D_PBPRP_PLOTCOLOR, m_cpPlotColor);
- DDX_Control(pDX, IDC_D_PBPRP_PLOTWIDTH, m_comboPlotWd);
- DDX_Check(pDX, IDC_D_PBPRP_SNAPON, m_bGridSnap);
- DDX_Check(pDX, IDC_D_PBPRP_S_CELLBORDER, m_bSmallCellBorders);
- DDX_Check(pDX, IDC_D_PBPRP_L_CELLBORDER, m_bCellBorders);
- DDX_Text(pDX, IDC_D_PBPRP_XPCE_STGGR, m_xStackStagger);
- DDV_MinMaxInt(pDX, m_xStackStagger, -256, 256);
- DDX_Text(pDX, IDC_D_PBPRP_YPCE_STGGR, m_yStackStagger);
- DDV_MinMaxInt(pDX, m_yStackStagger, -256, 256);
- DDX_Text(pDX, IDC_D_PBPRP_BOARDNAME, m_strBoardName);
- DDX_Check(pDX, IDC_D_PBPRP_S_RECTCENTER, m_bGridRectCenters);
- DDX_Check(pDX, IDC_D_PBPRP_S_SNAPPLOTS, m_bSnapMovePlot);
- DDX_Text(pDX, IDC_D_PBPRP_XOFFSET, m_fXGridSnapOff);
- DDV_MinMaxFloat(pDX, m_fXGridSnapOff, 0.f, 255.999f);
- DDX_Text(pDX, IDC_D_PBPRP_YOFFSET, m_fYGridSnapOff);
- DDV_MinMaxFloat(pDX, m_fYGridSnapOff, 0.f, 255.999f);
- DDX_Text(pDX, IDC_D_PBPRP_XPIXELS, m_fXGridSnap);
- DDV_MinMaxFloat(pDX, m_fXGridSnap, 2.f, 256.f);
- DDX_Text(pDX, IDC_D_PBPRP_YPIXELS, m_fYGridSnap);
- DDV_MinMaxFloat(pDX, m_fYGridSnap, 2.f, 256.f);
- DDX_Check(pDX, IDC_D_PBPRP_AUTOOPEN, m_bOpenBoardOnLoad);
- DDX_Check(pDX, IDC_D_PBPRP_SHOW_SEL_AND_TINY, m_bShowSelListAndTinyMap);
- DDX_Check(pDX, IDC_D_PBPRP_DRAW_LOCKED_BENEATH, m_bDrawLockedBeneath);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CPBrdPropDialog, CDialog)
- //{{AFX_MSG_MAP(CPBrdPropDialog)
+wxBEGIN_EVENT_TABLE(CPBrdPropDialog, wxDialog)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -143,19 +130,23 @@ void CPBrdPropDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
// CPBrdPropDialog message handlers
-void CPBrdPropDialog::OnOK()
+bool CPBrdPropDialog::TransferDataFromWindow()
{
- m_crPlotColor = m_cpPlotColor.GetColor();
+ m_crPlotColor = m_cpPlotColor->GetColour();
- int nIdx = m_comboPlotWd.GetCurSel();
- if (nIdx >= 0)
- m_nPlotWd = nIdx + 1;
+ int nIdx = m_comboPlotWd->GetSelection();
+ if (nIdx != wxNOT_FOUND)
+ m_nPlotWd = value_preserving_cast(nIdx) + uint32_t(1);
- CDialog::OnOK();
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
// Make sure these are within grid size
@@ -164,7 +155,7 @@ void CPBrdPropDialog::OnOK()
m_xGridSnap = value_preserving_cast(std::round(m_fXGridSnap * 1000));
m_yGridSnap = value_preserving_cast(std::round(m_fYGridSnap * 1000));
- ASSERT(m_xGridSnap > 0u && m_yGridSnap > 0u);
+ wxASSERT(m_xGridSnap > 0u && m_yGridSnap > 0u);
if (m_xGridSnap > 0u)
m_xGridSnapOff = m_xGridSnapOff % m_xGridSnap;
if (m_yGridSnap > 0u)
@@ -172,59 +163,60 @@ void CPBrdPropDialog::OnOK()
if (m_pPlayerMgr != NULL && !m_bOwnerInfoIsReadOnly)
{
- m_nOwnerSel = m_comboOwners.GetCurSel() - 1;
- m_bNonOwnerAccess = m_chkAllowAccess.GetCheck() != 0;
- m_bPrivate = m_chkPrivate.GetCheck() != 0;
+ m_nOwnerSel = PlayerId(m_comboOwners->GetSelection() - 1);
+ m_bNonOwnerAccess = m_chkAllowAccess->GetValue();
+ m_bPrivate = m_chkPrivate->GetValue();
}
+
+ return true;
}
-BOOL CPBrdPropDialog::OnInitDialog()
+bool CPBrdPropDialog::TransferDataToWindow()
{
m_fXGridSnapOff = value_preserving_cast(m_xGridSnapOff) / 1000.f;
m_fYGridSnapOff = value_preserving_cast(m_yGridSnapOff) / 1000.f;
m_fXGridSnap = value_preserving_cast(m_xGridSnap) / 1000.f;
m_fYGridSnap = value_preserving_cast(m_yGridSnap) / 1000.f;
- CDialog::OnInitDialog();
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
- m_cpPlotColor.SetColor(m_crPlotColor);
+ m_cpPlotColor->SetColour(m_crPlotColor);
- if (m_nPlotWd <= 0)
- m_nPlotWd = 1;
- ASSERT((int)m_nPlotWd <= m_comboPlotWd.GetCount());
- m_comboPlotWd.SetCurSel(m_nPlotWd - 1);
+ if (m_nPlotWd == 0u)
+ m_nPlotWd = 1u;
+ wxASSERT(m_nPlotWd <= m_comboPlotWd->GetCount());
+ m_comboPlotWd->SetSelection(value_preserving_cast(m_nPlotWd) - 1);
if (m_pPlayerMgr == NULL)
{
- m_comboOwners.EnableWindow(FALSE);
- m_staticOwnerLabel.EnableWindow(FALSE);
- m_chkAllowAccess.SetCheck(0);
- m_chkAllowAccess.EnableWindow(FALSE);
- m_chkPrivate.SetCheck(0);
- m_chkPrivate.EnableWindow(FALSE);
+ m_comboOwners->Enable(FALSE);
+ m_staticOwnerLabel->Enable(FALSE);
+ m_chkAllowAccess->SetValue(false);
+ m_chkAllowAccess->Enable(FALSE);
+ m_chkPrivate->SetValue(false);
+ m_chkPrivate->Enable(FALSE);
}
else
{
CB::string str = CB::string::LoadString(IDS_LBL_NO_OWNER);
- m_comboOwners.AddString(str);
- for (int i = 0; i < m_pPlayerMgr->GetSize(); i++)
- m_comboOwners.AddString(m_pPlayerMgr->GetAt(i).m_strName);
- m_comboOwners.SetCurSel(m_nOwnerSel + 1);
- m_chkAllowAccess.SetCheck(m_bNonOwnerAccess ? 1 : 0);
- m_chkPrivate.SetCheck(m_bPrivate ? 1 : 0);
+ m_comboOwners->Append(str);
+ for (const Player& player : *m_pPlayerMgr)
+ {
+ m_comboOwners->Append(player.m_strName);
+ }
+ m_comboOwners->SetSelection(static_cast(m_nOwnerSel) + 1);
+ m_chkAllowAccess->SetValue(m_bNonOwnerAccess);
+ m_chkPrivate->SetValue(m_bPrivate);
}
if (m_bOwnerInfoIsReadOnly)
{
- m_comboOwners.EnableWindow(FALSE);
- m_chkAllowAccess.EnableWindow(FALSE);
- m_chkPrivate.EnableWindow(FALSE);
+ m_comboOwners->Enable(FALSE);
+ m_chkAllowAccess->Enable(FALSE);
+ m_chkPrivate->Enable(FALSE);
}
return TRUE; // return TRUE unless you set the focus to a control
}
-
-
-void CPBrdPropDialog::OnBnClickedDPbprpShowSelAndTiny2()
-{
- // TODO: Add your control notification handler code here
-}
diff --git a/GP/DlgPbprp.h b/GP/DlgPbprp.h
index 3172560..e1ff773 100644
--- a/GP/DlgPbprp.h
+++ b/GP/DlgPbprp.h
@@ -1,6 +1,6 @@
// DlgPbprp.h - Playing board properties
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -27,39 +27,26 @@
class CPlayerManager;
-class CPBrdPropDialog : public CDialog
+class CPBrdPropDialog : public wxDialog
{
// Construction
public:
- CPBrdPropDialog(CWnd* pParent = NULL); // standard constructor
+ CPBrdPropDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CPBrdPropDialog)
- enum { IDD = IDD_PBRDPROP };
- CButton m_chkAllowAccess;
- CButton m_chkPrivate;
- CComboBox m_comboOwners;
- CStatic m_staticOwnerLabel;
- CMFCColorButton m_cpPlotColor;
- CComboBox m_comboPlotWd;
- BOOL m_bGridSnap;
- BOOL m_bSmallCellBorders;
- BOOL m_bCellBorders;
+ bool m_bGridSnap;
+ bool m_bSmallCellBorders;
+ bool m_bCellBorders;
int m_xStackStagger;
int m_yStackStagger;
- CB::string m_strBoardName;
- BOOL m_bGridRectCenters;
- BOOL m_bSnapMovePlot;
- float m_fXGridSnapOff;
- float m_fYGridSnapOff;
- float m_fXGridSnap;
- float m_fYGridSnap;
- BOOL m_bOpenBoardOnLoad;
- BOOL m_bShowSelListAndTinyMap;
- BOOL m_bDrawLockedBeneath;
- //}}AFX_DATA
+ wxString m_strBoardName;
+ bool m_bGridRectCenters;
+ bool m_bSnapMovePlot;
+ bool m_bOpenBoardOnLoad;
+ bool m_bShowSelListAndTinyMap;
+ bool m_bDrawLockedBeneath;
- COLORREF m_crPlotColor;
+ wxColour m_crPlotColor;
UINT m_nPlotWd;
uint32_t m_xGridSnapOff;
@@ -70,23 +57,46 @@ class CPBrdPropDialog : public CDialog
BOOL m_bOwnerInfoIsReadOnly;
BOOL m_bNonOwnerAccess;
BOOL m_bPrivate;
- int m_nOwnerSel; // -1 = no owner, 0 = first player, ....
+ PlayerId m_nOwnerSel; // -1 = no owner, 0 = first player, ....
CPlayerManager* m_pPlayerMgr;
+private:
+ float m_fXGridSnapOff;
+ float m_fYGridSnapOff;
+ float m_fXGridSnap;
+ float m_fYGridSnap;
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_chkAllowAccess;
+ RefPtr m_chkPrivate;
+ RefPtr m_comboOwners;
+ RefPtr m_staticOwnerLabel;
+ RefPtr m_cpPlotColor;
+ RefPtr m_comboPlotWd;
+ RefPtr m_chkGridSnap;
+ RefPtr m_chkSmallCellBorders;
+ RefPtr m_chkCellBorders;
+ RefPtr m_editXStackStagger;
+ RefPtr m_editYStackStagger;
+ RefPtr m_editBoardName;
+ RefPtr m_chkGridRectCenters;
+ RefPtr m_chkSnapMovePlot;
+ RefPtr m_editXGridSnapOff;
+ RefPtr m_editYGridSnapOff;
+ RefPtr m_editXGridSnap;
+ RefPtr m_editYGridSnap;
+ RefPtr m_chkOpenBoardOnLoad;
+ RefPtr m_chkShowSelListAndTinyMap;
+ RefPtr m_chkDrawLockedBeneath;
+ CB_XRC_END_CTRLS_DECL()
// Implementation
protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
-
- // Generated message map functions
- //{{AFX_MSG(CPBrdPropDialog)
- virtual void OnOK();
- virtual BOOL OnInitDialog();
+ bool TransferDataFromWindow() override;
+ bool TransferDataToWindow() override;
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-public:
- afx_msg void OnBnClickedDPbprpShowSelAndTiny2();
+#endif
+ wxDECLARE_EVENT_TABLE();
};
diff --git a/GP/DlgRmsg.h b/GP/DlgRmsg.h
index 63e1e5c..5cfa5a6 100644
--- a/GP/DlgRmsg.h
+++ b/GP/DlgRmsg.h
@@ -25,6 +25,7 @@
/////////////////////////////////////////////////////////////////////////////
// CReadMsgDialog dialog
+#error dead code
class CReadMsgDialog : public CDialog
{
DECLARE_DYNAMIC(CReadMsgDialog)
diff --git a/GP/DlgRot.h b/GP/DlgRot.h
index 5eca43c..4d1e74d 100644
--- a/GP/DlgRot.h
+++ b/GP/DlgRot.h
@@ -24,6 +24,7 @@
/////////////////////////////////////////////////////////////////////////////
// CRotateDialog dialog
+#error dead code
class CDib;
diff --git a/GP/DlgRotpc.cpp b/GP/DlgRotpc.cpp
index ac9e835..0439717 100644
--- a/GP/DlgRotpc.cpp
+++ b/GP/DlgRotpc.cpp
@@ -1,6 +1,6 @@
// DlgRotpc.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -35,36 +35,41 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CRotatePieceDialog dialog
-CRotatePieceDialog::CRotatePieceDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CRotatePieceDialog::IDD, pParent)
+CRotatePieceDialog::CRotatePieceDialog(CWnd& v, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CRotatePieceDialog)
+ CB_XRC_CTRL_VAL(m_editCurVal, m_nRelativeRotation, -359, 359, wxNUM_VAL_SIGN_PLUS)
+ CB_XRC_END_CTRLS_DEFN(),
+ view(&v)
{
- m_nRelativeRotation = 0;
-}
+ // KLUDGE: don't see a way to use GetSizeFromText() in .xrc
+ wxSize size = m_editCurVal->GetSizeFromText("+999"_cbstring);
+ m_editCurVal->CacheBestSize(size);
+ SetMinSize(wxDefaultSize);
+ Layout();
+ Fit();
+ Centre();
-void CRotatePieceDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CRotatePieceDialog)
- DDX_Control(pDX, IDC_D_ROTPCE_CURVAL, m_editCurVal);
- //}}AFX_DATA_MAP
+ m_nRelativeRotation = 0;
}
-BEGIN_MESSAGE_MAP(CRotatePieceDialog, CDialog)
- //{{AFX_MSG_MAP(CRotatePieceDialog)
- ON_BN_CLICKED(IDC_D_ROTPCE_CCW1, OnRotatePieceCCW1)
- ON_BN_CLICKED(IDC_D_ROTPCE_CCW5, OnRotatePieceCCW5)
- ON_BN_CLICKED(IDC_D_ROTPCE_CCW10, OnRotatePieceCCW10)
- ON_BN_CLICKED(IDC_D_ROTPCE_CCW50, OnRotatePieceCCW50)
- ON_BN_CLICKED(IDC_D_ROTPCE_CW1, OnRotatePieceCW1)
- ON_BN_CLICKED(IDC_D_ROTPCE_CW5, OnRotatePieceCW5)
- ON_BN_CLICKED(IDC_D_ROTPCE_CW10, OnRotatePieceCW10)
- ON_BN_CLICKED(IDC_D_ROTPCE_CW50, OnRotatePieceCW50)
+
+wxBEGIN_EVENT_TABLE(CRotatePieceDialog, wxDialog)
+ EVT_BUTTON(XRCID("OnRotatePieceCCW1"), OnRotatePieceCCW1)
+ EVT_BUTTON(XRCID("OnRotatePieceCCW5"), OnRotatePieceCCW5)
+ EVT_BUTTON(XRCID("OnRotatePieceCCW10"), OnRotatePieceCCW10)
+ EVT_BUTTON(XRCID("OnRotatePieceCCW50"), OnRotatePieceCCW50)
+ EVT_BUTTON(XRCID("OnRotatePieceCW1"), OnRotatePieceCW1)
+ EVT_BUTTON(XRCID("OnRotatePieceCW5"), OnRotatePieceCW5)
+ EVT_BUTTON(XRCID("OnRotatePieceCW10"), OnRotatePieceCW10)
+ EVT_BUTTON(XRCID("OnRotatePieceCW50"), OnRotatePieceCW50)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -91,73 +96,54 @@ void CRotatePieceDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
// CRotatePieceDialog message handlers
-void CRotatePieceDialog::UpdateRotationValue()
-{
- CB::string szBfr;
- if (m_nRelativeRotation != 0)
- {
- szBfr = std::format(L"{}{}", m_nRelativeRotation < 0 ? L'-' : L'+',
- abs(m_nRelativeRotation));
- }
- else
- szBfr = "0";
- m_editCurVal.SetWindowText(szBfr);
-}
-
void CRotatePieceDialog::ApplyOffset(int nOffset)
{
m_nRelativeRotation = (m_nRelativeRotation + nOffset) % 360;
- m_pParentWnd->SendMessage(WM_ROTATEPIECE_DELTA, (WPARAM)m_nRelativeRotation);
- UpdateRotationValue();
+ view->SendMessage(WM_ROTATEPIECE_DELTA, (WPARAM)m_nRelativeRotation);
+ TransferDataToWindow();
}
-void CRotatePieceDialog::OnRotatePieceCCW1()
+void CRotatePieceDialog::OnRotatePieceCCW1(wxCommandEvent& /*event*/)
{
ApplyOffset(-1);
}
-void CRotatePieceDialog::OnRotatePieceCCW5()
+void CRotatePieceDialog::OnRotatePieceCCW5(wxCommandEvent& /*event*/)
{
ApplyOffset(-5);
}
-void CRotatePieceDialog::OnRotatePieceCCW10()
+void CRotatePieceDialog::OnRotatePieceCCW10(wxCommandEvent& /*event*/)
{
ApplyOffset(-10);
}
-void CRotatePieceDialog::OnRotatePieceCCW50()
+void CRotatePieceDialog::OnRotatePieceCCW50(wxCommandEvent& /*event*/)
{
ApplyOffset(-50);
}
-void CRotatePieceDialog::OnRotatePieceCW1()
+void CRotatePieceDialog::OnRotatePieceCW1(wxCommandEvent& /*event*/)
{
ApplyOffset(1);
}
-void CRotatePieceDialog::OnRotatePieceCW5()
+void CRotatePieceDialog::OnRotatePieceCW5(wxCommandEvent& /*event*/)
{
ApplyOffset(5);
}
-void CRotatePieceDialog::OnRotatePieceCW10()
+void CRotatePieceDialog::OnRotatePieceCW10(wxCommandEvent& /*event*/)
{
ApplyOffset(10);
}
-void CRotatePieceDialog::OnRotatePieceCW50()
+void CRotatePieceDialog::OnRotatePieceCW50(wxCommandEvent& /*event*/)
{
ApplyOffset(50);
}
-
-BOOL CRotatePieceDialog::OnInitDialog()
-{
- CDialog::OnInitDialog();
- UpdateRotationValue();
- return TRUE;
-}
diff --git a/GP/DlgRotpc.h b/GP/DlgRotpc.h
index f811d2f..7bc339b 100644
--- a/GP/DlgRotpc.h
+++ b/GP/DlgRotpc.h
@@ -1,6 +1,6 @@
// DlgRotpc.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -32,44 +32,45 @@
/////////////////////////////////////////////////////////////////////////////
// CRotatePieceDialog dialog
-class CRotatePieceDialog : public CDialog
+class CRotatePieceDialog : public wxDialog
{
// Construction
public:
- CRotatePieceDialog(CWnd* pParent = NULL); // standard constructor
+ /* TEMPORARY: this needs to send msgs to the view, but that
+ hasn't been converted to wx yet, so can't be passed as
+ parent */
+ CRotatePieceDialog(CWnd& v, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CRotatePieceDialog)
- enum { IDD = IDD_ROTATEPIECE };
- CEdit m_editCurVal;
- //}}AFX_DATA
-
int m_nRelativeRotation;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editCurVal;
+ CB_XRC_END_CTRLS_DECL()
// Overrides
protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual BOOL OnInitDialog();
// Implementation
protected:
void ApplyOffset(int nOffset);
- void UpdateRotationValue();
- // Generated message map functions
- //{{AFX_MSG(CRotatePieceDialog)
- afx_msg void OnRotatePieceCCW1();
- afx_msg void OnRotatePieceCCW5();
- afx_msg void OnRotatePieceCCW10();
- afx_msg void OnRotatePieceCCW50();
- afx_msg void OnRotatePieceCW1();
- afx_msg void OnRotatePieceCW5();
- afx_msg void OnRotatePieceCW10();
- afx_msg void OnRotatePieceCW50();
+ void OnRotatePieceCCW1(wxCommandEvent& event);
+ void OnRotatePieceCCW5(wxCommandEvent& event);
+ void OnRotatePieceCCW10(wxCommandEvent& event);
+ void OnRotatePieceCCW50(wxCommandEvent& event);
+ void OnRotatePieceCW1(wxCommandEvent& event);
+ void OnRotatePieceCW5(wxCommandEvent& event);
+ void OnRotatePieceCW10(wxCommandEvent& event);
+ void OnRotatePieceCW50(wxCommandEvent& event);
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
+
+private:
+ RefPtr view;
};
#endif
diff --git a/GP/DlgScnp.cpp b/GP/DlgScnp.cpp
index 3795110..4b2409f 100644
--- a/GP/DlgScnp.cpp
+++ b/GP/DlgScnp.cpp
@@ -1,6 +1,6 @@
// DlgScnp.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -38,37 +38,35 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CScnPropDialog dialog
-CScnPropDialog::CScnPropDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CScnPropDialog::IDD, pParent)
+CScnPropDialog::CScnPropDialog(wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CScnPropDialog)
+ CB_XRC_CTRL_VAL(m_editAuthor, m_strAuthor, wxFILTER_NONE, 60)
+ CB_XRC_CTRL_VAL(m_editTitle, m_strTitle, wxFILTER_NONE, 60)
+ CB_XRC_CTRL_VAL(m_editDescr, m_strDescr, wxFILTER_NONE, 2500)
+ CB_XRC_END_CTRLS_DEFN()
{
- //{{AFX_DATA_INIT(CScnPropDialog)
+ // KLUDGE: don't see a way to use GetSizeFromText() in .xrc
+ wxSize size = m_editTitle->GetSizeFromText(m_editTitle->GetValue());
+ m_editTitle->CacheBestSize(size);
+
+ SetMinSize(wxDefaultSize);
+ Layout();
+ Fit();
+ Centre();
+
m_strAuthor = "";
m_strTitle = "";
m_strDescr = "";
- //}}AFX_DATA_INIT
}
-void CScnPropDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CScnPropDialog)
- DDX_Text(pDX, IDC_D_SCNPRP_AUTHOR, m_strAuthor);
- DDV_MaxChars(pDX, m_strAuthor, 60);
- DDX_Text(pDX, IDC_D_SCNPRP_TITLE, m_strTitle);
- DDV_MaxChars(pDX, m_strTitle, 60);
- DDX_Text(pDX, IDC_D_SCNPRP_DESCR, m_strDescr);
- DDV_MaxChars(pDX, m_strDescr, 2500);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CScnPropDialog, CDialog)
- //{{AFX_MSG_MAP(CScnPropDialog)
- // NOTE: the ClassWizard will add message map macros here
+wxBEGIN_EVENT_TABLE(CScnPropDialog, wxDialog)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -89,4 +87,5 @@ void CScnPropDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
diff --git a/GP/DlgScnp.h b/GP/DlgScnp.h
index 02f796f..34b429f 100644
--- a/GP/DlgScnp.h
+++ b/GP/DlgScnp.h
@@ -1,6 +1,6 @@
// DlgScnp.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -25,29 +25,28 @@
/////////////////////////////////////////////////////////////////////////////
// CScnPropDialog dialog
-class CScnPropDialog : public CDialog
+class CScnPropDialog : public wxDialog
{
// Construction
public:
- CScnPropDialog(CWnd* pParent = NULL); // standard constructor
+ CScnPropDialog(wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CScnPropDialog)
- enum { IDD = IDD_SCNPROP };
- CB::string m_strAuthor;
- CB::string m_strTitle;
- CB::string m_strDescr;
- //}}AFX_DATA
+ wxString m_strAuthor;
+ wxString m_strTitle;
+ wxString m_strDescr;
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editAuthor;
+ RefPtr m_editTitle;
+ RefPtr m_editDescr;
+ CB_XRC_END_CTRLS_DECL()
// Implementation
protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
-
- // Generated message map functions
- //{{AFX_MSG(CScnPropDialog)
- // NOTE: the ClassWizard will add member functions here
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
diff --git a/GP/DlgSelOwner.cpp b/GP/DlgSelOwner.cpp
index 37bd1b2..7371dde 100644
--- a/GP/DlgSelOwner.cpp
+++ b/GP/DlgSelOwner.cpp
@@ -1,6 +1,6 @@
// DlgSelOwner.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -36,35 +36,26 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CSelectNewOwnerDialog dialog
-CSelectNewOwnerDialog::CSelectNewOwnerDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CSelectNewOwnerDialog::IDD, pParent)
+CSelectNewOwnerDialog::CSelectNewOwnerDialog(CPlayerManager& pm, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CSelectNewOwnerDialog)
+ , m_btnOK(XRCCTRL(*this, "wxID_OK", std::remove_reference_t))
+ CB_XRC_CTRL(m_listPlayers)
+ CB_XRC_END_CTRLS_DEFN(),
+ m_pPlayerMgr(&pm)
{
- //{{AFX_DATA_INIT(CSelectNewOwnerDialog)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
-
- m_nPlayer = -1;
- m_pPlayerMgr = NULL;
+ m_nPlayer = INVALID_PLAYER;
}
-void CSelectNewOwnerDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CSelectNewOwnerDialog)
- DDX_Control(pDX, IDOK, m_btnOK);
- DDX_Control(pDX, IDC_D_SELOWN_LIST, m_listPlayers);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CSelectNewOwnerDialog, CDialog)
- //{{AFX_MSG_MAP(CSelectNewOwnerDialog)
- ON_LBN_SELCHANGE(IDC_D_SELOWN_LIST, OnSelChangePlayerList)
- ON_LBN_DBLCLK(IDC_D_SELOWN_LIST, OnDblClkPlayerList)
+wxBEGIN_EVENT_TABLE(CSelectNewOwnerDialog, wxDialog)
+ EVT_LISTBOX(XRCID("m_listPlayers"), OnSelChangePlayerList)
+ EVT_LISTBOX_DCLICK(XRCID("m_listPlayers"), OnDblClkPlayerList)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -83,37 +74,44 @@ void CSelectNewOwnerDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
// CSelectNewOwnerDialog message handlers
-void CSelectNewOwnerDialog::OnOK()
+bool CSelectNewOwnerDialog::TransferDataFromWindow()
{
- m_nPlayer = m_listPlayers.GetCurSel();
- CDialog::OnOK();
+ if (!wxDialog::TransferDataFromWindow())
+ {
+ return false;
+ }
+
+ m_nPlayer = PlayerId(m_listPlayers->GetSelection());
+
+ return true;
}
-BOOL CSelectNewOwnerDialog::OnInitDialog()
+bool CSelectNewOwnerDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
-
- for (int i = 0; i < m_pPlayerMgr->GetSize(); i++)
- m_listPlayers.AddString(m_pPlayerMgr->ElementAt(i).m_strName);
+ m_listPlayers->Clear();
+ for (const Player& player : *m_pPlayerMgr)
+ m_listPlayers->AppendString(player.m_strName);
- if (m_nPlayer >= 0)
- m_listPlayers.SetCurSel(m_nPlayer);
- m_btnOK.EnableWindow(m_listPlayers.GetCurSel() >= 0);
+ if (m_nPlayer != INVALID_PLAYER)
+ m_listPlayers->SetSelection(static_cast(m_nPlayer));
+ m_btnOK->Enable(m_listPlayers->GetSelection() != wxNOT_FOUND);
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
+ return wxDialog::TransferDataToWindow();
}
-void CSelectNewOwnerDialog::OnSelChangePlayerList()
+void CSelectNewOwnerDialog::OnSelChangePlayerList(wxCommandEvent& /*event*/)
{
- m_btnOK.EnableWindow(m_listPlayers.GetCurSel() >= 0);
+ m_btnOK->Enable(m_listPlayers->GetSelection() != wxNOT_FOUND);
}
-void CSelectNewOwnerDialog::OnDblClkPlayerList()
+void CSelectNewOwnerDialog::OnDblClkPlayerList(wxCommandEvent& /*event*/)
{
- OnOK();
+ wxCommandEvent event(wxEVT_BUTTON, m_btnOK->GetId());
+ event.SetEventObject(&*m_btnOK);
+ m_btnOK->HandleWindowEvent(event);
}
diff --git a/GP/DlgSelOwner.h b/GP/DlgSelOwner.h
index 458ed45..5d038d5 100644
--- a/GP/DlgSelOwner.h
+++ b/GP/DlgSelOwner.h
@@ -1,6 +1,6 @@
// DlgSelOwner.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -32,42 +32,38 @@
/////////////////////////////////////////////////////////////////////////////
// CSelectNewOwnerDialog dialog
-class CSelectNewOwnerDialog : public CDialog
+class CSelectNewOwnerDialog : public wxDialog
{
// Construction
public:
- CSelectNewOwnerDialog(CWnd* pParent = NULL); // standard constructor
+ CSelectNewOwnerDialog(CPlayerManager& pm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CSelectNewOwnerDialog)
- enum { IDD = IDD_SELECT_OWNER };
- CButton m_btnOK;
- CListBox m_listPlayers;
- //}}AFX_DATA
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_btnOK;
+ RefPtr m_listPlayers;
+ CB_XRC_END_CTRLS_DECL()
- int m_nPlayer;
- CPlayerManager* m_pPlayerMgr;
+public:
+ PlayerId m_nPlayer;
+private:
+ RefPtr m_pPlayerMgr;
// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CSelectNewOwnerDialog)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
// Implementation
protected:
- // Generated message map functions
- //{{AFX_MSG(CSelectNewOwnerDialog)
- virtual void OnOK();
- virtual BOOL OnInitDialog();
- afx_msg void OnSelChangePlayerList();
- afx_msg void OnDblClkPlayerList();
+ bool TransferDataFromWindow() override;
+ bool TransferDataToWindow() override;
+ void OnSelChangePlayerList(wxCommandEvent& event);
+ void OnDblClkPlayerList(wxCommandEvent& event);
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ wxDECLARE_EVENT_TABLE();
};
#endif
diff --git a/GP/DlgSlbrd.cpp b/GP/DlgSlbrd.cpp
index 286d623..85d171e 100644
--- a/GP/DlgSlbrd.cpp
+++ b/GP/DlgSlbrd.cpp
@@ -1,6 +1,6 @@
// DlgSlbrd.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -37,32 +37,24 @@ static char THIS_FILE[] = __FILE__;
// CSelectBoardsDialog dialog
-CSelectBoardsDialog::CSelectBoardsDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CSelectBoardsDialog::IDD, pParent)
+CSelectBoardsDialog::CSelectBoardsDialog(const CBoardManager& bm, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CSelectBoardsDialog)
+ CB_XRC_CTRL(m_listBoards)
+ CB_XRC_END_CTRLS_DEFN(),
+ m_pBMgr(bm)
{
- //{{AFX_DATA_INIT(CSelectBoardsDialog)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
}
-void CSelectBoardsDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CSelectBoardsDialog)
- DDX_Control(pDX, IDOK, m_btnOK);
- DDX_Control(pDX, IDC_D_SETBRD_LIST, m_listBoards);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CSelectBoardsDialog, CDialog)
- //{{AFX_MSG_MAP(CSelectBoardsDialog)
+wxBEGIN_EVENT_TABLE(CSelectBoardsDialog, wxDialog)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
- ON_BN_CLICKED(IDC_D_SETBRD_SELECTALL, OnBtnClickedSelectAll)
- ON_BN_CLICKED(IDC_D_SETBRD_CLEARALL, OnBtnClickedClearAll)
-END_MESSAGE_MAP()
+#endif
+ EVT_BUTTON(XRCID("OnBtnClickedSelectAll"), OnBtnClickedSelectAll)
+ EVT_BUTTON(XRCID("OnBtnClickedClearAll"), OnBtnClickedClearAll)
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -81,34 +73,39 @@ void CSelectBoardsDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
int CSelectBoardsDialog::FindSerialNumberListIndex(BoardID nSerial) const
{
- for (int i = 0; i < m_listBoards.GetCount(); i++)
+ for (unsigned int i = 0u ; i < m_listBoards->GetCount() ; ++i)
{
- if (static_cast(m_listBoards.GetItemData(i)) == nSerial)
- return i;
+ if (static_cast(reinterpret_cast(m_listBoards->GetClientData(i))) == nSerial)
+ {
+ return value_preserving_cast(i);
+ }
}
- return -1;
+ return wxNOT_FOUND;
}
/////////////////////////////////////////////////////////////////////////////
// CSelectBoardsDialog message handlers
-BOOL CSelectBoardsDialog::OnInitDialog()
+bool CSelectBoardsDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
-
- ASSERT(m_pBMgr != NULL);
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
- for (size_t i = 0; i < m_pBMgr->GetNumBoards(); i++)
+ m_listBoards->Clear();
+ for (size_t i = size_t(0); i < m_pBMgr.GetNumBoards(); i++)
{
- const CBoard& pBoard = m_pBMgr->GetBoard(i);
- int nIdx = m_listBoards.AddString(pBoard.GetName());
- m_listBoards.SetItemData(nIdx, value_preserving_cast(static_cast(pBoard.GetSerialNumber())));
- m_listBoards.SetCheck(nIdx, 0);
+ const CBoard& pBoard = m_pBMgr.GetBoard(i);
+ int nIdx = m_listBoards->Append(pBoard.GetName());
+ m_listBoards->SetClientData(value_preserving_cast(nIdx), reinterpret_cast(value_preserving_cast(static_cast(pBoard.GetSerialNumber()))));
+ m_listBoards->Check(value_preserving_cast(nIdx), false);
}
// If there are actively selected boards. Reselect them.
@@ -116,38 +113,46 @@ BOOL CSelectBoardsDialog::OnInitDialog()
for (size_t i = 0; i < m_tblBrds.size(); i++)
{
int nIdx = FindSerialNumberListIndex(m_tblBrds[i]);
- if (nIdx == -1)
- AfxMessageBox(IDS_ERR_BOARDNOTEXIST, MB_OK | MB_ICONEXCLAMATION);
- m_listBoards.SetCheck(nIdx, 1);
+ if (nIdx == wxNOT_FOUND)
+ {
+ wxMessageBox(CB::string::LoadString(IDS_ERR_BOARDNOTEXIST),
+ CB::GetAppName(),
+ wxOK | wxICON_EXCLAMATION);
+ }
+ m_listBoards->Check(value_preserving_cast(nIdx), true);
}
- return TRUE; // return TRUE unless you set the focus to a control
+ return true;
}
-void CSelectBoardsDialog::OnOK()
+bool CSelectBoardsDialog::TransferDataFromWindow()
{
m_tblBrds.clear(); // Clear the board table
- m_tblBrds.reserve(value_preserving_cast(m_listBoards.GetCount()));
- for (int i = 0; i < m_listBoards.GetCount(); i++)
+ m_tblBrds.reserve(value_preserving_cast(m_listBoards->GetCount()));
+ for (unsigned int i = 0u ; i < m_listBoards->GetCount() ; ++i)
{
- if (m_listBoards.GetCheck(i) > 0)
+ if (m_listBoards->IsChecked(i))
{
// Add serial numbers for selected boards
- m_tblBrds.push_back(static_cast(m_listBoards.GetItemData(i)));
+ m_tblBrds.push_back(static_cast(reinterpret_cast(m_listBoards->GetClientData(i))));
}
}
- CDialog::OnOK();
+ return wxDialog::TransferDataFromWindow();
}
-void CSelectBoardsDialog::OnBtnClickedSelectAll()
+void CSelectBoardsDialog::OnBtnClickedSelectAll(wxCommandEvent& /*event*/)
{
- for (int i = 0; i < m_listBoards.GetCount(); i++)
- m_listBoards.SetCheck(i, 1);
+ for (unsigned int i = 0u ; i < m_listBoards->GetCount() ; ++i)
+ {
+ m_listBoards->Check(i, true);
+ }
}
-void CSelectBoardsDialog::OnBtnClickedClearAll()
+void CSelectBoardsDialog::OnBtnClickedClearAll(wxCommandEvent& /*event*/)
{
- for (int i = 0; i < m_listBoards.GetCount(); i++)
- m_listBoards.SetCheck(i, 0);
+ for (unsigned int i = 0u ; i < m_listBoards->GetCount() ; ++i)
+ {
+ m_listBoards->Check(i, false);
+ }
}
diff --git a/GP/DlgSlbrd.h b/GP/DlgSlbrd.h
index 11648d0..33920a5 100644
--- a/GP/DlgSlbrd.h
+++ b/GP/DlgSlbrd.h
@@ -1,6 +1,6 @@
// DlgSlbrd.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -27,37 +27,31 @@ class CBoardManager;
/////////////////////////////////////////////////////////////////////////////
// CSelectBoardsDialog dialog
-class CSelectBoardsDialog : public CDialog
+class CSelectBoardsDialog : public wxDialog
{
// Construction
public:
- CSelectBoardsDialog(CWnd* pParent = NULL); // standard constructor
+ CSelectBoardsDialog(const CBoardManager& bm, wxWindow* pParent = &CB::GetMainWndWx()); // standard constructor
// Dialog Data
- //{{AFX_DATA(CSelectBoardsDialog)
- enum { IDD = IDD_SETBOARDS };
- CButton m_btnOK;
- CCheckListBox m_listBoards;
- //}}AFX_DATA
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_listBoards;
+ CB_XRC_END_CTRLS_DECL()
std::vector m_tblBrds; // Table of board serial numbers
- const CBoardManager* m_pBMgr; // Pointer to gamebox board manager.
+ const CBoardManager& m_pBMgr; // Pointer to gamebox board manager.
// Implementation
protected:
int FindSerialNumberListIndex(BoardID nSerial) const;
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
-
- // Generated message map functions
- //{{AFX_MSG(CSelectBoardsDialog)
- virtual BOOL OnInitDialog();
- virtual void OnOK();
+ bool TransferDataToWindow() override;
+ bool TransferDataFromWindow() override;
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-public:
- afx_msg void OnBtnClickedSelectAll();
- afx_msg void OnBtnClickedClearAll();
+#endif
+ wxDECLARE_EVENT_TABLE();
+ void OnBtnClickedSelectAll(wxCommandEvent& event);
+ void OnBtnClickedClearAll(wxCommandEvent& event);
};
diff --git a/GP/DlgSmsg.cpp b/GP/DlgSmsg.cpp
index 677305b..041e6be 100644
--- a/GP/DlgSmsg.cpp
+++ b/GP/DlgSmsg.cpp
@@ -1,6 +1,6 @@
// DlgSmsg.cpp : implementation file
//
-// Copyright (c) 1994-2023 By Dale L. Larson & William Su, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -35,49 +35,50 @@
static char THIS_FILE[] = __FILE__;
#endif
-IMPLEMENT_DYNAMIC(CSendMsgDialog, CDialog)
-
/////////////////////////////////////////////////////////////////////////////
// CSendMsgDialog dialog
-CSendMsgDialog::CSendMsgDialog(CGamDoc& doc, CWnd* pParent /*=NULL*/)
- : CDialog(CSendMsgDialog::IDD, pParent),
+CSendMsgDialog::CSendMsgDialog(CGamDoc& doc, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CSendMsgDialog)
+ CB_XRC_CTRL(m_editMsg2)
+ CB_XRC_CTRL(m_btnDefer)
+ , m_btnCancel(XRCCTRL(*this, "wxID_CANCEL", std::remove_reference_t))
+ CB_XRC_CTRL(m_editMsg)
+ CB_XRC_END_CTRLS_DEFN(),
m_pDoc(&doc)
{
- //{{AFX_DATA_INIT(CSendMsgDialog)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- m_bReadOnlyView = FALSE;
+ // KLUDGE: Send & Close isn't coming through correctly
+ wxButton* sendClose = XRCCTRL(*this, "wxID_OK", wxButton);
+ wxString label = sendClose->GetLabel();
+ label.Replace("_", "&&");
+ sendClose->SetLabel(label);
+
+ /* layout done with both editboxes visible
+ so sizers produce proper result */
+ m_bReadOnlyView = TRUE;
+ // now hide second editbox
+ TeardownReadOnlyView();
+
m_bShowDieRoller = FALSE;
}
/////////////////////////////////////////////////////////////////////////////
-void CSendMsgDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CSendMsgDialog)
- DDX_Control(pDX, IDC_D_SMSG_MESSAGE2, m_editMsg2);
- DDX_Control(pDX, IDC_D_SMSG_CLOSE, m_btnDefer);
- DDX_Control(pDX, IDCANCEL, m_btnCancel);
- DDX_Control(pDX, IDC_D_SMSG_MESSAGE, m_editMsg);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CSendMsgDialog, CDialog)
- //{{AFX_MSG_MAP(CSendMsgDialog)
- ON_BN_CLICKED(IDOK, OnSendMsgSendAndClose)
- ON_BN_CLICKED(IDC_D_SMSG_SEND, OnSendMsgSend)
- ON_BN_CLICKED(IDC_D_SMSG_CLOSE, OnSendMsgClose)
- ON_BN_CLICKED(IDCANCEL, OnSendMsgCancel)
- ON_BN_CLICKED(IDC_D_SMSG_ROLLDICE, OnRollDice)
+wxBEGIN_EVENT_TABLE(CSendMsgDialog, wxDialog)
+ EVT_BUTTON(wxID_OK, OnSendMsgSendAndClose)
+ EVT_BUTTON(XRCID("OnSendMsgSend"), OnSendMsgSend)
+ EVT_BUTTON(XRCID("m_btnDefer"), OnSendMsgClose)
+ EVT_BUTTON(wxID_CANCEL, OnSendMsgCancel)
+ EVT_BUTTON(XRCID("OnRollDice"), OnRollDice)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- ON_EN_CHANGE(IDC_D_SMSG_MESSAGE, OnChangeEditMessage)
- ON_EN_CHANGE(IDC_D_SMSG_MESSAGE2, OnChangeEdit2Message)
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+ EVT_TEXT(XRCID("m_editMsg"), OnChangeEditMessage)
+ EVT_TEXT(XRCID("m_editMsg2"), OnChangeEdit2Message)
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -102,6 +103,7 @@ void CSendMsgDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
@@ -110,10 +112,10 @@ void CSendMsgDialog::TransferToReadOnlyView()
if (!m_bReadOnlyView)
SetupReadOnlyView();
- CB::string str = CB::string::GetWindowText(m_editMsg2);
- AppendStringToEditBox(m_editMsg, str, TRUE);
- m_editMsg2.SetWindowText(""_cbstring);
- m_btnCancel.EnableWindow(FALSE);
+ CB::string str = m_editMsg2->GetValue();
+ AppendStringToEditBox(*m_editMsg, str, TRUE);
+ m_editMsg2->SetValue(""_cbstring);
+ m_btnCancel->Enable(FALSE);
}
/////////////////////////////////////////////////////////////////////////////
@@ -125,18 +127,9 @@ void CSendMsgDialog::SetupReadOnlyView()
m_bReadOnlyView = TRUE;
// Convert the current edit view to read-only and
// layout the new edit window.
- CRect rctTop;
- m_editMsg.GetWindowRect(&rctTop);
- ScreenToClient(&rctTop);
- CRect rctBot = rctTop;
-
- rctTop.bottom = rctTop.top + (2 * rctTop.Height()) / 3 - 1;
- rctBot.top = rctTop.bottom;
-
- m_editMsg.SetReadOnly(TRUE);
- m_editMsg.MoveWindow(&rctTop);
- m_editMsg2.MoveWindow(&rctBot);
- m_editMsg2.ShowWindow(SW_SHOW);
+ m_editMsg->SetEditable(false);
+ m_editMsg2->Show();
+ Layout();
}
}
@@ -147,19 +140,12 @@ void CSendMsgDialog::TeardownReadOnlyView()
if (m_bReadOnlyView)
{
m_bReadOnlyView = FALSE;
+ // Undo the above:
// Convert the current edit view to read-only and
// layout the new edit window.
- CRect rctTop;
- m_editMsg.GetWindowRect(&rctTop);
- ScreenToClient(&rctTop);
- CRect rctBot;
- m_editMsg2.GetWindowRect(&rctBot);
- ScreenToClient(&rctBot);
- rctTop.bottom = rctBot.bottom;
-
- m_editMsg.SetReadOnly(FALSE);
- m_editMsg.MoveWindow(&rctTop);
- m_editMsg2.ShowWindow(SW_HIDE);
+ m_editMsg->SetEditable(true);
+ m_editMsg2->Hide();
+ Layout();
}
}
@@ -167,8 +153,8 @@ void CSendMsgDialog::TeardownReadOnlyView()
void CSendMsgDialog::FillEditBoxes(const CB::string& str)
{
- m_editMsg.SetWindowText(""_cbstring);
- m_editMsg2.SetWindowText(""_cbstring);
+ m_editMsg->SetValue(""_cbstring);
+ m_editMsg2->SetValue(""_cbstring);
CB::string strReadOnly;
CB::string strEditable;
@@ -176,42 +162,39 @@ void CSendMsgDialog::FillEditBoxes(const CB::string& str)
CGamDoc::MsgSeperateIntoPieces(str, strReadOnly, strEditable);
if (strReadOnly.empty())
{
- m_editMsg.SetWindowText(strEditable);
- m_editMsg.SetFocus();
- m_editMsg.SetSel(m_editMsg.GetWindowTextLength(),
- m_editMsg.GetWindowTextLength());
+ m_editMsg->SetValue(strEditable);
+ m_editMsg->SetFocus();
+ m_editMsg->SetInsertionPointEnd();
}
else
{
SetupReadOnlyView();
- m_editMsg.SetWindowText(strReadOnly);
- int nChars = m_editMsg.GetWindowTextLength();
- int nLine = m_editMsg.LineFromChar(nChars);
- m_editMsg.LineScroll(nLine);
-
- m_editMsg2.SetWindowText(strEditable);
- m_editMsg2.SetFocus();
- m_editMsg2.SetSel(m_editMsg2.GetWindowTextLength(),
- m_editMsg2.GetWindowTextLength());
+ m_editMsg->SetValue(strReadOnly);
+ wxTextPos nChars = m_editMsg->GetLastPosition();
+ m_editMsg->ShowPosition(nChars);
+
+ m_editMsg2->SetValue(strEditable);
+ m_editMsg2->SetFocus();
+ m_editMsg->SetInsertionPointEnd();
if (!strReadOnly.empty())
{
// If there is a read-only part in the message, there
// must have been a die roll. We need to disable cancel.
- m_btnCancel.EnableWindow(FALSE);
+ m_btnCancel->Enable(FALSE);
}
else
- m_btnCancel.EnableWindow(TRUE);
+ m_btnCancel->Enable(TRUE);
}
}
/////////////////////////////////////////////////////////////////////////////
-void CSendMsgDialog::OnChangeEditMessage()
+void CSendMsgDialog::OnChangeEditMessage(wxCommandEvent& /*event*/)
{
m_pDoc->SetModifiedFlag();
}
-void CSendMsgDialog::OnChangeEdit2Message()
+void CSendMsgDialog::OnChangeEdit2Message(wxCommandEvent& /*event*/)
{
m_pDoc->SetModifiedFlag();
}
@@ -219,9 +202,12 @@ void CSendMsgDialog::OnChangeEdit2Message()
/////////////////////////////////////////////////////////////////////////////
// CSendMsgDialog message handlers
-BOOL CSendMsgDialog::OnInitDialog()
+bool CSendMsgDialog::TransferDataToWindow()
{
- CDialog::OnInitDialog();
+ if (!wxDialog::TransferDataToWindow())
+ {
+ return false;
+ }
if (m_pDoc->GetDieRollState() != NULL)
{
ASSERT(m_pRollState == NULL);
@@ -229,36 +215,37 @@ BOOL CSendMsgDialog::OnInitDialog()
m_pRollState = MakeOwner(*m_pDoc->GetDieRollState());
}
+#if 0 // why override default?
m_editMsg.SetFont(CFont::FromHandle(g_res.h8ss));
m_editMsg2.SetFont(CFont::FromHandle(g_res.h8ss));
+#endif
FillEditBoxes(m_pDoc->MsgGetMessageText());
if (m_bShowDieRoller)
{
- PostMessage(WM_COMMAND, MAKEWPARAM(uint16_t(IDC_D_SMSG_ROLLDICE), uint16_t(BN_CLICKED)),
- (LPARAM)::GetDlgItem(m_hWnd, IDC_D_SMSG_ROLLDICE));
+ QueueEvent(new wxCommandEvent(wxEVT_BUTTON, XRCID("OnRollDice")));
}
- return FALSE; // return TRUE unless you set the focus to a control
+ return true;
}
-void CSendMsgDialog::OnSendMsgSendAndClose()
+void CSendMsgDialog::OnSendMsgSendAndClose(wxCommandEvent& /*event*/)
{
if (m_bReadOnlyView)
TransferToReadOnlyView();
- CB::string str = CB::string::GetWindowText(m_editMsg);
+ CB::string str = m_editMsg->GetValue();
m_pDoc->SetDieRollState(std::move(m_pRollState));
m_pDoc->MsgDialogSend(str, TRUE);
}
-void CSendMsgDialog::OnSendMsgSend()
+void CSendMsgDialog::OnSendMsgSend(wxCommandEvent& /*event*/)
{
if (m_bReadOnlyView)
TransferToReadOnlyView();
- CB::string str = CB::string::GetWindowText(m_editMsg);
+ CB::string str = m_editMsg->GetValue();
m_pDoc->MsgDialogSend(str, FALSE); // Don't close us
TeardownReadOnlyView(); // Back to original layout
@@ -266,47 +253,45 @@ void CSendMsgDialog::OnSendMsgSend()
FillEditBoxes(m_pDoc->MsgGetMessageText());
}
-void CSendMsgDialog::OnSendMsgClose()
+void CSendMsgDialog::OnSendMsgClose(wxCommandEvent& /*event*/)
{
CB::string str;
if (m_bReadOnlyView)
{
- CB::string strReadOnly = CB::string::GetWindowText(m_editMsg);
- CB::string strEditable = CB::string::GetWindowText(m_editMsg2);
+ CB::string strReadOnly = m_editMsg->GetValue();
+ CB::string strEditable = m_editMsg2->GetValue();
str = CGamDoc::MsgEncodeFromPieces(strReadOnly, strEditable);
}
else
{
// No read-only part yet
- CB::string strEditable = CB::string::GetWindowText(m_editMsg);
+ CB::string strEditable = m_editMsg->GetValue();
str = CGamDoc::MsgEncodeFromPieces("", strEditable);
}
m_pDoc->MsgDialogClose(str);
}
-void CSendMsgDialog::OnSendMsgCancel()
+void CSendMsgDialog::OnSendMsgCancel(wxCommandEvent& /*event*/)
{
m_pDoc->MsgDialogCancel();
}
-void CSendMsgDialog::OnRollDice()
+void CSendMsgDialog::OnRollDice(wxCommandEvent& /*event*/)
{
CDieRollerDlg dlg;
if (m_pRollState)
dlg.SetRollState(*m_pRollState);
- if (dlg.DoModal() == IDOK)
+ if (dlg.ShowModal() == wxID_OK)
{
m_pRollState = dlg.GetRollState();
- CB::string str = CB::string::GetWindowText(m_editMsg2);
+ CB::string str = m_editMsg2->GetValue();
if (str != "" && str[str.a_size() - size_t(1)] != '\n')
- AppendStringToEditBox(m_editMsg2, "\r\n", FALSE);
+ AppendStringToEditBox(*m_editMsg2, "\n", FALSE);
- int nLen = m_editMsg2.GetWindowTextLength();
- m_editMsg2.SetSel(nLen, nLen);
- m_editMsg2.ReplaceSel(dlg.GetFormattedRollResult());
- m_btnCancel.EnableWindow(FALSE);
+ m_editMsg2->AppendText(dlg.GetFormattedRollResult());
+ m_btnCancel->Enable(FALSE);
TransferToReadOnlyView();
}
diff --git a/GP/DlgSmsg.h b/GP/DlgSmsg.h
index f67fe7f..783370c 100644
--- a/GP/DlgSmsg.h
+++ b/GP/DlgSmsg.h
@@ -1,6 +1,6 @@
// DlgSmsg.h : header file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -29,25 +29,24 @@
class CRollState;
-class CSendMsgDialog : public CDialog
+class CSendMsgDialog : public wxDialog
{
- DECLARE_DYNAMIC(CSendMsgDialog)
// Construction
public:
- CSendMsgDialog(CGamDoc& doc, CWnd* pParent = NULL);
+ CSendMsgDialog(CGamDoc& doc, wxWindow* pParent = &CB::GetMainWndWx());
~CSendMsgDialog() = default;
// Dialog Data
-public:
- //{{AFX_DATA(CSendMsgDialog)
- enum { IDD = IDD_SENDMESSAGE };
- CEditNoChevron m_editMsg2;
- CButton m_btnDefer;
- CButton m_btnCancel;
- CEditNoChevron m_editMsg;
- //}}AFX_DATA
+private:
+ CB_XRC_BEGIN_CTRLS_DECL()
+ RefPtr m_editMsg2;
+ RefPtr m_btnDefer;
+ RefPtr m_btnCancel;
+ RefPtr m_editMsg;
+ CB_XRC_END_CTRLS_DECL()
RefPtr m_pDoc;
+public:
bool m_bShowDieRoller;
// Implementation
@@ -63,20 +62,18 @@ class CSendMsgDialog : public CDialog
// Implementation
protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual BOOL OnInitDialog();
+ bool TransferDataToWindow() override;
- // Generated message map functions
- //{{AFX_MSG(CSendMsgDialog)
- afx_msg void OnSendMsgSendAndClose();
- afx_msg void OnSendMsgSend();
- afx_msg void OnSendMsgClose();
- afx_msg void OnSendMsgCancel();
- afx_msg void OnRollDice();
+ void OnSendMsgSendAndClose(wxCommandEvent& event);
+ void OnSendMsgSend(wxCommandEvent& event);
+ void OnSendMsgClose(wxCommandEvent& event);
+ void OnSendMsgCancel(wxCommandEvent& event);
+ void OnRollDice(wxCommandEvent& event);
+#if 0
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
- afx_msg void OnChangeEditMessage();
- afx_msg void OnChangeEdit2Message();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
+#endif
+ void OnChangeEditMessage(wxCommandEvent& event);
+ void OnChangeEdit2Message(wxCommandEvent& event);
+ wxDECLARE_EVENT_TABLE();
};
diff --git a/GP/DlgSpece.cpp b/GP/DlgSpece.cpp
index 82a0c7e..cf345f3 100644
--- a/GP/DlgSpece.cpp
+++ b/GP/DlgSpece.cpp
@@ -1,6 +1,6 @@
// DlgSpece.cpp : implementation file
//
-// Copyright (c) 1994-2020 By Dale L. Larson, All Rights Reserved.
+// Copyright (c) 1994-2025 By Dale L. Larson & William Su, All Rights Reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
@@ -37,43 +37,35 @@ static char THIS_FILE[] = __FILE__;
/////////////////////////////////////////////////////////////////////////////
// CSetPiecesDialog dialog
-CSetPiecesDialog::CSetPiecesDialog(CGamDoc& doc, CWnd* pParent /*=NULL*/)
- : CDialog(CSetPiecesDialog::IDD, pParent),
- m_listTray(doc),
- m_pDoc(&doc)
-{
- //{{AFX_DATA_INIT(CSetPiecesDialog)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- m_pPTbl = NULL;
- m_pYMgr = NULL;
+CSetPiecesDialog::CSetPiecesDialog(CGamDoc& doc, wxWindow* pParent /*= &CB::GetMainWndWx()*/) :
+ CB_XRC_BEGIN_CTRLS_DEFN(pParent, CSetPiecesDialog)
+ CB_XRC_CTRL(m_comboPGrp)
+ CB_XRC_CTRL(m_listPiece)
+ CB_XRC_CTRL(m_comboYGrp)
+ CB_XRC_CTRL(m_listTray)
+ CB_XRC_END_CTRLS_DEFN(),
+ m_pDoc(&doc),
+ m_pYMgr(&m_pDoc->GetTrayManager()),
+ m_pPTbl(&m_pDoc->GetPieceTable())
+{
+ m_listTray->Init(doc);
m_nYSel = -1;
}
-void CSetPiecesDialog::DoDataExchange(CDataExchange* pDX)
-{
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CSetPiecesDialog)
- DDX_Control(pDX, IDC_D_SETPCE_TRAYNAME, m_comboYGrp);
- DDX_Control(pDX, IDC_D_SETPCE_TRAYLIST, m_listTray);
- DDX_Control(pDX, IDC_D_SETPCE_PCELIST, m_listPiece);
- DDX_Control(pDX, IDC_D_SETPCE_PCEGRP, m_comboPGrp);
- //}}AFX_DATA_MAP
-}
-
-BEGIN_MESSAGE_MAP(CSetPiecesDialog, CDialog)
- //{{AFX_MSG_MAP(CSetPiecesDialog)
- ON_CBN_SELCHANGE(IDC_D_SETPCE_PCEGRP, OnSelChangePieceGroup)
- ON_BN_CLICKED(IDC_D_SETPCE_REMALL, OnRemoveAll)
- ON_BN_CLICKED(IDC_D_SETPCE_COPYALL, OnCopyAll)
- ON_BN_CLICKED(IDC_D_SETPCE_COPYSEL, OnCopySelections)
- ON_BN_CLICKED(IDC_D_SETPCE_REMSEL, OnRemoveSelections)
- ON_CBN_SELCHANGE(IDC_D_SETPCE_TRAYNAME, OnSelChangeTrayName)
+wxBEGIN_EVENT_TABLE(CSetPiecesDialog, wxDialog)
+ EVT_CHOICE(XRCID("m_comboPGrp"), OnSelChangePieceGroup)
+ EVT_BUTTON(XRCID("OnRemoveAll"), OnRemoveAll)
+ EVT_BUTTON(XRCID("OnCopyAll"), OnCopyAll)
+ EVT_BUTTON(XRCID("OnCopySelections"), OnCopySelections)
+ EVT_BUTTON(XRCID("OnRemoveSelections"), OnRemoveSelections)
+ EVT_CHOICE(XRCID("m_comboYGrp"), OnSelChangeTrayName)
+#if 0
ON_WM_HELPINFO()
ON_WM_CONTEXTMENU()
- //}}AFX_MSG_MAP
-END_MESSAGE_MAP()
+#endif
+wxEND_EVENT_TABLE()
+#if 0
/////////////////////////////////////////////////////////////////////////////
// Html Help control ID Map
@@ -99,25 +91,30 @@ void CSetPiecesDialog::OnContextMenu(CWnd* pWnd, CPoint point)
{
GetApp()->DoHelpWhatIsHelp(pWnd, adwHelpMap);
}
+#endif
/////////////////////////////////////////////////////////////////////////////
void CSetPiecesDialog::LoadPieceNameList()
{
- m_comboPGrp.ResetContent();
+ m_comboPGrp->Clear();
const CPieceManager& pPMgr = m_pPTbl->GetPieceManager();
for (size_t i = size_t(0); i < pPMgr.GetNumPieceSets(); i++)
- m_comboPGrp.AddString(pPMgr.GetPieceSet(i).GetName());
- m_comboPGrp.SetCurSel(0);
+ {
+ m_comboPGrp->Append(pPMgr.GetPieceSet(i).GetName());
+ }
+ m_comboPGrp->SetSelection(0);
UpdatePieceList();
}
void CSetPiecesDialog::LoadTrayNameList()
{
- m_comboYGrp.ResetContent();
- for (size_t i = 0; i < m_pYMgr->GetNumTraySets(); i++)
- m_comboYGrp.AddString(m_pYMgr->GetTraySet(i).GetName());
- m_comboYGrp.SetCurSel(m_nYSel == -1 ? 0 : m_nYSel);
+ m_comboYGrp->Clear();
+ for (size_t i = size_t(0); i < m_pYMgr->GetNumTraySets(); i++)
+ {
+ m_comboYGrp->Append(m_pYMgr->GetTraySet(i).GetName());
+ }
+ m_comboYGrp->SetSelection(m_nYSel == -1 ? 0 : m_nYSel);
UpdateTrayList();
}
@@ -125,52 +122,52 @@ void CSetPiecesDialog::LoadTrayNameList()
void CSetPiecesDialog::UpdatePieceList()
{
- int nSel = m_comboPGrp.GetCurSel();
- if (nSel < 0)
+ int nSel = m_comboPGrp->GetSelection();
+ if (nSel == wxNOT_FOUND)
{
- m_listPiece.SetItemMap(NULL);
+ m_listPiece->SetItemMap(NULL);
return;
}
m_tblPiece = m_pPTbl->LoadUnusedPieceList(value_preserving_cast(nSel));
- m_listPiece.SetItemMap(&m_tblPiece, FALSE);
+ m_listPiece->SetItemMap(&m_tblPiece, FALSE);
}
void CSetPiecesDialog::UpdateTrayList()
{
- int nSel = m_comboYGrp.GetCurSel();
- if (nSel < 0)
+ int nSel = m_comboYGrp->GetSelection();
+ if (nSel == wxNOT_FOUND)
{
- m_listTray.SetItemMap(NULL);
+ m_listTray->SetItemMap(NULL);
return;
}
const std::vector