]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/samples/fl/fl_sample1.cpp
[ 1578466 ] Support for custom floating panes
[wxWidgets.git] / contrib / samples / fl / fl_sample1.cpp
index bcc0e8c8c145b833d80ca7727e83a7be301c7695..aaa5ae945b2115d41423c060b3527e4d93961e05 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     Contrib. demo
 // Author:      Aleksandras Gluchovas
 // Modified by: Sebastian Haase (June 21, 2001)
-// Created:     24/11/98     
+// Created:     24/11/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Aleksandras Gluchovas
 // Licence:     wxWindows license
@@ -34,7 +34,7 @@
 #define ID_QUIT  104
 
 class MyApp: public wxApp
-{ 
+{
 public:
     bool OnInit(void);
 };
@@ -45,19 +45,19 @@ protected:
     wxFrameLayout* mpLayout;
     wxWindow*      mpClientWnd;
     wxPanel*       mpInternalFrm;
-    
+
     wxTextCtrl* CreateTextCtrl( const wxString& value );
-    
+
 public:
     MyFrame( wxWindow* parent, const wxChar *title );
     ~MyFrame();
-    
+
     void OnLoad( wxCommandEvent& event );
     void OnStore( wxCommandEvent& event );
     void OnQuit( wxCommandEvent& event );
-    
-    bool OnClose(void) { return TRUE; }
-    
+
+    bool OnClose(void) { return true; }
+
     DECLARE_EVENT_TABLE()
 };
 
@@ -67,30 +67,32 @@ IMPLEMENT_APP    (MyApp)
 
 bool MyApp::OnInit(void)
 {
-    // wxWindows boiler-plate:
-    
+    // wxWidgets boiler-plate:
+
     MyFrame *frame = new MyFrame(NULL, _("wxFrameLayout sample"));
-    
+
     wxMenu *file_menu = new wxMenu;
-    
+
     file_menu->Append( ID_LOAD,  _("&Load layout")  );
     file_menu->Append( ID_STORE, _("&Store layout")  );
     file_menu->AppendSeparator();
-    
+
     file_menu->Append( ID_QUIT, _("E&xit") );
-    
+
     wxMenuBar *menu_bar = new wxMenuBar;
-    
+
     menu_bar->Append(file_menu, _("&File"));
-    
+
+#if wxUSE_STATUSBAR
     frame->CreateStatusBar(3);
+#endif // wxUSE_STATUSBAR
     frame->SetMenuBar(menu_bar);
-    
-    frame->Show(TRUE);
-    
+
+    frame->Show(true);
+
     SetTopWindow(frame);
-    
-    return TRUE;
+
+    return true;
 }
 
 /***** Immlementation for class MyFrame *****/
@@ -102,43 +104,43 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
 END_EVENT_TABLE()
 
 MyFrame::MyFrame( wxWindow* parent, const wxChar *title )
-    : wxFrame( parent, -1, _("NewTest-II"), wxDefaultPosition,
+    : wxFrame( parent, wxID_ANY, title, wxDefaultPosition,
           wxSize( 700, 500 ),
           wxCLIP_CHILDREN | wxMINIMIZE_BOX | wxMAXIMIZE_BOX |
-          wxTHICK_FRAME   | wxSYSTEM_MENU  | wxCAPTION,
+          wxRESIZE_BORDER   | wxSYSTEM_MENU  | wxCAPTION | wxCLOSE_BOX,
           wxT("freimas") )
 {
     mpInternalFrm = (wxPanel*)this;
-    
+
     mpClientWnd = CreateTextCtrl( _("Client window") );
-    
+
     // btw, creation of internal frame is needed for wxGtk version
     // to act correctly (since menu-bar is a separate window there..)
-    
+
     mpLayout = new wxFrameLayout( mpInternalFrm, mpClientWnd );
-    
+
 #if defined(__WXGTK__) || defined(__WXX11__)
     // real-time dosn't work well under wxGtk yet
     cbCommonPaneProperties props;
     mpLayout->GetPaneProperties( props );
-    
-    props.mRealTimeUpdatesOn = FALSE; // off
-    
-    mpLayout->SetPaneProperties( props, wxALL_PANES );    
+
+    props.mRealTimeUpdatesOn = false; // off
+
+    mpLayout->SetPaneProperties( props, wxALL_PANES );
 #endif
-    
+
     mpLayout->PushDefaultPlugins();
     mpLayout->AddPlugin( CLASSINFO( cbBarHintsPlugin ) ); // facny "X"es and beveal for barso
     //mpLayout->AddPlugin( CLASSINFO( cbHintAnimationPlugin ) );
-    
-    cbDimInfo sizes( 80,65, // when docked horizontally      
-                     80,65, // when docked vertically        
-                     80,30, // when floated                  
-                     TRUE,  // the bar is fixed-size
+
+    cbDimInfo sizes( 80,65, // when docked horizontally
+                     80,65, // when docked vertically
+                     80,30, // when floated
+                     true,  // the bar is fixed-size
                      5,     // vertical gap (bar border)
                      5      // horizontal gap (bar border)
-                   ); 
-    
+                   );
+
     // drop-in 20 bars
     for( int i = 1; i <= 20; ++i )
     {
@@ -146,11 +148,11 @@ MyFrame::MyFrame( wxWindow* parent, const wxChar *title )
         wxSprintf( buf, wxT("%d"), i );
         wxString name = wxString(wxT("Bar-"));
         name += buf;
-        
+
         sizes.mIsFixed = i % 5 > 0; // every fifth bar is not fixed-size
-        
+
         if ( !sizes.mIsFixed ) name += wxT(" (flexible)");
-        
+
         mpLayout->AddBar( CreateTextCtrl(name),// bar window
                           sizes, i % MAX_PANES,// alignment ( 0-top,1-bottom, etc)
                           0,                   // insert into 0th row (vert. position)
@@ -163,34 +165,33 @@ MyFrame::MyFrame( wxWindow* parent, const wxChar *title )
 MyFrame::~MyFrame()
 {
     // layout is not a window, should be released manually
-    if ( mpLayout ) 
+    if ( mpLayout )
         delete mpLayout;
 }
 
 wxTextCtrl* MyFrame::CreateTextCtrl( const wxString& value )
 {
-    wxTextCtrl* pCtrl = new wxTextCtrl( mpInternalFrm, -1, value, 
+    wxTextCtrl* pCtrl = new wxTextCtrl( mpInternalFrm, wxID_ANY, value,
                                 wxPoint(0,0), wxSize(1,1), wxTE_MULTILINE );
-    
+
     pCtrl->SetBackgroundColour( wxColour( 255,255,255 ) );
-    
+
     return pCtrl;
 }
 
-void MyFrame::OnLoad( wxCommandEvent& event )
+void MyFrame::OnLoad( wxCommandEvent& WXUNUSED(event) )
 {
     wxMessageBox(wxT("Hey - you found a BIG question-mark !!"));
 }
 
-void MyFrame::OnStore( wxCommandEvent& event )
+void MyFrame::OnStore( wxCommandEvent& WXUNUSED(event) )
 {
     wxMessageBox(wxT("Hey - you found another BIG question-mark !!"));
 }
 
-void MyFrame::OnQuit( wxCommandEvent& event )
+void MyFrame::OnQuit( wxCommandEvent& WXUNUSED(event) )
 {
-    Show( FALSE ); // TRICK:: hide it, to avoid flickered destruction
-    
-    Close(TRUE);
-}
+    Show( false ); // TRICK:: hide it, to avoid flickered destruction
 
+    Close(true);
+}