ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
Dialog.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
11 
12 namespace cloudViewer {
13 namespace visualization {
14 namespace gui {
15 
16 class Window;
17 
19 class Dialog : public Widget {
20  using Super = Widget;
21 
22 public:
23  explicit Dialog(const char* title);
24  virtual ~Dialog();
25 
27  const Constraints& constraints) const override;
28  void Layout(const LayoutContext& context) override;
29  DrawResult Draw(const DrawContext& context) override;
30 
31  virtual void OnWillShow();
32 
33 private:
34  struct Impl;
35  std::unique_ptr<Impl> impl_;
36 };
37 
38 } // namespace gui
39 } // namespace visualization
40 } // namespace cloudViewer
Base class for dialogs.
Definition: Dialog.h:19
DrawResult Draw(const DrawContext &context) override
Definition: Dialog.cpp:49
void Layout(const LayoutContext &context) override
Definition: Dialog.cpp:37
Size CalcPreferredSize(const LayoutContext &context, const Constraints &constraints) const override
Definition: Dialog.cpp:27
ImGuiContext * context
Definition: Window.cpp:76
Generic file read and write utility for python interface.