1.1-rc3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SliderType< T > Class Template Reference

This is a slider that can be used to select value from a range. More...

Inheritance diagram for SliderType< T >:
Inheritance graph
[legend]

Public Types

enum  SliderFlag
 Slider flags. More...
 
using SliderFlags = Flags< SliderBase::SliderFlag >
 Slider flags. More...
 
- Public Types inherited from Widget
enum  Flag : uint32_t {
  plane_window = detail::bit(0), window = detail::bit(1), frame = detail::bit(2), disabled = detail::bit(3),
  readonly = detail::bit(4), active = detail::bit(5), invisible = detail::bit(6), grab_mouse = detail::bit(7),
  no_clip = detail::bit(8), no_layout = detail::bit(9), no_autoresize = detail::bit(10), checked = detail::bit(11)
}
 Common flags used for various widget properties. More...
 
using Flags = egt::Flags< Widget::Flag >
 Widget flags. More...
 
using WalkCallback = std::function< bool(Widget *widget, int level)>
 Callback definition used by walk(). More...
 
using WidgetId = uint64_t
 Type used to identify a unique Widget ID. More...
 
- Public Types inherited from Object
using EventCallback = std::function< void(Event &event)>
 Event handler callback function. More...
 
using FilterFlags = FlagsBase< EventId >
 Event handler EventId filter. More...
 
using RegisterHandle = uint64_t
 Handle type. More...
 

Public Member Functions

 SliderType (const Rect &rect, T start=0, T end=100, T value=0, Orientation orient=Orientation::horizontal) noexcept
 
 SliderType (Frame &parent, const Rect &rect, T start=0, T end=100, T value=0, Orientation orient=Orientation::horizontal) noexcept
 
 SliderType (Frame &parent, T start=0, T end=100, T value=0, Orientation orient=Orientation::horizontal) noexcept
 
 SliderType (T start=0, T end=100, T value=0, Orientation orient=Orientation::horizontal) noexcept
 
void deserialize (const std::string &name, const std::string &value, const Serializer::Attributes &attrs) override
 Deserialize widget properties. More...
 
void draw (Painter &painter, const Rect &rect) override
 Draw the widget. More...
 
void handle (Event &event) override
 Handle an event. More...
 
void live_update (bool enable)
 Enable or disable the live update feature. More...
 
EGT_NODISCARD Orientation orient () const
 Get the Orientation. More...
 
void orient (Orientation orient)
 Set the Orientation. More...
 
void serialize (Serializer &serializer) const override
 Serialize the widget to the specified serializer. More...
 
SliderFlagsslider_flags ()
 Get the current slider flags. More...
 
const EGT_NODISCARD SliderFlagsslider_flags () const
 Get the current slider flags. More...
 
value (T value) override
 Set value. More...
 
- Public Member Functions inherited from ValueRangeWidget< T >
 ValueRangeWidget ()=delete
 
 ValueRangeWidget (const Rect &rect, T start, T end, T value=T()) noexcept
 
void deserialize (const std::string &name, const std::string &value, const Serializer::Attributes &attrs) override
 Deserialize widget properties. More...
 
EGT_NODISCARD T ending () const
 Get the end value. More...
 
void ending (T v)
 Set the end value. More...
 
void serialize (Serializer &serializer) const override
 Serialize the widget to the specified serializer. More...
 
EGT_NODISCARD T starting () const
 Get the start value. More...
 
void starting (T v)
 Set the start value. More...
 
EGT_NODISCARD T value () const
 Get the current value. More...
 
- Public Member Functions inherited from Widget
 Widget (const Rect &rect={}, const Widget::Flags &flags={}) noexcept
 
 Widget (const Widget &)=delete
 
 Widget (Frame &parent, const Rect &rect={}, const Widget::Flags &flags={}) noexcept
 
 Widget (Widget &&) noexcept=default
 
 ~Widget () noexcept override
 
EGT_NODISCARD bool active () const
 Get the active state. More...
 
void active (bool value)
 Set the active state. More...
 
AlignFlagsalign ()
 Get the alignment. More...
 
const EGT_NODISCARD AlignFlagsalign () const
 Get the alignment. More...
 
void align (const AlignFlags &a)
 Align the widget. More...
 
EGT_NODISCARD float alpha () const
 Get the alpha property. More...
 
void alpha (float alpha)
 Set the alpha property. More...
 
EGT_NODISCARD bool autoresize () const
 Return the autoresize state of the widget. More...
 
void autoresize (bool value)
 Set the autoresize state. More...
 
EGT_NODISCARD DefaultDim border () const
 Get the border width. More...
 
void border (DefaultDim border)
 Set the border width. More...
 
EGT_NODISCARD Theme::BorderFlags border_flags () const
 Get the border flags. More...
 
void border_flags (const Theme::BorderFlags &flags)
 Set the border flags. More...
 
EGT_NODISCARD float border_radius () const
 Get the border radius. More...
 
void border_radius (float radius)
 Set the border radius. More...
 
