QTfrontend/ammoSchemeModel.h
author nemo
Sun, 10 Oct 2010 20:16:17 -0400
changeset 3951 c9a63db3e603
parent 3236 4ab3917d7d44
child 4232 3a7862405c36
permissions -rw-r--r--
Correct another bug in slot switching, adjust width of theme list, really truly fix reset of weps (I hope) should also fix infinite teleport bug in place hogs mode. Slow update of health to 5s for inf attack mode.
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
3236
4ab3917d7d44 Update (c) lines to 2010 as unc0rr requested - they all had varying values so I just took the first year mentioned, then tacked on -2010
nemo
parents: 3172
diff changeset
     3
 * Copyright (c) 2010 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;
1940
bbdca883b5f9 - Enable back border of drop-down list (by nemo)
unc0rr
parents: 1902
diff changeset
    44
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    45
public slots:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    46
    void Save();
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    47
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    48
signals:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    49
    void dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight);
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    50
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    51
protected:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    52
    QList< QList<QVariant> > schemes;
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
    53
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
    54
private:
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    55
    QSettings fileConfig;
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    56
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 1940
diff changeset
    57
    QStringList spNames;
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