![]() |
Gorgon Game Engine
|
This widget is designed to be used by Listbox, Table, Grid and Treeview. More...
Public Member Functions | |
ListItem (const UI::Template &temp) | |
Constructor requires template. ListItem. More... | |
virtual bool | Activate () override |
Activates the widget. More... | |
const Graphics::Animation & | GetIcon () const |
Returns the icon on the label. More... | |
int | GetIndex () const |
Returns the index of the Item in the Listbox. More... | |
YesNoUnset | GetOpened () const |
Returns whether the item is opened and displaying subitems. More... | |
Parity | GetParity () const |
Returns the odd/even parity. More... | |
ItemPosition | GetPosition () const |
Returns the position of this item in the list. This is not automated. More... | |
bool | GetSelected () const |
Return selection status. More... | |
std::string | GetText () const |
Returns the currently displayed text. More... | |
bool | HasIcon () const |
Returns if the label has an icon. More... | |
void | OwnIcon () |
Transfers the ownership of the current icon. More... | |
void | OwnIcon (const Graphics::Animation &value) |
Sets the icon while transferring the ownership. More... | |
void | OwnIcon (Graphics::Bitmap &&value) |
Moves the given animation to the icon of the label. More... | |
void | RemoveIcon () |
Removes the icon on the label. More... | |
void | SetIcon (const Graphics::Animation &value) |
Changes the icon on the label. More... | |
void | SetIcon (const Graphics::Bitmap &value) |
Changes the icon on the label. More... | |
void | SetIconProvider (const Graphics::AnimationProvider &value) |
Changes the icon on the label. More... | |
void | SetIconProvider (Graphics::AnimationProvider &&provider) |
Changes the icon on the label. More... | |
void | SetIndex (long value) |
Sets the index of the ListItem in the Listbox. More... | |
void | SetOpened (YesNoUnset value) |
Sets whether the item is opened and displaying subitems. More... | |
void | SetParity (Parity value) |
Set odd/even parity of the widget. More... | |
void | SetPosition (ItemPosition value) |
Sets the position of this item in the list. More... | |
void | SetSelected (bool value) |
Sets selection status of the widget. More... | |
void | SetText (const std::string &value) |
Changes the text displayed. More... | |
![]() | |
ComponentStackWidget (ComponentStackWidget &&)=default | |
ComponentStackWidget (const Template &temp, std::map< ComponentTemplate::Tag, std::function< Widget *(const Template &)>> generators={}) | |
virtual | ~ComponentStackWidget () |
virtual Geometry::Point | GetLocation () const override |
Returns the location of the widget. More... | |
virtual Geometry::Size | GetSize () const override |
Returns the size of the widget. More... | |
virtual bool | IsEnabled () const override |
Returns whether the widget is enabled. More... | |
virtual void | Move (const Geometry::Point &location) override |
Moves this widget to the given position. More... | |
virtual void | Move (const Geometry::Point &location)=0 |
Moves this widget to the given position. More... | |
void | Move (int x, int y) |
Moves this widget to the given position. More... | |
virtual void | Resize (const Geometry::Size &size) override |
Changes the size of the widget. More... | |
virtual void | Resize (const Geometry::Size &size)=0 |
Changes the size of the widget. More... | |
virtual void | Resize (int w, int h) |
Changes the size of the widget. More... | |
virtual void | SetEnabled (bool value) override |
Sets the enabled state of the widget. More... | |
![]() | |
Widget () | |
Widget (Widget &&)=default | |
virtual | ~Widget () |
bool | AllowFocus () const |
If this widget can be focused currently. More... | |
virtual bool | CharacterEvent (Char) |
This function should be called whenever a character is received from operating system. More... | |
bool | Defocus () |
Removes the focus from this widget if this widget is focused. More... | |
void | Disable () |
Disables the widget so that the user cannot interact with it. More... | |
virtual bool | Done () |
For widgets that supports it, this will trigger finalization the user interaction. More... | |
void | Enable () |
Enables the widget so that the user can interact with it. More... | |
bool | EnsureVisible () const |
Ensures this widget is visible in its container by scrolling it into view. More... | |
bool | Focus () |
Transfers the focus to this widget. More... | |
Geometry::Bounds | GetBounds () const |
Returns the bounds of the widget. More... | |
int | GetHeight () const |
Returns the height of the widget. More... | |
WidgetContainer & | GetParent () const |
Returns the parent of this widget, throws if it does not have a parent. More... | |
int | GetWidth () const |
Returns the width of the widget. More... | |
bool | HasParent () const |
Returns if this widget has a parent. More... | |
void | Hide () |
Hides this widget, when hidden, widgets cannot gain focus. More... | |
bool | IsFloating () const |
Returns floating status of this widget. More... | |
bool | IsFocused () const |
Returns if this widget is focused. More... | |
bool | IsVisible () const |
Returns if the widget is visible. More... | |
virtual bool | KeyEvent (Input::Key, float) |
This function should be called whenever a key is pressed or released. More... | |
void | Move (int x, int y) |
Moves this widget to the given position. More... | |
bool | Remove () |
Removes the widget from its parent. More... | |
virtual void | Resize (int w, int h) |
Changes the size of the widget. More... | |
void | SetHeight (int height) |
Sets the height of the widget. More... | |
virtual void | SetIsFloating (bool value) |
Sets floating status of this widget. More... | |
void | setname (std::string value) |
This is a debug feature. More... | |
void | SetVisible (bool value) |
Changes the visibility of the widget. More... | |
void | SetWidth (int width) |
Sets the width of the widget. More... | |
void | Show () |
Shows this widget, widgets are visible by default. More... | |
void | ToggleEnabled () |
Toggles enabled state of the widget. More... | |
void | ToggleVisible () |
Toggles the visibility state of the widget. More... | |
Public Attributes | |
Event< ListItem > | ClickEvent |
Fired when the item is clicked. This includes clicks to toggle area. More... | |
Event< ListItem > | ToggleEvent |
If template has a ToggleTag, this will be raised only if that component is clicked. More... | |
![]() | |
Event< Widget > | BoundsChangedEvent |
This event will be fired when the area that the widget occupies on its container is changed. More... | |
std::string | dbgname |
Event< Widget > | FocusEvent |
This event will be fired when the widget receives or looses focus. More... | |
Geometry::PointProperty< Widget, &Widget::getlocation, &Widget::move > | Location |
Geometry::SizeProperty< Widget, &Widget::getsize, &Widget::resize > | Size |
Protected Member Functions | |
virtual bool | allowfocus () const override |
Should return true if the widget can be focused. More... | |
![]() | |
virtual void | addto (Layer &layer) override |
When called, widget should locate itself on to this layer. More... | |
virtual void | focused () override |
This is called after the focus is transferred to this widget. More... | |
virtual void | focuslost () override |
This is called after the focus is lost. More... | |
virtual void | parentenabledchanged (bool state) override |
This function is called when the parent's enabled state changes. More... | |
virtual void | removed () override |
Called after this widget is removed from its parent. More... | |
virtual void | removefrom (Layer &layer) override |
When called, widget should remove itself from the given layer. More... | |
virtual void | setlayerorder (Layer &, int order) override |
When called, widget should reorder itself in layer hierarchy. More... | |
![]() | |
virtual void | addedto (WidgetContainer &container) |
Called when this widget added to the given container. More... | |
virtual bool | addingto (WidgetContainer &) |
Called when it is about to be added to the given container. More... | |
virtual void | boundschanged () |
Call this function when the widget bounds is changed. More... | |
virtual bool | canloosefocus () const |
Should return true if the widget can loose the focus right now. More... | |
virtual void | displaced () |
Call this function when the widget container causes it to be displaced. More... | |
virtual bool | removingfrom () |
Called before this widget is removed from its parent. More... | |
Additional Inherited Members | |
![]() | |
bool | enabled |
bool | parentenabled |
ComponentStack & | stack |
This widget is designed to be used by Listbox, Table, Grid and Treeview.
It can be used separately, however, it has minimal functionality. The rest of the functionality is provided by the host widget.
This widget is meant to be used in listboxes to display the contents. ListItem only supports strings; therefore, conversion is necessary at the Listbox side. ListboxItem does not perform any operation by itself. All state changes should be facilitated by the listbox. State changes apart from hover/down/disabled/focused are not automatic. Finally, apart from the inherited properties, this widget does not feature any properties.
ClickEvent will be raise when the widget is clicked. This event will be raised first if the widget will be toggled too. Toggle event will be called depending on the template. If the template features ToggleTag, only clicking ToggleTag component will raise this event. Otherwise, every click will raise it. Even if ToggleTag component is clicked, ClickEvent will be fired first.
ListItem | ( | const UI::Template & | temp | ) |
Constructor requires template. ListItem.
References ListItem::ClickEvent, ComponentStack::ComponentAt(), ComponentStack::GetTemplate(), ComponentStack::HandleMouse(), ComponentStack::IndexOfTag(), ComponentTemplate::NoTag, ComponentStack::SetClickEvent(), ComponentStackWidget::stack, ListItem::ToggleEvent, and ComponentTemplate::ToggleTag.
|
overridevirtual |
Activates the widget.
This might perform the action if the widget is a button, forward the focus if it is a label or focus if it is an input field.
Implements Widget.
References ListItem::ToggleEvent.
|
overrideprotectedvirtual |
Should return true if the widget can be focused.
Reimplemented from Widget.
const Graphics::Animation& GetIcon | ( | ) | const |
Returns the icon on the label.
If the label does not have an icon, this function will throw
References ListItem::HasIcon().
int GetIndex | ( | ) | const |
Returns the index of the Item in the Listbox.
YesNoUnset GetOpened | ( | ) | const |
Returns whether the item is opened and displaying subitems.
Parity GetParity | ( | ) | const |
Returns the odd/even parity.
ItemPosition GetPosition | ( | ) | const |
Returns the position of this item in the list. This is not automated.
bool GetSelected | ( | ) | const |
Return selection status.
std::string GetText | ( | ) | const |
Returns the currently displayed text.
bool HasIcon | ( | ) | const |
Returns if the label has an icon.
void OwnIcon | ( | ) |
Transfers the ownership of the current icon.
void OwnIcon | ( | const Graphics::Animation & | value | ) |
Sets the icon while transferring the ownership.
References ListItem::SetIcon().
void OwnIcon | ( | Graphics::Bitmap && | value | ) |
Moves the given animation to the icon of the label.
References ListItem::OwnIcon().
void RemoveIcon | ( | ) |
Removes the icon on the label.
References Base::DeleteAnimation(), ComponentTemplate::Icon, ComponentStack::RemoveData(), and ComponentStackWidget::stack.
void SetIcon | ( | const Graphics::Animation & | value | ) |
Changes the icon on the label.
The ownership of the animation is not transferred. If you wish the animation to be destroyed with the label, use OwnIcon instead.
References Base::DeleteAnimation(), ComponentTemplate::Icon, ComponentStack::SetData(), and ComponentStackWidget::stack.
void SetIcon | ( | const Graphics::Bitmap & | value | ) |
Changes the icon on the label.
The ownership of the bitmap is not transferred. If you wish the bitmap to be destroyed with the label, use OwnIcon instead.
void SetIconProvider | ( | const Graphics::AnimationProvider & | value | ) |
Changes the icon on the label.
This will create a new animation from the given provider and will own the resultant animation.
References AnimationProvider::CreateAnimation(), and ListItem::OwnIcon().
void SetIconProvider | ( | Graphics::AnimationProvider && | provider | ) |
Changes the icon on the label.
This will move in the provider, create a new animation and own both the provider and the animation
References AnimationProvider::CreateAnimation(), and ListItem::OwnIcon().
void SetIndex | ( | long | value | ) |
Sets the index of the ListItem in the Listbox.
void SetOpened | ( | YesNoUnset | value | ) |
Sets whether the item is opened and displaying subitems.
This will not actually display any subitems, but only an indication. Depending on the template No might display + icon, Yes might display - icon. Setting this value to Unset will ensure no indication will be displayed.
References ComponentStack::AddCondition(), Gorgon::UI::Closed, Gorgon::UI::Opened, ComponentStack::RemoveCondition(), and ComponentStackWidget::stack.
void SetParity | ( | Parity | value | ) |
Set odd/even parity of the widget.
Depending on the template this might not have any effect at all.
References ComponentStack::AddCondition(), Gorgon::UI::Even, Gorgon::None, Gorgon::UI::Odd, ComponentStack::RemoveCondition(), and ComponentStackWidget::stack.
void SetPosition | ( | ItemPosition | value | ) |
Sets the position of this item in the list.
Depending on the template this might display visual cues or used as a way to connect treeview items to their parent.
References ComponentStack::AddCondition(), Gorgon::UI::Alone, Gorgon::First, Gorgon::UI::First, Gorgon::Last, Gorgon::UI::Last, Gorgon::Input::Mouse::Middle, ComponentStack::RemoveCondition(), and ComponentStackWidget::stack.
void SetSelected | ( | bool | value | ) |
Sets selection status of the widget.
Depending on the template, selected status might invert colors or display checkbox, radiobutton or similar indication that the item is selected.
References ComponentStack::AddCondition(), ComponentStack::RemoveCondition(), ComponentStackWidget::stack, and Gorgon::UI::State2.
void SetText | ( | const std::string & | value | ) |
Changes the text displayed.
Depending on the template, text might be overwritten by icon.
References ComponentStack::SetData(), ComponentStackWidget::stack, and ComponentTemplate::Text.
If template has a ToggleTag, this will be raised only if that component is clicked.
Otherwise this will be raised when anywhere is clicked. This event will be fired after ClickEvent. Only case when toggle event will not be triggered is when this widget gets activated