X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/be66f18ee1e173d26d236ff340dfe34f8ef0e9cb..70405f7e3d3a1274d54c05ca8124d8bfb0bc3bb1:/include/wx/aui/floatpane.h diff --git a/include/wx/aui/floatpane.h b/include/wx/aui/floatpane.h index 70b44ac90c..8d95b8cfe3 100644 --- a/include/wx/aui/floatpane.h +++ b/include/wx/aui/floatpane.h @@ -17,48 +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, + wxAuiFloatingFrame(wxWindow* parent, + wxAuiManager* owner_mgr, + const wxAuiPaneInfo& pane, wxWindowID id = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize); - ~wxFloatingPane(); - void SetPaneWindow(const wxPaneInfo& pane); + long style = wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | + wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT | + wxCLIP_CHILDREN + ); + 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(wxAuiFloatingFrame) +#endif // SWIG }; #endif // wxUSE_AUI