16#ifndef __albaGUICrossSplitter_H__
17#define __albaGUICrossSplitter_H__
22#include <wx/splitter.h>
80 void Put(wxWindow* w,
int i);
127 DECLARE_EVENT_TABLE()
Use Put(w,id) to place widgets on the various pane - id should be in 0..3.
void SetSplitPosRel(float x, float y)
Set the split position in relative coordinates and redraw the four panels.
void OnLayout()
Adjust the four panel.
void SetFocusedPanel(wxWindow *w)
Set the focus on window 'w'.
CrossSplitterDragModes HitTest(wxMouseEvent &event)
Hit the mouse position and return the drag modality.
void Put(wxWindow *w, int i)
Put the window into the panel 'i'.
void SetSplitPos(int x, int y)
Set the split position and redraw the four panels.
void OnMouseMotion(wxMouseEvent &event)
Manage the mouse movement to draw the cross of cross splitter.
void SetListener(albaObserver *Listener)
void OnSize(wxSizeEvent &event)
Adjust the panels size.
virtual ~albaGUICrossSplitter()
albaGUICrossSplitter(wxWindow *parent, wxWindowID id=-1)
albaObserver * m_Listener
wxWindow * m_FocusedPanel
void Maximize()
Maximize the founded panel.
void Split(CrossSplitterModes mode)
Show/Hide the four panel according to a splitting modality.
CrossSplitterDragModes m_Dragging
void DrawTracker(int x, int y)
Draw the cross representing the position of creoss splitter.
CrossSplitterModes m_Mode
void OnLeftMouseButtonUp(wxMouseEvent &event)
Intercept the mouse button up and call SetSplitPos with new position.
void OnLeftMouseButtonDown(wxMouseEvent &event)
Intercept the mouse button down and call DrawTracker with mouse position.
class name: albaGUIPanel Inherits directly from wxPanel and adds the pointer to the next panel
Interface implementing the Observer of the Subject/Observer design pattern.