25 #include "common/scummsys.h" 26 #include "common/str.h" 27 #include "common/keyboard.h" 29 #include "gui/object.h" 30 #include "gui/ThemeEngine.h" 44 kCloseWithResultCmd =
'clsr',
51 friend class EventRecorder;
63 bool _mouseUpdatedOnFocus;
69 bool _handlingMouseWheel;
72 Dialog(
int x,
int y,
int w,
int h,
bool scale =
false);
75 virtual int runModal();
77 bool isVisible()
const override {
return _visible; }
79 bool isMouseUpdatedOnFocus()
const {
return _mouseUpdatedOnFocus; }
81 void releaseFocus()
override;
82 void setFocusWidget(
Widget *widget);
83 Widget *getFocusWidget() {
return _focusedWidget; }
85 bool isDragging()
const {
return _dragWidget !=
nullptr; }
87 void setTickleWidget(
Widget *widget) { _tickleWidget = widget; }
88 void unSetTickleWidget() { _tickleWidget =
nullptr; }
89 Widget *getTickleWidget() {
return _tickleWidget; }
91 void reflowLayout()
override;
92 virtual void lostFocus();
93 virtual void receivedFocus(
int x = -1,
int y = -1) {
if (x >= 0 && y >= 0) handleMouseMoved(x, y, 0); }
98 Widget *findWidget(uint32 type);
102 void markWidgetsAsDirty();
108 virtual void drawDialog(DrawLayer layerToDraw,
bool resetClipping =
true);
112 virtual void handleTickle();
113 virtual void handleMouseDown(
int x,
int y,
int button,
int clickCount);
114 virtual void handleMouseUp(
int x,
int y,
int button,
int clickCount);
115 virtual void handleMouseWheel(
int x,
int y,
int direction)
override;
118 virtual void handleMouseMoved(
int x,
int y,
int button);
119 virtual void handleMouseLeft(
int button) {}
121 void handleCommand(
CommandSender *sender, uint32 cmd, uint32 data)
override;
123 Widget *findWidget(
int x,
int y);
124 Widget *findWidget(
const char *name);
125 void removeWidget(
Widget *widget)
override;
127 void setMouseUpdatedOnFocus(
bool mouseUpdatedOnFocus) { _mouseUpdatedOnFocus = mouseUpdatedOnFocus; }
128 void setDefaultFocusedWidget();
130 void setResult(
int result) { _result = result; }
131 int getResult()
const {
return _result; }
Definition: gui-manager.h:85
Definition: printman.h:30
DialogBackground
Dialog background type.
Definition: ThemeEngine.h:239
Definition: algorithm.h:29
Definition: keyboard.h:294