• 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
  • filters
cabri-utils.h
Go to the documentation of this file.
1 // This file is part of Kig, a KDE program for Interactive Geometry...
2 // Copyright (C) 2002 Dominique Devriese <devriese@kde.org>
3 // Copyright (C) 2006 Pino Toscano <toscano.pino@tiscali.it>
4 
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
9 
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18 // 02110-1301, USA.
19 
20 #ifndef KIG_FILTERS_CABRI_UTILS_H
21 #define KIG_FILTERS_CABRI_UTILS_H
22 
23 #undef CABRI_DEBUG
24 
25 #include <qbytearray.h>
26 #include <qcolor.h>
27 
28 #include "../misc/rect.h"
29 
30 #include <map>
31 #include <vector>
32 
33 class QFile;
34 class KigFilterCabri;
35 
36 namespace CabriNS
37 {
41  enum CabriVersion
42  {
43  CV_1_0,
44  CV_1_2
45  };
46 
47  enum CabriGonio
48  {
49  CG_Deg,
50  CG_Rad
51  // TODO
52  };
53 
57  QString readLine( QFile& file );
58 
59  QString readText( QFile& f, const QString& s, const QString& sep = QString( "\n" ) );
60 }
61 
68 class CabriObject
69 {
70 public:
71  CabriObject();
72 
73  uint id;
74  QByteArray type;
75  int specification;
76  QColor color;
77  QColor fillColor;
78  int thick;
79  int lineSegLength;
80  int lineSegSplit;
81 // int specialAppearanceSwitch;
82  bool visible;
83  int intersectionId;
84  int ticks;
85  int side;
86 // bool fixed;
87  std::vector<int> parents;
88  std::vector<double> data;
89  QString name;
90  QString text;
91  Rect textRect;
92  std::vector<int> incs;
93  CabriNS::CabriGonio gonio;
94 };
95 
96 class CabriObject_v10
97  : public CabriObject
98 {
99 public:
100  CabriObject_v10();
101 
102  int specialAppearanceSwitch;
103  bool fixed;
104 };
105 
106 class CabriObject_v12
107  : public CabriObject
108 {
109 public:
110  CabriObject_v12();
111 
112  int pointStyle;
113 };
114 
115 
120 class CabriReader
121 {
122 protected:
123  const KigFilterCabri* m_filter;
124 
125  CabriReader( const KigFilterCabri* filter );
126 
127  static void initColorMap();
128 
129 public:
130  virtual ~CabriReader();
131 
135  static QColor translateColor( const QString& s );
136 
137  virtual bool readWindowMetrics( QFile& f ) = 0;
138  virtual CabriObject* readObject( QFile& f ) = 0;
139  virtual void decodeStyle( CabriObject* obj, Qt::PenStyle& ps, int& pointType ) = 0;
140 };
141 
142 class CabriReader_v10
143  : public CabriReader
144 {
145 public:
146  CabriReader_v10( const KigFilterCabri* filter );
147  virtual ~CabriReader_v10();
148 
149  virtual bool readWindowMetrics( QFile& f );
150  virtual CabriObject* readObject( QFile& f );
151  virtual void decodeStyle( CabriObject* obj, Qt::PenStyle& ps, int& pointType );
152 };
153 
154 class CabriReader_v12
155  : public CabriReader
156 {
157 private:
158  static void initColorMap();
159  bool readStyles( const QString& file, const QString& s, CabriObject_v12* myobj );
160 
161 public:
162  CabriReader_v12( const KigFilterCabri* filter );
163  virtual ~CabriReader_v12();
164 
165  static QColor translateColor( const QString& s );
166 
167  virtual bool readWindowMetrics( QFile& f );
168  virtual CabriObject* readObject( QFile& f );
169  virtual void decodeStyle( CabriObject* obj, Qt::PenStyle& ps, int& pointType );
170 };
171 
172 #endif
CabriObject_v10::fixed
bool fixed
Definition: cabri-utils.h:103
CabriObject::side
int side
Definition: cabri-utils.h:85
CabriReader_v10::decodeStyle
virtual void decodeStyle(CabriObject *obj, Qt::PenStyle &ps, int &pointType)
Definition: cabri-utils.cc:410
CabriReader_v10::~CabriReader_v10
virtual ~CabriReader_v10()
Definition: cabri-utils.cc:190
CabriObject::color
QColor color
Definition: cabri-utils.h:76
CabriReader::m_filter
const KigFilterCabri * m_filter
Definition: cabri-utils.h:123
CabriReader_v12
Definition: cabri-utils.h:154
CabriReader::initColorMap
static void initColorMap()
Definition: cabri-utils.cc:149
Rect
This file is part of Kig, a KDE program for Interactive Geometry...
Definition: rect.h:34
CabriObject::gonio
CabriNS::CabriGonio gonio
Definition: cabri-utils.h:93
CabriReader_v10::readWindowMetrics
virtual bool readWindowMetrics(QFile &f)
Definition: cabri-utils.cc:194
CabriReader::readObject
virtual CabriObject * readObject(QFile &f)=0
CabriReader_v12::readWindowMetrics
virtual bool readWindowMetrics(QFile &f)
Definition: cabri-utils.cc:504
CabriObject::specification
int specification
Definition: cabri-utils.h:75
CabriNS::CabriVersion
CabriVersion
Cabri versions we try to read from.
Definition: cabri-utils.h:41
CabriReader_v12::decodeStyle
virtual void decodeStyle(CabriObject *obj, Qt::PenStyle &ps, int &pointType)
Definition: cabri-utils.cc:641
CabriObject::ticks
int ticks
Definition: cabri-utils.h:84
CabriObject::text
QString text
Definition: cabri-utils.h:90
CabriReader_v10::CabriReader_v10
CabriReader_v10(const KigFilterCabri *filter)
Definition: cabri-utils.cc:185
CabriReader::~CabriReader
virtual ~CabriReader()
Definition: cabri-utils.cc:145
CabriObject_v12::pointStyle
int pointStyle
Definition: cabri-utils.h:112
CabriObject::parents
std::vector< int > parents
Definition: cabri-utils.h:87
CabriObject::textRect
Rect textRect
Definition: cabri-utils.h:91
CabriObject::thick
int thick
Definition: cabri-utils.h:78
CabriObject::fillColor
QColor fillColor
Definition: cabri-utils.h:77
CabriNS::readLine
QString readLine(QFile &file)
Read a line from a Cabri file, stripping the \n and \r characters.
Definition: cabri-utils.cc:89
CabriObject_v12
Definition: cabri-utils.h:106
CabriReader_v10::readObject
virtual CabriObject * readObject(QFile &f)
Definition: cabri-utils.cc:208
CabriNS::CV_1_2
Definition: cabri-utils.h:44
CabriReader::translateColor
static QColor translateColor(const QString &s)
Translate a color from a 1 to 3 character sequence.
Definition: cabri-utils.cc:174
CabriObject::name
QString name
Definition: cabri-utils.h:89
CabriReader_v12::CabriReader_v12
CabriReader_v12(const KigFilterCabri *filter)
Definition: cabri-utils.cc:453
CabriNS::CG_Deg
Definition: cabri-utils.h:49
CabriReader_v10
Definition: cabri-utils.h:142
CabriReader::readWindowMetrics
virtual bool readWindowMetrics(QFile &f)=0
CabriObject_v12::CabriObject_v12
CabriObject_v12()
Definition: cabri-utils.cc:134
KigFilterCabri
This is an import filter for the output of the commercial program Cabri ("CAhier de BRouillon Interac...
Definition: cabri-filter.h:36
CabriReader_v12::readObject
virtual CabriObject * readObject(QFile &f)
Definition: cabri-utils.cc:523
CabriReader::CabriReader
CabriReader(const KigFilterCabri *filter)
Definition: cabri-utils.cc:139
CabriNS::readText
QString readText(QFile &f, const QString &s, const QString &sep)
Definition: cabri-utils.cc:99
CabriObject::visible
bool visible
Definition: cabri-utils.h:82
CabriNS::CG_Rad
Definition: cabri-utils.h:50
CabriObject::lineSegLength
int lineSegLength
Definition: cabri-utils.h:79
CabriNS::CabriGonio
CabriGonio
Definition: cabri-utils.h:47
CabriReader
Base reader for a Cabri figure.
Definition: cabri-utils.h:120
CabriObject::CabriObject
CabriObject()
Definition: cabri-utils.cc:122
CabriObject::incs
std::vector< int > incs
Definition: cabri-utils.h:92
CabriObject::id
uint id
Definition: cabri-utils.h:73
CabriObject::lineSegSplit
int lineSegSplit
Definition: cabri-utils.h:80
CabriReader_v12::translateColor
static QColor translateColor(const QString &s)
Definition: cabri-utils.cc:687
CabriReader_v12::~CabriReader_v12
virtual ~CabriReader_v12()
Definition: cabri-utils.cc:459
CabriObject::intersectionId
int intersectionId
Definition: cabri-utils.h:83
CabriObject::data
std::vector< double > data
Definition: cabri-utils.h:88
CabriReader::decodeStyle
virtual void decodeStyle(CabriObject *obj, Qt::PenStyle &ps, int &pointType)=0
CabriNS::CV_1_0
Definition: cabri-utils.h:43
CabriObject_v10::CabriObject_v10
CabriObject_v10()
Definition: cabri-utils.cc:129
uint
unsigned int uint
Definition: object_imp.h:87
CabriObject
Base class representing a Cabri object.
Definition: cabri-utils.h:68
CabriObject::type
QByteArray type
Definition: cabri-utils.h:74
CabriObject_v10
Definition: cabri-utils.h:96
CabriObject_v10::specialAppearanceSwitch
int specialAppearanceSwitch
Definition: cabri-utils.h:102
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