const EGT_NODISCARD Rectbox () const
 Bounding box for the Widget. More...
 
void box (const Rect &rect)
 Change the bounding box of the widget. More...
 
bool can_handle_event () const
 Returns true if the widget is capable of handling an event. More...
 
EGT_NODISCARD Point center () const
 Get the center point of the widget's box(). More...
 
EGT_NODISCARD bool checked () const
 Get the boolean checked state of the a widget. More...
 
virtual void checked (bool value)
 Set the checked state of the widget. More...
 
EGT_NODISCARD bool clip () const
 Return the clip state of the widget. More...
 
const EGT_NODISCARD Patterncolor (Palette::ColorId id) const
 Get a Widget color. More...
 
void color (Palette::ColorId id, const Pattern &color, Palette::GroupId group=Palette::GroupId::normal)
 Add a color to the widget's instance palette. More...
 
const EGT_NODISCARD Patterncolor (Palette::ColorId id, Palette::GroupId group) const
 Get a Widget color. More...
 
virtual EGT_NODISCARD Rect content_area () const
 Return the area that content is allowed to be positioned into. More...
 
virtual void damage ()
 Damage the box() of the widget and cause a redraw. More...
 
virtual void damage (const Rect &rect)
 Mark the specified rect as a damaged area of the widget. More...
 
void detach ()
 Detach this widget from its parent. More...
 
void disable ()
 Set the disabled state to true. More...
 
void disable_toggle ()
 Toggle the disabled state. More...
 
EGT_NODISCARD bool disabled () const
 Return the disabled state of the widget. More...
 
void disabled (bool value)
 Set the disabled state. More...
 
DisplayPoint display_origin ()
 Get the display origin of the Widget. More...
 
virtual Point display_to_local (const DisplayPoint &p)
 Convert a display point to a local point. More...
 
void draw_box (Painter &painter, Palette::ColorId bg, Palette::ColorId border) const
 Helper function to draw this widget's box using the appropriate theme. More...
 
void draw_circle (Painter &painter, Palette::ColorId bg, Palette::ColorId border) const
 Helper function to draw this widget's circle using the appropriate theme. More...
 
void enable ()
 Set the disabled state to false. More...
 
Theme::FillFlagsfill_flags ()
 Get a modifiable fill flags reference. More...
 
const EGT_NODISCARD Theme::FillFlagsfill_flags () const
 Get the fill flags. More...
 
void fill_flags (const Theme::FillFlags &flags)
 Set the fill flags. More...
 
EGT_NODISCARD bool focus () const
 Get the current focus state. More...
 
const EGT_NODISCARD Fontfont () const
 Get the widget Font. More...
 
void font (const Font &font)
 Set the widget Font. More...
 
EGT_NODISCARD bool frame () const
 Return the frame state of the widget. More...
 
EGT_NODISCARD bool grab_mouse () const
 Return the grab_mouse state of the widget. More...
 
void grab_mouse (bool value)
 Set the grab_mouse state. More...
 
EGT_NODISCARD DefaultDim height () const
 Height of the widget's box(). More...
 
void height (DefaultDim h)
 Change the height. More...
 
virtual void hide ()
 Hide the Widget. More...
 
EGT_NODISCARD DefaultDim horizontal_ratio () const
 Get the horizontal ratio relative to parent. More...
 
void horizontal_ratio (DefaultDim horizontal)
 Set the horizontal ratio relative to parent. More...
 
EGT_NODISCARD bool in_layout () const
 Indicate if the Widget is computing the layout or not. More...
 
virtual void layout ()
 Perform layout of the Widget. More...
 
DisplayPoint local_to_display (const Point &p)
 Convert a local point to a display point. More...
 
EGT_NODISCARD DefaultDim margin () const
 Get the margin width. More...
 
void margin (DefaultDim margin)
 Set the margin width. More...
 
virtual EGT_NODISCARD Size min_size_hint () const
 Get a minimum size hint for the Widget. More...
 
void min_size_hint (const Size &size)
 Set the minimum size hint for the Widget. More...
 
EGT_NODISCARD size_t moat () const
 Get the sum of the margin(), padding(), and border() around the content of the widget. More...
 
virtual void move (const Point &point)
 Move the Widget to a new position. More...
 
void move_to_center ()
 Move the widget to the center of its parent. More...
 
void move_to_center (const Point &point)
 Move the widget to the specified center point. More...
 
EGT_NODISCARD bool no_layout () const
 Return the no_layout state of the widget. More...
 
void no_layout (bool value)
 Set the no_layout state. More...
 
Widgetoperator= (const Widget &)=delete
 
Widgetoperator= (Widget &&) noexcept=default
 
EGT_NODISCARD DefaultDim padding () const
 Return the padding width. More...
 
void padding (DefaultDim padding)
 Set the padding width. More...
 
virtual void paint (Painter &painter)
 Paint the Widget using a Painter. More...
 
virtual void paint_to_file (const std::string &filename={})
 Draw the widget to a file. More...
 
void palette (const Palette &palette)
 Set the widget instance Palette. More...
 
