ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::visualization::gui::Slider Class Reference

#include <Slider.h>

Inheritance diagram for cloudViewer::visualization::gui::Slider:
Collaboration diagram for cloudViewer::visualization::gui::Slider:

Classes

struct  Impl
 

Public Types

enum  Type { INT , DOUBLE }
 
- Public Types inherited from cloudViewer::visualization::gui::Widget
enum class  DrawResult { NONE , REDRAW , RELAYOUT }
 
enum class  EventResult { IGNORED , CONSUMED , DISCARD }
 

Public Member Functions

 Slider (Type type)
 
 ~Slider ()
 
int GetIntValue () const
 Returns the value of the control as an integer. More...
 
double GetDoubleValue () const
 Returns the value of the control as a double. More...
 
void SetValue (double val)
 
double GetMinimumValue () const
 
double GetMaximumValue () const
 
void SetLimits (double min_value, double max_value)
 
Size CalcPreferredSize (const LayoutContext &theme, const Constraints &constraints) const override
 
DrawResult Draw (const DrawContext &context) override
 
void SetOnValueChanged (std::function< void(double)> on_value_changed)
 Sets a function to call when the value changes because of user action. More...
 
- Public Member Functions inherited from cloudViewer::visualization::gui::Widget
 Widget ()
 
 Widget (const std::vector< std::shared_ptr< Widget >> &children)
 
virtual ~Widget ()
 
virtual void AddChild (std::shared_ptr< Widget > child)
 
virtual const std::vector< std::shared_ptr< Widget > > GetChildren () const
 
virtual const RectGetFrame () const
 Returns the frame size in pixels. More...
 
virtual void SetFrame (const Rect &f)
 
virtual const ColorGetBackgroundColor () const
 
virtual bool IsDefaultBackgroundColor () const
 
virtual void SetBackgroundColor (const Color &color)
 
virtual bool IsVisible () const
 
virtual void SetVisible (bool vis)
 
virtual bool IsEnabled () const
 
virtual void SetEnabled (bool enabled)
 
virtual void SetTooltip (const char *text)
 
virtual const char * GetTooltip () const
 
virtual Size CalcMinimumSize (const LayoutContext &context) const
 
virtual void Layout (const LayoutContext &context)
 
virtual EventResult Mouse (const MouseEvent &e)
 
virtual EventResult Key (const KeyEvent &e)
 
virtual DrawResult Tick (const TickEvent &e)
 

Additional Inherited Members

- Static Public Attributes inherited from cloudViewer::visualization::gui::Widget
static constexpr int DIM_GROW = 10000
 
- Protected Member Functions inherited from cloudViewer::visualization::gui::Widget
void DrawImGuiPushEnabledState ()
 
void DrawImGuiPopEnabledState ()
 
void DrawImGuiTooltip ()
 

Detailed Description

Definition at line 18 of file Slider.h.

Member Enumeration Documentation

◆ Type

Enumerator
INT 
DOUBLE 

Definition at line 20 of file Slider.h.

Constructor & Destructor Documentation

◆ Slider()

cloudViewer::visualization::gui::Slider::Slider ( Type  type)
explicit

The only difference between INT and DOUBLE is that INT increments by 1.0 and coerces value to whole numbers.

Definition at line 37 of file Slider.cpp.

References patch::to_string(), and type.

◆ ~Slider()

cloudViewer::visualization::gui::Slider::~Slider ( )

Definition at line 42 of file Slider.cpp.

Member Function Documentation

◆ CalcPreferredSize()

Size cloudViewer::visualization::gui::Slider::CalcPreferredSize ( const LayoutContext theme,
const Constraints constraints 
) const
overridevirtual

◆ Draw()

Widget::DrawResult cloudViewer::visualization::gui::Slider::Draw ( const DrawContext context)
overridevirtual

Draws the widget. If this is a Dear ImGUI widget, this is where the actual event processing happens. Return NONE if no action needs to be taken, REDRAW if the widget needs to be redrawn (e.g. its value changed), and RELAYOUT if the widget wishes to change size.

Reimplemented from cloudViewer::visualization::gui::Widget.

Definition at line 82 of file Slider.cpp.

References cloudViewer::visualization::gui::Widget::DrawImGuiPopEnabledState(), cloudViewer::visualization::gui::Widget::DrawImGuiPushEnabledState(), cloudViewer::visualization::gui::Widget::DrawImGuiTooltip(), frame, cloudViewer::visualization::gui::Widget::GetFrame(), INT, cloudViewer::visualization::gui::Widget::NONE, cloudViewer::visualization::gui::Widget::REDRAW, and width.

◆ GetDoubleValue()

double cloudViewer::visualization::gui::Slider::GetDoubleValue ( ) const

Returns the value of the control as a double.

Definition at line 46 of file Slider.cpp.

Referenced by cloudViewer::visualization::gui::pybind_gui_classes().

◆ GetIntValue()

int cloudViewer::visualization::gui::Slider::GetIntValue ( ) const

Returns the value of the control as an integer.

Definition at line 44 of file Slider.cpp.

Referenced by cloudViewer::visualization::gui::pybind_gui_classes().

◆ GetMaximumValue()

double cloudViewer::visualization::gui::Slider::GetMaximumValue ( ) const

Definition at line 58 of file Slider.cpp.

Referenced by cloudViewer::visualization::gui::pybind_gui_classes().

◆ GetMinimumValue()

double cloudViewer::visualization::gui::Slider::GetMinimumValue ( ) const

Definition at line 56 of file Slider.cpp.

Referenced by cloudViewer::visualization::gui::pybind_gui_classes().

◆ SetLimits()

void cloudViewer::visualization::gui::Slider::SetLimits ( double  min_value,
double  max_value 
)

Sets the bounds for valid values of the widget. Values will be clamped to be within [minValue, maxValue].

Definition at line 60 of file Slider.cpp.

References INT, and SetValue().

Referenced by cloudViewer::visualization::gui::pybind_gui_classes().

◆ SetOnValueChanged()

void cloudViewer::visualization::gui::Slider::SetOnValueChanged ( std::function< void(double)>  on_value_changed)

Sets a function to call when the value changes because of user action.

Definition at line 70 of file Slider.cpp.

Referenced by cloudViewer::visualization::gui::pybind_gui_classes().

◆ SetValue()

void cloudViewer::visualization::gui::Slider::SetValue ( double  val)

Sets the value of the control. Will not call onValueChanged, but the value will be clamped to [min, max].

Definition at line 48 of file Slider.cpp.

References INT, max(), and min().

Referenced by cloudViewer::visualization::gui::pybind_gui_classes(), and SetLimits().


The documentation for this class was generated from the following files: