![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <Button.h>


Classes | |
| struct | Impl |
Public Member Functions | |
| Button (const char *title) | |
| Button (std::shared_ptr< UIImage > image) | |
| ~Button () | |
| const char * | GetText () const |
| void | SetText (const char *text) |
| Sets the text of the button. Do not call if this is an image button. More... | |
| float | GetHorizontalPaddingEm () const |
| Returns the padding, in units of ems. More... | |
| float | GetVerticalPaddingEm () const |
| void | SetPaddingEm (float horiz_ems, float vert_ems) |
| bool | GetIsToggleable () const |
| void | SetToggleable (bool toggles) |
| bool | GetIsOn () const |
| void | SetOn (bool is_on) |
| Size | CalcPreferredSize (const LayoutContext &context, const Constraints &constraints) const override |
| DrawResult | Draw (const DrawContext &context) override |
| void | SetOnClicked (std::function< void()> on_clicked) |
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 Rect & | GetFrame () const |
| Returns the frame size in pixels. More... | |
| virtual void | SetFrame (const Rect &f) |
| virtual const Color & | GetBackgroundColor () 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 | |
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 () |
|
explicit |
Definition at line 37 of file Button.cpp.
References patch::to_string().
|
explicit |
Definition at line 42 of file Button.cpp.
References image.
| cloudViewer::visualization::gui::Button::~Button | ( | ) |
Definition at line 46 of file Button.cpp.
|
overridevirtual |
Reimplemented from cloudViewer::visualization::gui::Widget.
Reimplemented in cloudViewer::visualization::SmallButton.
Definition at line 81 of file Button.cpp.
References cloudViewer::utility::ceil(), context, size, and cloudViewer::visualization::gui::Widget::Constraints::width.
|
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 115 of file Button.cpp.
References cloudViewer::visualization::gui::colorToImgui(), context, cloudViewer::visualization::gui::Widget::DrawImGuiPopEnabledState(), cloudViewer::visualization::gui::Widget::DrawImGuiPushEnabledState(), cloudViewer::visualization::gui::Widget::DrawImGuiTooltip(), frame, cloudViewer::visualization::gui::Widget::GetFrame(), height, cloudViewer::visualization::gui::Widget::NONE, params, cloudViewer::visualization::gui::Widget::REDRAW, result, and width.
| float cloudViewer::visualization::gui::Button::GetHorizontalPaddingEm | ( | ) | const |
Returns the padding, in units of ems.
Definition at line 52 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| bool cloudViewer::visualization::gui::Button::GetIsOn | ( | ) | const |
Definition at line 69 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| bool cloudViewer::visualization::gui::Button::GetIsToggleable | ( | ) | const |
Definition at line 65 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| const char * cloudViewer::visualization::gui::Button::GetText | ( | ) | const |
Returns the text of the button. If the button is an image, will return "".
Definition at line 48 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| float cloudViewer::visualization::gui::Button::GetVerticalPaddingEm | ( | ) | const |
Definition at line 56 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| void cloudViewer::visualization::gui::Button::SetOn | ( | bool | is_on | ) |
Definition at line 71 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| void cloudViewer::visualization::gui::Button::SetOnClicked | ( | std::function< void()> | on_clicked | ) |
Definition at line 77 of file Button.cpp.
Referenced by cloudViewer::visualization::visualizer::O3DVisualizer::AddAction(), and cloudViewer::visualization::gui::pybind_gui_classes().
| void cloudViewer::visualization::gui::Button::SetPaddingEm | ( | float | horiz_ems, |
| float | vert_ems | ||
| ) |
Sets the padding, in units of ems. Note that for text buttons, a padding of (0, 0) will not actually give a padding of 0, there will be a small padding because having zero padding looks horrible and because this way a vertical padding of zero is exactly the same size as a text row, which means the button is the same size as the the other text-based widgets, so it will look nice with them.
Definition at line 60 of file Button.cpp.
| void cloudViewer::visualization::gui::Button::SetText | ( | const char * | text | ) |
Sets the text of the button. Do not call if this is an image button.
Definition at line 50 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes().
| void cloudViewer::visualization::gui::Button::SetToggleable | ( | bool | toggles | ) |
Definition at line 67 of file Button.cpp.
Referenced by cloudViewer::visualization::gui::pybind_gui_classes(), and cloudViewer::visualization::SmallToggleButton::SmallToggleButton().