Frameparent ()
 Get a pointer to the parent Frame, or nullptr if none exists. More...
 
const EGT_NODISCARD Frameparent () const
 Get a pointer to the parent Frame, or nullptr if none exists. More...
 
EGT_NODISCARD bool plane_window () const
 Return the plane_window state of the widget. More...
 
const EGT_NODISCARD Pointpoint () const
 Get the origin of the widget's box(). More...
 
void ratio (DefaultDim horizontal, DefaultDim vertical)
 Set the size ratio relative to parent. More...
 
void ratio (DefaultDim ratio)
 Set the size ratio relative to parent. More...
 
EGT_NODISCARD bool readonly () const
 Get the readonly state of the widget. More...
 
void readonly (bool value)
 Set the readonly state of the widget. More...
 
void readonly_toggle ()
 Toggle the readonly state. More...
 
void reset_palette ()
 Clear the widget instance palette. More...
 
void reset_theme ()
 Reset the Widget's Theme to the default Theme. More...
 
virtual void resize (const Size &size)
 Resize the widget. More...
 
void resize_by_ratio (DefaultDim hratio, DefaultDim vratio)
 Scale the current size of the Widget given the ratio. More...
 
void resize_by_ratio (DefaultDim ratio)
 Scale the current size of the Widget given the ratio. More...
 
virtual void scale (float hscale, float vscale)
 Set the scale of the widget. More...
 
void scale (float scale)
 Set the scale of the widget. More...
 
virtual EGT_NODISCARD Screenscreen () const
 Get a pointer to the Screen instance, using using a parent as necessary. More...
 
virtual void show ()
 Show the Widget. More...
 
const EGT_NODISCARD Sizesize () const
 Get the size of the widget's box(). More...
 
const EGT_NODISCARD Themetheme () const
 Get the Widget Theme. More...
 
void theme (const Theme &theme)
 Set the Widget's theme to a new theme. More...
 
EGT_NODISCARD Point to_parent (const Point &r) const
 Convert a point with a local origin to a parent origin. More...
 
EGT_NODISCARD Rect to_parent (const Rect &r) const
 Convert a point in a rect a local origin to a parent origin. More...
 
virtual EGT_NODISCARD std::string type () const
 Returns a string representation of the type of this widget. More...
 
const EGT_NODISCARD Rectuser_requested_box () const
 Get the box corresponding to the user requested one, not the actual one. More...
 
EGT_NODISCARD DefaultDim vertical_ratio () const
 Get the vertical ratio relative to parent. More...
 
void vertical_ratio (DefaultDim vertical)
 Set the vertical ratio relative to parent. More...
 
EGT_NODISCARD bool visible () const
 Get the visible state of the widget. More...
 
void visible (bool value)
 Set the visible state. More...
 
void visible_toggle ()
 Toggle the visibility state. More...
 
virtual void walk (const WalkCallback &callback, int level=0)
 Walk the Widget tree and call callback with each Widget. More...
 
EGT_NODISCARD WidgetId widgetid () const
 Get the unique id of the widget. More...
 
EGT_NODISCARD DefaultDim width () const
 Width of the widget's box(). More...
 
void width (DefaultDim w)
 Change the width. More...
 
EGT_NODISCARD DefaultDim x () const
 X coordinate of the widget's box(). More...
 
void x (DefaultDim x)
 Set the X coordinate of the box. More...
 
EGT_NODISCARD DefaultDim xratio () const
 Get the X position ratio relative to parent. More...
 
void xratio (DefaultDim xratio)
 Set the X position ratio relative to parent. More...
 
EGT_NODISCARD DefaultDim y () const
 Y coordinate of the widget's box(). More...
 
void y (DefaultDim y)
 Set the Y coordinate of the box. More...
 
EGT_NODISCARD DefaultDim yratio () const
 Get the Y position ratio relative to parent. More...
 
void yratio (DefaultDim yratio)
 Set the Y position ratio relative to parent. More...
 
virtual EGT_NODISCARD size_t zorder () const
 Get the zorder of the widget. More...
 
virtual void zorder_bottom ()
 Move the widget to the bottom. More...
 
virtual void zorder_down ()
 Move this widgets zorder down relative to other widgets with the same parent. More...
 
virtual void zorder_top ()
 Move the widget to the top. More...
 
virtual void zorder_up ()
 Move this widgets zorder up relative to other widgets with the same parent. More...
 
- Public Member Functions inherited from Object
 Object () noexcept=default
 
 Object (const Object &)=delete
 
 Object (Object &&)=default
 
virtual ~Object () noexcept=default
 
void clear_handlers ()
 Clear all registered event handlers. More...
 
void invoke_handlers (Event &event)
 Invoke all handlers with the specified event. More...
 
void invoke_handlers (EventId event)
 Invoke all handlers with the specified EventId. More...
 
const EGT_NODISCARD std::string & name () const
 Get the name of the Object. More...
 
void name (const std::string &name)
 Set the name of the Object. More...
 
