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

kig

  • sources
  • kde-4.14
  • kdeedu
  • kig
  • objects
other_type.h
Go to the documentation of this file.
1 // Copyright (C) 2003-2004 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_MISC_OTHER_TYPE_H
19 #define KIG_MISC_OTHER_TYPE_H
20 
21 #include "base_type.h"
22 #include "../misc/object_hierarchy.h"
23 
24 class LocusType
25  : public ArgsParserObjectType
26 {
27  typedef ArgsParserObjectType Parent;
28  LocusType();
29  ~LocusType();
30 public:
31  static const LocusType* instance();
32 
33  ObjectImp* calc( const Args& args, const KigDocument& ) const;
34 
35  const ObjectImpType* impRequirement( const ObjectImp* o, const Args& parents ) const;
36 
37  bool inherits( int type ) const;
38  const ObjectImpType* resultId() const;
39 
40  std::vector<ObjectCalcer*> sortArgs( const std::vector<ObjectCalcer*>& args ) const;
41  Args sortArgs( const Args& args ) const;
42 };
43 
44 class CopyObjectType
45  : public ObjectType
46 {
47 protected:
48  CopyObjectType();
49  ~CopyObjectType();
50 public:
51  static CopyObjectType* instance();
52  bool inherits( int type ) const;
53  ObjectImp* calc( const Args& parents, const KigDocument& d ) const;
54  const ObjectImpType* impRequirement( const ObjectImp* o, const Args& parents ) const;
55  bool isDefinedOnOrThrough( const ObjectImp* o, const Args& parents ) const;
56  const ObjectImpType* resultId() const;
57  std::vector<ObjectCalcer*> sortArgs( const std::vector<ObjectCalcer*>& os ) const;
58  Args sortArgs( const Args& args ) const;
59 };
60 
61 #endif
ObjectImpType
Instances of this class represent a certain ObjectImp type.
Definition: object_imp.h:95
CopyObjectType::sortArgs
std::vector< ObjectCalcer * > sortArgs(const std::vector< ObjectCalcer * > &os) const
Definition: other_type.cc:154
ArgsParserObjectType
This is a convenience subclass of ObjectType that a type should inherit from if its parents can be sp...
Definition: object_type.h:113
CopyObjectType::instance
static CopyObjectType * instance()
Definition: other_type.cc:96
CopyObjectType
Definition: other_type.h:44
CopyObjectType::isDefinedOnOrThrough
bool isDefinedOnOrThrough(const ObjectImp *o, const Args &parents) const
Supposing that parents would be given as parents to this type's calc function, this function returns ...
Definition: other_type.cc:184
CopyObjectType::~CopyObjectType
~CopyObjectType()
Definition: other_type.cc:92
LocusType::sortArgs
std::vector< ObjectCalcer * > sortArgs(const std::vector< ObjectCalcer * > &args) const
Definition: other_type.cc:160
CopyObjectType::inherits
bool inherits(int type) const
Definition: other_type.cc:102
LocusType::calc
ObjectImp * calc(const Args &args, const KigDocument &) const
Definition: other_type.cc:55
Args
std::vector< const ObjectImp * > Args
Definition: objects/common.h:47
CopyObjectType::CopyObjectType
CopyObjectType()
Definition: other_type.cc:87
LocusType::impRequirement
const ObjectImpType * impRequirement(const ObjectImp *o, const Args &parents) const
Supposing that parents would be given as parents to this type's calc function, this function returns ...
Definition: other_type.cc:124
CopyObjectType::calc
ObjectImp * calc(const Args &parents, const KigDocument &d) const
Definition: other_type.cc:107
LocusType
Definition: other_type.h:24
CopyObjectType::impRequirement
const ObjectImpType * impRequirement(const ObjectImp *o, const Args &parents) const
Supposing that parents would be given as parents to this type's calc function, this function returns ...
Definition: other_type.cc:113
ObjectType
The ObjectType class is a thing that represents the "behaviour" for a certain type.
Definition: object_type.h:32
CopyObjectType::resultId
const ObjectImpType * resultId() const
returns the ObjectImp id of the ObjectImp's produced by this ObjectType.
Definition: other_type.cc:118
LocusType::instance
static const LocusType * instance()
Definition: other_type.cc:148
KigDocument
KigDocument is the class holding the real data in a Kig document.
Definition: kig_document.h:36
LocusType::inherits
bool inherits(int type) const
Definition: other_type.cc:75
ObjectImp
The ObjectImp class represents the behaviour of an object after it is calculated. ...
Definition: object_imp.h:226
base_type.h
LocusType::resultId
const ObjectImpType * resultId() const
returns the ObjectImp id of the ObjectImp's produced by this ObjectType.
Definition: other_type.cc:80
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:12:05 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
  • 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