X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e5ab82d310f12d56978f1e36d9cec6d3c84b0b8f..41550985f202b60e7e50142113b19e633d578bf0:/include/wx/aui/floatpane.h diff --git a/include/wx/aui/floatpane.h b/include/wx/aui/floatpane.h index 204652a21c..8d95b8cfe3 100644 --- a/include/wx/aui/floatpane.h +++ b/include/wx/aui/floatpane.h @@ -17,50 +17,63 @@ // ---------------------------------------------------------------------------- #include "wx/defs.h" +#include "wx/weakref.h" #if wxUSE_AUI -#include "wx/frame.h" - -#if defined( __WXMSW__ ) || defined( __WXMAC__ ) -#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); - 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; + wxRect m_last3_rect; 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 }; #endif // wxUSE_AUI