RegisterHandle on_event (const EventCallback &handler, const FilterFlags &mask={})
 Add an event handler to be called when the widget generates an event. More...
 
Objectoperator= (const Object &)=delete
 
Objectoperator= (Object &&)=default
 
void remove_handler (RegisterHandle handle)
 Remove an event handler. More...
 

Protected Member Functions

void draw_handle (Painter &painter)
 Draw the handle. More...
 
EGT_API void draw_label (Painter &painter, double value)
 Draw the value label specialized for double. More...
 
EGT_API void draw_label (Painter &painter, float value)
 Draw the value label specialized for float. More...
 
void draw_label (Painter &painter, T value)
 Draw the value label. More...
 
void draw_line (Painter &painter, float xp, float yp)
 Draw the line. More...
 
EGT_NODISCARD Rect handle_box () const
 Get the handle box for the current value. More...
 
EGT_NODISCARD Rect handle_box (T value) const
 Get the handle box for the specified value. More...
 
EGT_NODISCARD int handle_height () const
 Get the calculated handle height. More...
 
EGT_NODISCARD int handle_width () const
 Get the calculated handle width. More...
 
EGT_NODISCARD int to_offset (int value) const
 Convert a value to an offset. More...
 
EGT_NODISCARD T to_value (int offset) const
 Convert an offset to value. More...
 
void update_value (T value)
 Update the value without notifying the handlers. More...
 
- Protected Member Functions inherited from ValueRangeWidget< T >
 ValueRangeWidget ()=delete
 
 ValueRangeWidget (const Rect &rect, T start, T end, T value=T()) noexcept
 
void deserialize (const std::string &name, const std::string &value, const Serializer::Attributes &attrs) override
 Deserialize widget properties. More...
 
EGT_NODISCARD T ending () const
 Get the end value. More...
 
void ending (T v)
 Set the end value. More...
 
void serialize (Serializer &serializer) const override
 Serialize the widget to the specified serializer. More...
 
EGT_NODISCARD T starting () const
 Get the start value. More...
 
void starting (T v)
 Set the start value. More...
 
EGT_NODISCARD T value () const
 Get the current value. More...
 
- Protected Member Functions inherited from Widget
const EGT_NODISCARD Palettedefault_palette () const
 Get a reference to the default palette. More...
 
Widget::Flagsflags ()
 Get a modifiable ref of the flags. More...
 
const EGT_NODISCARD Widget::Flagsflags () const
 Get a const ref of the flags. More...
 
EGT_NODISCARD Rect local_box () const
 Get the local box which is the same size as box(), but with the origin zeroed. More...
 
EGT_NODISCARD bool parent_in_layout ()
 Indicate if our parent is computing the layout. More...
 
void parent_layout ()
 Call our parent to do a layout. More...
 
virtual void set_parent (Frame *parent)
 Set this widget's parent. More...
 
virtual EGT_NODISCARD bool top_level () const
 Is this widget a top level widget? More...
 
 Widget (const Rect &rect={}, const Widget::Flags &flags={}) noexcept
 
 Widget (const Widget &)=delete
 
 Widget (Frame &parent, const Rect &rect={}, const Widget::Flags &flags={}) noexcept
 
 Widget (Widget &&) noexcept=default
 
 ~Widget () noexcept override
 
EGT_NODISCARD bool active () const
 Get the active state. More...
 
void active (bool value)
 Set the active state. More...
 
AlignFlagsalign ()
 Get the alignment. More...
 
const EGT_NODISCARD AlignFlagsalign () const
 Get the alignment. More...
 
void align (const AlignFlags &a)
 Align the widget. More...
 
EGT_NODISCARD float alpha () const
 Get the alpha property. More...
 
void alpha (float alpha)
 Set the alpha property. More...
 
EGT_NODISCARD bool autoresize () const
 Return the autoresize state of the widget. More...
 
void autoresize (bool value)
 Set the autoresize state. More...
 
EGT_NODISCARD DefaultDim border () const
 Get the border width. More...
 
void border (DefaultDim border)
 Set the border width. More...
 
EGT_NODISCARD Theme::BorderFlags border_flags () const
 Get the border flags. More...
 
void border_flags (const Theme::BorderFlags &flags)
 Set the border flags. More...
 
EGT_NODISCARD float border_radius () const
 Get the border radius. More...
 
void border_radius (float radius)
 Set the border radius. More...
 
const EGT_NODISCARD Rectbox () const
 Bounding box for the Widget. More...
 
void box (const Rect &rect)
 Change the bounding box of the widget. More...
 
bool can_handle_event () const
 Returns true if the widget is capable of handling an event. More...
 
EGT_NODISCARD Point center () const
 Get the center point of the widget's box(). More...
 
EGT_NODISCARD bool checked () const
 Get the boolean checked state of the a widget. More...
 
virtual void checked (bool value)
 Set the checked state of the widget. More...
 
EGT_NODISCARD bool clip () const
 Return the clip state of the widget. More...
 
const EGT_NODISCARD Patterncolor (Palette::ColorId id) const
 Get a Widget color. More...
 
