diff --git a/samples/docview/Makefile.in b/samples/docview/Makefile.in index 8415a78332..9c174054d5 100644 --- a/samples/docview/Makefile.in +++ b/samples/docview/Makefile.in @@ -98,6 +98,9 @@ COND_PLATFORM_OS2_1___docview___os2_emxbindcmd = $(NM) docview$(EXEEXT) | if \ @COND_TOOLKIT_OSX_IPHONE@ = $(__docview_app_Contents_PkgInfo___depname) @COND_TOOLKIT_COCOA@____docview_BUNDLE_TGT_REF_DEP = \ @COND_TOOLKIT_COCOA@ $(__docview_app_Contents_PkgInfo___depname) +COND_MONOLITHIC_0___WXLIB_AUI_p = \ + -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui-$(WX_RELEASE)$(HOST_SUFFIX) +@COND_MONOLITHIC_0@__WXLIB_AUI_p = $(COND_MONOLITHIC_0___WXLIB_AUI_p) COND_MONOLITHIC_0___WXLIB_CORE_p = \ -lwx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core-$(WX_RELEASE)$(HOST_SUFFIX) @COND_MONOLITHIC_0@__WXLIB_CORE_p = $(COND_MONOLITHIC_0___WXLIB_CORE_p) @@ -148,7 +151,7 @@ distclean: clean rm -f config.cache config.log config.status bk-deps bk-make-pch shared-ld-sh Makefile docview$(EXEEXT): $(DOCVIEW_OBJECTS) $(__docview___win32rc) - $(CXX) -o $@ $(DOCVIEW_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) + $(CXX) -o $@ $(DOCVIEW_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS_GUI) $(SAMPLES_RPATH_FLAG) $(LDFLAGS) $(__WXLIB_AUI_p) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS) $(__docview___os2_emxbindcmd) @COND_PLATFORM_MACOSX_1@docview.app/Contents/PkgInfo: docview$(EXEEXT) $(srcdir)/Info.plist.in $(srcdir)/doc.icns $(srcdir)/chart.icns $(srcdir)/notepad.icns diff --git a/samples/docview/docview.bkl b/samples/docview/docview.bkl index da903d0623..785f7058f5 100644 --- a/samples/docview/docview.bkl +++ b/samples/docview/docview.bkl @@ -10,6 +10,7 @@ docview.cpp doc.cpp view.cpp docview.h doc.h view.h + aui core base docview.rc diff --git a/samples/docview/docview.cpp b/samples/docview/docview.cpp index 5103b14d74..3785a06235 100644 --- a/samples/docview/docview.cpp +++ b/samples/docview/docview.cpp @@ -49,6 +49,10 @@ #include "wx/docview.h" #include "wx/docmdi.h" +#if wxUSE_AUI + #include "wx/aui/tabmdi.h" +#endif // wxUSE_AUI + #include "docview.h" #include "doc.h" #include "view.h" @@ -95,6 +99,9 @@ namespace CmdLineOption #if wxUSE_MDI_ARCHITECTURE const char * const MDI = "mdi"; #endif // wxUSE_MDI_ARCHITECTURE +#if wxUSE_AUI +const char * const AUI = "aui"; +#endif // wxUSE_AUI const char * const SDI = "sdi"; const char * const SINGLE = "single"; @@ -108,6 +115,10 @@ void MyApp::OnInitCmdLine(wxCmdLineParser& parser) parser.AddSwitch("", CmdLineOption::MDI, "run in MDI mode: multiple documents, single window"); #endif // wxUSE_MDI_ARCHITECTURE +#if wxUSE_AUI + parser.AddSwitch("", CmdLineOption::AUI, + "run in MDI mode using AUI: multiple documents, single window"); +#endif // wxUSE_AUI parser.AddSwitch("", CmdLineOption::SDI, "run in SDI mode: multiple documents, multiple windows"); parser.AddSwitch("", CmdLineOption::SINGLE, @@ -130,6 +141,14 @@ bool MyApp::OnCmdLineParsed(wxCmdLineParser& parser) } #endif // wxUSE_MDI_ARCHITECTURE +#if wxUSE_AUI + if ( parser.Found(CmdLineOption::AUI) ) + { + m_mode = Mode_AUI; + numModeOptions++; + } +#endif // wxUSE_AUI + if ( parser.Found(CmdLineOption::SDI) ) { m_mode = Mode_SDI; @@ -202,22 +221,37 @@ bool MyApp::OnInit() } // create the main frame window - wxFrame *frame; + wxFrame *frame = NULL; + switch ( m_mode ) + { #if wxUSE_MDI_ARCHITECTURE - if ( m_mode == Mode_MDI ) - { - frame = new wxDocMDIParentFrame(docManager, NULL, wxID_ANY, - GetAppDisplayName(), - wxDefaultPosition, - wxSize(500, 400)); - } - else + case Mode_MDI: + frame = new wxDocMDIParentFrame(docManager, NULL, wxID_ANY, + GetAppDisplayName(), + wxDefaultPosition, + wxSize(500, 400)); + break; #endif // wxUSE_MDI_ARCHITECTURE - { - frame = new wxDocParentFrame(docManager, NULL, wxID_ANY, - GetAppDisplayName(), - wxDefaultPosition, - wxSize(500, 400)); + +#if wxUSE_AUI + case Mode_AUI: + frame = new wxDocParentFrameAny + ( + docManager, NULL, wxID_ANY, + GetAppDisplayName(), + wxDefaultPosition, + wxSize(500, 400) + ); + break; +#endif // wxUSE_AUI + + case Mode_SDI: + case Mode_Single: + frame = new wxDocParentFrame(docManager, NULL, wxID_ANY, + GetAppDisplayName(), + wxDefaultPosition, + wxSize(500, 400)); + break; } // and its menu bar @@ -321,37 +355,55 @@ void MyApp::CreateMenuBarForFrame(wxFrame *frame, wxMenu *file, wxMenu *edit) wxFrame *MyApp::CreateChildFrame(wxView *view, bool isCanvas) { // create a child frame of appropriate class for the current mode - wxFrame *subframe; + wxFrame *subframe = NULL; wxDocument *doc = view->GetDocument(); + switch ( GetMode() ) #if wxUSE_MDI_ARCHITECTURE - if ( GetMode() == Mode_MDI ) { - subframe = new wxDocMDIChildFrame - ( - doc, - view, - wxStaticCast(GetTopWindow(), wxDocMDIParentFrame), - wxID_ANY, - "Child Frame", - wxDefaultPosition, - wxSize(300, 300) - ); - } - else + case Mode_MDI: + subframe = new wxDocMDIChildFrame + ( + doc, + view, + wxStaticCast(GetTopWindow(), wxDocMDIParentFrame), + wxID_ANY, + "Child Frame", + wxDefaultPosition, + wxSize(300, 300) + ); + break; #endif // wxUSE_MDI_ARCHITECTURE - { - subframe = new wxDocChildFrame - ( - doc, - view, - wxStaticCast(GetTopWindow(), wxDocParentFrame), - wxID_ANY, - "Child Frame", - wxDefaultPosition, - wxSize(300, 300) - ); - subframe->Centre(); +#if wxUSE_AUI + case Mode_AUI: + subframe = new wxDocChildFrameAny + ( + doc, + view, + wxStaticCast(GetTopWindow(), wxAuiMDIParentFrame), + wxID_ANY, + "Child Frame", + wxDefaultPosition, + wxSize(300, 300) + ); + break; +#endif // wxUSE_AUI + + case Mode_SDI: + case Mode_Single: + subframe = new wxDocChildFrame + ( + doc, + view, + wxStaticCast(GetTopWindow(), wxDocParentFrame), + wxID_ANY, + "Child Frame", + wxDefaultPosition, + wxSize(300, 300) + ); + + subframe->Centre(); + break; } wxMenu *menuFile = new wxMenu; @@ -396,6 +448,12 @@ void MyApp::OnAbout(wxCommandEvent& WXUNUSED(event)) break; #endif // wxUSE_MDI_ARCHITECTURE +#if wxUSE_AUI + case Mode_AUI: + modeName = "AUI"; + break; +#endif // wxUSE_AUI + case Mode_SDI: modeName = "SDI"; break; @@ -419,7 +477,7 @@ void MyApp::OnAbout(wxCommandEvent& WXUNUSED(event)) "\n" "Authors: Julian Smart, Vadim Zeitlin\n" "\n" - "Usage: docview [--{mdi,sdi,single}]", + "Usage: docview [--{mdi,aui,sdi,single}]", modeName, docsCount ); diff --git a/samples/docview/docview.h b/samples/docview/docview.h index 12e9dbc86b..27d5175f1f 100644 --- a/samples/docview/docview.h +++ b/samples/docview/docview.h @@ -27,6 +27,9 @@ public: #if wxUSE_MDI_ARCHITECTURE Mode_MDI, // MDI mode: multiple documents, single top level window #endif // wxUSE_MDI_ARCHITECTURE +#if wxUSE_AUI + Mode_AUI, // MDI AUI mode +#endif // wxUSE_AUI Mode_SDI, // SDI mode: multiple documents, multiple top level windows Mode_Single // single document mode (and hence single top level window) }; diff --git a/samples/docview/docview_vc7.vcproj b/samples/docview/docview_vc7.vcproj index c7b31a484a..cd439da1ab 100644 --- a/samples/docview/docview_vc7.vcproj +++ b/samples/docview/docview_vc7.vcproj @@ -46,7 +46,7 @@