X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/188cb2af4f16905cb6ea895ecb595e47d20d3e5e..f1d5aa4eca541a2f90044a63f555985d6bd4adf3:/samples/xrc/myframe.cpp diff --git a/samples/xrc/myframe.cpp b/samples/xrc/myframe.cpp index 29296978d9..3a6453d3e8 100644 --- a/samples/xrc/myframe.cpp +++ b/samples/xrc/myframe.cpp @@ -78,8 +78,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(XRCID("unload_resource_menuitem"), MyFrame::OnUnloadResourceMenuCommand) EVT_MENU(XRCID("reload_resource_menuitem"), MyFrame::OnReloadResourceMenuCommand) - EVT_MENU(XRCID("exit_tool_or_menuitem"), MyFrame::OnExitToolOrMenuCommand) - EVT_MENU(XRCID("exit_tool_or_menuitem"), MyFrame::OnExitToolOrMenuCommand) + EVT_MENU(wxID_EXIT, MyFrame::OnExitToolOrMenuCommand) EVT_MENU(XRCID("non_derived_dialog_tool_or_menuitem"), MyFrame::OnNonDerivedDialogToolOrMenuCommand) EVT_MENU(XRCID("derived_tool_or_menuitem"), MyFrame::OnDerivedDialogToolOrMenuCommand) EVT_MENU(XRCID("controls_tool_or_menuitem"), MyFrame::OnControlsToolOrMenuCommand) @@ -88,7 +87,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(XRCID("platform_property_tool_or_menuitem"), MyFrame::OnPlatformPropertyToolOrMenuCommand) EVT_MENU(XRCID("art_provider_tool_or_menuitem"), MyFrame::OnArtProviderToolOrMenuCommand) EVT_MENU(XRCID("variable_expansion_tool_or_menuitem"), MyFrame::OnVariableExpansionToolOrMenuCommand) - EVT_MENU(XRCID("about_tool_or_menuitem"), MyFrame::OnAboutToolOrMenuCommand) + EVT_MENU(wxID_ABOUT, MyFrame::OnAboutToolOrMenuCommand) END_EVENT_TABLE() //----------------------------------------------------------------------------- @@ -178,6 +177,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)) { @@ -219,6 +241,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(); }