Effi fizienzsicherheit in de der Fab abrik- und nd Prod
- duktionsplanung.
Building complex QML-GUIs with QtQuick2
Ensuring Efficiency in Factory and Production Planning
with QtQuick2 Content Introduction to IPO.Plans software Data model - - PowerPoint PPT Presentation
Ensuring Efficiency in Factory and Production Planning Effi fizienzsicherheit in de der Fab abrik- und nd Prod oduktionsplanung. Building complex QML-GUIs with QtQuick2 Content Introduction to IPO.Plans software Data model concept
Effi fizienzsicherheit in de der Fab abrik- und nd Prod
Ensuring Efficiency in Factory and Production Planning
2
3
4
Purely software Software + Hardware
5
Model ViewController View
context properties
Model-Behavior
6
7
Model<T> T4 T3 T1 T2 SortFilterModel<T> T1 T2 T3 Example
8
Model<T> T4 T3 T1 T2 RepresentationModel<R> R4 R3 R1 R2 Example
source instance SourceModel Keep in mind that instances of R may already exists or be allocated by the RepresentationModel
9
Model<T> T4 T3 T1 T2 SourceModel Example 2
source instances RepresentationModel<S> S34 S12
10
Model<T> T1 T2 T3 T4 CollectionModel<R> U1 R1 U2 R2 U3 R3 U4 R4 Example
SourceModel1 Model<U> U1 U2 U3 U4 SourceModel2 T and U have to have the mutual super class R
11
CollectionModel SortFilterModel Model1 Model2 View
Worker
Use a SortFilterModel for Products
Use a ListModel of Activities and ActivityGroups
ActivityGroup Activity
13
WorkerGantt Worker ProductLine Activities and ActivityGroups
14
ComponentOnAreaGroup
Uses a SortFilterModel of selected Components
Area
Contains all components in a simple ListModel
ComponentOnArea ComponentOnAreaEdit
15
Planogram PlanogramArea
Uses a SortFilterModel to get all areas with selected components PlanogramRackComponent
PlanogramRackInfoGrid
PlanogramInfoGrid
16
The hierarchy of the Rack Planogram - View Planogram PlanogramBoxGroupInfoGrid PlanogramInfoGrid PlanogramArea PlanogramRackComponent PlanogramRackInfoGrid PlanogramBoxGroupComponent PlanogramInfoGrid
17
If you… …are interested in our stuff …are of course firm in Qt Qt, , QM QML …are firm in C+ C++, C# C#, Ja Java or another language …want to work in a youn
creativ ive and fle flexible team …search for cha challe llenges …looking for virtual rea ealit ity, si simulatio ion and 3D 3D graphic Maybe you can find the right job for you at IPO.Plan You are also welcome to our sta tand here at QtD QtDeveloperD rDays
03.12.2014 Sichtbar machen. Selber machen. Besser machen. 18
IPO.Plan GmbH
Martin Lang E-Mail: martin.lang@ipoplan.de Office Ulm. Grünhofgasse 3 | D-71229 Ulm Fon: +49.7152.70010.82 | Fax: +49.7152.70010.99
03.12.2014 Sichtbar machen. Selber machen. Besser machen. 19
IPO.Plan GmbH
Dipl.-Ing. Dennis Effmert E-Mail: dennis.effmert@ipoplan.de Office Ulm. Grünhofgasse 3 | D-71229 Ulm Fon: +49.7152.70010.82 | Fax: +49.7152.70010.99
03.12.2014 Sichtbar machen. Selber machen. Besser machen. 20
class DataListModel : public QAbstractListModel { Q_OBJECT public: … enum Roles {ObjectRole = Qt::UserRole + 1}; void append(QObject *newObject); QHash<int, QByteArray> roleNames() const; QVariant data(const QModelIndex &index, int role) const; … protected: QList<QObject*> m_objects; }
21
DataModel.h
… void DataListModel::append(QObject *object) { beginInsertRows(QModelIndex(), m_objects.count(), m_objects.count()); m_objects.append(object); // To observe the QObject::destroyed() signal if (m_tracking) trackObject(object); endInsertRows(); } …
22
DataModel.cxx
… QHash<int, QByteArray> DataListModel::roleNames() const { QHash<int, QByteArray> roles; roles[DataListModel::ObjectRole] = "object"; return roles; } …
23
DataModel.cxx
… QVariant DataListModel::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() >= m_objects.size()) return QVariant(); switch (role) { case ObjectRole: return QVariant::fromValue(m_objects.at(index.row())); } return QVariant(); } …
24
DataModel.cxx