]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/xrc/myframe.cpp
use wxMemoryDC::SelectObjectAsSource() for const wxBitmaps
[wxWidgets.git] / samples / xrc / myframe.cpp
index 0d396f3d56c4606bb2a9896aec3a9d466a9d996e..618fe342a4059900f86b0426f614da0a510585a7 100644 (file)
@@ -24,6 +24,8 @@
     #include "wx/wx.h"
 #endif
 
+#include "wx/sysopt.h"
+
 //-----------------------------------------------------------------------------
 // Header of this .cpp file
 //-----------------------------------------------------------------------------
@@ -115,6 +117,7 @@ MyFrame::MyFrame(wxWindow* parent)
     // NOTE: For toolbars you currently should do it exactly like this.
     // With toolbars, you currently can't create one, and set it later. It
     // needs to be all in one step.
+    wxSystemOptions::SetOption ( wxT("msw.remap"), 0 );
     SetToolBar(wxXmlResource::Get()->LoadToolBar(this, wxT("main_toolbar")));
 
 #if wxUSE_STATUSBAR
@@ -175,6 +178,29 @@ void MyFrame::OnDerivedDialogToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
     preferencesDialog.ShowModal();
 }
 
+void MyFrame::OnAnimationCtrlPlay(wxCommandEvent& event)
+{
+#if wxUSE_ANIMATIONCTRL
+    // get the pointers we need
+    wxButton *btn = wxDynamicCast(event.GetEventObject(), wxButton);
+    if (!btn || !btn->GetParent()) return;
+
+    wxWindow *win = btn->GetParent();
+    wxAnimationCtrl *ctrl = XRCCTRL(*win, "controls_animation_ctrl", wxAnimationCtrl);
+    if (ctrl->IsPlaying())
+    {
+        ctrl->Stop();
+        btn->SetLabel(wxT("Play"));
+    }
+    else
+    {
+        if (ctrl->Play())
+            btn->SetLabel(wxT("Stop"));
+        else
+            wxLogError(wxT("Cannot play the animation..."));
+    }
+#endif
+}
 
 void MyFrame::OnControlsToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
 {
@@ -216,6 +242,13 @@ void MyFrame::OnControlsToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
     treectrl->AppendItem(treectrl->GetRootItem(), _("Evil accountant"));
 #endif
 
+#if wxUSE_ANIMATIONCTRL
+    // dynamically connect our event handler for the "clicked" event of the "play" button
+    // in the animation ctrl page of our dialog
+    dlg.Connect(XRCID("controls_animation_button_play"), wxEVT_COMMAND_BUTTON_CLICKED,
+                wxCommandEventHandler(MyFrame::OnAnimationCtrlPlay));
+#endif
+
     // All done. Show the dialog.
     dlg.ShowModal();
 }