00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012 #ifndef _WXXTRA_FLOATPANE_H_
00013 #define _WXXTRA_FLOATPANE_H_
00014
00015
00016
00017
00018
00019 #include <wx/wx.h>
00020
00021 #if wxUSE_AUI
00022 #undef wxXTRA_AUI
00023 #include <wx/aui/floatpane.h>
00024 #else
00025 #define wxXTRA_AUI 1
00026
00027 #include <wx/frame.h>
00028
00029 #if defined( __WXMSW__ ) || defined( __WXMAC__ )
00030 #include "wx/minifram.h"
00031 #define wxAuiFloatingFrameBaseClass wxMiniFrame
00032 #else
00033 #define wxAuiFloatingFrameBaseClass wxFrame
00034 #endif
00035
00036 class WXDLLIMPEXP_AUI wxAuiFloatingFrame : public wxAuiFloatingFrameBaseClass
00037 {
00038 public:
00039 wxAuiFloatingFrame(wxWindow* parent,
00040 wxAuiManager* owner_mgr,
00041 const wxAuiPaneInfo& pane,
00042 wxWindowID id = wxID_ANY
00043 );
00044 ~wxAuiFloatingFrame();
00045 void SetPaneWindow(const wxAuiPaneInfo& pane);
00046 private:
00047 void OnSize(wxSizeEvent& event);
00048 void OnClose(wxCloseEvent& event);
00049 void OnMoveEvent(wxMoveEvent& event);
00050 void OnIdle(wxIdleEvent& event);
00051 void OnMoveStart();
00052 void OnMoving(const wxRect& window_rect);
00053 void OnMoveFinished();
00054 void OnActivate(wxActivateEvent& event);
00055 static bool isMouseDown();
00056 private:
00057 wxWindow* m_pane_window;
00058 bool m_moving;
00059 wxRect m_last_rect;
00060 wxSize m_last_size;
00061
00062 wxAuiManager* m_owner_mgr;
00063 wxAuiManager m_mgr;
00064
00065 #ifndef SWIG
00066 DECLARE_EVENT_TABLE()
00067 DECLARE_CLASS(wxAuiFloatingFrameBaseClass)
00068 #endif
00069 };
00070
00071 #endif
00072 #endif
00073