• 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
  • array
complexarraydata.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 2011, 2012 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 COMPLEXARRAYDATA_H
24 #define COMPLEXARRAYDATA_H
25 
26 #include "abstractarraydata.h"
27 
28 #include <QtCore/QVector>
29 
30 class DataInformation;
31 class ScriptHandlerInfo;
32 
33 class ComplexArrayData : public AbstractArrayData
34 {
35  Q_DISABLE_COPY(ComplexArrayData)
36 public:
38  ComplexArrayData(unsigned int initialLength, DataInformation* data, ArrayDataInformation* parent);
39  virtual ~ComplexArrayData();
40 
41 
42  virtual QVariant dataAt(uint index, int column, int role);
43 
44  virtual unsigned int length() const;
45  virtual void setLength(uint newLength);
46  virtual BitCount32 size() const;
47 
48  virtual QString typeName() const;
49 
50  virtual DataInformation* childAt(unsigned int idx);
51  virtual int indexOf(const DataInformation* data) const;
52  virtual BitCount64 offset(const DataInformation* child) const;
53  virtual BitCount32 sizeAt(uint index);
54  virtual Qt::ItemFlags childFlags(int row, int column, bool fileLoaded);
55 
56  virtual PrimitiveDataType primitiveType() const;
57  virtual bool isComplex() const;
58 
59  virtual QScriptValue toScriptValue(uint index, QScriptEngine* engine, ScriptHandlerInfo* handlerInfo);
60 
61  virtual qint64 readData(Okteta::AbstractByteArrayModel* input, Okteta::Address address, BitCount64 bitsRemaining);
62  virtual bool setChildData(uint row, QVariant value, Okteta::AbstractByteArrayModel* out,
63  Okteta::Address address, BitCount64 bitsRemaining);
64 
65  virtual QWidget* createChildEditWidget(uint index, QWidget* parent) const;
66  virtual QVariant dataFromChildWidget(uint index, const QWidget* w) const;
67  virtual void setChildWidgetData(uint index, QWidget* w) const;
68 protected:
69  virtual void setNewParentForChildren();
70 private:
71  void appendChildren(uint from, uint to);
72 private:
73  QVector<DataInformation*> mChildren;
74 };
75 
76 inline bool ComplexArrayData::isComplex() const
77 {
78  return true;
79 }
80 
81 #endif // COMPLEXARRAYDATA_H
ComplexArrayData::setChildData
virtual bool setChildData(uint row, QVariant value, Okteta::AbstractByteArrayModel *out, Okteta::Address address, BitCount64 bitsRemaining)
Definition: complexarraydata.cpp:159
DataInformation
Interface that must be implemented by all datatypes.
Definition: datainformation.h:67
ComplexArrayData::childFlags
virtual Qt::ItemFlags childFlags(int row, int column, bool fileLoaded)
Definition: complexarraydata.cpp:185
Okteta::Address
qint32 Address
Definition: address.h:34
Okteta::AbstractByteArrayModel
could it be useful to hide the data access behind an iterator? * class KDataBufferIterator { public: ...
Definition: abstractbytearraymodel.h:79
ComplexArrayData::readData
virtual qint64 readData(Okteta::AbstractByteArrayModel *input, Okteta::Address address, BitCount64 bitsRemaining)
Definition: complexarraydata.cpp:150
BitCount64
quint64 BitCount64
Definition: datainformationbase.h:42
ComplexArrayData::setChildWidgetData
virtual void setChildWidgetData(uint index, QWidget *w) const
Definition: complexarraydata.cpp:204
ComplexArrayData::size
virtual BitCount32 size() const
Definition: complexarraydata.cpp:94
QWidget
QVector< DataInformation * >
BitCount32
quint32 BitCount32
Definition: datainformationbase.h:37
ComplexArrayData::dataFromChildWidget
virtual QVariant dataFromChildWidget(uint index, const QWidget *w) const
Definition: complexarraydata.cpp:197
AbstractArrayData
Definition: abstractarraydata.h:46
ComplexArrayData::~ComplexArrayData
virtual ~ComplexArrayData()
Definition: complexarraydata.cpp:42
ArrayDataInformation
Definition: arraydatainformation.h:36
PrimitiveDataType
Definition: primitivedatatype.h:54
ComplexArrayData::isComplex
virtual bool isComplex() const
Definition: complexarraydata.h:76
ComplexArrayData::offset
virtual BitCount64 offset(const DataInformation *child) const
Definition: complexarraydata.cpp:115
ComplexArrayData::length
virtual unsigned int length() const
Definition: complexarraydata.cpp:89
ComplexArrayData::typeName
virtual QString typeName() const
Definition: complexarraydata.cpp:104
ComplexArrayData::childAt
virtual DataInformation * childAt(unsigned int idx)
Definition: complexarraydata.cpp:74
ScriptHandlerInfo
Definition: scripthandlerinfo.h:39
ComplexArrayData::createChildEditWidget
virtual QWidget * createChildEditWidget(uint index, QWidget *parent) const
Definition: complexarraydata.cpp:191
ComplexArrayData::primitiveType
virtual PrimitiveDataType primitiveType() const
the primitive type or Type_Invalid for structs etc
Definition: complexarraydata.cpp:171
ComplexArrayData::dataAt
virtual QVariant dataAt(uint index, int column, int role)
Definition: complexarraydata.cpp:80
ComplexArrayData::sizeAt
virtual BitCount32 sizeAt(uint index)
Definition: complexarraydata.cpp:179
ComplexArrayData::setNewParentForChildren
virtual void setNewParentForChildren()
Definition: complexarraydata.cpp:110
ComplexArrayData::setLength
virtual void setLength(uint newLength)
Definition: complexarraydata.cpp:58
ComplexArrayData::indexOf
virtual int indexOf(const DataInformation *data) const
Definition: complexarraydata.cpp:130
ComplexArrayData
Definition: complexarraydata.h:33
ComplexArrayData::ComplexArrayData
ComplexArrayData(unsigned int initialLength, DataInformation *data, ArrayDataInformation *parent)
Takes ownership of data !
Definition: complexarraydata.cpp:35
abstractarraydata.h
ComplexArrayData::toScriptValue
virtual QScriptValue toScriptValue(uint index, QScriptEngine *engine, ScriptHandlerInfo *handlerInfo)
Definition: complexarraydata.cpp:143
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:07 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