]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/aui/auidemo.cpp
Add event based Drop API
[wxWidgets.git] / samples / aui / auidemo.cpp
index e3dae64d42fe316651ea531c7d8bbdc4b2743546..e4ba94d659213fc441d84b1f96ddfe192980d8f9 100644 (file)
@@ -84,6 +84,7 @@ class MyFrame : public wxFrame
         ID_NoGradient,
         ID_VerticalGradient,
         ID_HorizontalGradient,
+        ID_LiveUpdate,
         ID_Settings,
         ID_CustomizeToolbar,
         ID_DropDownToolbarItem,
@@ -101,9 +102,9 @@ class MyFrame : public wxFrame
         ID_NotebookArtSimple,
         ID_NotebookAlignTop,
         ID_NotebookAlignBottom,
-        
+
         ID_SampleItem,
-        
+
         ID_FirstPerspective = ID_CreatePerspective+1000
     };
 
@@ -591,6 +592,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(ID_HintFade, MyFrame::OnManagerFlag)
     EVT_MENU(ID_NoVenetianFade, MyFrame::OnManagerFlag)
     EVT_MENU(ID_TransparentDrag, MyFrame::OnManagerFlag)
+    EVT_MENU(ID_LiveUpdate, MyFrame::OnManagerFlag)
     EVT_MENU(ID_AllowActivePane, MyFrame::OnManagerFlag)
     EVT_MENU(ID_NotebookTabFixedWidth, MyFrame::OnNotebookFlag)
     EVT_MENU(ID_NotebookNoCloseButton, MyFrame::OnNotebookFlag)
@@ -637,6 +639,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_UPDATE_UI(ID_HintFade, MyFrame::OnUpdateUI)
     EVT_UPDATE_UI(ID_NoVenetianFade, MyFrame::OnUpdateUI)
     EVT_UPDATE_UI(ID_TransparentDrag, MyFrame::OnUpdateUI)
+    EVT_UPDATE_UI(ID_LiveUpdate, MyFrame::OnUpdateUI)
     EVT_UPDATE_UI(ID_NoGradient, MyFrame::OnUpdateUI)
     EVT_UPDATE_UI(ID_VerticalGradient, MyFrame::OnUpdateUI)
     EVT_UPDATE_UI(ID_HorizontalGradient, MyFrame::OnUpdateUI)
