• 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
  • scripting
script_mode.h
Go to the documentation of this file.
1 // Copyright (C) 2003 Dominique Devriese <devriese@kde.org>
2 
3 // This program is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU General Public License
5 // as published by the Free Software Foundation; either version 2
6 // of the License, or (at your option) any later version.
7 
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
12 
13 // You should have received a copy of the GNU General Public License
14 // along with this program; if not, write to the Free Software
15 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
16 // 02110-1301, USA.
17 
18 #ifndef KIG_SCRIPTING_SCRIPT_MODE_H
19 #define KIG_SCRIPTING_SCRIPT_MODE_H
20 
21 #include "script-common.h"
22 
23 #include "../modes/base_mode.h"
24 
25 #include <list>
26 
27 class NewScriptWizard;
28 
32 class ScriptModeBase
33  : public BaseMode
34 {
35 protected:
36  ScriptModeBase( KigPart& doc );
37 
38 // mp: argument list is implemented as a std::list instead of std::set
39 // because otherwise the user loses the correct argument ordering (in
40 // case of more than one argument
41  std::list<ObjectHolder*> margs;
42  NewScriptWizard* mwizard;
43 
44  KigPart& mpart;
45 
46  enum WAWD { SelectingArgs, EnteringCode };
47  WAWD mwawd;
48 
49 private:
50  ScriptType::Type mtype;
51 
52 public:
53  virtual ~ScriptModeBase();
54 
55  using BaseMode::midClicked;
56  using BaseMode::rightClicked;
57  using BaseMode::mouseMoved;
58 
59  void dragRect( const QPoint& p, KigWidget& w );
60  void leftClickedObject( ObjectHolder* o, const QPoint& p,
61  KigWidget& w, bool actrlOrShiftDown );
62  void mouseMoved( const std::vector<ObjectHolder*>& os, const QPoint& p,
63  KigWidget& w, bool shiftpressed );
64  void midClicked( const QPoint&, KigWidget& );
65  void rightClicked( const std::vector<ObjectHolder*>&, const QPoint&, KigWidget& );
66 
67  void argsPageEntered();
68  void codePageEntered();
69 
70  virtual bool queryFinish() = 0;
71  virtual bool queryCancel() = 0;
72 
73  void redrawScreen( KigWidget* w );
74 
75  void killMode();
76 
77  void enableActions();
78 
79  void setScriptType( ScriptType::Type type );
80 
81  void addArgs( const std::vector<ObjectHolder*>& obj, KigWidget& w );
82 
83  void goToCodePage();
84 
85 };
86 
90 class ScriptCreationMode
91  : public ScriptModeBase
92 {
93 public:
94  ScriptCreationMode( KigPart& doc );
95  virtual ~ScriptCreationMode();
96 
97  virtual bool queryFinish();
98  virtual bool queryCancel();
99 };
100 
104 class ScriptEditMode
105  : public ScriptModeBase
106 {
107 private:
108  ObjectTypeCalcer* mexecuted;
109  std::vector<ObjectCalcer*> mexecargs;
110  std::vector<ObjectCalcer*> mcompiledargs;
111 
112  QString morigscript;
113 
114 public:
115  ScriptEditMode( ObjectTypeCalcer* exec_calc, KigPart& doc );
116  virtual ~ScriptEditMode();
117 
118  virtual bool queryFinish();
119  virtual bool queryCancel();
120 };
121 
122 #endif
ScriptCreationMode::queryFinish
virtual bool queryFinish()
Definition: script_mode.cc:181
BaseMode::mouseMoved
void mouseMoved(QMouseEvent *e, KigWidget *v)
mouse moved without any buttons down...
Definition: base_mode.cc:128
ScriptCreationMode::queryCancel
virtual bool queryCancel()
Definition: script_mode.cc:142
ScriptModeBase
Base mode to interact with a script.
Definition: script_mode.h:32
ScriptEditMode::queryFinish
virtual bool queryFinish()
Definition: script_mode.cc:330
ScriptModeBase::queryCancel
virtual bool queryCancel()=0
ScriptModeBase::mwizard
NewScriptWizard * mwizard
Definition: script_mode.h:42
NewScriptWizard
Definition: newscriptwizard.h:35
ScriptModeBase::midClicked
void midClicked(const QPoint &, KigWidget &)
Definition: script_mode.cc:261
ScriptModeBase::~ScriptModeBase
virtual ~ScriptModeBase()
Definition: script_mode.cc:133
ScriptType::Type
Type
This enum represents all the script language types actually in Kig.
Definition: script-common.h:36
ScriptModeBase::redrawScreen
void redrawScreen(KigWidget *w)
Redraw the document on KigWidget w .
Definition: script_mode.cc:172
ScriptModeBase::dragRect
void dragRect(const QPoint &p, KigWidget &w)
Definition: script_mode.cc:45
BaseMode
The BaseMode is a particular mode that allows an easy mapping of the mouse actions to real...
Definition: base_mode.h:33
ObjectTypeCalcer
This is an ObjectCalcer that uses one of the various ObjectType's to calculate its ObjectImp...
Definition: object_calcer.h:183
ScriptModeBase::setScriptType
void setScriptType(ScriptType::Type type)
Definition: script_mode.cc:270
script-common.h
ScriptModeBase::rightClicked
void rightClicked(const std::vector< ObjectHolder * > &, const QPoint &, KigWidget &)
Definition: script_mode.cc:265
ScriptModeBase::queryFinish
virtual bool queryFinish()=0
ObjectHolder
An ObjectHolder represents an object as it is known to the document.
Definition: object_holder.h:40
ScriptModeBase::mpart
KigPart & mpart
Definition: script_mode.h:44
ScriptModeBase::ScriptModeBase
ScriptModeBase(KigPart &doc)
Definition: script_mode.cc:124
ScriptEditMode::ScriptEditMode
ScriptEditMode(ObjectTypeCalcer *exec_calc, KigPart &doc)
Definition: script_mode.cc:302
KigWidget
This class is the real widget showing the document.
Definition: kig_view.h:50
ScriptModeBase::mouseMoved
void mouseMoved(const std::vector< ObjectHolder * > &os, const QPoint &p, KigWidget &w, bool shiftpressed)
Definition: script_mode.cc:91
ScriptModeBase::mwawd
WAWD mwawd
Definition: script_mode.h:47
ScriptCreationMode::ScriptCreationMode
ScriptCreationMode(KigPart &doc)
Definition: script_mode.cc:292
ScriptCreationMode::~ScriptCreationMode
virtual ~ScriptCreationMode()
Definition: script_mode.cc:298
ScriptModeBase::codePageEntered
void codePageEntered()
Definition: script_mode.cc:160
ScriptModeBase::margs
std::list< ObjectHolder * > margs
Definition: script_mode.h:41
BaseMode::midClicked
void midClicked(QMouseEvent *e, KigWidget *v)
Definition: base_mode.cc:97
ScriptModeBase::goToCodePage
void goToCodePage()
Definition: script_mode.cc:287
ScriptModeBase::argsPageEntered
void argsPageEntered()
Definition: script_mode.cc:148
ScriptModeBase::SelectingArgs
Definition: script_mode.h:46
ScriptModeBase::killMode
void killMode()
Definition: script_mode.cc:137
ScriptModeBase::leftClickedObject
void leftClickedObject(ObjectHolder *o, const QPoint &p, KigWidget &w, bool actrlOrShiftDown)
Definition: script_mode.cc:68
ScriptModeBase::enableActions
void enableActions()
actions: we enable the actions we want when our mode is made active.
Definition: script_mode.cc:154
ScriptModeBase::addArgs
void addArgs(const std::vector< ObjectHolder * > &obj, KigWidget &w)
Definition: script_mode.cc:276
ScriptEditMode
Script mode to edit an already-built script.
Definition: script_mode.h:104
ScriptModeBase::EnteringCode
Definition: script_mode.h:46
KigPart
This is a "Part".
Definition: kig_part.h:68
BaseMode::rightClicked
void rightClicked(QMouseEvent *, KigWidget *)
Definition: base_mode.cc:114
ScriptEditMode::queryCancel
virtual bool queryCancel()
Definition: script_mode.cc:373
ScriptModeBase::WAWD
WAWD
Definition: script_mode.h:46
ScriptEditMode::~ScriptEditMode
virtual ~ScriptEditMode()
Definition: script_mode.cc:326
ScriptCreationMode
Script mode to create a script.
Definition: script_mode.h:90
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:35:40 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