• 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
  • modes
label.h
Go to the documentation of this file.
1 // Copyright (C) 2002 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_MODE_LABEL_H
19 #define KIG_MODE_LABEL_H
20 
21 #include "mode.h"
22 
23 #include "../objects/object_calcer.h"
24 
25 #include <qpoint.h>
26 
27 #include <vector>
28 
29 class TextLabelWizard;
30 class Coordinate;
31 class QString;
32 class ObjectTypeCalcer;
33 class ObjectCalcer;
34 
41 class TextLabelModeBase
42  : public KigMode
43 {
44  class Private;
45  Private* d;
46 
47 public:
48  // below is the interface towards TextLabelWizard...
49  void cancelPressed();
50  void finishPressed();
51  void enterTextPageEntered();
52  void selectArgumentsPageEntered();
53  void linkClicked( int );
54  void redrawScreen( KigWidget* w );
55  bool percentCountChanged( uint percentcount );
56  bool canFinish();
57 
58 protected:
59  typedef std::vector<ObjectCalcer::shared_ptr> argvect;
60  // the protected interface for subclasses
61  TextLabelModeBase( KigPart& d );
62  ~TextLabelModeBase();
63 
64  void setCoordinate( const Coordinate& coord );
65  void setText( const QString& s );
66  void setLocationParent( ObjectCalcer* o );
71  void setPropertyObjects( const argvect& props );
72  void setFrame( bool f );
73 
74  virtual void finish( const Coordinate& c, const QString& s,
75  const argvect& props, bool needframe,
76  ObjectCalcer* locationparent ) = 0;
77  void leftReleased( QMouseEvent*, KigWidget*, ObjectTypeCalcer* prevlabel = 0 );
78 
79 private:
80  // the KigMode interface..
81  void leftClicked( QMouseEvent*, KigWidget* );
82  void leftReleased( QMouseEvent*, KigWidget* );
83 
84  void mouseMoved( QMouseEvent*, KigWidget* );
85 
86  void enableActions();
87 
88  void cancelConstruction();
89 
90  void killMode();
91 
92 private:
101  typedef enum { SelectingLocation, RequestingText, SelectingArgs, ReallySelectingArgs } wawdtype;
102 
103  void updateLinksLabel();
104 };
105 
106 class TextLabelConstructionMode
107  : public TextLabelModeBase
108 {
109 public:
110  TextLabelConstructionMode( KigPart& d );
111  ~TextLabelConstructionMode();
112 
113  void finish( const Coordinate& coord, const QString& s,
114  const argvect& props, bool needframe,
115  ObjectCalcer* locationparent );
116 };
117 
118 class TextLabelRedefineMode
119  : public TextLabelModeBase
120 {
121  ObjectTypeCalcer* mlabel;
122  void finish( const Coordinate& coord, const QString& s,
123  const argvect& props, bool needframe,
124  ObjectCalcer* locationparent );
125 public:
126  TextLabelRedefineMode( KigPart& d, ObjectTypeCalcer* label );
127  ~TextLabelRedefineMode();
128  void leftReleased( QMouseEvent*, KigWidget* );
129 };
130 
134 class NumericLabelMode
135  : public KigMode
136 {
137 public:
138  NumericLabelMode( KigPart& d );
139  ~NumericLabelMode();
140 
141  void redrawScreen( KigWidget* w );
142 
143  void leftClicked( QMouseEvent*, KigWidget* );
144  void leftReleased( QMouseEvent*, KigWidget* );
145  void mouseMoved( QMouseEvent*, KigWidget* );
146 
147  void enableActions();
148 
149  void cancelConstruction();
150 
151  void killMode();
152 
153 private:
154  QPoint mplc;
155 };
156 
157 
158 #endif
TextLabelWizard
Definition: textlabelwizard.h:28
TextLabelModeBase::redrawScreen
void redrawScreen(KigWidget *w)
Redraw the document on KigWidget w .
Definition: label.cc:438
NumericLabelMode::killMode
void killMode()
Definition: label.cc:660
TextLabelModeBase::setText
void setText(const QString &s)
Definition: label.cc:454
TextLabelModeBase::enterTextPageEntered
void enterTextPageEntered()
Definition: label.cc:285
TextLabelModeBase::canFinish
bool canFinish()
Definition: label.cc:314
NumericLabelMode::enableActions
void enableActions()
actions: we enable the actions we want when our mode is made active.
Definition: label.cc:670
TextLabelConstructionMode
Definition: label.h:106
TextLabelConstructionMode::finish
void finish(const Coordinate &coord, const QString &s, const argvect &props, bool needframe, ObjectCalcer *locationparent)
Definition: label.cc:475
TextLabelModeBase::cancelPressed
void cancelPressed()
Definition: label.cc:294
TextLabelModeBase::linkClicked
void linkClicked(int)
Definition: label.cc:425
NumericLabelMode::leftClicked
void leftClicked(QMouseEvent *, KigWidget *)
Definition: label.cc:634
ObjectTypeCalcer
This is an ObjectCalcer that uses one of the various ObjectType's to calculate its ObjectImp...
Definition: object_calcer.h:183
NumericLabelMode::leftReleased
void leftReleased(QMouseEvent *, KigWidget *)
Definition: label.cc:639
TextLabelRedefineMode::TextLabelRedefineMode
TextLabelRedefineMode(KigPart &d, ObjectTypeCalcer *label)
Definition: label.cc:493
TextLabelRedefineMode::leftReleased
void leftReleased(QMouseEvent *, KigWidget *)
Definition: label.cc:530
KigMode
this is an ABC of a class containing the current "Mode" of the Kig document...
Definition: mode.h:37
NumericLabelMode::mouseMoved
void mouseMoved(QMouseEvent *, KigWidget *)
mouse moved without any buttons down...
Definition: label.cc:679
NumericLabelMode::NumericLabelMode
NumericLabelMode(KigPart &d)
Definition: label.cc:625
Coordinate
The Coordinate class is the basic class representing a 2D location by its x and y components...
Definition: coordinate.h:33
TextLabelModeBase::leftReleased
void leftReleased(QMouseEvent *, KigWidget *, ObjectTypeCalcer *prevlabel=0)
Definition: label.cc:128
TextLabelRedefineMode::~TextLabelRedefineMode
~TextLabelRedefineMode()
Definition: label.cc:526
TextLabelModeBase::setCoordinate
void setCoordinate(const Coordinate &coord)
Definition: label.cc:444
TextLabelModeBase::TextLabelModeBase
TextLabelModeBase(KigPart &d)
Definition: label.cc:93
TextLabelModeBase::argvect
std::vector< ObjectCalcer::shared_ptr > argvect
Definition: label.h:59
TextLabelModeBase::selectArgumentsPageEntered
void selectArgumentsPageEntered()
Definition: label.cc:289
ObjectCalcer
An ObjectCalcer is an object that represents an algorithm for calculating an ObjectImp from other Obj...
Definition: object_calcer.h:66
NumericLabelMode
How to construct a numeric label in a clean way.
Definition: label.h:134
NumericLabelMode::cancelConstruction
void cancelConstruction()
Definition: label.cc:665
KigWidget
This class is the real widget showing the document.
Definition: kig_view.h:50
TextLabelRedefineMode
Definition: label.h:118
TextLabelModeBase::setLocationParent
void setLocationParent(ObjectCalcer *o)
Definition: label.cc:620
TextLabelModeBase::finishPressed
void finishPressed()
Definition: label.cc:336
TextLabelConstructionMode::~TextLabelConstructionMode
~TextLabelConstructionMode()
Definition: label.cc:471
TextLabelModeBase::setFrame
void setFrame(bool f)
Definition: label.cc:615
TextLabelModeBase::finish
virtual void finish(const Coordinate &c, const QString &s, const argvect &props, bool needframe, ObjectCalcer *locationparent)=0
TextLabelModeBase::~TextLabelModeBase
~TextLabelModeBase()
Definition: label.cc:87
TextLabelModeBase::setPropertyObjects
void setPropertyObjects(const argvect &props)
objects you pass here, should be newly created property objects, that have no children.
Definition: label.cc:459
KigPart
This is a "Part".
Definition: kig_part.h:68
mode.h
NumericLabelMode::~NumericLabelMode
~NumericLabelMode()
Definition: label.cc:630
TextLabelModeBase
this is the base class for TextLabelConstructionMode and TextLabelRedefineMode.
Definition: label.h:41
TextLabelModeBase::percentCountChanged
bool percentCountChanged(uint percentcount)
Definition: label.cc:345
NumericLabelMode::redrawScreen
void redrawScreen(KigWidget *w)
Redraw the document on KigWidget w .
Definition: label.cc:684
uint
unsigned int uint
Definition: object_imp.h:87
TextLabelConstructionMode::TextLabelConstructionMode
TextLabelConstructionMode(KigPart &d)
Definition: label.cc:466
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