@@ -671,7 +674,7 @@ MyFrame::MyFrame(wxWindow* parent,
     wxMenuBar* mb = new wxMenuBar;
 
     wxMenu* file_menu = new wxMenu;
-    file_menu->Append(wxID_EXIT, _("Exit"));
+    file_menu->Append(wxID_EXIT);
 
     wxMenu* view_menu = new wxMenu;
     view_menu->Append(ID_CreateText, _("Create Text Control"));
@@ -699,6 +702,7 @@ MyFrame::MyFrame(wxWindow* parent,
     options_menu->AppendCheckItem(ID_NoVenetianFade, _("Disable Venetian Blinds Hint Fade-in"));
     options_menu->AppendCheckItem(ID_TransparentDrag, _("Transparent Drag"));
     options_menu->AppendCheckItem(ID_AllowActivePane, _("Allow Active Pane"));
+    options_menu->AppendCheckItem(ID_LiveUpdate, _("Live Resize Update"));
     options_menu->AppendSeparator();
     options_menu->AppendRadioItem(ID_NoGradient, _("No Caption Gradient"));
     options_menu->AppendRadioItem(ID_VerticalGradient, _("Vertical Caption Gradient"));
@@ -733,14 +737,14 @@ MyFrame::MyFrame(wxWindow* parent,
     m_perspectives_menu->Append(ID_FirstPerspective+1, _("All Panes"));
 
     wxMenu* help_menu = new wxMenu;
-    help_menu->Append(wxID_ABOUT, _("About..."));
+    help_menu->Append(wxID_ABOUT);
 
-    mb->Append(file_menu, _("File"));
-    mb->Append(view_menu, _("View"));
-    mb->Append(m_perspectives_menu, _("Perspectives"));
-    mb->Append(options_menu, _("Options"));
-    mb->Append(notebook_menu, _("Notebook"));
-    mb->Append(help_menu, _("Help"));
+    mb->Append(file_menu, _("&File"));
+    mb->Append(view_menu, _("&View"));
+    mb->Append(m_perspectives_menu, _("&Perspectives"));
+    mb->Append(options_menu, _("&Options"));
+    mb->Append(notebook_menu, _("&Notebook"));
+    mb->Append(help_menu, _("&Help"));
 
     SetMenuBar(mb);
 
@@ -756,7 +760,7 @@ MyFrame::MyFrame(wxWindow* parent,
 
 
     // prepare a few custom overflow elements for the toolbars' overflow buttons
-    
+
     wxAuiToolBarItemArray prepend_items;
     wxAuiToolBarItemArray append_items;
     wxAuiToolBarItem item;
@@ -819,7 +823,7 @@ MyFrame::MyFrame(wxWindow* parent,
 
 
     wxAuiToolBar* tb4 = new wxAuiToolBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
-                                         wxAUI_TB_DEFAULT_STYLE | 
+                                         wxAUI_TB_DEFAULT_STYLE |
                                          wxAUI_TB_OVERFLOW |
                                          wxAUI_TB_TEXT |
                                          wxAUI_TB_HORZ_TEXT);
@@ -1078,6 +1082,7 @@ void MyFrame::OnManagerFlag(wxCommandEvent& event)
         case ID_TransparentHint: flag = wxAUI_MGR_TRANSPARENT_HINT; break;
         case ID_VenetianBlindsHint: flag = wxAUI_MGR_VENETIAN_BLINDS_HINT; break;
         case ID_RectangleHint: flag = wxAUI_MGR_RECTANGLE_HINT; break;
+        case ID_LiveUpdate: flag = wxAUI_MGR_LIVE_RESIZE; break;
     }
 
     if (flag)
@@ -1191,6 +1196,9 @@ void MyFrame::OnUpdateUI(wxUpdateUIEvent& event)
         case ID_TransparentHint:
             event.Check((flags & wxAUI_MGR_TRANSPARENT_HINT) != 0);
             break;
+        case ID_LiveUpdate:
+            event.Check((flags & wxAUI_MGR_LIVE_RESIZE) != 0);
+            break;
         case ID_VenetianBlindsHint:
             event.Check((flags & wxAUI_MGR_VENETIAN_BLINDS_HINT) != 0);
             break;
@@ -1397,35 +1405,35 @@ void MyFrame::OnDropDownToolbarItem(wxAuiToolBarEvent& evt)
     if (evt.IsDropDownClicked())
     {
         wxAuiToolBar* tb = static_cast<wxAuiToolBar*>(evt.GetEventObject());
-        
+
         tb->SetToolSticky(evt.GetId(), true);
-        
+
         // create the popup menu
         wxMenu menuPopup;
-        
+
         wxBitmap bmp = wxArtProvider::GetBitmap(wxART_QUESTION, wxART_OTHER, wxSize(16,16));
-        
+
         wxMenuItem* m1 =  new wxMenuItem(&menuPopup, 10001, _("Drop Down Item 1"));
         m1->SetBitmap(bmp);
         menuPopup.Append(m1);
-        
+
         wxMenuItem* m2 =  new wxMenuItem(&menuPopup, 10002, _("Drop Down Item 2"));
         m2->SetBitmap(bmp);
         menuPopup.Append(m2);
-        
+
         wxMenuItem* m3 =  new wxMenuItem(&menuPopup, 10003, _("Drop Down Item 3"));
         m3->SetBitmap(bmp);
         menuPopup.Append(m3);
-        
+
         wxMenuItem* m4 =  new wxMenuItem(&menuPopup, 10004, _("Drop Down Item 4"));
         m4->SetBitmap(bmp);
         menuPopup.Append(m4);
-        
+
         // line up our menu with the button
         wxRect rect = tb->GetToolRect(evt.GetId());
         wxPoint pt = tb->ClientToScreen(rect.GetBottomLeft());
         pt = ScreenToClient(pt);
-        
+
 
         PopupMenu(&menuPopup, pt);
 
@@ -1568,9 +1576,6 @@ wxAuiNotebook* MyFrame::CreateNotebook()
 
    wxPanel *panel = new wxPanel( ctrl, wxID_ANY );
    wxFlexGridSizer *flex = new wxFlexGridSizer( 2 );
-   flex->AddGrowableRow( 0 );
-   flex->AddGrowableRow( 3 );
-   flex->AddGrowableCol( 1 );
    flex->Add( 5,5 );   flex->Add( 5,5 );
    flex->Add( new wxStaticText( panel, -1, wxT("wxTextCtrl:") ), 0, wxALL|wxALIGN_CENTRE, 5 );
    flex->Add( new wxTextCtrl( panel, -1, wxT(""), wxDefaultPosition, wxSize(100,-1)),
@@ -1579,6 +1584,9 @@ wxAuiNotebook* MyFrame::CreateNotebook()
    flex->Add( new wxSpinCtrl( panel, -1, wxT("5"), wxDefaultPosition, wxSize(100,-1),
                 wxSP_ARROW_KEYS, 5, 50, 5 ), 0, wxALL|wxALIGN_CENTRE, 5 );
    flex->Add( 5,5 );   flex->Add( 5,5 );
+   flex->AddGrowableRow( 0 );
+   flex->AddGrowableRow( 3 );
+   flex->AddGrowableCol( 1 );
    panel->SetSizer( flex );
    ctrl->AddPage( panel, wxT("wxPanel"), false, page_bmp );