diff options
Diffstat (limited to 'lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins')
57 files changed, 1893 insertions, 0 deletions
diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/_bitmaps.py b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/_bitmaps.py new file mode 100644 index 0000000..9fd8584 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/_bitmaps.py @@ -0,0 +1,321 @@ +#---------------------------------------------------------------------- +# This file was generated by ../encode_bitmaps.py +# +from wx.lib.embeddedimage import PyEmbeddedImage + +wxDialog = PyEmbeddedImage( + "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") + +#---------------------------------------------------------------------- +wxFrame = PyEmbeddedImage( + "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" + "qjjmXEwsYiIUUO4pIeVxrHWxFROhlaKyYxewJ8kzKknSlkB77jxrKWuFsANrDUWlUCV3fSsW" + "JTE9vf3QN+AA2yRBCmCijYHZGPwCUhlC1m6hWnVwQfPOSSi3VxOUd6D799FoNFA9u7DROiy+" + "i7K2U+dtvWlWCiWC5+fI79hHm4C43QQxKMBX2sfzPDcwq1GbMu+99h7vddx5t2xsn3bCkXFf" + "1ObVBewmD+s2K7Bx1P0xa9w5ne2QD17fdgHfbcPW8TTaozh4gNI9JqKA0AqtdgvVSWiFPirl" + "gXtuJYpAMzKYsNUtPgSFb2qLzJ77AWZ5kdDztwa4T7gEaCvV3Q7Z/qSOMWyUzgAh0ND6Lv02" + "X8J2zUmUR0lH+A+P7+LpP3oCY4yrzT91kg/LZJvO2P5vkk5ouve/EorOvn2z2eCfv34Dv7dS" + "5ugDh7DG4Pk+d3ecTP9bibh9rFq1SqlY6FQ1EMYxfveWNtNHLwc2jNz+lg8u0ehurMvIf9Ry" + "hYDqfgb4NAb1j13bRZEMfErKwKekDHxKysCnpAx8SsrAp6QMfErKwKekDHxKysCnpAx8SsrA" + "p6QMfErKwKekDHxKysCnpAx8SsrAp6QMfErKwKekDHxKysCnpAx8SsrAp6QMfErKwKekDHxK" + "ysCnpAx8SsrAp6QMfErKwKekDHxKysCnpAx8SsrAp6QMfErKwKekDHxKysCnpAx8SsrAp6QM" + "fErKwH8M2u5BRF3wG09MzfRRazu2evNTUTN9fPK11kRRRLVaxff9tMfziZaIuKePa4166qmn" + "5PDhwzSbzU/pM8k+PokIWmuuXr3K/wCobQ9DCns9YgAAAABJRU5ErkJggg==") + +#---------------------------------------------------------------------- +wxPanel = PyEmbeddedImage( + "iVBORw0KGgoAAAANSUhEUgAAAE0AAABGCAIAAAAGrI4kAAAAA3NCSVQICAjb4U/gAAAAyklE" + "QVRoge3bsQnEQAxEUY3ZGhZ34Zrd3YJLEEgX+LKLjeHfvGg300exdJ6npKAbkvZ9n3NW1dvD" + "PELSWmtExJzzOI6qQi62qjJz3K+q2rbt7ZEe8a27P8hN3iRJYu7wlztZ3MniThZ3sriTxZ0s" + "7mRxJ4s7WdzJ4k4Wd7K4k8WdLO5kcSeLO1ncyeJOFneyuJPFnSzuZHEniztZ3MniThZ3sriT" + "xZ0sf9bZ3e/O8ajuHhEhqbszE3kF2t2SRkSstTITebd8R17X9QFVODvBZcI23wAAAABJRU5E" + "rkJggg==") + +#---------------------------------------------------------------------- +wxPropertySheetDialog = PyEmbeddedImage( + "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" + "A8wUaWxs5P8AE8WsR2Tbeb8AAAAASUVORK5CYII=") + +#---------------------------------------------------------------------- +wxWizard = PyEmbeddedImage( + "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") + diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/DynamicSashWindow.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/DynamicSashWindow.png Binary files differnew file mode 100644 index 0000000..dccc64e --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/DynamicSashWindow.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/EditableListBox.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/EditableListBox.png Binary files differnew file mode 100644 index 0000000..eab8bda --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/EditableListBox.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/LEDNumberCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/LEDNumberCtrl.png Binary files differnew file mode 100644 index 0000000..72ad2d0 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/LEDNumberCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/TreeListCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/TreeListCtrl.png Binary files differnew file mode 100644 index 0000000..5ca19e3 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/TreeListCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/separator.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/separator.png Binary files differnew file mode 100644 index 0000000..752e21e --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/separator.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/sizer.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/sizer.png Binary files differnew file mode 100644 index 0000000..4fb2ca3 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/sizer.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/spacer.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/spacer.png Binary files differnew file mode 100644 index 0000000..8321a08 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/spacer.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/tool.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/tool.png Binary files differnew file mode 100644 index 0000000..63115dd --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/tool.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxBitmapButton.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxBitmapButton.png Binary files differnew file mode 100644 index 0000000..54c0096 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxBitmapButton.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxBoxSizer.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxBoxSizer.png Binary files differnew file mode 100644 index 0000000..97d77a8 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxBoxSizer.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxButton.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxButton.png Binary files differnew file mode 100644 index 0000000..03505a0 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxButton.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxCheckBox.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxCheckBox.png Binary files differnew file mode 100644 index 0000000..3622fd5 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxCheckBox.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxChoice.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxChoice.png Binary files differnew file mode 100644 index 0000000..f101642 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxChoice.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxChoicebook.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxChoicebook.png Binary files differnew file mode 100644 index 0000000..7475d50 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxChoicebook.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxComboBox.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxComboBox.png Binary files differnew file mode 100644 index 0000000..e6f68e0 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxComboBox.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxDialog.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxDialog.png Binary files differnew file mode 100644 index 0000000..023ff21 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxDialog.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFilePickerCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFilePickerCtrl.png Binary files differnew file mode 100644 index 0000000..b3faf0d --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFilePickerCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFlexGridSizer.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFlexGridSizer.png Binary files differnew file mode 100644 index 0000000..21f86e0 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFlexGridSizer.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFrame.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFrame.png Binary files differnew file mode 100644 index 0000000..6c564ac --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxFrame.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGauge.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGauge.png Binary files differnew file mode 100644 index 0000000..e2500c0 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGauge.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGrid.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGrid.png Binary files differnew file mode 100644 index 0000000..b1b704c --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGrid.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGridBagSizer.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGridBagSizer.png Binary files differnew file mode 100644 index 0000000..1d0ba28 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGridBagSizer.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGridSizer.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGridSizer.png Binary files differnew file mode 100644 index 0000000..9ab886d --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGridSizer.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGrid_bad.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGrid_bad.png Binary files differnew file mode 100644 index 0000000..9f54583 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxGrid_bad.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxHyperlinkCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxHyperlinkCtrl.png Binary files differnew file mode 100644 index 0000000..d0be9de --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxHyperlinkCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListBox.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListBox.png Binary files differnew file mode 100644 index 0000000..c295709 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListBox.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListCtrl.png Binary files differnew file mode 100644 index 0000000..750e289 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListbook.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListbook.png Binary files differnew file mode 100644 index 0000000..209ba2c --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxListbook.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenu.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenu.png Binary files differnew file mode 100644 index 0000000..2860ddf --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenu.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenuBar.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenuBar.png Binary files differnew file mode 100644 index 0000000..bd31766 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenuBar.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenuItem.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenuItem.png Binary files differnew file mode 100644 index 0000000..f76b807 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxMenuItem.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxNotebook.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxNotebook.png Binary files differnew file mode 100644 index 0000000..49aa4d5 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxNotebook.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxRadioButton.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxRadioButton.png Binary files differnew file mode 100644 index 0000000..f494c00 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxRadioButton.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxScrollBar.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxScrollBar.png Binary files differnew file mode 100644 index 0000000..abfff63 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxScrollBar.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxScrolledWindow.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxScrolledWindow.png Binary files differnew file mode 100644 index 0000000..2125467 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxScrolledWindow.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSlider.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSlider.png Binary files differnew file mode 100644 index 0000000..566be76 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSlider.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSpinButton.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSpinButton.png Binary files differnew file mode 100644 index 0000000..3011506 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSpinButton.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSpinCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSpinCtrl.png Binary files differnew file mode 100644 index 0000000..4ee9d5a --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSpinCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSplitterWindow.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSplitterWindow.png Binary files differnew file mode 100644 index 0000000..e518f04 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxSplitterWindow.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBitmap.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBitmap.png Binary files differnew file mode 100644 index 0000000..99d09ff --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBitmap.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBox.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBox.png Binary files differnew file mode 100644 index 0000000..3480c42 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBox.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBoxSizer.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBoxSizer.png Binary files differnew file mode 100644 index 0000000..2e15f26 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticBoxSizer.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticLine.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticLine.png Binary files differnew file mode 100644 index 0000000..8d0dbb2 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticLine.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticText.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticText.png Binary files differnew file mode 100644 index 0000000..96a54f3 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStaticText.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStatusBar.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStatusBar.png Binary files differnew file mode 100644 index 0000000..88c763b --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxStatusBar.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTextCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTextCtrl.png Binary files differnew file mode 100644 index 0000000..d24eaba --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTextCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxToggleButton.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxToggleButton.png Binary files differnew file mode 100644 index 0000000..44e9eaf --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxToggleButton.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxToolBar.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxToolBar.png Binary files differnew file mode 100644 index 0000000..5ff49bd --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxToolBar.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTreeCtrl.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTreeCtrl.png Binary files differnew file mode 100644 index 0000000..161c9bd --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTreeCtrl.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTreebook.png b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTreebook.png Binary files differnew file mode 100644 index 0000000..d3c1b41 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/bitmaps/wxTreebook.png diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/controls.py b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/controls.py new file mode 100644 index 0000000..a36d1ab --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/controls.py @@ -0,0 +1,577 @@ +# Name: controls.py +# Purpose: Control components +# Author: Roman Rolinsky <rolinsky@femagsoft.com> +# Created: 31.05.2007 +# RCS-ID: $Id: core.py 47823 2007-07-29 19:24:35Z ROL $ + +from wx.tools.XRCed import component, images, attribute, params +from wx.tools.XRCed.globals import TRACE +import _bitmaps as bitmaps + +TRACE('*** creating control components') + +# Set panel images +component.Manager.panelImages['Controls'] = images.ToolPanel_Controls.GetImage() + +### wxStaticText + +c = component.Component('wxStaticText', ['control','tool'], + ['pos', 'size', 'label', 'wrap'], defaults={'label': 'LABEL'}, + image=images.TreeStaticText.GetImage()) +c.addStyles('wxALIGN_LEFT', 'wxALIGN_RIGHT', 'wxALIGN_CENTRE', 'wxST_NO_AUTORESIZE') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'label', 'wxStaticText', 10) +component.Manager.setTool(c, 'Controls', pos=(0,0)) + +### wxStaticLine + +c = component.Component('wxStaticLine', ['control','tool'], + ['pos', 'size'], image=images.TreeStaticLine.GetImage()) +c.addStyles('wxLI_HORIZONTAL', 'wxLI_VERTICAL') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'line', 'wxStaticLine', 20) +component.Manager.setTool(c, 'Controls', pos=(0,3)) + +### wxStaticBitmap + +c = component.Component('wxStaticBitmap', ['control','tool'], + ['pos', 'size', 'bitmap'], + image=images.TreeStaticBitmap.GetImage()) +c.setSpecial('bitmap', attribute.BitmapAttribute) +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'bitmap', 'wxStaticBitmap', 30) +component.Manager.setTool(c, 'Controls', pos=(1,0)) + +### wxTextCtrl + +c = component.Component('wxTextCtrl', ['control','tool'], + ['pos', 'size', 'value', 'maxlength'], + image=images.TreeTextCtrl.GetImage()) +c.addStyles('wxTE_NO_VSCROLL', + 'wxTE_AUTO_SCROLL', + 'wxTE_PROCESS_ENTER', + 'wxTE_PROCESS_TAB', + 'wxTE_MULTILINE', + 'wxTE_PASSWORD', + 'wxTE_READONLY', + 'wxHSCROLL', + 'wxTE_RICH', + 'wxTE_RICH2', + 'wxTE_AUTO_URL', + 'wxTE_NOHIDESEL', + 'wxTE_LEFT', + 'wxTE_CENTRE', + 'wxTE_RIGHT', + 'wxTE_DONTWRAP', + 'wxTE_LINEWRAP', + 'wxTE_CHARWRAP', + 'wxTE_WORDWRAP') +c.setParamClass('value', params.ParamMultilineText) +c.addEvents('EVT_TEXT', 'EVT_TEXT_ENTER', 'EVT_TEXT_URL', 'EVT_TEXT_MAXLEN') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'text ctrl', 'wxTextCtrl', 40) +component.Manager.setTool(c, 'Controls', pos=(0,2)) + +#### wxRichTextCtrl +# +#c = component.Component('wxRichTextCtrl', ['control','tool'], +# ['pos', 'size', 'value', 'maxlength'], +# image=images.TreeTextCtrl.GetImage()) +#c.addStyles('wxTE_PROCESS_ENTER', +# 'wxTE_PROCESS_TAB', +# 'wxTE_MULTILINE', +# 'wxTE_READONLY', +# 'wxTE_AUTO_URL') +#c.setParamClass('value', params.ParamMultilineText) +#c.addEvents('EVT_TEXT', 'EVT_TEXT_ENTER', 'EVT_TEXT_URL', 'EVT_TEXT_MAXLEN') +#component.Manager.register(c) +#component.Manager.setMenu(c, 'control', 'rich text ctrl', 'wxTRichextCtrl', 41) +# +### wxChoice + +c = component.Component('wxChoice', ['control','tool'], + ['pos', 'size', 'content', 'selection'], + image=images.TreeChoice.GetImage()) +c.addStyles('wxCB_SORT') +c.setSpecial('content', attribute.ContentAttribute) +c.addEvents('EVT_CHOICE') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'choice', 'wxChoice', 50) +component.Manager.setTool(c, 'Controls', pos=(3,2)) + +### wxSlider + +c = component.Component('wxSlider', ['control','tool'], + ['pos', 'size', 'value', 'min', 'max', + 'tickfreq', 'pagesize', 'linesize', 'thumb', 'tick', + 'selmin', 'selmax'], + image=images.TreeSlider.GetImage()) +c.addStyles('wxSL_HORIZONTAL', 'wxSL_VERTICAL', 'wxSL_AUTOTICKS', 'wxSL_LABELS', + 'wxSL_LEFT', 'wxSL_RIGHT', 'wxSL_TOP', 'wxSL_BOTTOM', + 'wxSL_BOTH', 'wxSL_SELRANGE', 'wxSL_INVERSE') +component.Manager.register(c) +c.setParamClass('value', params.ParamInt) +c.setParamClass('tickfreq', params.ParamIntNN) +c.setParamClass('pagesize', params.ParamIntNN) +c.setParamClass('linesize', params.ParamIntNN) +c.setParamClass('thumb', params.ParamUnit) +c.setParamClass('tick', params.ParamInt) +c.setParamClass('selmin', params.ParamInt) +c.setParamClass('selmax', params.ParamInt) +c.addEvents('EVT_SCROLL', 'EVT_SCROLL_TOP', 'EVT_SCROLL_BOTTOM', + 'EVT_SCROLL_LINEUP', 'EVT_SCROLL_LINEDOWN', 'EVT_SCROLL_PAGEUP', + 'EVT_SCROLL_PAGEDOWN', 'EVT_SCROLL_THUMBTRACK', 'EVT_SCROLL_THUMBRELEASE', + 'EVT_SCROLL_CHANGED', 'EVT_SCROLL', 'EVT_SCROLL_TOP', + 'EVT_SCROLL_BOTTOM', 'EVT_SCROLL_LINEUP', + 'EVT_SCROLL_LINEDOWN', 'EVT_SCROLL_PAGEUP', + 'EVT_SCROLL_PAGEDOWN', 'EVT_SCROLL_THUMBTRACK', + 'EVT_SCROLL_THUMBRELEASE', 'EVT_SCROLL_CHANGED') +component.Manager.setMenu(c, 'control', 'slider', 'wxSlider', 60) +component.Manager.setTool(c, 'Controls', pos=(2,3)) + +### wxGauge + +c = component.Component('wxGauge', ['control','tool'], + ['pos', 'size', 'range', 'value', 'shadow', 'bezel'], + image=images.TreeGauge.GetImage()) +c.addStyles('wxGA_HORIZONTAL', 'wxGA_VERTICAL', 'wxGA_SMOOTH') +c.setParamClass('range', params.ParamIntNN) +c.setParamClass('value', params.ParamIntNN) +c.setParamClass('shadow', params.ParamUnit) +c.setParamClass('bezel', params.ParamUnit) +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'gauge', 'wxGauge', 70) +component.Manager.setTool(c, 'Controls', pos=(1,3)) + +### wxSpinCtrl + +c = component.Component('wxSpinCtrl', ['control','tool'], + ['pos', 'size', 'value', 'min', 'max'], + image=images.TreeSpinCtrl.GetImage()) +c.addStyles('wxSP_HORIZONTAL', 'wxSP_VERTICAL', 'wxSP_ARROW_KEYS', 'wxSP_WRAP') +c.setParamClass('value', params.ParamInt) +c.addEvents('EVT_SPINCTRL') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'spin ctrl', 'wxSpinCtrl', 80) +component.Manager.setTool(c, 'Controls', pos=(1,2)) + +### wxScrollBar + +c = component.Component('wxScrollBar', ['control'], + ['pos', 'size', 'value', 'thumbsize', 'range', 'pagesize'], + image=images.TreeScrollBar.GetImage()) +c.addStyles('wxSB_HORIZONTAL', 'wxSB_VERTICAL') +c.setParamClass('range', params.ParamIntNN) +c.setParamClass('value', params.ParamIntNN) +c.setParamClass('thumbsize', params.ParamUnit) +c.setParamClass('pagesize', params.ParamUnit) +c.addEvents('EVT_SCROLL', 'EVT_SCROLL_TOP', 'EVT_SCROLL_BOTTOM', + 'EVT_SCROLL_LINEUP', 'EVT_SCROLL_LINEDOWN', 'EVT_SCROLL_PAGEUP', + 'EVT_SCROLL_PAGEDOWN', 'EVT_SCROLL_THUMBTRACK', 'EVT_SCROLL_THUMBRELEASE', + 'EVT_SCROLL_CHANGED', 'EVT_SCROLL', 'EVT_SCROLL_TOP', + 'EVT_SCROLL_BOTTOM', 'EVT_SCROLL_LINEUP', + 'EVT_SCROLL_LINEDOWN', 'EVT_SCROLL_PAGEUP', + 'EVT_SCROLL_PAGEDOWN', 'EVT_SCROLL_THUMBTRACK', + 'EVT_SCROLL_THUMBRELEASE', 'EVT_SCROLL_CHANGED') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'scroll bar', 'wxScrollBar', 90) +component.Manager.setTool(c, 'Controls', pos=(3,3)) + +### wxListCtrl + +c = component.Component('wxListCtrl', ['control','tool'], ['pos', 'size'], + image=images.TreeListCtrl.GetImage()) +c.addStyles('wxLC_LIST', 'wxLC_REPORT', 'wxLC_ICON', 'wxLC_SMALL_ICON', + 'wxLC_ALIGN_TOP', 'wxLC_ALIGN_LEFT', 'wxLC_AUTOARRANGE', + 'wxLC_USER_TEXT', 'wxLC_EDIT_LABELS', 'wxLC_NO_HEADER', + 'wxLC_SINGLE_SEL', 'wxLC_SORT_ASCENDING', 'wxLC_SORT_DESCENDING', + 'wxLC_VIRTUAL', 'wxLC_HRULES', 'wxLC_VRULES', 'wxLC_NO_SORT_HEADER') +c.addEvents('EVT_LIST_BEGIN_DRAG', + 'EVT_LIST_BEGIN_RDRAG', + 'EVT_LIST_BEGIN_LABEL_EDIT', + 'EVT_LIST_END_LABEL_EDIT', + 'EVT_LIST_DELETE_ITEM', + 'EVT_LIST_DELETE_ALL_ITEMS', + 'EVT_LIST_ITEM_SELECTED', + 'EVT_LIST_ITEM_DESELECTED', + 'EVT_LIST_KEY_DOWN', + 'EVT_LIST_INSERT_ITEM', + 'EVT_LIST_COL_CLICK', + 'EVT_LIST_ITEM_RIGHT_CLICK', + 'EVT_LIST_ITEM_MIDDLE_CLICK', + 'EVT_LIST_ITEM_ACTIVATED', + 'EVT_LIST_CACHE_HINT', + 'EVT_LIST_COL_RIGHT_CLICK', + 'EVT_LIST_COL_BEGIN_DRAG', + 'EVT_LIST_COL_DRAGGING', + 'EVT_LIST_COL_END_DRAG', + 'EVT_LIST_ITEM_FOCUSED') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'list ctrl', 'wxListCtrl', 100) +component.Manager.setTool(c, 'Panels', pos=(0,1)) + +### wxTreeCtrl + +c = component.Component('wxTreeCtrl', ['control','tool'], ['pos', 'size'], + image=images.TreeTreeCtrl.GetImage()) +c.addStyles('wxTR_EDIT_LABELS', + 'wxTR_NO_BUTTONS', + 'wxTR_HAS_BUTTONS', + 'wxTR_TWIST_BUTTONS', + 'wxTR_NO_LINES', + 'wxTR_FULL_ROW_HIGHLIGHT', + 'wxTR_LINES_AT_ROOT', + 'wxTR_HIDE_ROOT', + 'wxTR_ROW_LINES', + 'wxTR_HAS_VARIABLE_ROW_HEIGHT', + 'wxTR_SINGLE', + 'wxTR_MULTIPLE', + 'wxTR_EXTENDED', + 'wxTR_DEFAULT_STYLE') +c.addEvents('EVT_TREE_BEGIN_DRAG', + 'EVT_TREE_BEGIN_RDRAG', + 'EVT_TREE_BEGIN_LABEL_EDIT', + 'EVT_TREE_END_LABEL_EDIT', + 'EVT_TREE_DELETE_ITEM', + 'EVT_TREE_GET_INFO', + 'EVT_TREE_SET_INFO', + 'EVT_TREE_ITEM_EXPANDED', + 'EVT_TREE_ITEM_EXPANDING', + 'EVT_TREE_ITEM_COLLAPSED', + 'EVT_TREE_ITEM_COLLAPSING', + 'EVT_TREE_SEL_CHANGED', + 'EVT_TREE_SEL_CHANGING', + 'EVT_TREE_KEY_DOWN', + 'EVT_TREE_ITEM_ACTIVATED', + 'EVT_TREE_ITEM_RIGHT_CLICK', + 'EVT_TREE_ITEM_MIDDLE_CLICK', + 'EVT_TREE_END_DRAG', + 'EVT_TREE_STATE_IMAGE_CLICK', + 'EVT_TREE_ITEM_GETTOOLTIP', + 'EVT_TREE_ITEM_MENU') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'tree ctrl', 'wxTreeCtrl', 110) +component.Manager.setTool(c, 'Panels', pos=(0,2)) + +### wxHtmlWindow + +c = component.Component('wxHtmlWindow', ['control'], + ['pos', 'size', 'borders', 'url', 'htmlcode']) +c.addStyles('wxHW_SCROLLBAR_NEVER', 'wxHW_SCROLLBAR_AUTO', 'wxHW_NO_SELECTION') +c.setParamClass('url', params.ParamLongText) +c.setParamClass('htmlcode', params.ParamMultilineText) +c.addEvents('EVT_HTML_CELL_CLICKED', 'EVT_HTML_CELL_HOVER', + 'EVT_HTML_LINK_CLICKED') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'HTML window', 'wxHtmlWindow', 120) + +### wxCalendarCtrl + +c = component.Component('wxCalendarCtrl', ['control', 'tool'], ['pos', 'size']) +c.addStyles('wxCAL_SUNDAY_FIRST', 'wxCAL_MONDAY_FIRST', 'wxCAL_SHOW_HOLIDAYS', + 'wxCAL_NO_YEAR_CHANGE', 'wxCAL_NO_MONTH_CHANGE', + 'wxCAL_SEQUENTIAL_MONTH_SELECTION', 'wxCAL_SHOW_SURROUNDING_WEEKS') +c.addEvents('EVT_CALENDAR_SEL_CHANGED', 'EVT_CALENDAR_DAY_CHANGED', + 'EVT_CALENDAR_MONTH_CHANGED', 'EVT_CALENDAR_YEAR_CHANGED', + 'EVT_CALENDAR_DOUBLECLICKED', 'EVT_CALENDAR_WEEKDAY_CLICKED') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'calendar ctrl', 'wxCalendarCtrl', 130) + +### wxGenericDirCtrl + +c = component.Component('wxGenericDirCtrl', ['control'], + ['pos', 'size', 'defaultfolder', 'filter', 'defaultfilter']) +c.addStyles('wxDIRCTRL_DIR_ONLY', 'wxDIRCTRL_3D_INTERNAL', 'wxDIRCTRL_SELECT_FIRST', + 'wxDIRCTRL_SHOW_FILTERS', 'wxDIRCTRL_EDIT_LABELS') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'generic dir ctrl', 'wxGenericDirCtrl', 160) + +### wxFilePickerCtrl + +c = component.Component('wxFilePickerCtrl', ['control'], + ['pos', 'size', 'value', 'message', 'wildcard']) +c.addStyles('wxFLP_OPEN', 'wxFLP_SAVE', 'wxFLP_OVERWRITE_PROMPT', + 'wxFLP_FILE_MUST_EXIST', 'wxFLP_CHANGE_DIR', + 'wxFLP_DEFAULT_STYLE', 'wxFLP_USE_TEXTCTRL') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'file picker ctrl', 'wxFilePickerCtrl', 170) +component.Manager.setTool(c, 'Controls', pos=(4,2)) + +### wxDirPickerCtrl + +c = component.Component('wxDirPickerCtrl', ['control'], + ['pos', 'size', 'value', 'message', 'wildcard']) +c.addStyles('wxDIRP_USE_TEXTCTRL', + 'wxDIRP_DIR_MUST_EXIST', 'wxDIRP_CHANGE_DIR', + 'wxDIRP_DEFAULT_STYLE') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'dir picker ctrl', 'wxDirPickerCtrl', 171) + +### wxDatePickerCtrl + +c = component.Component('wxDatePickerCtrl', ['control'], ['pos', 'size']) +c.addStyles('wxDP_DEFAULT', 'wxDP_SPIN', 'wxDP_DROPDOWN', + 'wxDP_ALLOWNONE', 'wxDP_SHOWCENTURY') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'date picker ctrl', 'wxDateCtrl', 180) + +### wxFontPickerCtrl + +c = component.Component('wxFontPickerCtrl', ['control'], ['pos', 'size', 'value']) +c.addStyles('wxFNTP_USE_TEXTCTRL', 'wxFNTP_FONTDESC_AS_LABEL', + 'wxFNTP_USEFONT_FOR_LABEL', 'wxFNTP_DEFAULT_STYLE') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'font picker ctrl', 'wxFontPickerCtrl', 181) + +### wxColourPickerCtrl + +c = component.Component('wxColourPickerCtrl', ['control'], ['pos', 'size', 'value']) +c.addStyles('wxCLRP_USE_TEXTCTRL', 'wxCLRP_SHOW_LABEL', 'wxCLRP_DEFAULT_STYLE') +c.addEvents('EVT_COMMAND_COLOURPICKER_CHANGED') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'colour picker ctrl', 'wxColourPickerCtrl', 181) + +### wxAnimationCtrl + +c = component.Component('wxAnimationCtrl', ['control','tool'], + ['pos', 'size', 'animation', 'inactive-bitmap']) +c.addStyles('wxAC_NO_AUTORESIZE', 'wxAC_DEFAULT_STYLE') +c.setSpecial('inactive-bitmap', attribute.BitmapAttribute) +c.setParamClass('inactive-bitmap', params.ParamBitmap) +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'animation ctrl', 'wxAnimationCtrl', 182) + +### wxGrid + +c = component.Component('wxGrid', ['control'], ['pos', 'size']) +c.addEvents('EVT_GRID_CELL_LEFT_CLICK', + 'EVT_GRID_CELL_RIGHT_CLICK', + 'EVT_GRID_CELL_LEFT_DCLICK', + 'EVT_GRID_CELL_RIGHT_DCLICK', + 'EVT_GRID_LABEL_LEFT_CLICK', + 'EVT_GRID_LABEL_RIGHT_CLICK', + 'EVT_GRID_LABEL_LEFT_DCLICK', + 'EVT_GRID_LABEL_RIGHT_DCLICK', + 'EVT_GRID_ROW_SIZE', + 'EVT_GRID_COL_SIZE', + 'EVT_GRID_RANGE_SELECT', + 'EVT_GRID_CELL_CHANGE', + 'EVT_GRID_SELECT_CELL', + 'EVT_GRID_EDITOR_SHOWN', + 'EVT_GRID_EDITOR_HIDDEN', + 'EVT_GRID_EDITOR_CREATED', + 'EVT_GRID_CELL_BEGIN_DRAG') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'grid', 'wxGrid', 190) +component.Manager.setTool(c, 'Panels', pos=(2,1), span=(1,2)) + +### wxHyperlinkCtrl + +c = component.Component('wxHyperlinkCtrl', ['control','tool'], + ['pos', 'size', 'label', 'url'], + params={'url': params.ParamText}, + defaults={'url': 'http://'}) +c.addStyles('wxHL_CONTEXTMENU', 'wxHL_ALIGN_LEFT', 'wxHL_ALIGN_RIGHT', + 'wxHL_ALIGN_CENTRE', 'wxHL_DEFAULT_STYLE') +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'hyperlink', 'wxHyperlinkCtrl', 200) +component.Manager.setTool(c, 'Controls', pos=(3,0)) + +################################################################################ +# Buttons + +### wxButton + +c = component.Component('wxButton', ['control', 'tool', 'stdbtn'], + ['pos', 'size', 'label', 'default'], + image=images.TreeButton.GetImage()) +c.addStyles('wxBU_LEFT', 'wxBU_TOP', 'wxBU_RIGHT', 'wxBU_BOTTOM', 'wxBU_EXACTFIT') +c.setParamClass('default', params.ParamBool) +c.addEvents('EVT_BUTTON') +component.Manager.register(c) +component.Manager.setMenu(c, 'button', 'button', 'wxButton', 10) +component.Manager.setTool(c, 'Controls', pos=(0,1)) + +### wxBitmapButton + +c = component.Component('wxBitmapButton', ['control', 'tool'], + ['pos', 'size', 'default', + 'bitmap', 'selected', 'focus', 'disabled', 'hover'], + image=images.TreeBitmapButton.GetImage()) +c.addStyles('wxBU_AUTODRAW', 'wxBU_LEFT', 'wxBU_RIGHT', 'wxBU_TOP', 'wxBU_BOTTOM', + 'wxBU_EXACTFIT') +c.setParamClass('default', params.ParamBool) +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.setSpecial('selected', attribute.BitmapAttribute) +c.setParamClass('selected', params.ParamBitmap) +c.setSpecial('focus', attribute.BitmapAttribute) +c.setParamClass('focus', params.ParamBitmap) +c.setSpecial('disabled', attribute.BitmapAttribute) +c.setParamClass('disabled', params.ParamBitmap) +c.setSpecial('hover', attribute.BitmapAttribute) +c.setParamClass('hover', params.ParamBitmap) +c.addEvents('EVT_BUTTON') +component.Manager.register(c) +component.Manager.setMenu(c, 'button', 'bitmap button', 'wxBitmapButton', 20) +component.Manager.setTool(c, 'Controls', pos=(1,1)) + +### wxRadioButton + +c = component.Component('wxRadioButton', ['control', 'tool'], + ['pos', 'size', 'label', 'value'], + image=images.TreeRadioButton.GetImage()) +c.addStyles('wxRB_GROUP', 'wxRB_SINGLE') +c.setParamClass('value', params.ParamBool) +c.addEvents('EVT_RADIOBUTTON') +component.Manager.register(c) +component.Manager.setMenu(c, 'button', 'radio button', 'wxRadioButton', 30) +component.Manager.setTool(c, 'Controls', pos=(3,1)) + +### wxSpinButton + +c = component.Component('wxSpinButton', ['control', 'tool'], + ['pos', 'size', 'value', 'min', 'max'], + image=images.TreeSpinButton.GetImage()) +c.addStyles('wxSP_HORIZONTAL', 'wxSP_VERTICAL', 'wxSP_ARROW_KEYS', 'wxSP_WRAP') +c.addEvents('EVT_SPIN', 'EVT_SPIN_UP', 'EVT_SPIN_DOWN') +component.Manager.register(c) +component.Manager.setMenu(c, 'button', 'spin button', 'wxSpinButton', 40) +component.Manager.setTool(c, 'Controls', pos=(2,0)) + +### wxToggleButton + +c = component.Component('wxToggleButton', ['control', 'tool'], + ['pos', 'size', 'label', 'checked'], + image=images.TreeToggleButton.GetImage()) +c.addEvents('EVT_TOGGLEBUTTON') +component.Manager.register(c) +component.Manager.setMenu(c, 'button', 'toggle button', 'wxToggleButton', 50) +component.Manager.setTool(c, 'Controls', pos=(2,1)) + +################################################################################ +# Boxes + +### wxCheckBox + +c = component.Component('wxCheckBox', ['control','tool'], + ['pos', 'size', 'label', 'checked'], + image=images.TreeCheckBox.GetImage()) +c.addStyles('wxCHK_2STATE', 'wxCHK_3STATE', 'wxCHK_ALLOW_3RD_STATE_FOR_USER', + 'wxALIGN_RIGHT') +c.addEvents('EVT_CHECKBOX') +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'check box', 'wxCheckBox', 10) +component.Manager.setTool(c, 'Controls', pos=(4,1)) + +### wxComboBox + +c = component.Component('wxComboBox', ['control','tool'], + ['pos', 'size', 'content', 'selection', 'value'], + image=images.TreeComboBox.GetImage()) +c.addStyles('wxCB_SIMPLE', 'wxCB_DROPDOWN', 'wxCB_READONLY', + 'wxCB_SORT', 'wxTE_PROCESS_ENTER') +c.setSpecial('content', attribute.ContentAttribute) +c.addEvents('EVT_COMBOBOX', 'EVT_TEXT', 'EVT_TEXT_ENTER') +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'combo box', 'wxComboBox', 20) +component.Manager.setTool(c, 'Controls', pos=(2,2)) + +### wxOwnerDrawnComboBox + +c = component.Component('wxOwnerDrawnComboBox', ['control','tool'], + ['pos', 'size', 'content', 'selection', 'value'], + image=images.TreeComboBox.GetImage()) +c.addStyles('wxCB_SIMPLE', 'wxCB_DROPDOWN', 'wxCB_READONLY', 'wxCB_SORT', + 'wxODCB_STD_CONTROL_PAINT', 'wxODCB_DCLICK_CYCLES', 'wxTE_PROCESS_ENTER') +c.setSpecial('content', attribute.ContentAttribute) +c.addEvents('EVT_COMBOBOX', 'EVT_TEXT', 'EVT_TEXT_ENTER') +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'owner-drawn combo box', 'wxOwnerDrawnComboBox', 21) + +#### wxBitmapComboBox +## FIXME: needs special content support (bitmap, text) +# +#c = component.Component('wxBitmapComboBox', ['control','tool'], +# ['pos', 'size', 'ownerdrawnitem', 'selection', 'value'], +# image=images.TreeComboBox.GetImage()) +#c.addStyles('wxCB_READONLY', 'wxCB_SORT') +#c.setSpecial('ownerdrawnitem', attribute.ContentAttribute) +#c.addEvents('EVT_COMBOBOX', 'EVT_TEXT', 'EVT_TEXT_ENTER') +#component.Manager.register(c) +#component.Manager.setMenu(c, 'box', 'virtual combo box', 'wxBitmapComboBox', 20) +# +### wxRadioBox + +c = component.Component('wxRadioBox', ['control','tool'], + ['pos', 'size', 'label', 'dimension', + 'content', 'selection', 'dimension']) +c.addStyles('wxRA_SPECIFY_ROWS', 'wxRA_SPECIFY_COLS', 'wxRA_HORIZONTAL', + 'wxRA_VERTICAL') +c.setSpecial('content', attribute.HelpContentAttribute) +c.setParamClass('content', params.ParamContentHelpList) +c.setParamClass('dimension', params.ParamInt) +c.addEvents('EVT_RADIOBOX') +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'radio box', 'wxRadioBox', 30) +#component.Manager.setTool(c, 'Panels') + +### wxListBox + +c = component.Component('wxListBox', ['control','tool'], + ['pos', 'size', 'content', 'selection'], + image=images.TreeListBox.GetImage()) +c.addStyles('wxLB_SINGLE', 'wxLB_MULTIPLE', 'wxLB_EXTENDED', 'wxLB_HSCROLL', + 'wxLB_ALWAYS_SB', 'wxLB_NEEDED_SB', 'wxLB_SORT') +c.setSpecial('content', attribute.ContentAttribute) +c.addEvents('EVT_LISTBOX', 'EVT_LISTBOX_DCLICK') +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'list box', 'wxListBox', 40) +component.Manager.setTool(c, 'Panels', pos=(0,0)) + +### wxSimpleHtmlListBox + +c = component.Component('wxSimpleHtmlListBox', ['control','tool'], + ['pos', 'size', 'content', 'selection'], + image=images.TreeListBox.GetImage()) +c.addStyles('wxHLB_MULTIPLE', 'wxHLB_DEFAULT_STYLE') +c.setSpecial('content', attribute.ContentAttribute) +c.addEvents('EVT_LISTBOX', 'EVT_LISTBOX_DCLICK') +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'html list box', 'wxSimpleHtmlListBox', 41) + +### wxCheckListBox + +c = component.Component('wxCheckListBox', ['control','tool'], + ['pos', 'size', 'content', 'selection'], + image=images.TreeCheckListBox.GetImage()) +c.addStyles('wxLB_SINGLE', 'wxLB_MULTIPLE', 'wxLB_EXTENDED', 'wxLB_HSCROLL', + 'wxLB_ALWAYS_SB', 'wxLB_NEEDED_SB', 'wxLB_SORT') +c.setSpecial('content', attribute.CheckContentAttribute) +c.setParamClass('content', params.ParamContentCheckList) +c.addEvents('EVT_CHECKLISTBOX') +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'check list box', 'wxCheckListBox', 50) +#component.Manager.setTool(c, 'Panels', pos=(0,0)) + +### wxStaticBox + +c = component.Component('wxStaticBox', ['control','tool'], + ['pos', 'size', 'label'], + image=images.TreeStaticBox.GetImage()) +component.Manager.register(c) +component.Manager.setMenu(c, 'box', 'static box', 'wxStaticBox', 60) +component.Manager.setTool(c, 'Panels', pos=(2,0)) + +### unknown + +c = component.Component('unknown', ['control'], ['pos', 'size']) +component.Manager.register(c) +component.Manager.setMenu(c, 'control', 'unknown', 'unknown control') + +### wxXXX + +#c = component.Component('wxXXX', ['control','tool'], +# ['pos', 'size', ...]) +#c.addStyles(...) +#component.Manager.register(c) +#component.Manager.setMenu(c, 'control', 'XXX', 'wxXXX', NN) diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/core.py b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/core.py new file mode 100644 index 0000000..211a691 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/core.py @@ -0,0 +1,607 @@ +# Name: core.py +# Purpose: Core components +# Author: Roman Rolinsky <rolinsky@femagsoft.com> +# Created: 31.05.2007 +# RCS-ID: $Id: core.py 71860 2012-06-25 15:46:16Z ROL $ + +import wx +from wx.tools.XRCed import component, images, attribute, params, view +from wx.tools.XRCed.globals import TRACE,is_object,is_element,STD_NAME +import _bitmaps as bitmaps + +TRACE('*** creating core components') + +# Set panel images +component.Manager.panelImages['Windows'] = images.ToolPanel_Windows.GetImage() +component.Manager.panelImages['Menus'] = images.ToolPanel_Menus.GetImage() +component.Manager.panelImages['Sizers'] = images.ToolPanel_Sizers.GetImage() +component.Manager.panelImages['Panels'] = images.ToolPanel_Panels.GetImage() +component.Manager.panelImages['Gizmos'] = images.ToolPanel_Gizmos.GetImage() + +### wxFrame + +class Frame(component.Container): + def getChildObject(self, node, obj, index): + # Do not count toolbar and menubar + objects = filter(is_element, node.childNodes) + indexOffset = 0 # count non-window children + for i,o in enumerate(objects): + if o.getAttribute('class') == 'wxMenuBar': + if i == index: return obj.GetMenuBar() + elif i < index: indexOffset += 1 + elif o.getAttribute('class') == 'wxToolBar': + if i == index: return obj.GetToolBar() + elif i < index: indexOffset += 1 + return component.Container.getChildObject(self, node, obj, index - indexOffset) + +c = Frame('wxFrame', ['frame','window','top_level'], + ['pos', 'size', 'title', 'centered'], + image=images.TreeFrame.GetImage()) +c.isTopLevel = True +c.addStyles('wxDEFAULT_FRAME_STYLE', 'wxDEFAULT_DIALOG_STYLE', 'wxCAPTION', + 'wxSTAY_ON_TOP', 'wxSYSTEM_MENU', + 'wxRESIZE_BORDER', 'wxCLOSE_BOX', + 'wxMAXIMIZE_BOX', 'wxMINIMIZE_BOX', + 'wxFRAME_NO_TASKBAR', 'wxFRAME_SHAPED', 'wxFRAME_TOOL_WINDOW', + 'wxFRAME_FLOAT_ON_PARENT', + 'wxTAB_TRAVERSAL') +c.addExStyles('wxFRAME_EX_CONTEXTHELP', 'wxFRAME_EX_METAL') +c.addEvents('EVT_SIZE', 'EVT_CLOSE', 'EVT_MENU_HIGHLIGHT', 'EVT_ICONIZE', 'EVT_MAXIMIZE', + 'EVT_ACTIVATE', 'EVT_UPDATE_UI') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'frame', 'wxFrame', 10) +component.Manager.setTool(c, 'Windows', bitmaps.wxFrame.GetBitmap(), (0,0)) + +### wxMDIParentFrame + +class MDIParentFrame(component.Container): + def getChildObject(self, node, obj, index): + # Do not count toolbar and menubar + objects = filter(is_element, node.childNodes) + indexOffset = 0 # count non-window children + for i,o in enumerate(objects): + if o.getAttribute('class') == 'wxMenuBar': + if i == index: return obj.GetMenuBar() + elif i < index: indexOffset += 1 + elif o.getAttribute('class') == 'wxToolBar': + if i == index: return obj.GetToolBar() + elif i < index: indexOffset += 1 + return obj.GetClientWindow().GetChildren()[index] + +c = MDIParentFrame('wxMDIParentFrame', ['mdi_parent_frame','top_level'], + ['pos', 'size', 'title', 'centered'], + image=images.TreeFrame.GetImage()) +c.isTopLevel = True +c.addStyles('wxDEFAULT_FRAME_STYLE', 'wxDEFAULT_DIALOG_STYLE', 'wxCAPTION', + 'wxSTAY_ON_TOP', 'wxSYSTEM_MENU', + 'wxRESIZE_BORDER', 'wxCLOSE_BOX', + 'wxMAXIMIZE_BOX', 'wxMINIMIZE_BOX', + 'wxFRAME_NO_TASKBAR', 'wxFRAME_SHAPED', 'wxFRAME_TOOL_WINDOW', + 'wxFRAME_FLOAT_ON_PARENT', 'wxFRAME_NO_WINDOW_MENU', + 'wxTAB_TRAVERSAL') +c.addExStyles('wxFRAME_EX_METAL') +c.addEvents('EVT_SIZE', 'EVT_CLOSE', 'EVT_MENU_HIGHLIGHT', 'EVT_ICONIZE', 'EVT_MAXIMIZE', + 'EVT_ACTIVATE', 'EVT_UPDATE_UI') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'MDI parent frame', 'wxMDIParentFrame', 11) +#component.Manager.setTool(c, 'Windows', bitmaps.wxFrame.GetBitmap(), (0,0)) + +### wxMDIChildFrame + +class MDIChildFrame(component.Container): + def getChildObject(self, node, obj, index): + # Do not count toolbar and menubar + objects = filter(is_element, node.childNodes) + indexOffset = 0 # count non-window children + for i,o in enumerate(objects): + if o.getAttribute('class') == 'wxMenuBar': + if i == index: return obj.GetMenuBar() + elif i < index: indexOffset += 1 + elif o.getAttribute('class') == 'wxToolBar': + if i == index: return obj.GetToolBar() + elif i < index: indexOffset += 1 + return component.Container.getChildObject(self, node, obj, index - indexOffset) + +c = MDIChildFrame('wxMDIChildFrame', ['mdi_child_frame','window'], + ['pos', 'size', 'title', 'centered'], + image=images.TreeFrame.GetImage()) +c.addStyles('wxDEFAULT_FRAME_STYLE', 'wxDEFAULT_DIALOG_STYLE', 'wxCAPTION', + 'wxSTAY_ON_TOP', 'wxSYSTEM_MENU', + 'wxRESIZE_BORDER', 'wxCLOSE_BOX', + 'wxMAXIMIZE_BOX', 'wxMINIMIZE_BOX', + 'wxFRAME_NO_TASKBAR', 'wxFRAME_SHAPED', 'wxFRAME_TOOL_WINDOW', + 'wxFRAME_FLOAT_ON_PARENT', 'wxFRAME_NO_WINDOW_MENU', + 'wxTAB_TRAVERSAL') +c.addExStyles('wxFRAME_EX_METAL') +c.addEvents('EVT_SIZE', 'EVT_CLOSE', 'EVT_MENU_HIGHLIGHT', 'EVT_ICONIZE', 'EVT_MAXIMIZE', + 'EVT_ACTIVATE', 'EVT_UPDATE_UI') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'MDI child frame', 'wxMDIChildFrame', 12) +#component.Manager.setTool(c, 'Windows', bitmaps.wxFrame.GetBitmap(), (0,0)) + +### wxDialog + +c = component.Container('wxDialog', ['frame','window','top_level'], + ['pos', 'size', 'title', 'centered', 'icon'], + image=images.TreeDialog.GetImage()) +c.isTopLevel = True +c.setSpecial('icon', attribute.BitmapAttribute) +c.addStyles('wxDEFAULT_DIALOG_STYLE', 'wxCAPTION', + 'wxSTAY_ON_TOP', 'wxSYSTEM_MENU', + 'wxRESIZE_BORDER', 'wxCLOSE_BOX', + 'wxMAXIMIZE_BOX', 'wxMINIMIZE_BOX', + 'wxDIALOG_NO_PARENT', 'wxFRAME_SHAPED', + 'wxTAB_TRAVERSAL') +c.addExStyles('wxDIALOG_EX_CONTEXTHELP', 'wxDIALOG_EX_METAL') +c.addEvents('EVT_INIT_DIALOG', 'EVT_SIZE', 'EVT_CLOSE', + 'EVT_ICONIZE', 'EVT_MAXIMIZE', 'EVT_ACTIVATE', 'EVT_UPDATE_UI') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'dialog', 'wxDialog', 20) +component.Manager.setTool(c, 'Windows', bitmaps.wxDialog.GetBitmap(), (0,1)) + +### wxPanel + +c = component.Container('wxPanel', ['window', 'top_level', 'control'], + ['pos', 'size'], + image=images.TreePanel.GetImage()) +c.addStyles('wxTAB_TRAVERSAL') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'panel', 'wxPanel', 30) +component.Manager.setMenu(c, 'container', 'panel', 'wxPanel', 10) +component.Manager.setTool(c, 'Windows', bitmaps.wxPanel.GetBitmap(), (0,2)) + +### wxWizard + +class Wizard(component.Container): + genericStyles = genericExStyles = [] + def makeTestWin(self, res, name): + wiz = wx.wizard.PreWizard() + res.LoadOnObject(wiz, view.frame, STD_NAME, self.klass) + # Find and select first page + firstPage = None + for w in wiz.GetChildren(): + if isinstance(w, wx.wizard.WizardPage): + firstPage = w + break + if firstPage: + wiz.RunWizard(firstPage) + else: + wx.LogMessage('Wizard is empty') + wiz.Destroy() + return None, None +c = Wizard('wxWizard', ['wizard', 'top_level'], + ['pos', 'title', 'bitmap'], + image=images.TreeWizard.GetImage()) +c.addExStyles('wxWIZARD_EX_HELPBUTTON') +c.setSpecial('bitmap', attribute.BitmapAttribute) +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'wizard', 'wxWizard', 40) +component.Manager.setTool(c, 'Windows', bitmaps.wxWizard.GetBitmap(), (1,0), (1,2)) + +### wxWizardPage + +class WizardPage(component.Container): + def makeTestWin(self, res, name): + # Create single-page wizard + wiz = wx.wizard.Wizard(view.frame, title='Test Wizard') + print self.klass + import pdb;pdb.set_trace() + page = wx.wizard.PrePyWizardPage() + print res.LoadOnObject(page, wiz, STD_NAME, self.klass) +# page = res.LoadObject(wiz, STD_NAME, self.klass) + print page + wiz.RunWizard(page) + wiz.Destroy() + return None, None + +c = WizardPage('wxWizardPage', ['wizard_page', 'window'], ['bitmap'], + image=images.TreePanel.GetImage()) +c.setSpecial('bitmap', attribute.BitmapAttribute) +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'wizard page', 'wxWizardPage') + +### wxWizardPageSimple + +c = component.Container('wxWizardPageSimple', ['wizard_page', 'window'], ['bitmap'], + image=images.TreePanel.GetImage()) +c.setSpecial('bitmap', attribute.BitmapAttribute) +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'simple wizard page', 'wxWizardPageSimple') + +### wxPropertySheetDialog + +class ParamButtons(params.ParamBinaryOr): + '''Button flags.''' + values = ['wxOK', 'wxCANCEL', 'wxYES', 'wxNO', 'wxHELP', 'wxNO_DEFAULT'] +c = component.SmartContainer('wxPropertySheetDialog', ['frame','book','window','top_level'], + ['pos', 'size', 'title', 'centered', 'icon', 'buttons'], + params={'buttons': ParamButtons}, + implicit_klass='propertysheetpage', + implicit_page='PropertySheetPage', + implicit_attributes=['label', 'selected', 'bitmap'], + implicit_params={'label': params.ParamText, 'selected': params.ParamBool}, + image=images.TreeDialog.GetImage()) +c.isTopLevel = True +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.setSpecial('icon', attribute.BitmapAttribute) +c.addStyles('wxDEFAULT_DIALOG_STYLE', 'wxCAPTION', 'wxFRAME_SHAPED', + 'wxTAB_TRAVERSAL', 'wxSTAY_ON_TOP', 'wxSYSTEM_MENU', + 'wxRESIZE_BORDER', 'wxCLOSE_BOX', 'wxMAXIMIZE_BOX', 'wxMINIMIZE_BOX', + 'wxDIALOG_MODAL', 'wxDIALOG_MODELESS', 'wxDIALOG_NO_PARENT', + 'wxTAB_TRAVERSAL') +c.addExStyles('wxDIALOG_EX_CONTEXTHELP', 'wxDIALOG_EX_METAL') +c.addEvents('EVT_INIT_DIALOG', 'EVT_SIZE', 'EVT_CLOSE', + 'EVT_ICONIZE', 'EVT_MAXIMIZE', 'EVT_ACTIVATE', 'EVT_UPDATE_UI') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'propery sheet dialog', 'wxPropertySheetDialog', 50) +component.Manager.setTool(c, 'Windows', bitmaps.wxPropertySheetDialog.GetBitmap(), (1,1)) + +### wxBoxSizer + +c = component.BoxSizer('wxBoxSizer', ['sizer'], ['orient'], + defaults={'orient': 'wxVERTICAL'}, + images=[images.TreeSizerV.GetImage(), images.TreeSizerH.GetImage()]) +component.Manager.register(c) +component.Manager.setMenu(c, 'sizer', 'box sizer', 'wxBoxSizer', 10) +component.Manager.setTool(c, 'Sizers', pos=(0,0)) + +### wxStaticBoxSizer + +c = component.BoxSizer('wxStaticBoxSizer', ['sizer'], ['label', 'orient'], + defaults={'orient': 'wxVERTICAL'}, + images=[images.TreeSizerV.GetImage(), images.TreeSizerH.GetImage()]) +component.Manager.register(c) +component.Manager.setMenu(c, 'sizer', 'static box sizer', 'wxStaticBoxSizer', 20) +component.Manager.setTool(c, 'Sizers', pos=(0,2)) + +### wxGridSizer + +c = component.Sizer('wxGridSizer', ['sizer'], + ['cols', 'rows', 'vgap', 'hgap'], + defaults={'cols': '2', 'rows': '2'}, + image=images.TreeSizerGrid.GetImage()) +component.Manager.register(c) +component.Manager.setMenu(c, 'sizer', 'grid sizer', 'wxGridSizer', 30) +component.Manager.setTool(c, 'Sizers', pos=(0,1)) + +### wxFlexGridSizer + +c = component.Sizer('wxFlexGridSizer', ['sizer'], + ['cols', 'rows', 'vgap', 'hgap', 'growablecols', 'growablerows'], + defaults={'cols': '2', 'rows': '2'}, + image=images.TreeSizerFlexGrid.GetImage()) +c.setSpecial('growablecols', attribute.MultiAttribute) +c.setParamClass('growablecols', params.ParamIntList) +c.setSpecial('growablerows', attribute.MultiAttribute) +c.setParamClass('growablerows', params.ParamIntList) +component.Manager.register(c) +component.Manager.setMenu(c, 'sizer', 'flex grid sizer', 'wxFlexGridSizer', 40) +component.Manager.setTool(c, 'Sizers', pos=(1,0)) + +### wxGridBagSizer + +c = component.Sizer('wxGridBagSizer', ['sizer'], + ['vgap', 'hgap', 'growablecols', 'growablerows'], + image=images.TreeSizerGridBag.GetImage(), + implicit_attributes=['option', 'flag', 'border', 'minsize', 'ratio', 'cellpos', 'cellspan']) +c.setSpecial('growablecols', attribute.MultiAttribute) +c.setParamClass('growablecols', params.ParamIntList) +c.setSpecial('growablerows', attribute.MultiAttribute) +c.setParamClass('growablerows', params.ParamIntList) +c.setImplicitParamClass('cellpos', params.ParamPosSize) +c.setImplicitParamClass('cellspan', params.ParamPosSize) +component.Manager.register(c) +component.Manager.setMenu(c, 'sizer', 'grid bag sizer', 'wxGridBagSizer', 50) +component.Manager.setTool(c, 'Sizers', pos=(1,1)) + +### wxStdDialogButtonSizer + +class StdDialogButtonSizer(component.Sizer): + def getChildObject(self, node, obj, index): + # This sizer orders buttons by fixed ordering, so we must + # get the ID to find them + try: + n = filter(is_element, node.childNodes)[index] + n = filter(is_element, n.childNodes)[0] + id = n.getAttribute('name') + except IndexError: + return None + items = filter(wx.SizerItem.IsWindow, obj.GetChildren()) + for item in items: + w = item.GetWindow() + if w.GetName() == id: return w + return None +c = StdDialogButtonSizer('wxStdDialogButtonSizer', ['btnsizer'], [], + implicit_klass='button', + implicit_attributes=[]) +component.Manager.register(c) +component.Manager.setMenu(c, 'sizer', 'dialog button sizer', 'wxStdDialogButtonSizer', 60) +#component.Manager.setTool(c, 'Sizers', pos=(0,2)) + +### spacer + +c = component.SimpleComponent('spacer', ['spacer'], ['size', 'option', 'flag', 'border'], + image=images.TreeSpacer.GetImage()) +c.hasName = False +component.Manager.register(c) +component.Manager.setMenu(c, 'sizer', 'spacer', 'spacer', 70) +component.Manager.setTool(c, 'Sizers', pos=(1,2)) + +################################################################################ +# Containers + +# wxPanel is already added + +### wxScrolledWindow + +c = component.Container('wxScrolledWindow', ['window', 'control'], ['pos', 'size']) +c.addStyles('wxHSCROLL', 'wxVSCROLL', 'wxTAB_TRAVERSAL') +c.addEvents('EVT_SCROLLWIN_TOP', + 'EVT_SCROLLWIN_BOTTOM', + 'EVT_SCROLLWIN_LINEUP', + 'EVT_SCROLLWIN_LINEDOWN', + 'EVT_SCROLLWIN_PAGEUP', + 'EVT_SCROLLWIN_PAGEDOWN', + 'EVT_SCROLLWIN_THUMBTRACK', + 'EVT_SCROLLWIN_THUMBRELEASE') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'scrolled window', 'wxScrolledWindow', 20) +component.Manager.setTool(c, 'Panels', pos=(3,0)) + +### wxSplitterWindow + +c = component.Container('wxSplitterWindow', ['book', 'window', 'control'], + ['pos', 'size', 'orientation', 'sashpos', 'minsize', 'gravity'], + # note: no flt[0..1], so just leaving gravity as text + params={'orientation': params.ParamOrientation, + 'sashpos': params.ParamUnit, + 'minsize': params.ParamUnit}, + image=images.TreeSplitterWindow.GetImage()) +c.addStyles('wxSP_3D', 'wxSP_3DSASH', 'wxSP_3DBORDER', 'wxSP_BORDER', + 'wxSP_FULLSASH', 'wxSP_NOBORDER', 'wxSP_PERMIT_UNSPLIT', 'wxSP_LIVE_UPDATE', + 'wxSP_NO_XP_THEME') +c.addEvents('EVT_SPLITTER_SASH_POS_CHANGING', 'EVT_SPLITTER_SASH_POS_CHANGED', + 'EVT_SPLITTER_UNSPLIT', 'EVT_SPLITTER_DCLICK') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'splitter window', 'wxSplitterWindow', 30) +component.Manager.setTool(c, 'Panels', pos=(2,3)) + +### wxNotebook + +c = component.SmartContainer('wxNotebook', ['book', 'window', 'control'], ['pos', 'size'], + implicit_klass='notebookpage', + implicit_page='NotebookPage', + implicit_attributes=['label', 'selected', 'bitmap'], + implicit_params={'label': params.ParamText, 'selected': params.ParamBool}, + image=images.TreeNotebook.GetImage()) +c.addStyles('wxBK_DEFAULT', 'wxBK_TOP', 'wxBK_LEFT', 'wxBK_RIGHT', 'wxBK_BOTTOM', + 'wxNB_FIXEDWIDTH', 'wxNB_MULTILINE', 'wxNB_NOPAGETHEME') +c.addEquivStyles({'wxBK_DEFAULT': 'wxNB_DEFAULT', 'wxBK_LEFT': 'wxNB_LEFT', + 'wxBK_RIGHT': 'wxNB_RIGHT', 'wxBK_TOP': 'wxNB_TOP', + 'wxBK_BOTTOM': 'wxNB_BOTTOM'}) +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.addEvents('EVT_NOTEBOOK_PAGE_CHANGED', 'EVT_NOTEBOOK_PAGE_CHANGING') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'notebook', 'Notebook control', 40) +component.Manager.setTool(c, 'Panels', pos=(1,0)) + +### wxChoicebook + +c = component.SmartContainer('wxChoicebook', ['book', 'window', 'control'], ['pos', 'size'], + implicit_klass='choicebookpage', + implicit_page='ChoicebookPage', + implicit_attributes=['label', 'selected', 'bitmap'], + implicit_params={'label': params.ParamText, 'selected': params.ParamBool}) +c.addStyles('wxBK_DEFAULT', 'wxBK_TOP', 'wxBK_LEFT', 'wxBK_RIGHT', 'wxBK_BOTTOM') +c.addEquivStyles({'wxBK_DEFAULT': 'wxCHB_DEFAULT', 'wxBK_LEFT': 'wxCHB_LEFT', + 'wxBK_RIGHT': 'wxCHB_RIGHT', 'wxBK_TOP': 'wxCHB_TOP', + 'wxBK_BOTTOM': 'wxCHB_BOTTOM'}) +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.addEvents('EVT_CHOICEBOOK_PAGE_CHANGED', 'EVT_CHOICEBOOK_PAGE_CHANGING') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'choicebook', 'wxChoicebook', 50) +component.Manager.setTool(c, 'Panels', pos=(1,3)) + +### wxListbook + +class ListBook(component.SmartContainer): + def getChildObject(self, node, obj, index): + # Listbook's first child is ListView + return obj.GetChildren()[index+1] +c = ListBook('wxListbook', ['book', 'window', 'control'], ['pos', 'size'], + implicit_klass='listbookpage', + implicit_page='ListbookPage', + implicit_attributes=['label', 'selected', 'bitmap'], + implicit_params={'label': params.ParamText, 'selected': params.ParamBool}) +c.addStyles('wxBK_DEFAULT', 'wxBK_LEFT', 'wxBK_RIGHT', 'wxBK_TOP', 'wxBK_BOTTOM') +c.addEquivStyles({'wxBK_DEFAULT': 'wxLB_DEFAULT', 'wxBK_LEFT': 'wxLB_LEFT', + 'wxBK_RIGHT': 'wxLB_RIGHT', 'wxBK_TOP': 'wxLB_TOP', + 'wxBK_BOTTOM': 'wxLB_BOTTOM'}) +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.addEvents('EVT_LISTBOOK_PAGE_CHANGED', 'EVT_LISTBOOK_PAGE_CHANGING') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'listbook', 'wxListbook', 60) +component.Manager.setTool(c, 'Panels', pos=(0,3)) + +### wxTreebook + +class TreeBook(component.SmartContainer): + def getChildObject(self, node, obj, index): + # Listbook's first child is ListView + return obj.GetChildren()[index+1] +c = TreeBook('wxTreebook', ['book', 'window', 'control'], ['pos', 'size'], + implicit_klass='treebookpage', + implicit_page='TreebookPage', + implicit_attributes=['label', 'selected', 'bitmap', 'depth'], + implicit_params={'label': params.ParamText, + 'selected': params.ParamBool, + 'depth': params.ParamInt}) +c.addStyles('wxBK_DEFAULT', 'wxBK_LEFT', 'wxBK_RIGHT', 'wxBK_TOP', 'wxBK_BOTTOM') +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.addEvents('EVT_TREEBOOK_PAGE_CHANGED', 'EVT_TREEBOOK_PAGE_CHANGING', + 'EVT_TREEBOOK_NODE_COLLAPSED', 'EVT_TREEBOOK_NODE_EXPANDED') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'treebook', 'wxTreebook', 70) +component.Manager.setTool(c, 'Panels', pos=(1,1), span=(1,2)) + +### wxCollapsiblePane + +c = component.SmartContainer('wxCollapsiblePane', ['book', 'window', 'control'], ['pos', 'size', 'label', 'collapsed'], + implicit_klass='panewindow', + implicit_page='', + implicit_attributes=[]) +c.addStyles('wxCP_NO_TLW_RESIZE', 'wxCP_DEFAULT_STYLE') +c.setParamClass('collapsed', params.ParamBool) +c.addEvents('EVT_COMMAND_COLLPANE_CHANGED') +component.Manager.register(c) +component.Manager.setMenu(c, 'container', 'collapsible pane', 'wxCollapsiblePane', 71) + +################################################################################ +# Menus + +### wxMenuBar + +class MenuBar(component.SimpleContainer): + isTestable = True + # Menubar should be shown in a normal frame + def makeTestWin(self, res, name): + frame = wx.Frame(None, -1, '%s: %s' % (self.klass, name), name=STD_NAME) + object = res.LoadMenuBarOnFrame(frame, STD_NAME) + return None, frame + def getRect(self, obj): + return None + +c = MenuBar('wxMenuBar', ['menubar', 'top_level'], [], + image=images.TreeMenuBar.GetImage()) +c.addStyles('wxMB_DOCKABLE') +c.addEvents('EVT_MENU', 'EVT_MENU_OPEN', 'EVT_MENU_CLOSE', 'EVT_MENU_HIGHLIGHT_ALL') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'menu bar', 'wxMenuBar', 40) +component.Manager.setMenu(c, 'bar', 'menu bar', 'wxMenuBar', 10) +component.Manager.setTool(c, 'Menus', pos=(1,0)) + +### wxMenu + +c = component.SimpleContainer('wxMenu', ['menu', 'top_level'], + ['label', 'help', 'enabled'], + image=images.TreeMenu.GetImage()) +#c.setSpecial('bitmap', attribute.BitmapAttribute) +c.addStyles('wxMENU_TEAROFF') +c.addEvents('EVT_MENU', 'EVT_MENU_OPEN', 'EVT_MENU_CLOSE', 'EVT_MENU_HIGHLIGHT_ALL') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'menu', 'wxMenu', 50) +component.Manager.setMenu(c, 'ROOT', 'menu', 'wxMenu', 20) +component.Manager.setTool(c, 'Menus', pos=(1,1), span=(2,1)) + +### wxMenuItem + +c = component.SimpleComponent('wxMenuItem', ['menu_item'], + ['label', 'bitmap', 'accel', 'help', + 'checkable', 'radio', 'enabled', 'checked'], + image=images.TreeMenuItem.GetImage()) +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.addEvents('EVT_MENU', 'EVT_MENU_HIGHLIGHT') +component.Manager.register(c) +component.Manager.setMenu(c, 'ROOT', 'menu item', 'wxMenuItem', 10) +component.Manager.setTool(c, 'Menus', pos=(1,2)) + +### wxToolBar + +class ToolBar(component.SimpleContainer): + isTestable = True + # Toolbar should be shown in a normal frame + def makeTestWin(self, res, name): + frame = wx.Frame(None, -1, '%s: %s' % (self.klass, name), name=STD_NAME) + object = res.LoadToolBar(frame, STD_NAME) + return None, frame + def getRect(self, obj): + return None + +c = ToolBar('wxToolBar', ['toolbar', 'top_level', 'control'], + ['bitmapsize', 'margins', 'packing', 'separation', + 'dontattachtoframe', 'pos', 'size'], + image=images.TreeToolBar.GetImage()) +c.addStyles('wxTB_FLAT', 'wxTB_DOCKABLE', 'wxTB_VERTICAL', 'wxTB_HORIZONTAL', + 'wxTB_3DBUTTONS','wxTB_TEXT', 'wxTB_NOICONS', 'wxTB_NODIVIDER', + 'wxTB_NOALIGN', 'wxTB_HORZ_LAYOUT', 'wxTB_HORZ_TEXT', + 'wxTB_TOP', 'wxTB_LEFT', 'wxTB_RIGHT', 'wxTB_BOTTOM') +c.setParamClass('dontattachtoframe', params.ParamBool) +c.setParamClass('bitmapsize', params.ParamPosSize) +c.setParamClass('margins', params.ParamPosSize) +c.setParamClass('packing', params.ParamUnit) +c.setParamClass('separation', params.ParamUnit) +c.renameDict = {'dontattachtoframe': "don't attach"} +c.addEvents('EVT_TOOL', 'EVT_TOOL_ENTER', 'EVT_TOOL_RCLICKED') +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'tool bar', 'wxToolBar', 50) +component.Manager.setMenu(c, 'bar', 'tool bar', 'wxToolBar', 20) +component.Manager.setTool(c, 'Menus', pos=(0,0)) + +### wxTool + +c = component.SimpleComponent('tool', ['tool'], + ['bitmap', 'bitmap2', 'radio', 'toggle', + 'tooltip', 'longhelp', 'label'], + image=images.TreeTool.GetImage()) +component.Manager.register(c) +c.setSpecial('bitmap', attribute.BitmapAttribute) +c.setSpecial('bitmap2', attribute.BitmapAttribute) +c.setParamClass('bitmap2', params.ParamBitmap) +c.setParamClass('toggle', params.ParamBool) +c.addEvents('EVT_TOOL', 'EVT_TOOL_ENTER', 'EVT_TOOL_RCLICKED') +component.Manager.setMenu(c, 'ROOT', 'tool', 'wxTool', 10) +component.Manager.setTool(c, 'Menus', pos=(0,1)) + +### wxSeparator + +c = component.SimpleComponent('separator', ['separator'], [], + image=images.TreeSeparator.GetImage()) +c.hasName = False +component.Manager.register(c) +component.Manager.setMenu(c, 'ROOT', 'separator', 'separator', 20) +component.Manager.setTool(c, 'Menus', pos=(0,2)) + +### wxBreak + +c = component.SimpleComponent('break', ['break'], [], + image=images.TreeSeparator.GetImage()) +c.hasName = False +component.Manager.register(c) +component.Manager.setMenu(c, 'ROOT', 'break', 'break', 21) + +### wxStatusBar + +c = component.SimpleComponent('wxStatusBar', ['statusbar'], ['fields', 'widths', 'styles']) +c.addStyles('wxST_SIZEGRIP') +c.setParamClass('fields', params.ParamIntP) +component.Manager.register(c) +component.Manager.setMenu(c, 'bar', 'status bar', 'wxStatusBar', 30) +component.Manager.setTool(c, 'Menus', pos=(2,0)) + +################################################################################ + +### wxBitmap + +c = component.SimpleComponent('wxBitmap', ['top_level'], ['object']) +c.renameDict = {'object': ''} +c.setSpecial('object', attribute.BitmapAttribute) +c.setParamClass('object', params.ParamBitmap) +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'bitmap', 'wxBitmap', 60) + +### wxIcon + +c = component.SimpleComponent('wxIcon', ['top_level'], ['object']) +c.renameDict = {'object': ''} +c.setSpecial('object', attribute.BitmapAttribute) +c.setParamClass('object', params.ParamBitmap) +component.Manager.register(c) +component.Manager.setMenu(c, 'TOP_LEVEL', 'icon', 'wxIcon', 70) + +### wxXXX + +#c = component.Component('wxXXX', ['control','tool'], +# ['pos', 'size', ...]) +#c.addStyles(...) +#component.Manager.register(c) +#component.Manager.setMenu(c, 'control', 'XXX', 'wxXXX', NN) diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/gizmos.crx b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/gizmos.crx new file mode 100644 index 0000000..5f3f1e4 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/gizmos.crx @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<resource> + <component class="Component" name="LEDNumberCtrl" provider="Roman Rolinsky <genericsoma@gmail.com>"> + <groups> + <item>control</item> + </groups> + <attributes> + <item>pos</item> + <item>size</item> + <item>value</item> + </attributes> + <has-name>1</has-name> + <styles> + <item>wxLED_ALIGN_LEFT</item> + <item>wxLED_ALIGN_RIGHT</item> + <item>wxLED_ALIGN_CENTER</item> + <item>wxLED_ALIGN_FADED</item> + </styles> + <module>xh_gizmos</module> + <handler>LEDNumberCtrlXmlHandler</handler> + <menu>gizmo</menu> + <label>LED number</label> + <help>LED-style control</help> + <panel>Gizmos</panel> + <pos>1,0</pos> + </component> + <component class="Component" name="EditableListBox" provider="Roman Rolinsky <genericsoma@gmail.com>"> + <groups> + <item>control</item> + </groups> + <attributes> + <item>pos</item> + <item>size</item> + <item>label</item> + <item>content:ContentAttribute</item> + </attributes> + <has-name>1</has-name> + <styles> + <item>wxEL_ALLOW_NEW</item> + <item>wxEL_ALLOW_EDIT</item> + <item>wxEL_ALLOW_DELETE</item> + </styles> + <module>xh_gizmos</module> + <handler>EditableListBoxXmlHandler</handler> + <menu>gizmo</menu> + <label>editable list box</label> + <help>list box with editable items</help> + <panel>Gizmos</panel> + <pos>0,1</pos> + </component> + <component class="Component" name="TreeListCtrl" provider="Roman Rolinsky <genericsoma@gmail.com>"> + <groups> + <item>control</item> + </groups> + <attributes> + <item>pos</item> + <item>size</item> + </attributes> + <has-name>1</has-name> + <styles> + <item>wxTR_DEFAULT_STYLE</item> + <item>wxTR_EDIT_LABELS</item> + <item>wxTR_NO_BUTTONS</item> + <item>wxTR_HAS_BUTTONS</item> + <item>wxTR_TWIST_BUTTONS</item> + <item>wxTR_NO_LINES</item> + <item>wxTR_FULL_ROW_HIGHLIGHT</item> + <item>wxTR_LINES_AT_ROOT</item> + <item>wxTR_HIDE_ROOT</item> + <item>wxTR_ROW_LINES</item> + <item>wxTR_HAS_VARIABLE_ROW_HEIGHT</item> + <item>wxTR_SINGLE</item> + <item>wxTR_MULTIPLE</item> + <item>wxTR_EXTENDED</item> + </styles> + <module>xh_gizmos</module> + <handler>TreeListCtrlXmlHandler</handler> + <menu>gizmo</menu> + <label>tree list ctrl</label> + <help>tree combined with list control</help> + <panel>Gizmos</panel> + <pos>0,0</pos> + </component> + <component class="Component" name="DynamicSashWindow" provider="Roman Rolinsky <genericsoma@gmail.com>"> + <groups> + <item>control</item> + </groups> + <attributes> + <item>pos</item> + <item>size</item> + </attributes> + <has-name>1</has-name> + <styles> + <item>wxDS_MANAGE_SCROLLBARS</item> + <item>wxDS_DRAG_CORNER</item> + </styles> + <events> + <item>wxEVT_DYNAMIC_SASH_SPLIT</item> + <item>wxEVT_DYNAMIC_SASH_UNIFY</item> + </events> + <module>xh_gizmos</module> + <handler>DynamicSashWindowXmlHandler</handler> + <menu>gizmo</menu> + <label>dynamic sash window</label> + <panel>Gizmos</panel> + <pos>0,2</pos> + </component> + <object class="wxPanel" name="test"> + <object class="wxBoxSizer"> + <object class="sizeritem"> + <object class="EditableListBox"> + <size>100,100</size> + <label>label</label> + <content> + <item>item1</item> + </content> + </object> + </object> + <object class="sizeritem"> + <object class="TreeListCtrl"/> + </object> + <object class="sizeritem"> + <object class="DynamicSashWindow"> + <size>100,100</size> + </object> + </object> + </object> + </object> +</resource>
\ No newline at end of file diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/wxlib.py b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/wxlib.py new file mode 100644 index 0000000..25f29d0 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/wxlib.py @@ -0,0 +1,39 @@ +# Name: wxlib.py +# Purpose: Component plugins for wx.lib classes +# Author: Roman Rolinsky <rolinsky@femagsoft.com> +# Created: 05.09.2007 +# RCS-ID: $Id$ + +import xh_wxlib +from wx.tools.XRCed import component, params +from wx.tools.XRCed.globals import TRACE +from wx.lib.ticker_xrc import wxTickerXmlHandler + +TRACE('*** creating wx.lib components') + +# wx.lib.foldpanelbar.FoldPanelBar + +c = component.SmartContainer('wx.lib.foldpanelbar.FoldPanelBar', ['book', 'window', 'control'], + ['pos', 'size'], + implicit_klass='foldpanel', + implicit_page='FoldPanel', + implicit_attributes=['label', 'collapsed'], + implicit_params={'collapsed': params.ParamBool}) +c.addStyles('FPB_SINGLE_FOLD', 'FPB_COLLAPSE_TO_BOTTOM', + 'FPB_EXCLUSIVE_FOLD', 'FPB_HORIZONTAL', 'FPB_VERTICAL') +component.Manager.register(c) +component.Manager.addXmlHandler(xh_wxlib.FoldPanelBarXmlHandler) +component.Manager.setMenu(c, 'bar', 'fold panel bar', 'FoldPanelBar', 1000) + +# wx.lib.ticker.Ticker + +class ParamDirection(params.RadioBox): + choices = {'right to left': 'rtl', 'left to right': 'ltr'} + default = 'rtl' +c = component.Component('wxTicker', ['control'], + ['pos', 'size', 'start', 'text', 'ppf', 'fps', 'direction'], + params={'ppf': params.ParamInt, 'fps': params.ParamInt, + 'direction': ParamDirection}) +component.Manager.register(c) +component.Manager.addXmlHandler(wxTickerXmlHandler) +component.Manager.setMenu(c, 'control', 'ticker', 'Ticker', 1000) diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/xh_gizmos.py b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/xh_gizmos.py new file mode 100644 index 0000000..4e74905 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/xh_gizmos.py @@ -0,0 +1,158 @@ +# Name: gizmos.py +# Purpose: XML handlers for wx.gismos classes +# Author: Roman Rolinsky <rolinsky@femagsoft.com> +# Created: 09.07.2007 +# RCS-ID: $Id$ + +import wx +import wx.xrc as xrc +import wx.gizmos as gizmos + +class LEDNumberCtrlXmlHandler(xrc.XmlResourceHandler): + def __init__(self): + xrc.XmlResourceHandler.__init__(self) + # Standard styles + self.AddWindowStyles() + # Custom styles + self.AddStyle('wxLED_ALIGN_LEFT', gizmos.LED_ALIGN_LEFT) + self.AddStyle('wxLED_ALIGN_RIGHT', gizmos.LED_ALIGN_RIGHT) + self.AddStyle('wxLED_ALIGN_CENTER', gizmos.LED_ALIGN_CENTER) + self.AddStyle('wxLED_DRAW_FADED', gizmos.LED_DRAW_FADED) + + def CanHandle(self,node): + return self.IsOfClass(node, 'LEDNumberCtrl') + + # Process XML parameters and create the object + def DoCreateResource(self): + assert self.GetInstance() is None + w = gizmos.LEDNumberCtrl(self.GetParentAsWindow(), + self.GetID(), + self.GetPosition(), + self.GetSize(), + self.GetStyle()) + # wxLED_ALIGN_MASK was incorrect + align = self.GetStyle() & 7 + if align: w.SetAlignment(self.GetStyle() & 7) + w.SetValue(self.GetText('value')) + self.SetupWindow(w) + return w + + +class EditableListBoxXmlHandler(xrc.XmlResourceHandler): + def __init__(self): + xrc.XmlResourceHandler.__init__(self) + # Standard styles + self.AddWindowStyles() + # Custom styles + self.AddStyle('wxEL_ALLOW_NEW', gizmos.EL_ALLOW_NEW) + self.AddStyle('wxEL_ALLOW_EDIT', gizmos.EL_ALLOW_EDIT) + self.AddStyle('wxEL_ALLOW_DELETE', gizmos.EL_ALLOW_DELETE) + + def CanHandle(self, node): + return self.IsOfClass(node, 'EditableListBox') +# return self.IsOfClass(node, 'EditableListBox') or \ +# self.insideBox and node.GetName() == 'item' + + # Process XML parameters and create the object + def DoCreateResource(self): + assert self.GetInstance() is None + + w = gizmos.EditableListBox(self.GetParentAsWindow(), + self.GetID(), + self.GetText("label"), + self.GetPosition(), + self.GetSize(), + self.GetStyle(), + self.GetName()) + + # Doesn't work + #self.insideBox = True + #self.CreateChildrenPrivately(None, self.GetParamNode('content')) + #self.insideBox = False + + # Long way + strings = [] + n = self.GetParamNode('content') + if n: n = n.GetChildren() + while n: + if n.GetType() != xrc.XML_ELEMENT_NODE or n.GetName() != "item": + n = n.GetNext() + continue + strings.append(n.GetNodeContent()) + n = n.GetNext() + w.SetStrings(strings) + self.SetupWindow(w) + return w + + +class TreeListCtrlXmlHandler(xrc.XmlResourceHandler): + def __init__(self): + xrc.XmlResourceHandler.__init__(self) + # Standard styles + self.AddWindowStyles() + # Custom styles + self.AddStyle('wxTR_DEFAULT_STYLE', wx.TR_DEFAULT_STYLE) + self.AddStyle('wxTR_EDIT_LABELS', wx.TR_EDIT_LABELS) + self.AddStyle('wxTR_NO_BUTTONS', wx.TR_NO_BUTTONS) + self.AddStyle('wxTR_HAS_BUTTONS', wx.TR_HAS_BUTTONS) + self.AddStyle('wxTR_TWIST_BUTTONS', wx.TR_TWIST_BUTTONS) + self.AddStyle('wxTR_NO_LINES', wx.TR_NO_LINES) + self.AddStyle('wxTR_FULL_ROW_HIGHLIGHT', wx.TR_FULL_ROW_HIGHLIGHT) + self.AddStyle('wxTR_LINES_AT_ROOT', wx.TR_LINES_AT_ROOT) + self.AddStyle('wxTR_HIDE_ROOT', wx.TR_HIDE_ROOT) + self.AddStyle('wxTR_ROW_LINES', wx.TR_ROW_LINES) + self.AddStyle('wxTR_HAS_VARIABLE_ROW_HEIGHT', wx.TR_HAS_VARIABLE_ROW_HEIGHT) + self.AddStyle('wxTR_SINGLE', wx.TR_SINGLE) + self.AddStyle('wxTR_MULTIPLE', wx.TR_MULTIPLE) + self.AddStyle('wxTR_EXTENDED', wx.TR_EXTENDED) + + def CanHandle(self, node): + return self.IsOfClass(node, 'TreeListCtrl') + + # Process XML parameters and create the object + def DoCreateResource(self): + assert self.GetInstance() is None + + w = gizmos.TreeListCtrl(self.GetParentAsWindow(), + self.GetID(), + style=self.GetStyle(), + name=self.GetName()) + w.AddColumn("Main column") + w.AddColumn('Column 1') + w.SetMainColumn(0) + w.SetColumnWidth(0, 50) + w.SetColumnWidth(1, 50) + root = w.AddRoot('Root') + w.SetItemText(root, "col 1", 1) + item1 = w.AppendItem(root, 'item 1') + w.SetItemText(item1, "col 1", 1) + w.Expand(root) + return w + + +class DynamicSashWindowXmlHandler(xrc.XmlResourceHandler): + def __init__(self): + xrc.XmlResourceHandler.__init__(self) + # Standard styles + self.AddWindowStyles() + # Custom styles + self.AddStyle('wxDS_MANAGE_SCROLLBARS', gizmos.DS_MANAGE_SCROLLBARS) + self.AddStyle('wxDS_DRAG_CORNER', gizmos.DS_DRAG_CORNER) + + def CanHandle(self, node): + return self.IsOfClass(node, 'DynamicSashWindow') + + # Process XML parameters and create the object + def DoCreateResource(self): + assert self.GetInstance() is None + + w = gizmos.DynamicSashWindow(self.GetParentAsWindow(), + self.GetID(), + self.GetPosition(), + self.GetSize(), + self.GetStyle(), + self.GetName()) + + self.SetupWindow(w) + return w + diff --git a/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/xh_wxlib.py b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/xh_wxlib.py new file mode 100644 index 0000000..7c52e57 --- /dev/null +++ b/lib/python2.7/site-packages/wx-3.0-msw/wx/tools/XRCed/plugins/xh_wxlib.py @@ -0,0 +1,62 @@ +# Name: wxlib.py +# Purpose: XML handlers for wx.lib classes +# Author: Roman Rolinsky <rolinsky@femagsoft.com> +# Created: 05.09.2007 +# RCS-ID: $Id$ + +import wx +import wx.xrc as xrc +import wx.lib.foldpanelbar as fpb +from wx.lib.ticker_xrc import wxTickerXmlHandler + +from wx.tools.XRCed.globals import TRACE + +class FoldPanelBarXmlHandler(xrc.XmlResourceHandler): + def __init__(self): + xrc.XmlResourceHandler.__init__(self) + # Standard styles + self.AddWindowStyles() + # Custom styles + self.AddStyle('FPB_SINGLE_FOLD', fpb.FPB_SINGLE_FOLD) + self.AddStyle('FPB_COLLAPSE_TO_BOTTOM', fpb.FPB_COLLAPSE_TO_BOTTOM) + self.AddStyle('FPB_EXCLUSIVE_FOLD', fpb.FPB_EXCLUSIVE_FOLD) + self.AddStyle('FPB_HORIZONTAL', fpb.FPB_HORIZONTAL) + self.AddStyle('FPB_VERTICAL', fpb.FPB_VERTICAL) + self._isInside = False + + def CanHandle(self,node): + return not self._isInside and self.IsOfClass(node, 'wx.lib.foldpanelbar.FoldPanelBar') or \ + self._isInside and self.IsOfClass(node, 'foldpanel') + + # Process XML parameters and create the object + def DoCreateResource(self): + TRACE('DoCreateResource: %s', self.GetClass()) + if self.GetClass() == 'foldpanel': + n = self.GetParamNode('object') + if n: + old_ins = self._isInside + self._isInside = False + bar = self._w + item = self.CreateResFromNode(n, bar, None) + self._isInside = old_ins + wnd = item + if wnd: + item = bar.AddFoldPanel(self.GetText('label'), + collapsed=self.GetBool('collapsed')) + bar.AddFoldPanelWindow(item, wnd) + return wnd + else: + w = fpb.FoldPanelBar(self.GetParentAsWindow(), + self.GetID(), + self.GetPosition(), + self.GetSize(), + self.GetStyle(), + self.GetStyle('exstyle')) + self.SetupWindow(w) + self._w = w + old_ins = self._isInside + self._isInside = True + self.CreateChildren(w, True) + self._isInside = old_ins + return w + |