void color (Palette::ColorId id, const Pattern &color, Palette::GroupId group=Palette::GroupId::normal)
 Add a color to the widget's instance palette. More...
 
const EGT_NODISCARD Patterncolor (Palette::ColorId id, Palette::GroupId group) const
 Get a Widget color. More...
 
virtual EGT_NODISCARD Rect content_area () const
 Return the area that content is allowed to be positioned into. More...
 
virtual void damage ()
 Damage the box() of the widget and cause a redraw. More...
 
virtual void damage (const Rect &rect)
 Mark the specified rect as a damaged area of the widget. More...
 
void detach ()
 Detach this widget from its parent. More...
 
void disable ()
 Set the disabled state to true. More...
 
void disable_toggle ()
 Toggle the disabled state. More...
 
EGT_NODISCARD bool disabled () const
 Return the disabled state of the widget. More...
 
void disabled (bool value)
 Set the disabled state. More...
 
DisplayPoint display_origin ()
 Get the display origin of the Widget. More...
 
virtual Point display_to_local (const DisplayPoint &p)
 Convert a display point to a local point. More...
 
void draw_box (Painter &painter, Palette::ColorId bg, Palette::ColorId border) const
 Helper function to draw this widget's box using the appropriate theme. More...
 
void draw_circle (Painter &painter, Palette::ColorId bg, Palette::ColorId border) const
 Helper function to draw this widget's circle using the appropriate theme. More...
 
void enable ()
 Set the disabled state to false. More...
 
Theme::FillFlagsfill_flags ()
 Get a modifiable fill flags reference. More...
 
const EGT_NODISCARD Theme::FillFlagsfill_flags () const
 Get the fill flags. More...
 
void fill_flags (const Theme::FillFlags &flags)
 Set the fill flags. More...
 
EGT_NODISCARD bool focus () const
 Get the current focus state. More...
 
const EGT_NODISCARD Fontfont () const
 Get the widget Font. More...
 
void font (const Font &font)
 Set the widget Font. More...
 
EGT_NODISCARD bool frame () const
 Return the frame state of the widget. More...
 
EGT_NODISCARD bool grab_mouse () const
 Return the grab_mouse state of the widget. More...
 
void grab_mouse (bool value)
 Set the grab_mouse state. More...
 
EGT_NODISCARD DefaultDim height () const
 Height of the widget's box(). More...
 
void height (DefaultDim h)
 Change the height. More...
 
virtual void hide ()
 Hide the Widget. More...
 
EGT_NODISCARD DefaultDim horizontal_ratio () const
 Get the horizontal ratio relative to parent. More...
 
void horizontal_ratio (DefaultDim horizontal)
 Set the horizontal ratio relative to parent. More...
 
EGT_NODISCARD bool in_layout () const
 Indicate if the Widget is computing the layout or not. More...
 
virtual void layout ()
 Perform layout of the Widget. More...
 
DisplayPoint local_to_display (const Point &p)
 Convert a local point to a display point. More...
 
EGT_NODISCARD DefaultDim margin () const
 Get the margin width. More...
 
void margin (DefaultDim margin)
 Set the margin width. More...
 
virtual EGT_NODISCARD Size min_size_hint () const
 Get a minimum size hint for the Widget. More...
 
void min_size_hint (const Size &size)
 Set the minimum size hint for the Widget. More...
 
EGT_NODISCARD size_t moat () const
 Get the sum of the margin(), padding(), and border() around the content of the widget. More...
 
virtual void move (const Point &point)
 Move the Widget to a new position. More...
 
void move_to_center ()
 Move the widget to the center of its parent. More...
 
void move_to_center (const Point &point)
 Move the widget to the specified center point. More...
 
EGT_NODISCARD bool no_layout () const
 Return the no_layout state of the widget. More...
 
void no_layout (bool value)
 Set the no_layout state. More...
 
Widgetoperator= (const Widget &)=delete
 
Widgetoperator= (Widget &&) noexcept=default
 
EGT_NODISCARD DefaultDim padding () const
 Return the padding width. More...
 
void padding (DefaultDim padding)
 Set the padding width. More...
 
virtual void paint (Painter &painter)
 Paint the Widget using a Painter. More...
 
virtual void paint_to_file (const std::string &filename={})
 Draw the widget to a file. More...
 
void palette (const Palette &palette)
 Set the widget instance Palette. More...
 
Frameparent ()
 Get a pointer to the parent Frame, or nullptr if none exists. More...
 
const EGT_NODISCARD Frameparent () const
 Get a pointer to the parent Frame, or nullptr if none exists. More...
 
EGT_NODISCARD bool plane_window () const
 Return the plane_window state of the widget. More...
 
const EGT_NODISCARD Pointpoint () const
 Get the origin of the widget's box(). More...
 
void ratio (DefaultDim horizontal, DefaultDim vertical)
 Set the size ratio relative to parent. More...
 
void ratio (DefaultDim ratio)
 Set the size ratio relative to parent. More...
 
