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

parley

  • sources
  • kde-4.12
  • kdeedu
  • parley
  • src
  • scripts
  • scripting
container.h
Go to the documentation of this file.
1 /***************************************************************************
2 
3  Copyright 2008 Avgoustinos Kadis <avgoustinos.kadis@kdemail.net>
4 
5  ***************************************************************************/
6 
7 /***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 #ifndef SCRIPTINGCONTAINER_H
16 #define SCRIPTINGCONTAINER_H
17 
18 #include <QObject>
19 
20 #include <keduvoccontainer.h>
21 
22 namespace Scripting
23 {
24 
33  class Container : public QObject
34  {
35  Q_OBJECT
37  Q_PROPERTY ( QString name READ name WRITE setName )
39  Q_PROPERTY ( bool inPractice READ inPractice WRITE setInPractice )
41  Q_PROPERTY ( QString imageUrl READ imageUrl WRITE setImageUrl )
42 // Q_PROPERTY ( QVariantList childContainers READ childContainers )
43  public:
44 
45  Container ( KEduVocContainer * container = 0 );
46 
47  /* copy constructor for d-pointer safe copying */
48 // Container ( const Container &other );
49 
50 // Container ( const QString& name, KEduVocContainer::EnumContainerType type, KEduVocContainer *parent = 0 );
51 
52  ~Container();
53 
54  /* destructor */
55 // virtual ~KEduVocContainer();
56 
57  /* assignment operator */
58 // KEduVocContainer& operator= ( const KEduVocContainer& );
59 
60  /* equality operator */
61 // bool operator== ( const KEduVocContainer &other );
62 
63 
64  template <class T, class S>
65  QVariantList toVariantList ( QList<T*> objList ) const;
66 
67  static QList<KEduVocContainer*> flattenContainer ( KEduVocContainer * root );
68 
69  KEduVocContainer * kEduVocContainer() { return m_container; }
70 
71  static bool enumToBool ( KEduVocContainer::EnumEntriesRecursive recursive );
72  static KEduVocContainer::EnumEntriesRecursive boolToEnum ( bool recursive );
73 
74  /* set the container name
75  * @param name text to set for the name
76  */
77  void setName ( const QString &name ) { m_container->setName ( name ); }
78 
79  /* get the container name */
80  QString name() { return m_container->name(); }
81 
82  void appendChildContainer ( Container *child ) { m_container->appendChildContainer ( child->kEduVocContainer() ); }
83  void insertChildContainer ( int row, Container *child ) { m_container->insertChildContainer ( row,child->kEduVocContainer() ); }
84 // void deleteChildContainer ( int row ) { m_container->deleteChildContainer ( row ); }
85  void removeChildContainer ( int row ) { m_container->removeChildContainer ( row ); }
86  Container *childContainer ( int row ) { return new Container ( m_container->childContainer ( row ) ); }
87 
88  /*
89  * Retrieve a child container by its name
90  * Returns 0 if no container is found
91  * @param name container name
92  * @return the child container
93  */
94  Container *childContainer ( const QString& name ) { return new Container ( m_container->childContainer ( name ) ); }
95 
96  int childContainerCount() const { return m_container->childContainerCount(); }
97 
98  bool inPractice() { return m_container->inPractice(); }
99  void setInPractice ( bool inPractice ) { m_container->setInPractice ( inPractice ); }
100 
101  /* get the image url for this container if it exists */
102  QString imageUrl() { return m_container->imageUrl().path(); }
103 
104  /* set the image url for this container
105  * @param url url of the image
106  */
107  void setImageUrl ( const QString & url ) { m_container->setImageUrl ( url ); }
108 
109  /* finds the container with the given name */
110  KEduVocContainer * findContainer(const QString& name);
111 
112  /*
113  * Removes a translation. This has to be called when a language is removed from a document.
114  * @param translation
115  */
116  void removeTranslation ( int translation ) { return m_container->removeTranslation ( translation ); }
117 
118  /*
119  * Returns a list with all the child containers (lessons)
120  * @return A list of Container objects
121  */
122  QVariantList childContainers();
123 
124 
125  public slots:
126 
128  int row() const { return m_container->row(); }
129 
130 // virtual Container *parent() { return new Container ( m_container->parent() ); }
131 
132  /*
133  * The type of this container. @see EnumContainerType
134  * @return
135  */
136 // KEduVocContainer::EnumContainerType containerType();
137 
138  /*
139  * Set the type of container.
140  * For convenience by default this is taken over from the parent, so no need to set.
141  * @param type the new type
142  */
143 // void setContainerType ( KEduVocContainer::EnumContainerType type );
144 
151  int expressionsOfGrade ( int translation, unsigned int grade, bool recursive ) { return m_container->expressionsOfGrade ( translation,grade, boolToEnum ( recursive ) ); }
152 
158  void resetGrades ( int translation, bool recursive ) { return m_container->resetGrades ( translation, boolToEnum ( recursive ) ); }
159 
165  double averageGrade ( int translation, bool recursive ) { return m_container->averageGrade ( translation, boolToEnum ( recursive ) ); }
166 
167  protected:
168  KEduVocContainer * m_container;
169  };
170 
171  //Template functions should not be separated from their definition (must be in the header file)
172  template <class T, class S>
173  QVariantList Container::toVariantList ( QList<T*> objList ) const
174  {
175  QVariantList list;
176  foreach ( T * t, objList )
177  {
178  QObject * obj = new S ( t );
179  list.push_back ( qVariantFromValue ( obj ) );
180  }
181  return list;
182  }
183 
184 }
185 
186 
187 #endif
Scripting::Container::inPractice
bool inPractice()
Definition: container.h:98
Scripting::Container::childContainerCount
int childContainerCount() const
Definition: container.h:96
Scripting::Container::boolToEnum
static KEduVocContainer::EnumEntriesRecursive boolToEnum(bool recursive)
Definition: container.cpp:50
Scripting::Container::Container
Container(KEduVocContainer *container=0)
Definition: container.cpp:20
Scripting::Container::imageUrl
QString imageUrl()
Definition: container.h:102
Scripting::Container::removeTranslation
void removeTranslation(int translation)
Definition: container.h:116
Scripting::Container
KEduVocContainer wrapping class for Kross scripts (inherited by Lesson)
Definition: container.h:33
QObject
Scripting::Container::toVariantList
QVariantList toVariantList(QList< T * > objList) const
Definition: container.h:173
Scripting::Container::setImageUrl
void setImageUrl(const QString &url)
Definition: container.h:107
Scripting::Container::childContainer
Container * childContainer(const QString &name)
Definition: container.h:94
Scripting::Container::row
int row() const
Returns an integer, the Container's unique row.
Definition: container.h:128
Scripting::Container::removeChildContainer
void removeChildContainer(int row)
Definition: container.h:85
Scripting::Container::averageGrade
double averageGrade(int translation, bool recursive)
Returns the average grade of the specified translation considering all the lesson entries...
Definition: container.h:165
Scripting::Container::enumToBool
static bool enumToBool(KEduVocContainer::EnumEntriesRecursive recursive)
Definition: container.cpp:43
Scripting::Container::findContainer
KEduVocContainer * findContainer(const QString &name)
Definition: container.cpp:74
Scripting::Container::childContainers
QVariantList childContainers()
Definition: container.cpp:57
Scripting::Container::m_container
KEduVocContainer * m_container
Definition: container.h:168
Scripting::Container::expressionsOfGrade
int expressionsOfGrade(int translation, unsigned int grade, bool recursive)
Returns how many expressions of language with index translation have grade as grade.
Definition: container.h:151
Scripting::Container::resetGrades
void resetGrades(int translation, bool recursive)
Remove grades from all entries of this lessons.
Definition: container.h:158
Scripting::Container::name
QString name()
Definition: container.h:80
Scripting::Container::flattenContainer
static QList< KEduVocContainer * > flattenContainer(KEduVocContainer *root)
Definition: container.cpp:62
Scripting::Container::setName
void setName(const QString &name)
Definition: container.h:77
Scripting::Container::childContainer
Container * childContainer(int row)
Definition: container.h:86
Scripting::Container::setInPractice
void setInPractice(bool inPractice)
Definition: container.h:99
Scripting::Container::kEduVocContainer
KEduVocContainer * kEduVocContainer()
Definition: container.h:69
Scripting::Container::appendChildContainer
void appendChildContainer(Container *child)
Definition: container.h:82
Scripting::Container::insertChildContainer
void insertChildContainer(int row, Container *child)
Definition: container.h:83
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:42:05 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

parley

Skip menu "parley"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

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