2006-06-06 09:12:07 -04:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2006-06-06 11:39:16 -04:00
|
|
|
// Name: wx/aui/floatpane.h
|
2006-06-06 09:12:07 -04:00
|
|
|
// Purpose: wxaui: wx advanced user interface - docking window manager
|
|
|
|
// Author: Benjamin I. Williams
|
|
|
|
// Modified by:
|
|
|
|
// Created: 2005-05-17
|
2006-06-06 11:39:16 -04:00
|
|
|
// RCS-ID: $Id$
|
2006-06-06 09:12:07 -04:00
|
|
|
// Copyright: (C) Copyright 2005, Kirix Corporation, All Rights Reserved.
|
|
|
|
// Licence: wxWindows Library Licence, Version 3.1
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_FLOATPANE_H_
|
|
|
|
#define _WX_FLOATPANE_H_
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// headers
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#include "wx/defs.h"
|
2008-05-27 05:17:56 -04:00
|
|
|
#include "wx/weakref.h"
|
2006-06-06 09:12:07 -04:00
|
|
|
|
|
|
|
#if wxUSE_AUI
|
|
|
|
|
2008-02-27 12:29:54 -05:00
|
|
|
#if wxUSE_MINIFRAME
|
|
|
|
#include "wx/minifram.h"
|
|
|
|
#define wxAuiFloatingFrameBaseClass wxMiniFrame
|
2006-06-06 09:12:07 -04:00
|
|
|
#else
|
2008-02-27 12:29:54 -05:00
|
|
|
#include "wx/frame.h"
|
|
|
|
#define wxAuiFloatingFrameBaseClass wxFrame
|
2006-06-06 09:12:07 -04:00
|
|
|
#endif
|
|
|
|
|
2006-11-01 14:13:58 -05:00
|
|
|
class WXDLLIMPEXP_AUI wxAuiFloatingFrame : public wxAuiFloatingFrameBaseClass
|
2006-06-06 09:12:07 -04:00
|
|
|
{
|
|
|
|
public:
|
2006-11-01 14:13:58 -05:00
|
|
|
wxAuiFloatingFrame(wxWindow* parent,
|
2006-11-01 13:51:44 -05:00
|
|
|
wxAuiManager* owner_mgr,
|
|
|
|
const wxAuiPaneInfo& pane,
|
2006-10-16 16:36:11 -04:00
|
|
|
wxWindowID id = wxID_ANY,
|
|
|
|
long style = wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION |
|
2009-08-21 06:41:26 -04:00
|
|
|
wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT |
|
2006-10-16 16:36:11 -04:00
|
|
|
wxCLIP_CHILDREN
|
2006-07-04 11:26:33 -04:00
|
|
|
);
|
2006-11-01 14:13:58 -05:00
|
|
|
virtual ~wxAuiFloatingFrame();
|
2006-11-01 13:51:44 -05:00
|
|
|
void SetPaneWindow(const wxAuiPaneInfo& pane);
|
2006-11-17 08:07:01 -05:00
|
|
|
wxAuiManager* GetOwnerManager() const;
|
2009-08-21 06:41:26 -04:00
|
|
|
|
2006-10-16 16:36:11 -04:00
|
|
|
protected:
|
|
|
|
virtual void OnMoveStart();
|
|
|
|
virtual void OnMoving(const wxRect& window_rect, wxDirection dir);
|
|
|
|
virtual void OnMoveFinished();
|
2009-08-21 06:41:26 -04:00
|
|
|
|
2006-06-06 09:12:07 -04:00
|
|
|
private:
|
|
|
|
void OnSize(wxSizeEvent& event);
|
|
|
|
void OnClose(wxCloseEvent& event);
|
|
|
|
void OnMoveEvent(wxMoveEvent& event);
|
|
|
|
void OnIdle(wxIdleEvent& event);
|
|
|
|
void OnActivate(wxActivateEvent& event);
|
|
|
|
static bool isMouseDown();
|
2009-08-21 06:41:26 -04:00
|
|
|
|
2006-06-06 09:12:07 -04:00
|
|
|
private:
|
|
|
|
wxWindow* m_pane_window; // pane window being managed
|
2006-10-31 08:12:36 -05:00
|
|
|
bool m_solid_drag; // true if system uses solid window drag
|
2006-06-06 09:12:07 -04:00
|
|
|
bool m_moving;
|
|
|
|
wxRect m_last_rect;
|
2006-08-23 07:17:13 -04:00
|
|
|
wxRect m_last2_rect;
|
|
|
|
wxRect m_last3_rect;
|
2006-06-06 09:12:07 -04:00
|
|
|
wxSize m_last_size;
|
2006-08-23 07:17:13 -04:00
|
|
|
wxDirection m_lastDirection;
|
2006-06-06 09:12:07 -04:00
|
|
|
|
2008-05-27 05:17:56 -04:00
|
|
|
wxWeakRef<wxAuiManager> m_owner_mgr;
|
2006-11-01 13:51:44 -05:00
|
|
|
wxAuiManager m_mgr;
|
2006-06-06 09:12:07 -04:00
|
|
|
|
2006-07-07 13:53:17 -04:00
|
|
|
#ifndef SWIG
|
2006-06-06 09:12:07 -04:00
|
|
|
DECLARE_EVENT_TABLE()
|
2006-11-17 08:07:01 -05:00
|
|
|
DECLARE_CLASS(wxAuiFloatingFrame)
|
2006-07-07 13:53:17 -04:00
|
|
|
#endif // SWIG
|
2006-06-06 09:12:07 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // wxUSE_AUI
|
|
|
|
#endif //_WX_FLOATPANE_H_
|
|
|
|
|