• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

rocs/VisualEditor

  • sources
  • kde-4.14
  • kdeedu
  • rocs
  • VisualEditor
GraphVisualEditor.h
Go to the documentation of this file.
1 /*
2  This file is part of Rocs.
3  Copyright 2008-2011 Tomaz Canabrava <tomaz.canabrava@gmail.com>
4  Copyright 2011-2012 Andreas Cord-Landwehr <cola@uni-paderborn.de>
5 
6  This program is free software; you can redistribute it and/or
7  modify it under the terms of the GNU General Public License as
8  published by the Free Software Foundation; either version 2 of
9  the License, or (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef SUI_GRAPHVISUALEDITOR_H
21 #define SUI_GRAPHVISUALEDITOR_H
22 
23 #include "VisualEditorExport.h"
24 #include <CoreTypes.h>
25 #include <QWidget>
26 #include <QSlider>
27 #include <QString>
28 #include <kaction.h>
29 #include <boost/scoped_ptr.hpp>
30 
31 class GraphVisualEditorPrivate;
32 class EditorToolbar;
33 class KActionCollection;
34 class Document;
35 class DataStructure;
36 class DataItem;
37 class Graph;
38 class Data;
39 class GraphScene;
40 class QToolButton;
41 class MainWindow;
42 class QGraphicsView;
43 class KComboBox;
44 class KPushButton;
45 
50 class VISUALEDITOR_EXPORT GraphVisualEditor : public QWidget
51 {
52  Q_OBJECT
53 
54 public:
55  static GraphVisualEditor* self();
56 
60  void resizeEvent(QResizeEvent *event);
61 
68  void setupActions(KActionCollection* collection);
69 
70 public Q_SLOTS:
76  void updateActiveDataStructure(DataStructurePtr g);
77 
80  void releaseDocument();
81 
82  void setActiveDocument();
83  void addDataStructure();
84  void removeDataStructure();
85  QList<DataItem*> selectedNodes() const;
86  void updateZoomSlider(qreal zoomFactor);
87  void zoomTo(int sliderValue);
88 
92  void updateGraphDocumentList();
93  void updateDataStructureList();
94 
95 private:
101  GraphVisualEditor(QWidget* parent);
102 
106  virtual ~GraphVisualEditor();
107 
113  QWidget* sceneToolbar();
114 
115  void setupWidgets();
116 
117  static GraphVisualEditor* _self;
118  const boost::scoped_ptr<GraphVisualEditorPrivate> d;
119 };
120 
121 #endif
VISUALEDITOR_EXPORT
#define VISUALEDITOR_EXPORT
Definition: VisualEditorExport.h:31
QResizeEvent
QWidget
EditorToolbar
This class provides hand actions to be performed at the graphics scene.
Definition: EditorToolbar.h:38
VisualEditorExport.h
GraphScene
Definition: GraphScene.h:38
GraphVisualEditor
Singelton class that provides a whiteboard for interactions with data structures. ...
Definition: GraphVisualEditor.h:50
QList
QToolButton
Graph
boost::adjacency_list< boost::listS, boost::vecS, boost::undirectedS, boost::property< boost::vertex_name_t, std::string > > Graph
Definition: GenerateGraphWidget.cpp:53
DataItem
Definition: DataItem.h:38
QWidget::resizeEvent
virtual void resizeEvent(QResizeEvent *event)
QGraphicsView
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:16:27 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

rocs/VisualEditor

Skip menu "rocs/VisualEditor"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal