29 #ifndef PT_FORMS_FORM_H
30 #define PT_FORMS_FORM_H
32 #include <Pt/Forms/Api.h>
33 #include <Pt/Forms/Widget.h>
34 #include <Pt/Forms/Control.h>
35 #include <Pt/Gfx/Point.h>
36 #include <Pt/Gfx/Size.h>
37 #include <Pt/Gfx/Rect.h>
87 void setContent(
Control* control);
105 virtual void onRequestRelayout();
107 virtual void onProcessLayoutEvent(
const LayoutEvent& ev);
111 virtual void onProcessLayout(
const Gfx::RectF& rect);
113 virtual Gfx::SizeF onMeasure(
const SizePolicy& policy);
115 virtual void onLayout(
const Gfx::RectF& rect);
128 virtual void onAddElement(
Control& control);
130 virtual void onRemoveElement(
Control& control);
132 virtual void onSetFocusPolicy(
Control& control, FocusPolicy policy);
134 virtual void onSetFocusIndex(
Control& control,
unsigned index);
136 virtual void onSetFocus(
Control& control);
138 virtual void onSetShortcut(
Control& control,
const std::vector<Key>& keys);
140 virtual void onSetMnemonic(
Control& control,
const std::vector<Char>& chs);
148 virtual void onAttach(
Control& control);
150 virtual void onDetach(
Control& control);
152 virtual void onInit(
Control& control);
154 virtual void onRelease(
Control& control);
165 virtual void onRelayoutRequest(
Control& control);
167 virtual void onEnableRequest(
Control& control,
bool isEnable);
169 virtual void onActivateRequest(
Control& control,
bool active);
171 virtual void onShowRequest(
Control& control,
bool isShown);
177 virtual void onRaiseRequest(
Control& control);
183 virtual void onConnect(
Screen& screen);
185 virtual void onDisconnect();
190 virtual void onRequestCapture(
bool capture);
192 virtual void onRequestResize(
const Gfx::SizeF& s);
196 virtual void onProcessEvent(
const Pt::Event& ev);
202 virtual void onInvalidateEvent(
const InvalidateEvent& ev);
204 virtual void onInvalidate();
210 virtual void onProcessPaintEvent(
const PaintEvent& ev);
212 virtual void onPaintEvent(
const PaintEvent& ev);
218 virtual void onProcessRescaleEvent(
const RescaleEvent& ev);
220 virtual void onRescaleEvent(
const RescaleEvent& ev);
222 virtual void onRescale(
double scaling);
228 virtual void onProcessEnableEvent(
const EnableEvent& ev);
230 virtual void onEnableEvent(
const EnableEvent& ev);
232 virtual void onEnable(
bool e);
238 virtual void onProcessShowEvent(
const ShowEvent& ev);
240 virtual void onShowEvent(
const ShowEvent& ev);
242 virtual void onShow(
bool visible);
248 virtual void onProcessMoveEvent(
const MoveEvent& ev);
250 virtual void onMoveEvent(
const MoveEvent& ev);
252 virtual void onProcessResizeEvent(
const ResizeEvent& ev);
254 virtual void onResizeEvent(
const ResizeEvent& ev);
259 virtual void onProcessMouseEvent(
const MouseEvent& ev);
261 virtual void onProcessTouchEvent(
const TouchEvent& ev);
263 virtual void onProcessScrollEvent(
const ScrollEvent& sev);
265 virtual void onProcessEnterEvent(
const EnterEvent& ev);
267 virtual void onProcessLeaveEvent(
const LeaveEvent& ev);
269 virtual void onProcessKeyEvent(
const KeyEvent& ev);
275 virtual bool onMouseEvent(
const MouseEvent& ev);
277 virtual bool onTouchEvent(
const TouchEvent& ev);
279 virtual bool onScrollEvent(
const ScrollEvent& ev);
281 virtual bool onEnterEvent(
const EnterEvent& ev);
283 virtual bool onLeaveEvent(
const LeaveEvent& ev);
285 virtual bool onKeyEvent(
const KeyEvent& ev);
288 template <
typename Iter>
289 void moveFocus(Iter begin, Iter end);
292 const std::map<Key, Control*>& shortcuts()
const
297 const std::map<Pt::Char, Control*>& mnemonics()
const
309 std::vector<Control*> _focusList;
311 std::map<Key, Control*> _shortcuts;
312 std::map<Pt::Char, Control*> _mnemonics;
320 #endif // include guard
Core module.
Definition: Allocator.h:33
Base class for all event types.
Definition: Event.h:50
Size with floating-point width and height.
Definition: Size.h:47
Point with floating-point X and Y coordinates.
Definition: Point.h:47
Rect with floating-point coordinates.
Definition: Rect.h:47