X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/08469b1f18dbf44abd5400ddf83a7c0e1bd65af1..2c20f44d7034eb5d19b7d4459bfc72bbf95de355:/include/wx/aui/floatpane.h diff --git a/include/wx/aui/floatpane.h b/include/wx/aui/floatpane.h index 51c238598c..6e98d624b9 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 /////////////////////////////////////////////////////////////////////////////// @@ -20,45 +20,62 @@ #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 { + friend class wxAuiManager; + 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: + void SetOwnerManager(wxAuiManager* owner_mgr); + 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; + wxAuiManager* m_owner_mgr; + wxAuiManager m_mgr; +#ifndef SWIG DECLARE_EVENT_TABLE() + DECLARE_CLASS(wxAuiFloatingFrame) +#endif // SWIG }; #endif // wxUSE_AUI