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

libkdeedu/keduvocdocument

  • sources
  • kde-4.12
  • kdeedu
  • libkdeedu
  • keduvocdocument
keduvocarticle.cpp
Go to the documentation of this file.
1 /***************************************************************************
2 
3  Copyright 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de>
4  Copyright 2004, 2005, 2007 Peter Hedlund <peter.hedlund@kdemail.net>
5  Copyright 2007-2008 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
6 
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #include "keduvocarticle.h"
19 #include "keduvocwordflags.h"
20 
21 #include <QtCore/QMap>
22 
23 class KEduVocArticle::Private
24 {
25 public:
26  QMap <KEduVocWordFlags, QString> m_articles;
27 };
28 
29 KEduVocArticle::KEduVocArticle()
30  :d( new Private )
31 {}
32 
33 KEduVocArticle::KEduVocArticle( const KEduVocArticle &other )
34  :d( new Private )
35 {
36  d->m_articles = other.d->m_articles;
37 }
38 
39 KEduVocArticle &KEduVocArticle::operator= ( const KEduVocArticle& other )
40 {
41  d->m_articles = other.d->m_articles;
42  return *this;
43 }
44 
45 KEduVocArticle::KEduVocArticle( const QString &fem_def, const QString &fem_indef, const QString &mal_def, const QString &mal_indef, const QString &neu_def, const QString &neu_indef )
46  :d( new Private )
47 {
48  setArticle( mal_def, KEduVocWordFlag::Singular | KEduVocWordFlag::Definite | KEduVocWordFlag::Masculine );
49  setArticle( fem_def, KEduVocWordFlag::Singular | KEduVocWordFlag::Definite | KEduVocWordFlag::Feminine );
50  setArticle( neu_def, KEduVocWordFlag::Singular | KEduVocWordFlag::Definite | KEduVocWordFlag::Neuter );
51 
52  setArticle( mal_indef, KEduVocWordFlag::Singular | KEduVocWordFlag::Indefinite | KEduVocWordFlag::Masculine );
53  setArticle( fem_indef, KEduVocWordFlag::Singular | KEduVocWordFlag::Indefinite | KEduVocWordFlag::Feminine );
54  setArticle( neu_indef, KEduVocWordFlag::Singular | KEduVocWordFlag::Indefinite | KEduVocWordFlag::Neuter );
55 }
56 
57 KEduVocArticle::~KEduVocArticle()
58 {
59  delete d;
60 }
61 
62 
63 QString KEduVocArticle::article(const KEduVocWordFlags& flags)
64 {
65  return d->m_articles.value(flags & (KEduVocWordFlag::genders | KEduVocWordFlag::numbers | KEduVocWordFlag::Definite | KEduVocWordFlag::Indefinite));
66 }
67 
68 void KEduVocArticle::setArticle(const QString & article, const KEduVocWordFlags& flags)
69 {
70  d->m_articles[flags & (KEduVocWordFlag::genders | KEduVocWordFlag::numbers | KEduVocWordFlag::Definite | KEduVocWordFlag::Indefinite)] = article;
71 }
72 
73 
74 bool KEduVocArticle::isArticle(const QString & article) const
75 {
76  return d->m_articles.values().contains(article);
77 }
78 
79 bool KEduVocArticle::isEmpty()
80 {
81  // we don't count empty strings as articles
82  foreach(const QString& s, d->m_articles)
83  {
84  if (!s.isEmpty())
85  return false;
86  }
87  return true;
88 }
89 
90 
91 
KEduVocArticle::isEmpty
bool isEmpty()
Definition: keduvocarticle.cpp:79
KEduVocWordFlag::Singular
Definition: keduvocwordflags.h:33
KEduVocWordFlag::Masculine
Definition: keduvocwordflags.h:28
KEduVocArticle::KEduVocArticle
KEduVocArticle()
The constructor without arguments.
Definition: keduvocarticle.cpp:29
keduvocwordflags.h
KEduVocArticle::operator=
KEduVocArticle & operator=(const KEduVocArticle &other)
assignment operator for d-pointer copying
Definition: keduvocarticle.cpp:39
KEduVocArticle
Class representing the articles of a language.
Definition: keduvocarticle.h:33
KEduVocWordFlag::numbers
static const Flags numbers
Definition: keduvocwordflags.h:69
KEduVocArticle::~KEduVocArticle
~KEduVocArticle()
default destructor, deletes the d pointer
Definition: keduvocarticle.cpp:57
KEduVocWordFlag::Indefinite
Definition: keduvocwordflags.h:62
KEduVocArticle::isArticle
bool isArticle(const QString &article) const
Definition: keduvocarticle.cpp:74
KEduVocArticle::setArticle
void setArticle(const QString &article, const KEduVocWordFlags &)
Definition: keduvocarticle.cpp:68
KEduVocWordFlag::genders
static const Flags genders
Definition: keduvocwordflags.h:67
KEduVocWordFlag::Neuter
Definition: keduvocwordflags.h:30
KEduVocArticle::article
QString article(const KEduVocWordFlags &)
Definition: keduvocarticle.cpp:63
KEduVocWordFlag::Feminine
Definition: keduvocwordflags.h:29
keduvocarticle.h
KEduVocWordFlag::Definite
Definition: keduvocwordflags.h:61
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:37:21 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdeedu/keduvocdocument

Skip menu "libkdeedu/keduvocdocument"
  • 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