// Name: myframe.cpp
// Purpose: XML resources sample: A derived frame, called MyFrame
// Author: Robert O'Connor (rob@medicalmnemonics.com), Vaclav Slavik
-// RCS-ID: $Id$
// Copyright: (c) Robert O'Connor and Vaclav Slavik
// Licence: wxWindows licence
//-----------------------------------------------------------------------------
#include "derivdlg.h"
// Our custom class, for the custom class example.
#include "custclas.h"
-// For functions to manipulate our wxTreeCtrl and wxListCtrl
+// And our objref dialog, for the object reference and ID range example.
+#include "objrefdlg.h"
+// For functions to manipulate the corresponding controls.
+#include "wx/animate.h"
#include "wx/treectrl.h"
#include "wx/listctrl.h"
// Regular resources (the non-XRC kind).
//-----------------------------------------------------------------------------
-// The application icon
-// All non-MSW platforms use an xpm. MSW uses an .ico file
-#if defined(__WXGTK__) || defined(__WXX11__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__)
- #include "rc/appicon.xpm"
+// the application icon (under Windows and OS/2 it is in resources and even
+// though we could still include the XPM here it would be unused)
+#ifndef wxHAS_IMAGES_IN_RESOURCES
+ #include "../sample.xpm"
#endif
//-----------------------------------------------------------------------------
EVT_MENU(XRCID("derived_tool_or_menuitem"), MyFrame::OnDerivedDialogToolOrMenuCommand)
EVT_MENU(XRCID("controls_tool_or_menuitem"), MyFrame::OnControlsToolOrMenuCommand)
EVT_MENU(XRCID("uncentered_tool_or_menuitem"), MyFrame::OnUncenteredToolOrMenuCommand)
+ EVT_MENU(XRCID("obj_ref_tool_or_menuitem"), MyFrame::OnObjRefToolOrMenuCommand)
EVT_MENU(XRCID("custom_class_tool_or_menuitem"), MyFrame::OnCustomClassToolOrMenuCommand)
EVT_MENU(XRCID("platform_property_tool_or_menuitem"), MyFrame::OnPlatformPropertyToolOrMenuCommand)
EVT_MENU(XRCID("art_provider_tool_or_menuitem"), MyFrame::OnArtProviderToolOrMenuCommand)
// XRCCTRL
wxListCtrl * const list = XRCCTRL(dlg, "controls_listctrl", wxListCtrl);
- list->InsertItem(0, "Athos"); list->SetItem(0, 1, "90");
- list->InsertItem(1, "Porthos"); list->SetItem(1, 1, "120");
- list->InsertItem(2, "Aramis"); list->SetItem(2, 1, "80");
+ list->InsertItem(0, "Athos", 0); list->SetItem(0, 1, "90", 2);
+ list->InsertItem(1, "Porthos", 5); list->SetItem(1, 1, "120", 3);
+ list->InsertItem(2, "Aramis", 1); list->SetItem(2, 1, "80", 4);
#endif // wxUSE_LISTCTRL
#if wxUSE_TREECTRL
#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,
+ dlg.Connect(XRCID("controls_animation_button_play"), wxEVT_BUTTON,
wxCommandEventHandler(MyFrame::OnAnimationCtrlPlay));
#endif
}
+void MyFrame::OnObjRefToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
+{
+ // The dialog redirects log messages, so save the old log target first
+ wxLog* oldlogtarget = wxLog::SetActiveTarget(NULL);
+
+ // Make an instance of the dialog
+ ObjrefDialog* objrefDialog = new ObjrefDialog(this);
+ // Show the instance of the dialog, modally.
+ objrefDialog->ShowModal();
+ objrefDialog->Destroy();
+
+ // Restore the old log target
+ delete wxLog::SetActiveTarget(oldlogtarget);
+}
+
+
void MyFrame::OnCustomClassToolOrMenuCommand(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg;