Reorganized the tree in the wxPython demo, hooked the MDI demos into

the main demo.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2002-04-18 05:43:08 +00:00
parent d394edcac8
commit 9c67cbec02
4 changed files with 300 additions and 71 deletions

View File

@ -38,16 +38,17 @@ class MyParentFrame(wxMDIParentFrame):
#----------------------------------------------------------------------
class MyApp(wxApp):
def OnInit(self):
frame = MyParentFrame()
frame.Show(true)
self.SetTopWindow(frame)
return true
if __name__ == '__main__':
class MyApp(wxApp):
def OnInit(self):
frame = MyParentFrame()
frame.Show(true)
self.SetTopWindow(frame)
return true
app = MyApp(0)
app.MainLoop()
app = MyApp(0)
app.MainLoop()

View File

@ -125,16 +125,17 @@ class MyParentFrame(wxMDIParentFrame):
#----------------------------------------------------------------------
class MyApp(wxApp):
def OnInit(self):
frame = MyParentFrame()
frame.Show(true)
self.SetTopWindow(frame)
return true
if __name__ == '__main__':
class MyApp(wxApp):
def OnInit(self):
frame = MyParentFrame()
frame.Show(true)
self.SetTopWindow(frame)
return true
app = MyApp(0)
app.MainLoop()
app = MyApp(0)
app.MainLoop()

View File

