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

#include <ListView.h>

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

Classes

struct  Impl
 

Public Member Functions

 ListView ()
 
virtual ~ListView ()
 
void SetItems (const std::vector< std::string > &items)
 
int GetSelectedIndex () const
 Returns the currently selected item in the list. More...
 
const char * GetSelectedValue () const
 Returns the value of the currently selected item in the list. More...
 
void SetSelectedIndex (int index)
 Selects the indicated row of the list. Does not call onValueChanged. More...
 
void SetMaxVisibleItems (int num)
 
Size CalcPreferredSize (const LayoutContext &context, const Constraints &constraints) const override
 
Size CalcMinimumSize (const LayoutContext &context) const override
 
DrawResult Draw (const DrawContext &context) override
 
void SetOnValueChanged (std::function< void(const char *, bool)> on_value_changed)
 
- 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 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

- Public Types inherited from cloudViewer::visualization::gui::Widget
enum class  DrawResult { NONE , REDRAW , RELAYOUT }
 
enum class  EventResult { IGNORED , CONSUMED , DISCARD }
 
- 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 19 of file ListView.h.

Constructor & Destructor Documentation

◆ ListView()

cloudViewer::visualization::gui::ListView::ListView ( )

Definition at line 36 of file ListView.cpp.

References patch::to_string().

◆ ~ListView()

cloudViewer::visualization::gui::ListView::~ListView ( )
virtual

Definition at line 40 of file ListView.cpp.

Member Function Documentation

◆ CalcMinimumSize()

Size cloudViewer::visualization::gui::ListView::CalcMinimumSize ( const LayoutContext context) const
overridevirtual

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

Definition at line 101 of file ListView.cpp.

References context.

◆ CalcPreferredSize()

Size cloudViewer::visualization::gui::ListView::CalcPreferredSize ( const LayoutContext context,
const Constraints constraints 
) const
overridevirtual

◆ Draw()

Widget::DrawResult cloudViewer::visualization::gui::ListView::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 105 of file ListView.cpp.

References cloudViewer::visualization::gui::colorToImgui(), context, cloudViewer::visualization::gui::Widget::DrawImGuiPopEnabledState(), cloudViewer::visualization::gui::Widget::DrawImGuiPushEnabledState(), cloudViewer::utility::floor(), frame, cloudViewer::visualization::gui::Widget::GetFrame(), GetSelectedValue(), cloudViewer::visualization::gui::Widget::NONE, cloudViewer::visualization::gui::Widget::REDRAW, and result.

◆ GetSelectedIndex()

int cloudViewer::visualization::gui::ListView::GetSelectedIndex ( ) const

Returns the currently selected item in the list.

Definition at line 47 of file ListView.cpp.

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

◆ GetSelectedValue()

const char * cloudViewer::visualization::gui::ListView::GetSelectedValue ( ) const

Returns the value of the currently selected item in the list.

Definition at line 49 of file ListView.cpp.

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

◆ SetItems()

void cloudViewer::visualization::gui::ListView::SetItems ( const std::vector< std::string > &  items)

Definition at line 42 of file ListView.cpp.

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

◆ SetMaxVisibleItems()

void cloudViewer::visualization::gui::ListView::SetMaxVisibleItems ( int  num)

Limit the max visible items shown to user. Set to negative number will make list extends vertically as much as possible, otherwise the list will at least show 3 items and at most show num items.

Definition at line 62 of file ListView.cpp.

References max().

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

◆ SetOnValueChanged()

void cloudViewer::visualization::gui::ListView::SetOnValueChanged ( std::function< void(const char *, bool)>  on_value_changed)

Calls onValueChanged(const char *selectedText, bool isDoubleClick) when the list selection changes because of user action.

Definition at line 71 of file ListView.cpp.

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

◆ SetSelectedIndex()

void cloudViewer::visualization::gui::ListView::SetSelectedIndex ( int  index)

Selects the indicated row of the list. Does not call onValueChanged.

Definition at line 58 of file ListView.cpp.

References min().

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


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