~ubuntu-branches/ubuntu/trusty/hedgewars/trusty-proposed

« back to all changes in this revision

Viewing changes to QTfrontend/model/ammoSchemeModel.h

  • Committer: Package Import Robot
  • Author(s): Dmitry E. Oboukhov
  • Date: 2011-11-20 18:31:17 UTC
  • mfrom: (1.2.12)
  • Revision ID: package-import@ubuntu.com-20111120183117-pjhz1n2pvnmxa246
Tags: 0.9.17-1
* [Paul Wise]
 * Mention the homing bee in the package description (Closes: #577092)
 * Also install the hwengine desktop file (LP: #811770)
 * Depend on ttf-dejavu-core since it is smaller
 * Depend on ttf-wqy-zenhei instead of embedding a copy of it
* [Dmitry E. Oboukhov]
 * New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Hedgewars, a free turn based strategy game
 
3
 * Copyright (c) 2005-2011 Andrey Korotaev <unC0Rr@gmail.com>
 
4
 *
 
5
 * This program is free software; you can redistribute it and/or modify
 
6
 * it under the terms of the GNU General Public License as published by
 
7
 * the Free Software Foundation; version 2 of the License
 
8
 *
 
9
 * This program is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
 * GNU General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU General Public License
 
15
 * along with this program; if not, write to the Free Software
 
16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 
17
 */
 
18
 
 
19
#ifndef _AMMO_SCHEME_MODEL_INCLUDED
 
20
#define _AMMO_SCHEME_MODEL_INCLUDED
 
21
 
 
22
#include <QSettings>
 
23
#include <QAbstractTableModel>
 
24
#include <QStringList>
 
25
#include <QList>
 
26
 
 
27
class AmmoSchemeModel : public QAbstractTableModel
 
28
{
 
29
    Q_OBJECT
 
30
 
 
31
public:
 
32
    AmmoSchemeModel(QObject * parent, const QString & fileName);
 
33
 
 
34
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;
 
35
    int rowCount(const QModelIndex & parent) const;
 
36
    int columnCount(const QModelIndex & parent) const;
 
37
    Qt::ItemFlags flags(const QModelIndex & index) const;
 
38
    bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
 
39
    bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex());
 
40
    bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex());
 
41
    QVariant data(const QModelIndex &index, int role) const;
 
42
 
 
43
    int numberOfDefaultSchemes;
 
44
    QStringList predefSchemesNames;
 
45
    QStringList spNames;
 
46
 
 
47
public slots:
 
48
    void Save();
 
49
 
 
50
signals:
 
51
    void dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight);
 
52
 
 
53
protected:
 
54
    QList< QList<QVariant> > schemes;
 
55
 
 
56
private:
 
57
    QSettings fileConfig;
 
58
};
 
59
 
 
60
class NetAmmoSchemeModel : public QAbstractTableModel
 
61
{
 
62
    Q_OBJECT
 
63
 
 
64
public:
 
65
    NetAmmoSchemeModel(QObject * parent);
 
66
 
 
67
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;
 
68
    int rowCount(const QModelIndex & parent) const;
 
69
    int columnCount(const QModelIndex & parent) const;
 
70
    QVariant data(const QModelIndex &index, int role) const;
 
71
 
 
72
public slots:
 
73
    void setNetSchemeConfig(QStringList & cfg);
 
74
 
 
75
private:
 
76
    QList<QVariant> netScheme;
 
77
};
 
78
 
 
79
#endif // _AMMO_SCHEME_MODEL_INCLUDED