29 #ifndef PT_FORMS_WIDGET_H
30 #define PT_FORMS_WIDGET_H
32 #include <Pt/Forms/Api.h>
33 #include <Pt/Forms/Responder.h>
34 #include <Pt/Forms/Cursor.h>
36 #include <Pt/Gfx/Scaling.h>
37 #include <Pt/Gfx/Point.h>
38 #include <Pt/Gfx/Size.h>
39 #include <Pt/Gfx/Rect.h>
41 #include <Pt/Connectable.h>
42 #include <Pt/Signal.h>
71 class PT_FORMS_API
Widget :
public Responder
86 const std::string&
name()
const;
182 virtual void show(
bool b =
true);
191 virtual void enable(
bool isEnable =
true);
194 void activate(
bool active =
true);
218 void setMinimumSize(
double w,
double h);
220 void setMinimumWidth(
double w);
222 void setMinimumHeight(
double h);
229 void setMaximumSize(
double w,
double h);
231 void setMaximumWidth(
double w);
233 void setMaximumHeight(
double h);
246 const Cursor* cursor()
const;
248 void setCursor(
const Cursor* c);
260 virtual void onSetParent(
Widget* parent);
262 virtual void onConnect(
Screen& screen);
264 virtual void onDisconnect();
277 virtual void onAttachPeer(
Widget& peer);
279 virtual void onDetachPeer(
Widget& peer);
283 virtual void onRequestRepaint(
const Gfx::RectF& rect);
286 virtual void onRequestShow(
bool e);
289 virtual void onRequestEnable(
bool isEnable);
291 virtual void onRequestActivate(
bool active);
294 virtual void onRequestMove(
const Gfx::PointF& pos);
296 virtual void onSetSizeLimits(
const Gfx::SizeF& minSize,
300 virtual void onRequestResize(
const Gfx::SizeF& s);
303 virtual void onRequestCapture(
bool capture);
306 virtual void onProcessEvent(
const Pt::Event& ev);
309 virtual void onProcessInvalidateEvent(
const InvalidateEvent& ev);
311 virtual void onInvalidateEvent(
const InvalidateEvent& ev);
313 virtual void onInvalidate();
316 virtual void onProcessPaintEvent(
const PaintEvent& ev);
318 virtual void onPaintEvent(
const PaintEvent& ev);
321 virtual void onProcessRescaleEvent(
const RescaleEvent& ev);
323 virtual void onRescaleEvent(
const RescaleEvent& ev);
325 virtual void onRescale(
double scaling);
328 virtual void onProcessShowEvent(
const ShowEvent& ev);
330 virtual void onShowEvent(
const ShowEvent& ev);
332 virtual void onShow(
bool visible);
335 virtual void onProcessEnableEvent(
const EnableEvent& ev);
337 virtual void onEnableEvent(
const EnableEvent& ev);
339 virtual void onEnable(
bool e);
342 virtual void onProcessMoveEvent(
const MoveEvent& ev);
344 virtual void onMoveEvent(
const MoveEvent& ev);
346 virtual void onProcessResizeEvent(
const ResizeEvent& ev);
348 virtual void onResizeEvent(
const ResizeEvent& ev);
351 virtual void onProcessMouseEvent(
const MouseEvent& ev);
353 virtual void onProcessTouchEvent(
const TouchEvent& ev);
355 virtual void onProcessScrollEvent(
const ScrollEvent& ev);
357 virtual void onProcessEnterEvent(
const EnterEvent& ev);
359 virtual void onProcessLeaveEvent(
const LeaveEvent& ev);
361 virtual void onProcessKeyEvent(
const KeyEvent& ev);
367 virtual Responder* onNextResponder();
369 virtual bool onMouseEvent(
const MouseEvent& ev);
371 virtual bool onTouchEvent(
const TouchEvent& ev);
373 virtual bool onScrollEvent(
const ScrollEvent& ev);
375 virtual bool onEnterEvent(
const EnterEvent& ev);
377 virtual bool onLeaveEvent(
const LeaveEvent& ev);
379 virtual bool onKeyEvent(
const KeyEvent& ev);
393 std::vector<Widget*> _peers;
395 Responder* _nextResponder;
412 Forms::Cursor _cursor;
421 #endif // include guard
Core module.
Definition: Allocator.h:33
Base class for all event types.
Definition: Event.h:50
Multicast Signal to call multiple slots.
Definition: Signal.h:190
Logical-to-physical unit conversion.
Definition: Scaling.h:49
Size with floating-point width and height.
Definition: Size.h:47
Point with floating-point X and Y coordinates.
Definition: Point.h:47
Connection Management for Signal and Slot Objects.
Definition: Connectable.h:50
Rect with floating-point coordinates.
Definition: Rect.h:47
uint_type uint64_t
Unsigned 64-bit integer type.
Definition: Api-Types.h:62