wxFloatingPane(wxWindow* parent,
wxFrameManager* owner_mgr,
const wxPaneInfo& pane,
- wxWindowID id = wxID_ANY
+ wxWindowID id = wxID_ANY,
+ long style = wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION |
+ wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT |
+ wxCLIP_CHILDREN
);
virtual ~wxFloatingPane();
void SetPaneWindow(const wxPaneInfo& pane);
+
+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, wxDirection dir);
- void OnMoveFinished();
void OnActivate(wxActivateEvent& event);
static bool isMouseDown();
private:
public:
+ virtual wxFloatingPane * CreateFloatingFrame(wxWindow* parent, const wxPaneInfo& p);
void DrawHintRect(wxWindow* pane_window,
const wxPoint& pt,
wxFloatingPane::wxFloatingPane(wxWindow* parent,
wxFrameManager* owner_mgr,
const wxPaneInfo& pane,
- wxWindowID id /*= wxID_ANY*/)
+ wxWindowID id /*= wxID_ANY*/,
+ long style /*=wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION |
+ wxFRAME_NO_TASKBAR | wxFRAME_FLOAT_ON_PARENT |
+ wxCLIP_CHILDREN
+ */)
: wxFloatingPaneBaseClass(parent, id, wxEmptyString,
pane.floating_pos, pane.floating_size,
- wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION |
+ style |
(pane.HasCloseButton()?wxCLOSE_BOX:0) |
- wxFRAME_NO_TASKBAR |
- wxFRAME_FLOAT_ON_PARENT | wxCLIP_CHILDREN |
(pane.IsFixed()?0:wxRESIZE_BORDER)
)
{
delete m_art;
}
+// Creates a floating frame for the windows
+wxFloatingPane * wxFrameManager::CreateFloatingFrame(wxWindow* parent, const wxPaneInfo& p)
+{
+ return new wxFloatingPane(parent, this, p);
+}
+
// GetPane() looks up a wxPaneInfo structure based
// on the supplied window pointer. Upon failure, GetPane()
// returns an empty wxPaneInfo, a condition which can be checked
{
// we need to create a frame for this
// pane, which has recently been floated
- wxFloatingPane* frame = new wxFloatingPane(m_frame,
- this,
- p);
+ wxFloatingPane* frame = CreateFloatingFrame(m_frame, p);
#if wxCHECK_VERSION(2,7,0)
// on MSW and Mac, if the owner desires transparent dragging, and