]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/toolbkg.cpp
Added extra hit test style for more accurate reporting
[wxWidgets.git] / src / generic / toolbkg.cpp
index fbfbd0b0bc1a04c237e3e1ddedf8c499c4af2498..0b87be4bc7e05911d2f317b10e85858b555319ad 100644 (file)
@@ -50,7 +50,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxToolbookEvent, wxNotifyEvent)
 const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING = wxNewEventType();
 const wxEventType wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED = wxNewEventType();
 #endif
-const int wxID_TOOLBOOKTOOLBAR = wxNewId();
 
 BEGIN_EVENT_TABLE(wxToolbook, wxBookCtrlBase)
     EVT_SIZE(wxToolbook::OnSize)
@@ -102,7 +101,7 @@ bool wxToolbook::Create(wxWindow *parent,
         m_bookctrl = new wxButtonToolBar
                  (
                     this,
-                    wxID_TOOLBOOKTOOLBAR,
+                    wxID_ANY,
                     wxDefaultPosition,
                     wxDefaultSize,
                     orient|wxTB_TEXT|wxTB_FLAT|wxNO_BORDER
@@ -114,7 +113,7 @@ bool wxToolbook::Create(wxWindow *parent,
         m_bookctrl = new wxToolBar
                  (
                     this,
-                    wxID_TOOLBOOKTOOLBAR,
+                    wxID_ANY,
                     wxDefaultPosition,
                     wxDefaultSize,
                     orient|wxTB_TEXT|wxTB_FLAT|wxTB_NODIVIDER|wxNO_BORDER
@@ -245,10 +244,20 @@ int wxToolbook::GetSelection() const
     return m_selection;
 }
 
-int wxToolbook::DoSetSelection(size_t n, int flags)
+wxBookCtrlBaseEvent* wxToolbook::CreatePageChangingEvent() const
 {
-    wxToolbookEvent event(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, m_windowId);
-    return wxBookCtrlBase::DoSetSelection(n, flags, event);
+    return new wxToolbookEvent(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING, m_windowId);
+}
+
+void wxToolbook::MakeChangedEvent(wxBookCtrlBaseEvent &event)
+{
+    event.SetEventType(wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED);
+}
+
+void wxToolbook::UpdateSelectedPage(size_t newsel)
+{
+    m_selection = newsel;
+    GetToolBar()->ToggleTool(newsel + 1, true);
 }
 
 // Not part of the wxBookctrl API, but must be called in OnIdle or