Choreonoid  1.5
View.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BASE_VIEW_H
6 #define CNOID_BASE_VIEW_H
7 
8 #include <cnoid/Signal>
9 #include <QWidget>
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
14 class ExtensionManager;
15 class Archive;
16 class MenuManager;
17 class ViewArea;
18 class ViewAreaImpl;
19 class ViewManagerImpl;
20 class ViewImpl;
21 
23 {
24 public:
25  virtual const std::string& className() const = 0;
26 };
27 
28 class CNOID_EXPORT View : public QWidget
29 {
30 public:
31  View();
32  virtual ~View();
33 
34  ViewClass* viewClass() const;
35 
36  void setName(const std::string& name);
37  std::string name() const { return objectName().toStdString(); }
38 
39  ViewArea* viewArea() const;
40 
41  bool isActive() const;
42 
43  void bringToFront();
44 
45  SignalProxy<void()> sigActivated();
46  SignalProxy<void()> sigDeactivated();
47  SignalProxy<void()> sigResized();
48  SignalProxy<void()> sigRemoved();
49 
50  enum LayoutArea { LEFT = 0,
51  LEFT_TOP = 0,
52  LEFT_BOTTOM = 1,
53  CENTER = 2,
54  RIGHT = 3,
55  BOTTOM = 4,
56  NUM_AREAS };
57 
58  void setDefaultLayoutArea(LayoutArea area);
59  LayoutArea defaultLayoutArea() const;
60 
61  void setLayout(QLayout* layout);
62 
63  QPoint viewAreaPos() const;
64 
65  virtual QWidget* indicatorOnInfoBar();
66 
67  void enableFontSizeZoomKeys(bool on);
68 
69  static View* lastFocusView();
70  static SignalProxy<void(View*)> sigFocusChanged();
71 
72  virtual bool storeState(Archive& archive);
73  virtual bool restoreState(const Archive& archive);
74 
75 protected:
76 
77  void zoomFontSize(int zoom);
78 
79  virtual void onActivated();
80  virtual void onDeactivated();
81  virtual void onAttachedMenuRequest(MenuManager& menuManager);
82  virtual void keyPressEvent(QKeyEvent* event);
83  virtual void resizeEvent(QResizeEvent* event);
84 
85 private:
86  // Qt events (make hidden)
87  virtual void showEvent(QShowEvent* event);
88  virtual void hideEvent(QHideEvent* event);
89 
90  ViewImpl* impl;
91 
92  void setViewArea(ViewArea* area);
93  void notifySigRemoved();
94 
95  friend class ViewAreaImpl;
96  friend class ViewManagerImpl;
97 };
98 
99 }
100 
101 #endif
Definition: View.h:22
Definition: Archive.h:21
LayoutArea
Definition: View.h:50
std::string name() const
Definition: View.h:37
Definition: ViewArea.h:17
Definition: MenuManager.h:23
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: View.h:28
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: Signal.h:380