]> git.saurik.com Git - wxWidgets.git/commitdiff
Add wxEVT_AUI_PANE_ACTIVATED event.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 4 Mar 2012 20:31:34 +0000 (20:31 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 4 Mar 2012 20:31:34 +0000 (20:31 +0000)
This event is sent when an AUI pane becomes active.

Closes #14026.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/aui/framemanager.h
interface/wx/aui/framemanager.h
src/aui/framemanager.cpp

index baf5e43addfcebdd8f92e1a002cbd2b01805e1ec..389cb414ac42697ccbe9b2dbfbdeff93b52eabd2 100644 (file)
@@ -489,6 +489,8 @@ All (GUI):
 - Implement best size calculation for report mode wxListCtrl.
 - Fix setting of the frame icon when using non-standard icon sizes (vid).
 - Implement wxDV_ROW_LINES in generic wxDataViewCtrl (RedCAT).
 - Implement best size calculation for report mode wxListCtrl.
 - Fix setting of the frame icon when using non-standard icon sizes (vid).
 - Implement wxDV_ROW_LINES in generic wxDataViewCtrl (RedCAT).
+- Added EVT_AUI_PANE_ACTIVATED event (Ronny Krüger).
+
 
 GTK:
 
 
 GTK:
 
index 4376ed6d72591711b4bd3154ff8379a592a5c0ec..2217d7cad45e1a44541d9c965f5c3b645fe7afbb 100644 (file)
@@ -841,6 +841,7 @@ wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_BUTTON, wxAuiManagerEv
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_CLOSE, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_MAXIMIZE, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_RESTORE, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_CLOSE, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_MAXIMIZE, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_RESTORE, wxAuiManagerEvent );
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_PANE_ACTIVATED, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_RENDER, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_FIND_MANAGER, wxAuiManagerEvent );
 
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_RENDER, wxAuiManagerEvent );
 wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_AUI, wxEVT_AUI_FIND_MANAGER, wxAuiManagerEvent );
 
@@ -857,6 +858,8 @@ typedef void (wxEvtHandler::*wxAuiManagerEventFunction)(wxAuiManagerEvent&);
    wx__DECLARE_EVT0(wxEVT_AUI_PANE_MAXIMIZE, wxAuiManagerEventHandler(func))
 #define EVT_AUI_PANE_RESTORE(func) \
    wx__DECLARE_EVT0(wxEVT_AUI_PANE_RESTORE, wxAuiManagerEventHandler(func))
    wx__DECLARE_EVT0(wxEVT_AUI_PANE_MAXIMIZE, wxAuiManagerEventHandler(func))
 #define EVT_AUI_PANE_RESTORE(func) \
    wx__DECLARE_EVT0(wxEVT_AUI_PANE_RESTORE, wxAuiManagerEventHandler(func))
+#define EVT_AUI_PANE_ACTIVATED(func) \
+   wx__DECLARE_EVT0(wxEVT_AUI_PANE_ACTIVATED, wxAuiManagerEventHandler(func))
 #define EVT_AUI_RENDER(func) \
    wx__DECLARE_EVT0(wxEVT_AUI_RENDER, wxAuiManagerEventHandler(func))
 #define EVT_AUI_FIND_MANAGER(func) \
 #define EVT_AUI_RENDER(func) \
    wx__DECLARE_EVT0(wxEVT_AUI_RENDER, wxAuiManagerEventHandler(func))
 #define EVT_AUI_FIND_MANAGER(func) \
@@ -868,6 +871,7 @@ typedef void (wxEvtHandler::*wxAuiManagerEventFunction)(wxAuiManagerEvent&);
 %constant wxEventType wxEVT_AUI_PANE_CLOSE;
 %constant wxEventType wxEVT_AUI_PANE_MAXIMIZE;
 %constant wxEventType wxEVT_AUI_PANE_RESTORE;
 %constant wxEventType wxEVT_AUI_PANE_CLOSE;
 %constant wxEventType wxEVT_AUI_PANE_MAXIMIZE;
 %constant wxEventType wxEVT_AUI_PANE_RESTORE;
+%constant wxEventType wxEVT_AUI_PANE_ACTIVATED;
 %constant wxEventType wxEVT_AUI_RENDER;
 %constant wxEventType wxEVT_AUI_FIND_MANAGER;
 
 %constant wxEventType wxEVT_AUI_RENDER;
 %constant wxEventType wxEVT_AUI_FIND_MANAGER;
 
