BALL  1.5.0
editMode.h
Go to the documentation of this file.
1 #ifndef BALL_VIEW_KERNEL_MODES_EDITMODE_H
2 #define BALL_VIEW_KERNEL_MODES_EDITMODE_H
3 
5 
6 #include <QtGui/QMouseEvent>
7 
8 #include <vector>
9 
10 namespace BALL
11 {
12  class Composite;
13  class FragmentDB;
14  class PDBAtom;
15 
16  namespace VIEW
17  {
18 
19  class EditMode : public InteractionMode
20  {
21  Q_OBJECT
22 
23  public:
24  EditMode(Scene* scene);
25  virtual ~EditMode();
26 
27  virtual void keyPressEvent(QKeyEvent* evt);
28  virtual void keyReleaseEvent(QKeyEvent* evt);
29 
30  virtual void mouseDoubleClickEvent(QMouseEvent* evt);
31 
32  virtual void wheelEvent(QWheelEvent* evt);
33 
34  virtual void addToolBarEntries(QToolBar* tb);
35 
36  virtual Qt::Key getKey() const;
37  virtual QString getName() const { return "EditMode"; }
38 
39  virtual void activate();
40  virtual void populateContextMenu(QMenu* menu);
41 
42  protected Q_SLOTS:
43  virtual void addStructure_();
44  virtual void setFormalCharge_();
45  virtual void changeBondOrder_();
46  virtual void activatedOrderItem_(QAction* action);
49  virtual void atomPropertiesTriggered_();
51  virtual void createBond_();
52 
53  protected:
54  bool temp_move_;
57  Qt::MouseButtons last_buttons_;
59  QAction* element_action_;
60  QAction* bond_action_;
61  QAction* delete_atom_;
62  QAction* change_charge_;
63  QAction* atom_properties_;
64  QMenu* charge_menu_;
65  QMenu* order_menu_;
66  QMenu* add_menu_;
67  std::vector<QAction*> order_actions_;
68 
69  virtual void mouseMoveEventImpl_ (QMouseEvent* evt);
70  virtual void mousePressEventImpl_ (QMouseEvent* evt);
71  virtual void mouseReleaseEventImpl_(QMouseEvent* evt);
72 
73  void insert_(int x, int y, PDBAtom &atom);
74  void merge_(Composite* a1, Composite* a2);
75  virtual void createActions_();
76 
77  private:
78  void checkBondOrderActions_(unsigned int bo);
79  void createContextMenuEntries_();
80  };
81 
82  }
83 }
84 
85 #endif //BALL_VIEW_KERNEL_MODES_EDITMODE_H
BALL::VIEW::EditMode::deleteCurrentBondTriggered_
virtual void deleteCurrentBondTriggered_()
BALL::VIEW::EditMode::add_menu_
QMenu * add_menu_
Definition: editMode.h:66
BALL::VIEW::InteractionMode
Definition: interactionMode.h:25
BALL::VIEW::EditMode::EditMode
EditMode(Scene *scene)
BALL::VIEW::EditMode::bond_order_
int bond_order_
Definition: editMode.h:56
BALL::VIEW::EditMode::deleteCurrentAtomTriggered_
virtual void deleteCurrentAtomTriggered_()
BALL::VIEW::EditMode::bond_action_
QAction * bond_action_
Definition: editMode.h:60
BALL::VIEW::EditMode::activatedOrderItem_
virtual void activatedOrderItem_(QAction *action)
BALL::VIEW::EditMode::populateContextMenu
virtual void populateContextMenu(QMenu *menu)
BALL::VIEW::EditMode::order_menu_
QMenu * order_menu_
Definition: editMode.h:65
BALL::VIEW::EditMode::getKey
virtual Qt::Key getKey() const
BALL::VIEW::EditMode::keyPressEvent
virtual void keyPressEvent(QKeyEvent *evt)
BALL::VIEW::EditMode::atom_number_
int atom_number_
Definition: editMode.h:55
BALL::VIEW::EditMode::fragment_db_
FragmentDB * fragment_db_
Definition: editMode.h:58
BALL::VIEW::EditMode::element_action_
QAction * element_action_
Definition: editMode.h:59
BALL::VIEW::EditMode::addStructure_
virtual void addStructure_()
BALL::VIEW::EditMode::mouseDoubleClickEvent
virtual void mouseDoubleClickEvent(QMouseEvent *evt)
BALL::PDBAtom
Definition: PDBAtom.h:40
BALL::VIEW::EditMode::change_charge_
QAction * change_charge_
Definition: editMode.h:62
BALL::VIEW::EditMode::last_buttons_
Qt::MouseButtons last_buttons_
Definition: editMode.h:57
BALL::VIEW::EditMode::atom_properties_
QAction * atom_properties_
Definition: editMode.h:63
BALL::VIEW::EditMode::atomPropertiesTriggered_
virtual void atomPropertiesTriggered_()
BALL::VIEW::Scene
Definition: scene.h:141
BALL::VIEW::EditMode::changeBondOrder_
virtual void changeBondOrder_()
BALL
Definition: constants.h:13
BALL::VIEW::EditMode::wheelEvent
virtual void wheelEvent(QWheelEvent *evt)
BALL::VIEW::EditMode::merge_
void merge_(Composite *a1, Composite *a2)
BALL::VIEW::EditMode::setFormalCharge_
virtual void setFormalCharge_()
BALL::VIEW::EditMode::getName
virtual QString getName() const
Definition: editMode.h:37
BALL::VIEW::EditMode::createActions_
virtual void createActions_()
interactionMode.h
BALL::VIEW::EditMode::mouseMoveEventImpl_
virtual void mouseMoveEventImpl_(QMouseEvent *evt)
BALL::Composite
Definition: composite.h:74
BALL::VIEW::EditMode::keyReleaseEvent
virtual void keyReleaseEvent(QKeyEvent *evt)
BALL::FragmentDB
Definition: fragmentDB.h:45
BALL::VIEW::EditMode
Definition: editMode.h:20
BALL::VIEW::EditMode::mouseReleaseEventImpl_
virtual void mouseReleaseEventImpl_(QMouseEvent *evt)
BALL::VIEW::EditMode::mousePressEventImpl_
virtual void mousePressEventImpl_(QMouseEvent *evt)
BALL::VIEW::EditMode::addToolBarEntries
virtual void addToolBarEntries(QToolBar *tb)
BALL::VIEW::EditMode::insert_
void insert_(int x, int y, PDBAtom &atom)
BALL::VIEW::EditMode::changeAtomElementTriggered_
virtual void changeAtomElementTriggered_()
QMouseEvent
BALL::VIEW::EditMode::activate
virtual void activate()
BALL::VIEW::EditMode::temp_move_
bool temp_move_
Definition: editMode.h:54
BALL::VIEW::EditMode::createBond_
virtual void createBond_()
BALL::VIEW::EditMode::~EditMode
virtual ~EditMode()
BALL::VIEW::EditMode::delete_atom_
QAction * delete_atom_
Definition: editMode.h:61
BALL::VIEW::EditMode::charge_menu_
QMenu * charge_menu_
Definition: editMode.h:64
BALL::VIEW::EditMode::order_actions_
std::vector< QAction * > order_actions_
Definition: editMode.h:67