EGT_NODISCARD bool readonly () const
 Get the readonly state of the widget. More...
 
void readonly (bool value)
 Set the readonly state of the widget. More...
 
void readonly_toggle ()
 Toggle the readonly state. More...
 
void reset_palette ()
 Clear the widget instance palette. More...
 
void reset_theme ()
 Reset the Widget's Theme to the default Theme. More...
 
virtual void resize (const Size &size)
 Resize the widget. More...
 
void resize_by_ratio (DefaultDim hratio, DefaultDim vratio)
 Scale the current size of the Widget given the ratio. More...
 
void resize_by_ratio (DefaultDim ratio)
 Scale the current size of the Widget given the ratio. More...
 
virtual void scale (float hscale, float vscale)
 Set the scale of the widget. More...
 
void scale (float scale)
 Set the scale of the widget. More...
 
virtual EGT_NODISCARD Screenscreen () const
 Get a pointer to the Screen instance, using using a parent as necessary. More...
 
virtual void show ()
 Show the Widget. More...
 
const EGT_NODISCARD Sizesize () const
 Get the size of the widget's box(). More...
 
const EGT_NODISCARD Themetheme () const
 Get the Widget Theme. More...
 
void theme (const Theme &theme)
 Set the Widget's theme to a new theme. More...
 
EGT_NODISCARD Point to_parent (const Point &r) const
 Convert a point with a local origin to a parent origin. More...
 
EGT_NODISCARD Rect to_parent (const Rect &r) const
 Convert a point in a rect a local origin to a parent origin. More...
 
virtual EGT_NODISCARD std::string type () const
 Returns a string representation of the type of this widget. More...
 
const EGT_NODISCARD Rectuser_requested_box () const
 Get the box corresponding to the user requested one, not the actual one. More...
 
EGT_NODISCARD DefaultDim vertical_ratio () const
 Get the vertical ratio relative to parent. More...
 
void vertical_ratio (DefaultDim vertical)
 Set the vertical ratio relative to parent. More...
 
EGT_NODISCARD bool visible () const
 Get the visible state of the widget. More...
 
void visible (bool value)
 Set the visible state. More...
 
void visible_toggle ()
 Toggle the visibility state. More...
 
virtual void walk (const WalkCallback &callback, int level=0)
 Walk the Widget tree and call callback with each Widget. More...
 
EGT_NODISCARD WidgetId widgetid () const
 Get the unique id of the widget. More...
 
EGT_NODISCARD DefaultDim width () const
 Width of the widget's box(). More...
 
void width (DefaultDim w)
 Change the width. More...
 
EGT_NODISCARD DefaultDim x () const
 X coordinate of the widget's box(). More...
 
void x (DefaultDim x)
 Set the X coordinate of the box. More...
 
EGT_NODISCARD DefaultDim xratio () const
 Get the X position ratio relative to parent. More...
 
void xratio (DefaultDim xratio)
 Set the X position ratio relative to parent. More...
 
EGT_NODISCARD DefaultDim y () const
 Y coordinate of the widget's box(). More...
 
void y (DefaultDim y)
 Set the Y coordinate of the box. More...
 
EGT_NODISCARD DefaultDim yratio () const
 Get the Y position ratio relative to parent. More...
 
void yratio (DefaultDim yratio)
 Set the Y position ratio relative to parent. More...
 
virtual EGT_NODISCARD size_t zorder () const
 Get the zorder of the widget. More...
 
virtual void zorder_bottom ()
 Move the widget to the bottom. More...
 
virtual void zorder_down ()
 Move this widgets zorder down relative to other widgets with the same parent. More...
 
virtual void zorder_top ()
 Move the widget to the top. More...
 
virtual void zorder_up ()
 Move this widgets zorder up relative to other widgets with the same parent. More...
 
- Protected Member Functions inherited from Object
 Object () noexcept=default
 
 Object (const Object &)=delete
 
 Object (Object &&)=default
 
virtual ~Object () noexcept=default
 
void clear_handlers ()
 Clear all registered event handlers. More...
 
void invoke_handlers (Event &event)
 Invoke all handlers with the specified event. More...
 
void invoke_handlers (EventId event)
 Invoke all handlers with the specified EventId. More...
 
const EGT_NODISCARD std::string & name () const
 Get the name of the Object. More...
 
void name (const std::string &name)
 Set the name of the Object. More...
 
RegisterHandle on_event (const EventCallback &handler, const FilterFlags &mask={})
 Add an event handler to be called when the widget generates an event. More...
 
Objectoperator= (const Object &)=delete
 
Objectoperator= (Object &&)=default
 
void remove_handler (RegisterHandle handle)
 Remove an event handler. More...
 

Protected Attributes

bool m_invoke_pending {false}
 When true, an invoke of events has been queued to occur. More...
 
bool m_live_update {false}
 When true, notify handlers even during drag. More...
 
Orientation m_orient {Orientation::horizontal}
 Orientation of the slider. More...
 
SliderFlags m_slider_flags {}
 Slider flags. More...
 
int m_start_offset {0}
 When dragging, the offset at the drag start. More...
 
