BALL  1.5.0
geometricControl.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_VIEW_WIDGETS_GEOMETRICCONTROL_H
6 #define BALL_VIEW_WIDGETS_GEOMETRICCONTROL_H
7 
8 #ifndef BALL_COMMON_H
9 # include <BALL/common.h>
10 #endif
11 
12 #ifndef BALL_VIEW_WIDGETS_GENERICCONTROL_H
14 #endif
15 
16 #ifndef BALL_VIEW_KERNEL_COMMON_H
17 # include <BALL/VIEW/KERNEL/common.h>
18 #endif
19 
20 #include <QtCore/QPoint>
21 #include <QtWidgets/QMenu>
22 
23 namespace BALL
24 {
25  namespace VIEW
26  {
27  class Representation;
28  class ModifyRepresentationDialog;
29  class ClippingPlane;
30  class TransformationMessage;
31 
42  : public GenericControl
43  {
44  Q_OBJECT
45 
46  public:
47 
49 
50 
53 
54 
69  GeometricControl(QWidget* parent = 0, const char* name = 0);
70 
72  virtual ~GeometricControl();
73 
77  virtual void clear(){};
78 
80  virtual void initializeWidget(MainControl& main_control);
81 
83 
84 
87  virtual void addRepresentation(Representation& rep);
88 
92 
95  virtual void updateRepresentation(Representation& rep, bool force=false);
96 
102  std::list<Representation*> getHighlightedRepresentations() const;
103 
107  virtual void onNotify(Message *message);
108 
115  virtual void buildContextMenu();
116 
118  virtual void checkMenu(MainControl& main_control);
119 
122 
124 
125  public Q_SLOTS:
126 
128 
131 
133  virtual void renameRepresentation();
134 
136  virtual void selectAtoms();
137 
139  virtual void selectedRepresentation(Representation& representation, bool state);
140 
142  virtual void updateSelection();
143 
145  virtual void focus();
146 
148  virtual void enterMoveMode();
149 
151  virtual void flipClippingCapping();
152 
154  virtual void flipClippingPlane();
155 
157  virtual void setClippingPosition();
158 
160  virtual void setClippingPlaneX();
161 
163  virtual void setClippingPlaneY();
164 
166  virtual void setClippingPlaneZ();
167 
170 
173 
176 
178  void duplicate();
179 
181  void saveSurface();
182 
184  void loadSurface();
185 
188 
189  protected Q_SLOTS:
190 
192 
194 
196  virtual void modifyRepresentation_();
197 
201 
203  virtual void deleteCurrentItems();
204 
206  virtual void setupProximityLight();
207 
209 
210  protected Q_SLOTS:
211 
212  virtual void onItemClicked(QTreeWidgetItem* item, int col);
213  void showGuestContextMenu(const QPoint& pos);
214 
215  protected:
216 
217  void addItem_(const String& text, const char* member, QWidget* widget = 0);
218 
219  // only for Python Interface
221 
222  enum ColumnID
223  {
224  COLUMN_ID__TYPE = 0,
225  COLUMN_ID__Properties
226  };
227 
228  void setClippingPlane_(const Vector3& n);
229 
230  // the context menu
233 
236 
241 
243 
246 
247  QAction* menu_clipping_plane_, *menu_load_surface_, *modify_surface_;
248  vector<QAction*> context_menu_actions_;
249  };
250 
251 } } // namespaces
252 
253 #endif // BALL_VIEW_WIDGETS_GEOMETRICCONTROL_H
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition: embeddable.h:31
Definition: constants.h:13
HashMap class based on the STL map (containing serveral convenience functions)
Definition: hashMap.h:74
virtual void initializeWidget(MainControl &main_control)
virtual void onNotify(Message *message)
HashMap< Representation *, QTreeWidgetItem * > representation_to_item_
virtual void setClippingPlaneX()
virtual void setClippingPosition()
virtual void addRepresentation(Representation &rep)
virtual void setClippingPlaneY()
HashMap< QTreeWidgetItem *, ClippingPlane * > item_to_plane_
virtual void buildContextMenu()
virtual void renameRepresentation()
virtual void setupProximityLight()
virtual void updateSelection()
void moveItems(const TransformationMessage &msg)
Representation * context_representation_
virtual void checkMenu(MainControl &main_control)
Overloaded from ModularWidget.
virtual void setClippingPlaneZ()
virtual void removeRepresentation(Representation &rep)
virtual void generateListViewItem_(Representation &rep)
HashMap< QTreeWidgetItem *, Representation * > item_to_representation_
void showGuestContextMenu(const QPoint &pos)
virtual void selectClipRepresentations()
virtual void flipClippingPlane()
virtual void flipClippingCapping()
virtual void onItemClicked(QTreeWidgetItem *item, int col)
void addItem_(const String &text, const char *member, QWidget *widget=0)
ModifyRepresentationDialog * getModifySurfaceDialog()
virtual void selectedRepresentation(Representation &representation, bool state)
HashMap< ClippingPlane *, QTreeWidgetItem * > plane_to_item_
vector< QAction * > context_menu_actions_
virtual void deleteCurrentItems()
Overloaded from GenericControl.
GeometricControl(const GeometricControl &control)
std::list< Representation * > getHighlightedRepresentations() const
ModifyRepresentationDialog * modify_rep_dialog_
virtual void modifyRepresentation_()
void setClippingPlane_(const Vector3 &n)
virtual void updateRepresentation(Representation &rep, bool force=false)
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52