X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d02d8b4c273719771761425453bc6c4a438b364d..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/aui/floatpane.h diff --git a/include/wx/aui/floatpane.h b/include/wx/aui/floatpane.h index 98312e70f8..8d95b8cfe3 100644 --- a/include/wx/aui/floatpane.h +++ b/include/wx/aui/floatpane.h @@ -17,40 +17,49 @@ // ---------------------------------------------------------------------------- #include "wx/defs.h" +#include "wx/weakref.h" #if wxUSE_AUI -#include "wx/frame.h" - -#if defined( __WXMSW__ ) || defined( __WXMAC__ ) || defined( __WXGTK__ ) -#include "wx/minifram.h" -#define wxFloatingPaneBaseClass wxMiniFrame +#if wxUSE_MINIFRAME + #include "wx/minifram.h" + #define wxAuiFloatingFrameBaseClass wxMiniFrame #else -#define wxFloatingPaneBaseClass wxFrame + #include "wx/frame.h" + #define wxAuiFloatingFrameBaseClass wxFrame #endif -class WXDLLIMPEXP_AUI wxFloatingPane : public wxFloatingPaneBaseClass +class WXDLLIMPEXP_AUI wxAuiFloatingFrame : public wxAuiFloatingFrameBaseClass { public: - wxFloatingPane(wxWindow* parent, - wxFrameManager* owner_mgr, - const wxPaneInfo& pane, - wxWindowID id = wxID_ANY + wxAuiFloatingFrame(wxWindow* parent, + wxAuiManager* owner_mgr, + const wxAuiPaneInfo& pane, + wxWindowID id = wxID_ANY, + long style = wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | + wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT | + wxCLIP_CHILDREN ); - ~wxFloatingPane(); - void SetPaneWindow(const wxPaneInfo& pane); + virtual ~wxAuiFloatingFrame(); + void SetPaneWindow(const wxAuiPaneInfo& pane); + wxAuiManager* GetOwnerManager() const; + +protected: + virtual void OnMoveStart(); + virtual void OnMoving(const wxRect& window_rect, wxDirection dir); + virtual void OnMoveFinished(); + private: void OnSize(wxSizeEvent& event); void OnClose(wxCloseEvent& event); void OnMoveEvent(wxMoveEvent& event); void OnIdle(wxIdleEvent& event); - void OnMoveStart(); - void OnMoving(const wxRect& window_rect, wxDirection dir); - void OnMoveFinished(); void OnActivate(wxActivateEvent& event); static bool isMouseDown(); + private: wxWindow* m_pane_window; // pane window being managed + bool m_solid_drag; // true if system uses solid window drag bool m_moving; wxRect m_last_rect; wxRect m_last2_rect; @@ -58,12 +67,12 @@ private: wxSize m_last_size; wxDirection m_lastDirection; - wxFrameManager* m_owner_mgr; - wxFrameManager m_mgr; + wxWeakRef m_owner_mgr; + wxAuiManager m_mgr; #ifndef SWIG DECLARE_EVENT_TABLE() - DECLARE_CLASS(wxFloatingPaneBaseClass) + DECLARE_CLASS(wxAuiFloatingFrame) #endif // SWIG };