- Protected Attributes inherited from ValueRangeWidget< T >
m_end
 The end value. More...
 
m_start
 The start value. More...
 
m_value
 The current value. More...
 
Signal on_value_changed
 Event signal. More...
 
- Protected Attributes inherited from Widget
Rect m_box
 Bounding box. More...
 
bool m_in_layout {false}
 Status for whether this widget is currently performing layout. More...
 
Size m_min_size
 Minimum size of the widget when not an empty value. More...
 
Framem_parent {nullptr}
 Pointer to this widget's parent. More...
 
Rect m_user_requested_box
 Keep track of the box requested by the user. More...
 
WidgetId m_widgetid {0}
 Unique ID of this widget. More...
 
Signal on_checked_changed
 Event signal. More...
 
Signal on_gain_focus
 Invoked when the widget gains focus. More...
 
Signal on_lost_focus
 Invoked when the widget loses focus. More...
 
Signal on_show
 Invoked when a widget is shown. More...
 
Signal on_hide
 Invoked when a widget is hidden. More...
 
- Protected Attributes inherited from Object
detail::CopyOnWriteAllocate< CallbackArraym_callbacks
 Array of callbacks. More...
 
RegisterHandle m_handle_counter {0}
 Counter used to generate unique handles for each callback registration. More...
 
std::string m_name
 A user defined name for the Object. More...
 

Additional Inherited Members

- Public Attributes inherited from ValueRangeWidget< T >
Signal on_value_changed
 Event signal. More...
 
- Public Attributes inherited from Widget
Signal on_checked_changed
 Event signal. More...
 
Signal on_gain_focus
 Invoked when the widget gains focus. More...
 
Signal on_lost_focus
 Invoked when the widget loses focus. More...
 
Signal on_show
 Invoked when a widget is shown. More...
 
Signal on_hide
 Invoked when a widget is hidden. More...
 
- Protected Types inherited from SliderBase
enum  SliderFlag {
  rectangle_handle = detail::bit(0), square_handle = detail::bit(1), round_handle = detail::bit(2), show_labels = detail::bit(3),
  show_label = detail::bit(4), origin_opposite = detail::bit(5), consistent_line = detail::bit(6)
}
 Slider flags. More...
 
using SliderFlags = Flags< SliderBase::SliderFlag >
 Slider flags. More...
 
- Protected Types inherited from Widget
enum  Flag : uint32_t {
  plane_window = detail::bit(0), window = detail::bit(1), frame = detail::bit(2), disabled = detail::bit(3),
  readonly = detail::bit(4), active = detail::bit(5), invisible = detail::bit(6), grab_mouse = detail::bit(7),
  no_clip = detail::bit(8), no_layout = detail::bit(9), no_autoresize = detail::bit(10), checked = detail::bit(11)
}
 Common flags used for various widget properties. More...
 
using Flags = egt::Flags< Widget::Flag >
 Widget flags. More...
 
using WalkCallback = std::function< bool(Widget *widget, int level)>
 Callback definition used by walk(). More...
 
using WidgetId = uint64_t
 Type used to identify a unique Widget ID. More...
 
- Protected Types inherited from Object
using CallbackArray = std::vector< CallbackMeta >
 Helper type for an array of callbacks. More...
 
using EventCallback = std::function< void(Event &event)>
 Event handler callback function. More...
 
using FilterFlags = FlagsBase< EventId >
 Event handler EventId filter. More...
 
using RegisterHandle = uint64_t
 Handle type. More...
 

Detailed Description

template<class T>
class egt::v1::SliderType< T >

This is a slider that can be used to select value from a range.

Typically Slider, SliderF are used as aliases.

Member Typedef Documentation

◆ SliderFlags

Slider flags.

Member Enumeration Documentation

◆ SliderFlag

enum SliderFlag
strong

Slider flags.

Constructor & Destructor Documentation

◆ SliderType() [1/4]

SliderType ( const Rect rect,
start = 0,
end = 100,
value = 0,
Orientation  orient = Orientation::horizontal 
)
explicitnoexcept
Parameters
[in]rectRectangle for the widget.
[in]startStarting value for the range.
[in]endEnding value in the range.
[in]valueCurrent value in the range.
[in]orientVertical or horizontal Orientation.

◆ SliderType() [2/4]

SliderType ( start = 0,
end = 100,
value = 0,
Orientation  orient = Orientation::horizontal 
)
inlineexplicitnoexcept
Parameters
[in]startStarting value for the range.
[in]endEnding value in the range.
[in]valueCurrent value in the range.
[in]orientVertical or horizontal Orientation.

◆ SliderType() [3/4]

SliderType ( Frame parent,
const Rect rect,
start = 0,
end = 100,
value = 0,
Orientation  orient = Orientation::horizontal 
)
inlinenoexcept
Parameters
[in]parentThe parent Frame.
[in]rectRectangle for the widget.
[in]startStarting value for the range.
[in]endEnding value in the range.
[in]valueCurrent value in the range.
[in]orientVertical or horizontal Orientation.

