1/////////////////////////////////////////////////////////////////////////////// 2// Name: wx/aui/floatpane.h 3// Purpose: wxaui: wx advanced user interface - docking window manager 4// Author: Benjamin I. Williams 5// Modified by: 6// Created: 2005-05-17 7// RCS-ID: $Id: floatpane.h 43467 2006-11-17 13:07:01Z BIW $ 8// Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved. 9// Licence: wxWindows Library Licence, Version 3.1 10/////////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_FLOATPANE_H_ 13#define _WX_FLOATPANE_H_ 14 15// ---------------------------------------------------------------------------- 16// headers 17// ---------------------------------------------------------------------------- 18 19#include "wx/defs.h" 20 21#if wxUSE_AUI 22 23#include "wx/frame.h" 24 25#if defined( __WXMSW__ ) || defined( __WXMAC__ ) || defined( __WXGTK__ ) 26#include "wx/minifram.h" 27#define wxAuiFloatingFrameBaseClass wxMiniFrame 28#else 29#define wxAuiFloatingFrameBaseClass wxFrame 30#endif 31 32class WXDLLIMPEXP_AUI wxAuiFloatingFrame : public wxAuiFloatingFrameBaseClass 33{ 34public: 35 wxAuiFloatingFrame(wxWindow* parent, 36 wxAuiManager* owner_mgr, 37 const wxAuiPaneInfo& pane, 38 wxWindowID id = wxID_ANY, 39 long style = wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | 40 wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT | 41 wxCLIP_CHILDREN 42 ); 43 virtual ~wxAuiFloatingFrame(); 44 void SetPaneWindow(const wxAuiPaneInfo& pane); 45 wxAuiManager* GetOwnerManager() const; 46 47protected: 48 virtual void OnMoveStart(); 49 virtual void OnMoving(const wxRect& window_rect, wxDirection dir); 50 virtual void OnMoveFinished(); 51 52private: 53 void OnSize(wxSizeEvent& event); 54 void OnClose(wxCloseEvent& event); 55 void OnMoveEvent(wxMoveEvent& event); 56 void OnIdle(wxIdleEvent& event); 57 void OnActivate(wxActivateEvent& event); 58 static bool isMouseDown(); 59 60private: 61 wxWindow* m_pane_window; // pane window being managed 62 bool m_solid_drag; // true if system uses solid window drag 63 bool m_moving; 64 wxRect m_last_rect; 65 wxRect m_last2_rect; 66 wxRect m_last3_rect; 67 wxSize m_last_size; 68 wxDirection m_lastDirection; 69 70 wxAuiManager* m_owner_mgr; 71 wxAuiManager m_mgr; 72 73#ifndef SWIG 74 DECLARE_EVENT_TABLE() 75 DECLARE_CLASS(wxAuiFloatingFrame) 76#endif // SWIG 77}; 78 79#endif // wxUSE_AUI 80#endif //_WX_FLOATPANE_H_ 81 82