24 #include "../Control/Nav.h" 25 #include "../Util/MR_Types.h" 30 #if defined(_WIN32) && defined(HR_ENGINE_SHARED) 32 # define MR_DllDeclare __declspec( dllexport ) 34 # define MR_DllDeclare __declspec( dllimport ) 37 # define MR_DllDeclare 93 layoutFlags(layoutFlags), focused(false) { }
111 void SetPos(
const Vec2 &pos);
120 void SetTranslation(
const Vec2 &translation);
132 Vec2 GetAlignedPos(
const Vec2 &pos,
double w,
double h)
const;
142 return GetAlignedPos(pos + translation, w, h);
160 std::string GetId()
const {
return id; }
167 void SetId(std::string
id) { this->
id = id; }
203 void SetFocused(
bool focused);
207 boost::signals2::signal<void(UiViewModel&)>;
214 boost::signals2::signal<void(UiViewModel&, const Control::Nav&)>;
void SetPos(double x, double y)
Convenience function for SetPos(const Vec2&).
Definition: UiViewModel.h:113
Base class for renderable components.
Definition: ViewModel.h:55
focusRelinquishedSignal_t & GetFocusRelinquishedSignal()
Definition: UiViewModel.h:215
virtual void DropFocus()
Force this widget to give up focus, if it is currently focused.
Definition: UiViewModel.h:200
virtual bool OnMouseMoved(const Vec2 &)
Definition: UiViewModel.h:97
uiLayoutFlags_t IsLayoutFloating() const
Definition: UiViewModel.h:153
uiLayoutFlags_t GetLayoutFlags() const
Retrieve the layout flags.
Definition: UiViewModel.h:149
Base class for UI (2D) components.
Definition: UiViewModel.h:56
#define MR_DllDeclare
Definition: UiViewModel.h:37
UiViewModel(uiLayoutFlags_t layoutFlags=0)
Definition: UiViewModel.h:91
Alignment
Imagine the component pinned to the container with a thumbtack.
Definition: UiViewModel.h:77
Definition: UiViewModel.h:66
virtual bool OnAction()
Definition: UiViewModel.h:101
uiLayoutFlags_t IsLayoutUnscaled() const
Definition: UiViewModel.h:152
Definition: UiViewModel.h:61
uiLayoutFlags_t layoutFlags
Definition: UiViewModel.h:224
Mouse click events.
Definition: Action.h:67
virtual ~UiViewModel()
Definition: UiViewModel.h:94
virtual bool TryFocus(const Control::Nav &nav=Control::Nav::NEUTRAL)
Attempts to give this widget focus.
Definition: UiViewModel.h:188
virtual bool OnMouseReleased(const Control::Mouse::Click &)
Definition: UiViewModel.h:99
bool focused
Definition: UiViewModel.h:228
MR_UInt32 uiLayoutFlags_t
Definition: UiLayoutFlags.h:53
virtual bool OnNavigate(const Control::Nav &)
Definition: UiViewModel.h:102
boost::signals2::signal< void(UiViewModel &)> focusRequestedSignal_t
Definition: UiViewModel.h:207
Definition: UiViewModel.h:65
Don't scale the component to the UI viewport.
Definition: UiLayoutFlags.h:48
bool IsFocused() const
Check if this widget currently has input focus.
Definition: UiViewModel.h:174
Vec2 pos
Definition: UiViewModel.h:221
void SetTranslation(double x, double y)
Convenience function for SetTranslation(const Vec2&).
Definition: UiViewModel.h:122
virtual bool OnMousePressed(const Control::Mouse::Click &)
Definition: UiViewModel.h:98
const Vec2 & GetTranslation() const
Retrieves the position translation.
Definition: UiViewModel.h:119
boost::signals2::signal< void(UiViewModel &, const Control::Nav &)> focusRelinquishedSignal_t
Definition: UiViewModel.h:214
const Vec2 & GetPos() const
Get the position of the component.
Definition: UiViewModel.h:110
virtual bool OnMouseScrolled(const Control::Mouse::Scroll &)
Definition: UiViewModel.h:100
A navigation direction.
Definition: Nav.h:45
Vec2 GetAlignedPos(double w, double h) const
Retrieve the position adjusted by the current alignment.
Definition: UiViewModel.h:140
Vec2 translation
Definition: UiViewModel.h:222
focusRequestedSignal_t focusRequestedSignal
Definition: UiViewModel.h:229
Alignment alignment
Definition: UiViewModel.h:223
Definition: Announcement.h:24
Alignment GetAlignment() const
Retrieve the alignment of the component.
Definition: UiViewModel.h:129
focusRelinquishedSignal_t focusRelinquishedSignal
Definition: UiViewModel.h:230
Use absolute (screen-space) coordinates.
Definition: UiLayoutFlags.h:49
Definition: UiViewModel.h:67
First index for subclasses.
Definition: UiViewModel.h:68
focusRequestedSignal_t & GetFocusRequestedSignal()
Definition: UiViewModel.h:208