• 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
  • Actions
AlignAction.h
Go to the documentation of this file.
1 /*
2  This file is part of Rocs.
3  Copyright 2008 Tomaz Canabrava <tomaz.canabrava@gmail.com>
4  Copyright 2008 Ugo Sangiori <ugorox@gmail.com>
5  Copyright 2011-2012 Andreas Cord-Landwehr <cola@uni-paderborn.de>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 #ifndef ALIGNACTION_H
22 #define ALIGNACTION_H
23 
24 #include "VisualEditorExport.h"
25 #include <KAction>
26 #include "Data.h"
27 #include "Scene/GraphScene.h"
28 
29 class VISUALEDITOR_EXPORT AlignAction : public KAction
30 {
31  Q_OBJECT
32 public:
34  enum Orientation {Left, Right, Top, Bottom, HCenter, VCenter, Circle, MinCutTree};
35 
44  AlignAction(const QString& tooltip, AlignAction::Orientation o, GraphScene *gc);
45 
49  void registerData(DataList dataList);
50 
52  void unsetData();
53 
54 public slots:
59  void align();
60 
61 private:
62  void setupOrientation(Orientation o);
63 
67  void alignY(DataList dataList);
68 
72  void alignX(DataList dataList);
73 
78  void alignCircle(DataList dataList);
79 
84  void alignMinCutTree(DataList dataList);
85 
90  static bool leftLessThan(DataPtr n1, DataPtr n2) {
91  return n1->x() < n2->x();
92  }
93 
98  static bool rightLessThan(DataPtr n1, DataPtr n2) {
99  return n1->x() > n2->x();
100  }
101 
106  static bool topLessThan(DataPtr n1, DataPtr n2) {
107  return n1->y() < n2->y();
108  }
109 
114  static bool bottomLessThan(DataPtr n1, DataPtr n2) {
115  return n1->y() > n2->y();
116  }
117 
118 
119  Orientation _orientation; // the configured orientation
120  DataList _registeredData; // possibly registered
121  GraphScene *_graphScene; // graph scene that contains selected nodes
122 };
123 
124 #endif
VISUALEDITOR_EXPORT
#define VISUALEDITOR_EXPORT
Definition: VisualEditorExport.h:31
VisualEditorExport.h
AlignAction::VCenter
Definition: AlignAction.h:34
GraphScene.h
GraphScene
Definition: GraphScene.h:38
AlignAction
Definition: AlignAction.h:29
QString
AlignAction::Orientation
Orientation
Definition: AlignAction.h:34
KAction
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