29 #ifndef PT_FORMS_WORKSPACE_MANAGER_H
30 #define PT_FORMS_WORKSPACE_MANAGER_H
32 #include <Pt/Forms/Api.h>
33 #include <Pt/Forms/WindowManager.h>
34 #include <Pt/Forms/Widget.h>
35 #include <Pt/Gfx/Point.h>
36 #include <Pt/Gfx/Size.h>
37 #include <Pt/Gfx/Rect.h>
50 class WorkspaceManager :
public WindowManager
52 typedef WindowManager Base;
54 friend class Workspace;
55 friend class WorkspaceFrame;
60 virtual ~WorkspaceManager();
62 void setParent(Workspace* workspace);
70 bool processMouseEvent(
const MouseEvent& ev);
72 bool processTouchEvent(
const TouchEvent& ev);
75 Window* activeWindow();
77 const std::vector<Window*>& windows()
const;
79 double borderWidth()
const
84 double titleHeight()
const
89 const Gfx::Color& inactiveColor()
const
91 return _inactiveColor;
94 const Gfx::Color& activeColor()
const
99 const Gfx::Color& textColor()
const
104 const Gfx::Color& inactiveTextColor()
const
106 return _inactiveTextColor;
113 virtual void onProcessLayoutEvent(
const LayoutEvent& ev);
115 virtual void onLayoutEvent(
const LayoutEvent& ev);
117 virtual void onLayout(
const Gfx::RectF& rect);
123 virtual void onRequestRelayout();
126 virtual WindowFrame* onAttach(Window& w);
128 virtual void onDetach(WindowFrame& w);
130 virtual void onInit(WindowFrame& w);
132 virtual void onRelease(WindowFrame& w);
135 Gfx::PointF toFrame(
const WorkspaceFrame& w,
136 const Gfx::PointF& pos)
const;
138 Gfx::PointF fromFrame(
const WorkspaceFrame& w,
139 const Gfx::PointF& pos)
const;
141 virtual void onSetAbove(WorkspaceFrame& w,
bool above);
143 virtual void onSetSizeLimits(WorkspaceFrame& w,
144 const Gfx::SizeF& minSize,
145 const Gfx::SizeF& maxSize);
147 virtual void onAutoCenter(WindowFrame& w,
const Gfx::SizeF* size);
149 virtual void onShow(WorkspaceFrame& w,
bool visible);
151 virtual void onActivate(WorkspaceFrame& w,
bool active);
153 virtual void onEnable(WorkspaceFrame& w,
bool enable);
155 virtual void onMove(WorkspaceFrame& w,
const Gfx::PointF& to);
157 virtual void onResize(WorkspaceFrame& w,
const Gfx::SizeF& to);
159 virtual void onClose(WorkspaceFrame& w);
165 virtual void onConnect(Screen& screen);
167 virtual void onDisconnect();
170 virtual Gfx::PointF onToParent(
const Gfx::PointF& pos)
const;
172 virtual Gfx::PointF onFromParent(
const Gfx::PointF& pos)
const;
174 virtual Widget* onHitTest(
const Gfx::PointF& p);
177 virtual void onRequestRepaint(
const Gfx::RectF& rect);
179 virtual void onRequestActivate(
bool active);
181 virtual void onRequestCapture(
bool capture);
184 virtual void onProcessEvent(
const Pt::Event& ev);
186 virtual void onProcessRescaleEvent(
const RescaleEvent& ev);
188 virtual void onProcessPaintEvent(
const PaintEvent& ev);
190 virtual void onProcessEnableEvent(
const EnableEvent& ev);
192 virtual void onProcessResizeEvent(
const ResizeEvent& ev);
194 virtual void onResizeEvent(
const ResizeEvent& ev);
196 virtual void onProcessMouseEvent(
const MouseEvent& ev);
198 virtual void onProcessTouchEvent(
const TouchEvent& ev);
200 virtual void onProcessScrollEvent(
const ScrollEvent& ev);
202 virtual void onProcessEnterEvent(
const EnterEvent& ev);
204 virtual void onProcessLeaveEvent(
const LeaveEvent& ev);
206 virtual void onProcessKeyEvent(
const KeyEvent& ev);
211 std::vector<Window*> _windows;
212 std::vector<Window*> _windowStack;
214 Window* _activeWindow;
215 Window* _topMostWindow;
216 std::map<Window*, Gfx::RectF> _autoCenter;
220 Gfx::Color _activeColor;
221 Gfx::Color _inactiveColor;
222 Gfx::Color _textColor;
223 Gfx::Color _inactiveTextColor;
230 #endif // include guard
Base class for all event types.
Definition: Event.h:49