QTfrontend/model/ammoSchemeModel.h
author nemo
Sat, 22 Oct 2011 00:49:55 -0400
changeset 6179 b529f88d37d0
parent 6061 15b4b485a1c5
child 6616 f77bb02b669f
permissions -rw-r--r--
Bit of an experiment with giving flakes a bit more depth. Might need to be theme flagged, or theme flakes reworked on some themes. Looks neat in stereo. Also finally use an array for the layers
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     1
/*
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     2
 * Hedgewars, a free turn based strategy game
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4410
diff changeset
     3
 * Copyright (c) 2005-2011 Andrey Korotaev <unC0Rr@gmail.com>
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     4
 *
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     8
 *
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    12
 * GNU General Public License for more details.
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    13
 *
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    17
 */
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    18
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    19
#ifndef _AMMO_SCHEME_MODEL_INCLUDED
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    20
#define _AMMO_SCHEME_MODEL_INCLUDED
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    21
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    22
#include <QSettings>
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    23
#include <QAbstractTableModel>
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    24
#include <QStringList>
1890
de5cfe3beb22 Scheme options work now
unc0rr
parents: 1884
diff changeset
    25
#include <QList>
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    26
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    27
class AmmoSchemeModel : public QAbstractTableModel
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    28
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    29
    Q_OBJECT
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    30
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    31
public:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    32
    AmmoSchemeModel(QObject * parent, const QString & fileName);
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    33
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    34
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    35
    int rowCount(const QModelIndex & parent) const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    36
    int columnCount(const QModelIndex & parent) const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    37
    Qt::ItemFlags flags(const QModelIndex & index) const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    38
    bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    39
    bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex());
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    40
    bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex());
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    41
    QVariant data(const QModelIndex &index, int role) const;
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    42
3172
ae5c7f97df44 Engine:
smxx
parents: 2948
diff changeset
    43
    int numberOfDefaultSchemes;
4232
3a7862405c36 tweak interface, there is no need to manually add new weapons and schemes to the filter list
koda
parents: 3236
diff changeset
    44
    QStringList predefSchemesNames;
4410
f9e38ce1e813 a Henek-koda production: nicer game config screen, fixed scheme-weapon lock, added scheme editing to config page and some minor stuff
Henek
parents: 4232
diff changeset
    45
    QStringList spNames;
1940
bbdca883b5f9 - Enable back border of drop-down list (by nemo)
unc0rr
parents: 1902
diff changeset
    46
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    47
public slots:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    48
    void Save();
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    49
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    50
signals:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    51
    void dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight);
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    52
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    53
protected:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    54
    QList< QList<QVariant> > schemes;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
    55
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
    56
private:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    57
    QSettings fileConfig;
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    58
};
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    59
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    60
class NetAmmoSchemeModel : public QAbstractTableModel
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    61
{
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    62
    Q_OBJECT
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    63
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    64
public:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    65
    NetAmmoSchemeModel(QObject * parent);
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    66
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    67
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    68
    int rowCount(const QModelIndex & parent) const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    69
    int columnCount(const QModelIndex & parent) const;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    70
    QVariant data(const QModelIndex &index, int role) const;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    71
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    72
public slots:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    73
    void setNetSchemeConfig(QStringList & cfg);
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    74
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    75
private:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    76
    QList<QVariant> netScheme;
1899
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    77
};
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    78
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    79
#endif // _AMMO_SCHEME_MODEL_INCLUDED