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

kig

  • sources
  • kde-4.12
  • kdeedu
  • kig
  • kig
kig_part.h
Go to the documentation of this file.
1 
22 #ifndef KIGPART_H
23 #define KIGPART_H
24 
25 #include <qlist.h>
26 
27 #include <kparts/part.h>
28 #include <kselectaction.h>
29 
30 #include <vector>
31 
32 class KAboutData;
33 class KToggleAction;
34 class KUndoStack;
35 class QUndoStack;
36 class QWidget;
37 class QPrinter;
38 
39 class GUIAction;
40 class KigGUIAction;
41 class KigDocument;
42 class KigMode;
43 class KigPart;
44 class KigView;
45 class KigWidget;
46 class ObjectHolder;
47 class ConstructibleAction;
48 
49 class SetCoordinateSystemAction
50  : public KSelectAction
51 {
52  Q_OBJECT
53  KigPart& md;
54 public:
55  SetCoordinateSystemAction( KigPart& d, KActionCollection* parent );
56 private slots:
57  void slotActivated( int index );
58 };
59 
68 class KigPart : public KParts::ReadWritePart
69 {
70  Q_OBJECT
71 public:
75  explicit KigPart( QWidget* parentWidget, QObject* parent = 0,
76  const QVariantList& = QVariantList() );
77 
81  virtual ~KigPart();
82 
83 /*********************** KPart interface *************************/
84 
85 protected:
89  virtual bool openFile();
90 
94  virtual bool saveFile();
95 
101  virtual bool queryClose();
102 
103 public:
104  void emitStatusBarText( const QString& text );
105  void redrawScreen();
106  void redrawScreen( KigWidget* w );
107 
108 public slots:
109  void fileSaveAs();
110  void fileSave();
111 
112  void filePrint();
113  void filePrintPreview();
114 
115  void slotSelectAll();
116  void slotDeselectAll();
117  void slotInvertSelection();
118 
119  void unplugActionLists();
120  void plugActionLists();
121 
122  void deleteObjects();
123  void cancelConstruction();
124  void repeatLastConstruction();
125  void showHidden();
126  void newMacro();
127  void editTypes();
128  void browseHistory();
129 
130  void toggleGrid();
131  void toggleAxes();
132  void toggleNightVision();
133 
134  void setHistoryClean( bool );
135 
136  void setCoordinatePrecision();
137 
138  /****************** cooperation with stuff ******************/
139 public:
140  void addWidget( KigWidget* );
141  void delWidget( KigWidget* );
142 
143  KigMode* mode() const { return mMode; }
144  void setMode( KigMode* );
145  void runMode( KigMode* );
146  void doneMode( KigMode* );
147 
148  void rememberConstruction( ConstructibleAction* );
149  void coordSystemChanged( int );
150 
151 signals: // these signals are for telling KigView it should do something...
156  void recenterScreen();
157 
158 /************** working with our internal document **********/
159 public:
160  // guess what these do...
161  // actually, they only add a command object to the history, the real
162  // work is done in _addObject() and _delObject()
163  void addObject(ObjectHolder* inObject);
164  void addObjects( const std::vector<ObjectHolder*>& os );
165  void delObject(ObjectHolder* inObject);
166  void delObjects( const std::vector<ObjectHolder*>& os );
167  void hideObjects( const std::vector<ObjectHolder*>& os );
168  void showObjects( const std::vector<ObjectHolder*>& os );
169 
170  void _addObject( ObjectHolder* inObject );
171  void _addObjects( const std::vector<ObjectHolder*>& o);
172  void _delObject( ObjectHolder* inObject );
173  void _delObjects( const std::vector<ObjectHolder*>& o );
174 
181  void startObjectGroup();
182 
188  void cancelObjectGroup();
189 
195  void finishObjectGroup();
196 
197 /************* internal stuff *************/
198 protected:
199  bool internalSaveAs();
200 
201 protected:
202  void setupActions();
203  void setupTypes();
204  void setupBuiltinMacros();
205  void setupMacroTypes();
206 
207 protected:
208  KigMode* mMode;
209  KSelectAction* aCoordSystem;
210  ConstructibleAction* mRememberConstruction;
211 
215  KUndoStack* mhistory;
216 
217 public:
218  // actions: this is an annoying case, didn't really fit into my
219  // model with KigModes.. This is how it works now:
220  // the actions are owned by the Part, because we need them on
221  // constructing the GUI ( actions appearing when you switch modes
222  // would not be nice, imho ). On setting the KigPart mode, we
223  // connect the actions to the current mode, and disconnect them from
224  // the previous mode. Enabling/disabling is done at the same time,
225  // of course..
226  // some MenuActions..
227  QList<QAction*> aMNewSegment;
228  QList<QAction*> aMNewPoint;
229  QList<QAction*> aMNewCircle;
230  QList<QAction*> aMNewLine;
231  QList<QAction*> aMNewOther;
232  QList<QAction*> aMNewAll;
233  QList<QAction*> aMNewConic;
234 
235 
236  KAction* aCancelConstruction;
237  KAction* aRepeatLastConstruction;
238  KAction* aSelectAll;
239  KAction* aDeselectAll;
240  KAction* aInvertSelection;
241  KAction* aDeleteObjects;
242  KAction* aNewMacro;
243  KAction* aShowHidden;
244  KAction* aConfigureTypes;
245  KAction* aBrowseHistory;
246  KAction* aSetCoordinatePrecision;
247  KToggleAction* aToggleGrid;
248  KToggleAction* aToggleAxes;
249  KToggleAction* aToggleNightVision;
250  std::vector<KigGUIAction*> aActions;
251 
263  typedef std::vector<KigGUIAction*> GUIUpdateToken;
264  GUIUpdateToken startGUIActionUpdate();
265  void actionAdded( GUIAction* a, GUIUpdateToken& t );
266  void actionRemoved( GUIAction* a, GUIUpdateToken& t );
267  void endGUIActionUpdate( GUIUpdateToken& t );
268 
269  QUndoStack* history();
270 
271  void enableConstructActions( bool enabled );
272 
273 protected:
274  void doPrint( QPrinter& printer, bool printGrid, bool printAxes );
275 
276  std::vector<KigWidget*> mwidgets;
277 
278  KigView* m_widget;
279 
280  KigDocument* mdocument;
281 
287  bool misGroupingObjects;
288 
294  std::vector<ObjectHolder*> mcurrentObjectGroup;
295 
296 public:
297  const KigDocument& document() const;
298  KigDocument& document();
299 
300 /***************** types handling *******************/
301  void saveTypes();
302  void loadTypes();
303  void deleteTypes();
304 
305 };
306 
307 #endif // KIGPART_H
KigPart::newMacro
void newMacro()
Definition: kig_part.cpp:601
KigPart::internalSaveAs
bool internalSaveAs()
Definition: kig_part.cpp:710
KigPart::setupMacroTypes
void setupMacroTypes()
Definition: kig_part.cpp:800
KigPart::mode
KigMode * mode() const
Definition: kig_part.h:143
KigPart::m_widget
KigView * m_widget
Definition: kig_part.h:278
KigPart::delWidget
void delWidget(KigWidget *)
Definition: kig_part.cpp:864
KigPart::aNewMacro
KAction * aNewMacro
Definition: kig_part.h:242
KigPart::saveFile
virtual bool saveFile()
save our internal document to m_file
Definition: kig_part.cpp:454
KigPart::queryClose
virtual bool queryClose()
KigPart cannot be safely destroyed if it's in a nested event loop (construct mode).
Definition: kig_part.cpp:479
KigPart::openFile
virtual bool openFile()
load our internal document from m_file
Definition: kig_part.cpp:390
KigPart::fileSaveAs
void fileSaveAs()
Definition: kig_part.cpp:700
KigPart::aMNewSegment
QList< QAction * > aMNewSegment
Definition: kig_part.h:227
KigPart::slotInvertSelection
void slotInvertSelection()
Definition: kig_part.cpp:932
KigPart::aBrowseHistory
KAction * aBrowseHistory
Definition: kig_part.h:245
KigPart::document
const KigDocument & document() const
Definition: kig_part.cpp:989
QWidget
SetCoordinateSystemAction
Definition: kig_part.h:49
KigPart::filePrint
void filePrint()
Definition: kig_part.cpp:877
KigPart::aShowHidden
KAction * aShowHidden
Definition: kig_part.h:243
KigPart::repeatLastConstruction
void repeatLastConstruction()
Definition: kig_part.cpp:587
KigPart::enableConstructActions
void enableConstructActions(bool enabled)
Definition: kig_part.cpp:666
KigPart::aMNewLine
QList< QAction * > aMNewLine
Definition: kig_part.h:230
KigPart::history
QUndoStack * history()
Definition: kig_part.cpp:633
KigPart::aRepeatLastConstruction
KAction * aRepeatLastConstruction
Definition: kig_part.h:237
KigPart::aDeleteObjects
KAction * aDeleteObjects
Definition: kig_part.h:241
KigPart::setHistoryClean
void setHistoryClean(bool)
Definition: kig_part.cpp:616
KigPart::emitStatusBarText
void emitStatusBarText(const QString &text)
Definition: kig_part.cpp:695
KigPart::GUIUpdateToken
std::vector< KigGUIAction * > GUIUpdateToken
the "token" keeps some objects that should be deleted, we only delete them after we replug the action...
Definition: kig_part.h:263
KigPart::hideObjects
void hideObjects(const std::vector< ObjectHolder * > &os)
Definition: kig_part.cpp:937
KigPart::toggleGrid
void toggleGrid()
Definition: kig_part.cpp:1054
KigPart::browseHistory
void browseHistory()
Definition: kig_part.cpp:611
KigPart::finishObjectGroup
void finishObjectGroup()
Draws the current group of objects and add them as a whole to the Undo history.
Definition: kig_part.cpp:574
KigPart::toggleAxes
void toggleAxes()
Definition: kig_part.cpp:1063
KigPart::loadTypes
void loadTypes()
Definition: kig_part.cpp:1101
KigPart::deleteTypes
void deleteTypes()
Definition: kig_part.cpp:1116
KigPart::mwidgets
std::vector< KigWidget * > mwidgets
Definition: kig_part.h:276
KigMode
this is an ABC of a class containing the current "Mode" of the Kig document...
Definition: mode.h:37
KigPart::~KigPart
virtual ~KigPart()
Destructor.
Definition: kig_part.cpp:370
KigPart::mhistory
KUndoStack * mhistory
the command history
Definition: kig_part.h:215
KigPart::aSetCoordinatePrecision
KAction * aSetCoordinatePrecision
Definition: kig_part.h:246
KigGUIAction
Definition: guiaction.h:34
KSelectAction
KigPart::unplugActionLists
void unplugActionLists()
Definition: kig_part.cpp:673
KigPart::aConfigureTypes
KAction * aConfigureTypes
Definition: kig_part.h:244
KigView
This class is a wrapper for KigWidget.
Definition: kig_view.h:229
KigPart::slotDeselectAll
void slotDeselectAll()
Definition: kig_part.cpp:927
KigPart::actionAdded
void actionAdded(GUIAction *a, GUIUpdateToken &t)
Definition: kig_part.cpp:780
KigPart::misGroupingObjects
bool misGroupingObjects
Indicates whether objects added to the documents are being grouped or not.
Definition: kig_part.h:287
KigPart::redrawScreen
void redrawScreen()
Definition: kig_part.cpp:980
KigPart::startGUIActionUpdate
GUIUpdateToken startGUIActionUpdate()
Definition: kig_part.cpp:795
KigPart::setCoordinatePrecision
void setCoordinatePrecision()
Definition: kig_part.cpp:621
ObjectHolder
An ObjectHolder represents an object as it is known to the document.
Definition: object_holder.h:40
KigPart::addWidget
void addWidget(KigWidget *)
Definition: kig_part.cpp:859
KigPart::showObjects
void showObjects(const std::vector< ObjectHolder * > &os)
Definition: kig_part.cpp:956
KigPart::aInvertSelection
KAction * aInvertSelection
Definition: kig_part.h:240
KigPart::mdocument
KigDocument * mdocument
Definition: kig_part.h:280
SetCoordinateSystemAction::SetCoordinateSystemAction
SetCoordinateSystemAction(KigPart &d, KActionCollection *parent)
KigPart::runMode
void runMode(KigMode *)
Definition: kig_part.cpp:735
KigPart::setupActions
void setupActions()
Definition: kig_part.cpp:212
KigPart::recenterScreen
void recenterScreen()
emitted when we want to suggest a new size for the view ( basically after loading a file...
KigWidget
This class is the real widget showing the document.
Definition: kig_view.h:50
KigPart::startObjectGroup
void startObjectGroup()
Call this method to start an object group which will be deleted as a whole if the construction is can...
Definition: kig_part.cpp:558
KigPart::doneMode
void doneMode(KigMode *)
Definition: kig_part.cpp:749
KigPart::slotSelectAll
void slotSelectAll()
Definition: kig_part.cpp:922
KigPart::setupTypes
void setupTypes()
Definition: kig_part.cpp:341
KigPart::saveTypes
void saveTypes()
Definition: kig_part.cpp:1086
KigPart::aActions
std::vector< KigGUIAction * > aActions
Definition: kig_part.h:250
KigPart::aCoordSystem
KSelectAction * aCoordSystem
Definition: kig_part.h:209
KigPart::aToggleGrid
KToggleAction * aToggleGrid
Definition: kig_part.h:247
KigPart::_addObject
void _addObject(ObjectHolder *inObject)
Definition: kig_part.cpp:514
KigPart::addObject
void addObject(ObjectHolder *inObject)
Definition: kig_part.cpp:492
KigPart::_delObject
void _delObject(ObjectHolder *inObject)
Definition: kig_part.cpp:534
ConstructibleAction
Definition: guiaction.h:68
KigPart::fileSave
void fileSave()
Definition: kig_part.cpp:705
KigPart::coordSystemChanged
void coordSystemChanged(int)
Definition: kig_part.cpp:1081
KigPart::aMNewCircle
QList< QAction * > aMNewCircle
Definition: kig_part.h:229
KigPart::_addObjects
void _addObjects(const std::vector< ObjectHolder * > &o)
Definition: kig_part.cpp:547
KigPart::setMode
void setMode(KigMode *)
Definition: kig_part.cpp:540
KigPart::toggleNightVision
void toggleNightVision()
Definition: kig_part.cpp:1072
KigPart::editTypes
void editTypes()
Definition: kig_part.cpp:606
KigPart::KigPart
KigPart(QWidget *parentWidget, QObject *parent=0, const QVariantList &=QVariantList())
Default constructor.
Definition: kig_part.cpp:173
KigPart::rememberConstruction
void rememberConstruction(ConstructibleAction *)
Definition: kig_part.cpp:356
KAction
KigDocument
KigDocument is the class holding the real data in a Kig document.
Definition: kig_document.h:36
KigPart::mRememberConstruction
ConstructibleAction * mRememberConstruction
Definition: kig_part.h:210
KigPart::actionRemoved
void actionRemoved(GUIAction *a, GUIUpdateToken &t)
Definition: kig_part.cpp:757
KigPart::endGUIActionUpdate
void endGUIActionUpdate(GUIUpdateToken &t)
Definition: kig_part.cpp:787
KigPart::aToggleNightVision
KToggleAction * aToggleNightVision
Definition: kig_part.h:249
KigPart
This is a "Part".
Definition: kig_part.h:68
KigPart::aMNewPoint
QList< QAction * > aMNewPoint
Definition: kig_part.h:228
KigPart::addObjects
void addObjects(const std::vector< ObjectHolder * > &os)
Definition: kig_part.cpp:503
GUIAction
Definition: guiaction.h:51
KigPart::aDeselectAll
KAction * aDeselectAll
Definition: kig_part.h:239
KigPart::cancelConstruction
void cancelConstruction()
Definition: kig_part.cpp:582
KigPart::aCancelConstruction
KAction * aCancelConstruction
Definition: kig_part.h:236
KigPart::delObject
void delObject(ObjectHolder *inObject)
Definition: kig_part.cpp:520
KigPart::deleteObjects
void deleteObjects()
Definition: kig_part.cpp:553
KigPart::aToggleAxes
KToggleAction * aToggleAxes
Definition: kig_part.h:248
KigPart::mMode
KigMode * mMode
Definition: kig_part.h:208
KigPart::cancelObjectGroup
void cancelObjectGroup()
Deletes the current group of objects from the document without adding them to the Undo history...
Definition: kig_part.cpp:567
KigPart::aMNewConic
QList< QAction * > aMNewConic
Definition: kig_part.h:233
KigPart::delObjects
void delObjects(const std::vector< ObjectHolder * > &os)
Definition: kig_part.cpp:638
KigPart::filePrintPreview
void filePrintPreview()
Definition: kig_part.cpp:869
KigPart::aSelectAll
KAction * aSelectAll
Definition: kig_part.h:238
KigPart::setupBuiltinMacros
void setupBuiltinMacros()
Definition: kig_part.cpp:827
KigPart::plugActionLists
void plugActionLists()
Definition: kig_part.cpp:684
KigPart::showHidden
void showHidden()
Definition: kig_part.cpp:596
KigPart::aMNewOther
QList< QAction * > aMNewOther
Definition: kig_part.h:231
KigPart::_delObjects
void _delObjects(const std::vector< ObjectHolder * > &o)
Definition: kig_part.cpp:528
KigPart::aMNewAll
QList< QAction * > aMNewAll
Definition: kig_part.h:232
KigPart::mcurrentObjectGroup
std::vector< ObjectHolder * > mcurrentObjectGroup
Stores the current group of object being drawn if an object group has been started.
Definition: kig_part.h:294
KigPart::doPrint
void doPrint(QPrinter &printer, bool printGrid, bool printAxes)
Definition: kig_part.cpp:895
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:35:39 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kig

Skip menu "kig"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • 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