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

okteta

  • sources
  • kde-4.12
  • kdesdk
  • okteta
  • kasten
  • controllers
  • view
  • structures
  • datatypes
additionaldata.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Okteta Kasten Framework, made within the KDE community.
3  *
4  * Copyright 2010, 2011, 2013 Alex Richardson <alex.richardson@gmx.de>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) version 3, or any
10  * later version accepted by the membership of KDE e.V. (or its
11  * successor approved by the membership of KDE e.V.), which shall
12  * act as a proxy defined in Section 6 of version 3 of the license.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #ifndef ADDITIONALDATA_H_
24 #define ADDITIONALDATA_H_
25 
26 #include <QScriptValue>
27 #include <QVariant>
28 #include "../compiletimeassert.h"
29 
31 class AdditionalData
32 {
33 public:
34  enum AdditionalDataType {
35  UpdateFunction, ValidationFunction, ValidationError, ArrayLengthFunction, CustomTypeName, ToStringFunction
36  };
37  explicit AdditionalData();
38  AdditionalData(const AdditionalData& data);
39  ~AdditionalData();
40  QVariant get(AdditionalDataType entry) const;
41  void set(AdditionalDataType entry, const QVariant& value);
42  void remove(AdditionalDataType entry);
43 private:
44  QHash<int, QVariant> mData;
45 };
46 compile_time_assert(sizeof(AdditionalData) == sizeof(void*));
47 
48 Q_DECLARE_METATYPE(QScriptValue)
49 
50 inline QVariant AdditionalData::get(AdditionalData::AdditionalDataType entry) const
51 {
52  return mData.value((int)entry);
53 }
54 
55 inline void AdditionalData::set(AdditionalData::AdditionalDataType entry, const QVariant& value)
56 {
57  mData.insert((int)entry, value);
58 }
59 
60 inline void AdditionalData::remove(AdditionalData::AdditionalDataType entry)
61 {
62  mData.remove((int)entry);
63 }
64 
65 inline AdditionalData::AdditionalData()
66 {
67 }
68 
69 inline AdditionalData::AdditionalData(const AdditionalData& data)
70  : mData(data.mData)
71 {
72 }
73 
74 inline AdditionalData::~AdditionalData()
75 {
76 }
77 
78 #endif /* ADDITIONALDATA_H_ */
AdditionalData::remove
void remove(AdditionalDataType entry)
Definition: additionaldata.h:60
AdditionalData::UpdateFunction
Definition: additionaldata.h:35
AdditionalData::AdditionalData
AdditionalData()
Definition: additionaldata.h:65
AdditionalData::ToStringFunction
Definition: additionaldata.h:35
AdditionalData::CustomTypeName
Definition: additionaldata.h:35
AdditionalData::~AdditionalData
~AdditionalData()
Definition: additionaldata.h:74
compile_time_assert
compile_time_assert(sizeof(AdditionalData)==sizeof(void *))
AdditionalData::AdditionalDataType
AdditionalDataType
Definition: additionaldata.h:34
AdditionalData::ValidationFunction
Definition: additionaldata.h:35
AdditionalData::ArrayLengthFunction
Definition: additionaldata.h:35
AdditionalData::ValidationError
Definition: additionaldata.h:35
AdditionalData::set
void set(AdditionalDataType entry, const QVariant &value)
Definition: additionaldata.h:55
AdditionalData
Additional data which is not needed frequently.
Definition: additionaldata.h:31
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:06 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

okteta

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

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

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