@@ -876,6 +880,7 @@ typedef void (wxEvtHandler::*wxAuiManagerEventFunction)(wxAuiManagerEvent&);
     EVT_AUI_PANE_CLOSE = wx.PyEventBinder( wxEVT_AUI_PANE_CLOSE )
     EVT_AUI_PANE_MAXIMIZE = wx.PyEventBinder( wxEVT_AUI_PANE_MAXIMIZE )
     EVT_AUI_PANE_RESTORE = wx.PyEventBinder( wxEVT_AUI_PANE_RESTORE )
     EVT_AUI_PANE_CLOSE = wx.PyEventBinder( wxEVT_AUI_PANE_CLOSE )
     EVT_AUI_PANE_MAXIMIZE = wx.PyEventBinder( wxEVT_AUI_PANE_MAXIMIZE )
     EVT_AUI_PANE_RESTORE = wx.PyEventBinder( wxEVT_AUI_PANE_RESTORE )
+    EVT_AUI_PANE_ACTIVATED = wx.PyEventBinder( wxEVT_AUI_PANE_ACTIVATED )
     EVT_AUI_RENDER = wx.PyEventBinder( wxEVT_AUI_RENDER )
     EVT_AUI_FIND_MANAGER = wx.PyEventBinder( wxEVT_AUI_FIND_MANAGER )
 }
     EVT_AUI_RENDER = wx.PyEventBinder( wxEVT_AUI_RENDER )
     EVT_AUI_FIND_MANAGER = wx.PyEventBinder( wxEVT_AUI_FIND_MANAGER )
 }
index 25e3feb7af6fe477acc6018159cbcbfee92916b7..6b36b17878a21e11d7313e7d0cbc2b549a13f597 100644 (file)
@@ -158,6 +158,9 @@ enum wxAuiManagerOption
         Triggered when a pane is maximized.
     @event{EVT_AUI_PANE_RESTORE(func)}
         Triggered when a pane is restored.
         Triggered when a pane is maximized.
     @event{EVT_AUI_PANE_RESTORE(func)}
         Triggered when a pane is restored.
+    @event{EVT_AUI_PANE_ACTIVATED(func)}
+        Triggered when a pane is made 'active'. This event is new since
+        wxWidgets 2.9.4.
     @event{EVT_AUI_RENDER(func)}
         This event can be caught to override the default renderer in order to
         custom draw your wxAuiManager window (not recommended).
     @event{EVT_AUI_RENDER(func)}
         This event can be caught to override the default renderer in order to
         custom draw your wxAuiManager window (not recommended).
@@ -872,11 +875,14 @@ public:
         Triggered when a pane is maximized.
     @event{EVT_AUI_PANE_RESTORE(func)}
         Triggered when a pane is restored.
         Triggered when a pane is maximized.
     @event{EVT_AUI_PANE_RESTORE(func)}
         Triggered when a pane is restored.
+    @event{EVT_AUI_PANE_ACTIVATED(func)}
+        Triggered when a pane is made 'active'. This event is new since
+        wxWidgets 2.9.4.
     @event{EVT_AUI_RENDER(func)}
         This event can be caught to override the default renderer in order to
         custom draw your wxAuiManager window (not recommended).
     @endEventTable
     @event{EVT_AUI_RENDER(func)}
         This event can be caught to override the default renderer in order to
         custom draw your wxAuiManager window (not recommended).
     @endEventTable
-    
+
     @library{wxaui}
     @category{events,aui}
 
     @library{wxaui}
     @category{events,aui}
 
index 9f4625708fb86fd55123d9ef17d4c01deaa842fa..3da7db209eff7e687dabc2180211f39790ea608d 100644 (file)
@@ -554,6 +554,7 @@ static void RenumberDockRows(wxAuiDockInfoPtrArray& docks)
 void wxAuiManager::SetActivePane(wxWindow* active_pane)
 {
     int i, pane_count;
 void wxAuiManager::SetActivePane(wxWindow* active_pane)
 {
     int i, pane_count;
+    wxAuiPaneInfo* active_paneinfo = NULL;
     for (i = 0, pane_count = m_panes.GetCount(); i < pane_count; ++i)
     {
         wxAuiPaneInfo& pane = m_panes.Item(i);
     for (i = 0, pane_count = m_panes.GetCount(); i < pane_count; ++i)
     {
         wxAuiPaneInfo& pane = m_panes.Item(i);
@@ -561,8 +562,18 @@ void wxAuiManager::SetActivePane(wxWindow* active_pane)
         if (pane.window == active_pane)
         {
             pane.state |= wxAuiPaneInfo::optionActive;
         if (pane.window == active_pane)
         {
             pane.state |= wxAuiPaneInfo::optionActive;
+            active_paneinfo = &pane;
         }
     }
         }
     }
+
+    // send the 'activated' event after all panes have been updated
+    if ( active_paneinfo )
+    {
+        wxAuiManagerEvent evt(wxEVT_AUI_PANE_ACTIVATED);
+        evt.SetManager(this);
+        evt.SetPane(active_paneinfo);
+        ProcessMgrEvent(evt);
+    }
 }
 
 
 }