@ -20,70 +20,243 @@ import images
#---------------------------------------------------------------------------
## _treeList = [
## ('New since last release', ['wxGenericDirCtrl',
## 'wxImageFromStream',
## 'RowColSizer',
## 'Unicode',
## 'wxFileHistory',
## ]),
## ('Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame',
## 'wxGrid', 'wxSashWindow',
## 'wxScrolledWindow', 'wxSplitterWindow',
## 'wxStatusBar', 'wxNotebook',
## 'wxHtmlWindow',
## 'wxStyledTextCtrl_1', 'wxStyledTextCtrl_2',
## 'wxPopupWindow',
## 'wxDynamicSashWindow',
## ]),
## ('Common Dialogs', ['wxColourDialog', 'wxDirDialog', 'wxFileDialog',
## 'wxSingleChoiceDialog', 'wxTextEntryDialog',
## 'wxFontDialog', 'wxPageSetupDialog', 'wxPrintDialog',
## 'wxMessageDialog', 'wxProgressDialog', 'wxFindReplaceDialog',
## ]),
## ('Controls', ['wxButton', 'wxCheckBox', 'wxCheckListBox', 'wxChoice',
## 'wxComboBox', 'wxGauge', 'wxListBox', 'wxListCtrl', 'VirtualListCtrl',
## 'wxTextCtrl',
## 'wxTreeCtrl', 'wxSpinButton', 'wxSpinCtrl', 'wxStaticText',
## 'wxStaticBitmap', 'wxRadioBox', 'wxSlider', 'wxToolBar',
## 'wxCalendarCtrl', 'wxToggleButton',
## 'wxEditableListBox', 'wxLEDNumberCtrl',
## ]),
## ('Window Layout', ['wxLayoutConstraints', 'LayoutAnchors', 'Sizers', 'XML_Resource',
## 'RowColSizer',
## ]),
## ('Miscellaneous', [ 'DragAndDrop', 'CustomDragAndDrop', 'URLDragAndDrop',
## 'FontEnumerator',
## 'wxTimer', 'wxValidator', 'wxGLCanvas', 'DialogUnits',
## 'wxImage', 'wxMask', 'PrintFramework', 'wxOGL',
## 'PythonEvents', 'Threads',
## 'ActiveXWrapper_Acrobat', 'ActiveXWrapper_IE',
## 'wxDragImage', "wxProcess", "FancyText", "OOR", "wxWave",
## 'wxJoystick', 'DrawXXXList', 'ErrorDialogs', 'wxMimeTypesManager',
## 'ContextHelp', 'SplitTree', 'Unicode', 'wxFileHistory',
## ]),
## ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
## 'wxMultipleChoiceDialog', 'wxPlotCanvas', 'wxFloatBar',
## 'wxCalendar', 'wxMVCTree', 'wxVTKRenderWindow',
## 'FileBrowseButton', 'GenericButtons', 'wxEditor',
## 'ColourSelect', 'ImageBrowser',
## 'infoframe', 'ColourDB', 'PyCrust', 'PyCrustWithFilling',
## 'TablePrint',
## 'wxRightTextCtrl',
## ]),
## ('Cool Contribs', ['pyTree', 'hangman',
## #'SlashDot',
## 'XMLtreeview'
## ]),
## ]
_treeList = [
('New since last release', ['wxGenericDirCtrl',
'wxImageFromStream',
'RowColSizer',
'Unicode',
'wxFileHistory',
]),
# new stuff
('New since last release', [
'RowColSizer',
'Unicode',
'wxFileHistory',
'wxGenericDirCtrl',
'wxImageFromStream',
]),
('Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame',
'wxGrid', 'wxSashWindow',
'wxScrolledWindow', 'wxSplitterWindow',
'wxStatusBar', 'wxNotebook',
'wxHtmlWindow',
'wxStyledTextCtrl_1', 'wxStyledTextCtrl_2',
'wxPopupWindow',
'wxDynamicSashWindow',
]),
# managed windows == things with a caption you can close
('Base Frames and Dialogs', [
'wxDialog',
'wxFrame',
'wxMDIWindows',
'wxMiniFrame',
]),
('Common Dialogs', ['wxColourDialog', 'wxDirDialog', 'wxFileDialog',
'wxSingleChoiceDialog', 'wxTextEntryDialog',
'wxFontDialog', 'wxPageSetupDialog', 'wxPrintDialog',
'wxMessageDialog', 'wxProgressDialog', 'wxFindReplaceDialog',
]),
# the common dialogs
('Common Dialogs', [
'wxColourDialog',
'wxDirDialog',
'wxFileDialog',
'wxFindReplaceDialog',
'wxFontDialog',
'wxMessageDialog',
'wxPageSetupDialog',
'wxPrintDialog',
'wxProgressDialog',
'wxSingleChoiceDialog',
'wxTextEntryDialog',
]),
('Controls', ['wxButton', 'wxCheckBox', 'wxCheckListBox', 'wxChoice',
'wxComboBox', 'wxGauge', 'wxListBox', 'wxListCtrl', 'VirtualListCtrl',
'wxTextCtrl',
'wxTreeCtrl', 'wxSpinButton', 'wxSpinCtrl', 'wxStaticText',
'wxStaticBitmap', 'wxRadioBox', 'wxSlider', 'wxToolBar',
'wxCalendarCtrl', 'wxToggleButton',
'wxEditableListBox', 'wxLEDNumberCtrl',
]),
# dialogs form libraries
('More Dialogs', [
'ErrorDialogs',
'ImageBrowser',
'wxMultipleChoiceDialog',
'wxScrolledMessageDialog',
]),
('Window Layout', ['wxLayoutConstraints', 'LayoutAnchors', 'Sizers', 'XML_Resource',
'RowColSizer',
]),
# core controls
('Core Windows/Controls', [
'VirtualListCtrl',
'wxButton',
'wxCheckBox',
'wxCheckListBox',
'wxChoice',
'wxComboBox',
'wxGauge',
'wxGenericDirCtrl',
'wxGrid',
'wxListBox',
'wxListCtrl',
'wxNotebook',
'wxPopupWindow',
'wxRadioBox',
'wxSashWindow',
'wxSlider',
'wxScrolledWindow',
'wxSplitterWindow',
'wxSpinButton',
'wxSpinCtrl',
'wxStaticText',
'wxStaticBitmap',
'wxStatusBar',
'wxTextCtrl',
'wxTimer',
'wxToggleButton',
'wxToolBar',
'wxTreeCtrl',
'wxValidator',
]),
('Miscellaneous', [ 'DragAndDrop', 'CustomDragAndDrop', 'URLDragAndDrop',
'FontEnumerator',
'wxTimer', 'wxValidator', 'wxGLCanvas', 'DialogUnits',
'wxImage', 'wxMask', 'PrintFramework', 'wxOGL',
'PythonEvents', 'Threads',
'ActiveXWrapper_Acrobat', 'ActiveXWrapper_IE',
'wxDragImage', "wxProcess", "FancyText", "OOR", "wxWave",
'wxJoystick', 'DrawXXXList', 'ErrorDialogs', 'wxMimeTypesManager',
'ContextHelp', 'SplitTree', 'Unicode', 'wxFileHistory',
]),
# controls coming from other librairies
('More Windows/Controls', [
'ColourSelect',
'ContextHelp',
'FancyText',
'FileBrowseButton',
'GenericButtons',
'PyCrust',
'PyCrustWithFilling',
'SplitTree',
'TablePrint',
'wxCalendar',
'wxCalendarCtrl',
'wxDynamicSashWindow',
'wxEditableListBox',
'wxEditor',
'wxFloatBar',
'wxHtmlWindow',
'wxLEDNumberCtrl',
'wxMimeTypesManager',
'wxMVCTree',
'wxStyledTextCtrl_1',
'wxStyledTextCtrl_2',
'wxRightTextCtrl',
]),
('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
'wxMultipleChoiceDialog', 'wxPlotCanvas', 'wxFloatBar',
'wxCalendar', 'wxMVCTree', 'wxVTKRenderWindow',
'FileBrowseButton', 'GenericButtons', 'wxEditor',
'ColourSelect', 'ImageBrowser',
'infoframe', 'ColourDB', 'PyCrust', 'PyCrustWithFilling',
'TablePrint',
'wxRightTextCtrl',
]),
# How to lay out the controls in a frame/dialog
('Window Layout', [
'LayoutAnchors',
'Layoutf',
'RowColSizer',
'Sizers',
'wxLayoutConstraints',
'XML_Resource',
]),
# ditto
('Process and Events', [
'infoframe',
'OOR',
'PythonEvents',
'Threads',
'wxProcess',
'wxTimer',
]),
# Clipboard and DnD
('Clipboard and DnD', [
'CustomDragAndDrop',
'DragAndDrop',
'URLDragAndDrop',
]),
# Images
('Images', [
'wxDragImage',
'wxImage',
'wxImageFromStream',
'wxMask',
]),
# Other stuff
('Miscellaneous', [
'ColourDB',
'DialogUnits',
'DrawXXXList',
'FontEnumerator',
'PrintFramework',
'Unicode',
'wxFileHistory',
'wxJoystick',
'wxOGL',
'wxWave',
]),
# need libs not coming with the demo
('Objects using an external library', [
'ActiveXWrapper_Acrobat',
'ActiveXWrapper_IE',
'wxGLCanvas',
'wxPlotCanvas',
'wxVTKRenderWindow',
]),
# pyTree, hangman, ... in the samples dir
('Check out the samples dir too', [
]),
#~ ('Cool Contribs', [
#~ 'pyTree',
#~ 'hangman',
#'SlashDot',
#~ 'XMLtreeview'
#~ ]),
]
('Cool Contribs', ['pyTree', 'hangman',
#'SlashDot',
'XMLtreeview'
]),
]
#---------------------------------------------------------------------------

