X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/50acee04cdaf2fec9f3fa4cd0035ff2d9ed7d53a..ffb9247a85e83dcc4da631b76d0b86c0b2192676:/include/wx/aui/floatpane.h diff --git a/include/wx/aui/floatpane.h b/include/wx/aui/floatpane.h index afe170be5a..2638d6e3a8 100644 --- a/include/wx/aui/floatpane.h +++ b/include/wx/aui/floatpane.h @@ -1,10 +1,10 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: floatpane.h +// Name: wx/aui/floatpane.h // Purpose: wxaui: wx advanced user interface - docking window manager // Author: Benjamin I. Williams // Modified by: // Created: 2005-05-17 -// RCS-ID: +// RCS-ID: $Id$ // Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved. // Licence: wxWindows Library Licence, Version 3.1 /////////////////////////////////////////////////////////////////////////////// @@ -17,46 +17,63 @@ // ---------------------------------------------------------------------------- #include "wx/defs.h" +#include "wx/weakref.h" #if wxUSE_AUI -#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, - wxWindowID id = -1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize); - ~wxFloatingPane(); - void SetPaneWindow(const wxPaneInfo& pane); + 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 + ); + 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