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

#include <FileDialog.h>

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

Classes

struct  Impl
 

Public Types

enum class  Mode { OPEN , SAVE }
 
- Public Types inherited from cloudViewer::visualization::gui::Widget
enum class  DrawResult { NONE , REDRAW , RELAYOUT }
 
enum class  EventResult { IGNORED , CONSUMED , DISCARD }
 

Public Member Functions

 FileDialog (Mode type, const char *title, const Theme &theme)
 
virtual ~FileDialog ()
 
void SetPath (const char *path)
 
void AddFilter (const char *filter, const char *description)
 
void SetOnCancel (std::function< void()> on_cancel)
 The OnCancel and OnDone callbacks must be specified. More...
 
void SetOnDone (std::function< void(const char *)> on_done)
 The OnCancel and OnDone callbacks must be specified. More...
 
Size CalcPreferredSize (const LayoutContext &context, const Constraints &constraints) const override
 
void OnWillShow () override
 
- Public Member Functions inherited from cloudViewer::visualization::gui::Dialog
 Dialog (const char *title)
 
virtual ~Dialog ()
 
void Layout (const LayoutContext &context) override
 
DrawResult Draw (const DrawContext &context) override
 
- 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 EventResult Mouse (const MouseEvent &e)
 
virtual EventResult Key (const KeyEvent &e)
 
virtual DrawResult Tick (const TickEvent &e)
 

Protected Member Functions

void OnDone ()
 
- Protected Member Functions inherited from cloudViewer::visualization::gui::Widget
void DrawImGuiPushEnabledState ()
 
void DrawImGuiPopEnabledState ()
 
void DrawImGuiTooltip ()
 

Additional Inherited Members

- Static Public Attributes inherited from cloudViewer::visualization::gui::Widget
static constexpr int DIM_GROW = 10000
 

Detailed Description

Definition at line 22 of file FileDialog.h.

Member Enumeration Documentation

◆ Mode

Enumerator
OPEN 
SAVE 

Definition at line 26 of file FileDialog.h.

Constructor & Destructor Documentation

◆ FileDialog()

cloudViewer::visualization::gui::FileDialog::FileDialog ( Mode  type,
const char *  title,
const Theme theme 
)

◆ ~FileDialog()

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

Definition at line 309 of file FileDialog.cpp.

Member Function Documentation

◆ AddFilter()

void cloudViewer::visualization::gui::FileDialog::AddFilter ( const char *  filter,
const char *  description 
)

'filter' is a string of extensions separated by a space or comma. An empty filter string matches all extensions. AddFilter(".jpg .png .gif", "Image file (.jpg, .png, .gif)") AddFilter(".jpg", "JPEG image (.jpg)") AddFilter("", "All files")

Definition at line 339 of file FileDialog.cpp.

References cloudViewer::utility::SplitString().

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

◆ CalcPreferredSize()

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

Reimplemented from cloudViewer::visualization::gui::Dialog.

Definition at line 397 of file FileDialog.cpp.

References context, max(), and width.

◆ OnDone()

void cloudViewer::visualization::gui::FileDialog::OnDone ( )
protected

◆ OnWillShow()

void cloudViewer::visualization::gui::FileDialog::OnWillShow ( )
overridevirtual

Reimplemented from cloudViewer::visualization::gui::Dialog.

Definition at line 366 of file FileDialog.cpp.

◆ SetOnCancel()

void cloudViewer::visualization::gui::FileDialog::SetOnCancel ( std::function< void()>  on_cancel)

The OnCancel and OnDone callbacks must be specified.

Definition at line 358 of file FileDialog.cpp.

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

◆ SetOnDone()

void cloudViewer::visualization::gui::FileDialog::SetOnDone ( std::function< void(const char *)>  on_done)

The OnCancel and OnDone callbacks must be specified.

Definition at line 362 of file FileDialog.cpp.

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

◆ SetPath()

void cloudViewer::visualization::gui::FileDialog::SetPath ( const char *  path)

May either be a directory or a file. If path is a file, it will be selected if it exists. Defaults to current working directory if no path is specified.

Definition at line 311 of file FileDialog.cpp.

References cloudViewer::utility::filesystem::DirectoryExists(), cloudViewer::utility::filesystem::GetPathComponents(), and cloudViewer::t::geometry::path.

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


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