View File

@ -0,0 +1,54 @@
from wxPython.wx import *
#----------------------------------------------------------------------
class TestPanel(wxPanel):
def __init__(self, parent, log):
self.log = log
wxPanel.__init__(self, parent, -1)
b1 = wxButton(self, -1, "MDI demo")
EVT_BUTTON(self, b1.GetId(), self.ShowMDIDemo)
b2 = wxButton(self, -1, "MDI with SashWindows demo")
EVT_BUTTON(self, b2.GetId(), self.ShowMDISashDemo)
box = wxBoxSizer(wxVERTICAL)
box.Add(20, 30)
box.Add(b1, 0, wxALIGN_CENTER|wxALL, 15)
box.Add(b2, 0, wxALIGN_CENTER|wxALL, 15)
self.SetAutoLayout(true)
self.SetSizer(box)
def ShowMDIDemo(self, evt):
import MDIDemo
frame = MDIDemo.MyParentFrame()
frame.Show()
def ShowMDISashDemo(self, evt):
import MDISashDemo
frame = MDISashDemo.MyParentFrame()
frame.Show()
#----------------------------------------------------------------------
def runTest(frame, nb, log):
win = TestPanel(nb, log)
return win
#----------------------------------------------------------------------
overview = """<html><body>
<h2><center>Multiple Document Interface</center></h2>
Although Microsoft has deprecated the MDI model, wxWindows still supports
it. Here are a couple samples of how to use it.
</body></html>
"""