◆ SliderType() [4/4]

SliderType ( Frame parent,
start = 0,
end = 100,
value = 0,
Orientation  orient = Orientation::horizontal 
)
inlineexplicitnoexcept
Parameters
[in]parentThe parent Frame.
[in]startStarting value for the range.
[in]endEnding value in the range.
[in]valueCurrent value in the range.
[in]orientVertical or horizontal Orientation.

Member Function Documentation

◆ deserialize()

void deserialize ( const std::string &  name,
const std::string &  value,
const Serializer::Attributes attrs 
)
overridevirtual

Deserialize widget properties.

Reimplemented from Widget.

◆ draw()

void draw ( Painter painter,
const Rect rect 
)
overridevirtual

Draw the widget.

To change how a widget is drawn, this function can be overloaded and changed in a derived class, or it can be changed dynamically with the Theme.

To optimize drawing, a Widget may use the Rect parameter to limit what needs to be redrawn, which may be smaller than the widget's box(), but will never be outside the widget's box().

Painter will always be supplied in a default state to this function, so there is no need to do any cleanup or state saving inside this draw() function.

Warning
Normally this should not be called directly and instead the EventLoop will call this function with an already established Painter when the Widget needs to be drawn.
See also
Color, Palette, and Theme and Drawing
Parameters
[in]painterInstance of the Painter for the Screen.
[in]rectThe rectangle to draw.

Implements Widget.

◆ draw_handle()

void draw_handle ( Painter painter)
protected

Draw the handle.

◆ draw_label() [1/3]

EGT_API void draw_label ( Painter painter,
double  value 
)
protected

Draw the value label specialized for double.

◆ draw_label() [2/3]

EGT_API void draw_label ( Painter painter,
float  value 
)
protected

Draw the value label specialized for float.

◆ draw_label() [3/3]

void draw_label ( Painter painter,
value 
)
inlineprotected

Draw the value label.

◆ draw_line()

void draw_line ( Painter painter,
float  xp,
float  yp 
)
protected

Draw the line.

◆ handle()

void handle ( Event event)
inlineoverridevirtual

Handle an event.

This handles global events that usually do not originate at the widget. For example, a pointer event. All events are defined by egt::EventId.

The default implementation in the Widget class, will dispatch the event to any third party handlers that have been registered with on_event(). What this means is if you expect other handlers to receive the events then this must be called from derived classes. Or, manually call invoke_handlers().

Override this function in a derived class to handle events.

See also
Events
Parameters
eventThe Event that occurred.

Reimplemented from Widget.

◆ handle_box() [1/2]

EGT_NODISCARD Rect handle_box ( ) const
inlineprotected

Get the handle box for the current value.

◆ handle_box() [2/2]

Rect handle_box ( value) const
protected

Get the handle box for the specified value.

◆ handle_height()

int handle_height
protected

Get the calculated handle height.

◆ handle_width()

int handle_width
protected

Get the calculated handle width.

◆ live_update()

void live_update ( bool  enable)
inline

Enable or disable the live update feature.

When enabled, the on_value_changed event happens also during cursor dragging.

Parameters
[in]enableEnable or disable the live update mode.

◆ orient() [1/2]

EGT_NODISCARD Orientation orient ( ) const
inline

Get the Orientation.

◆ orient() [2/2]

void orient ( Orientation  orient)
inline

Set the Orientation.

Parameters
[in]orientVertical or horizontal Orientation.

◆ serialize()

void serialize ( Serializer serializer) const
overridevirtual

Serialize the widget to the specified serializer.

Reimplemented from Widget.

◆ slider_flags() [1/2]

SliderFlags& slider_flags ( )
inline

Get the current slider flags.

◆ slider_flags() [2/2]

const EGT_NODISCARD SliderFlags& slider_flags ( ) const
inline

Get the current slider flags.

◆ to_offset()

EGT_NODISCARD int to_offset ( int  value) const
inlineprotected

Convert a value to an offset.

◆ to_value()

EGT_NODISCARD T to_value ( int  offset) const
inlineprotected

Convert an offset to value.

◆ update_value()

void update_value ( value)
inlineprotected

Update the value without notifying the handlers.

◆ value()

T value ( value)
inlineoverridevirtual

Set value.

If the value is above end, the value will be set to end. If the value is below start, the value will be set to start.

If this results in changing the value, it will damage() the widget.

Parameters
[in]valueValue to set.
Returns
The old value.

Reimplemented from ValueRangeWidget< T >.

Member Data Documentation

◆ m_invoke_pending

bool m_invoke_pending {false}
protected

When true, an invoke of events has been queued to occur.

◆ m_live_update

bool m_live_update {false}
protected

When true, notify handlers even during drag.

◆ m_orient

Orientation m_orient {Orientation::horizontal}
protected

Orientation of the slider.

◆ m_slider_flags

SliderFlags m_slider_flags {}
protected

Slider flags.

◆ m_start_offset

int m_start_offset {0}
protected

When dragging, the offset at the drag start.