QTfrontend/ammoSchemeModel.h
author nemo
Sun, 24 Jan 2010 16:46:06 +0000
changeset 2712 8f4527c9137c
parent 1940 bbdca883b5f9
child 2948 3f21a9dc93d0
permissions -rw-r--r--
Minor tweak, try to make long flavour text last longer, move the hurt self messages to unused messages group, so they don't get wiped by crate an instant later.
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
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
     3
 * Copyright (c) 2009 Andrey Korotaev <unC0Rr@gmail.com>
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
{
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    29
	Q_OBJECT
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    30
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    31
public:
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    32
	AmmoSchemeModel(QObject * parent, const QString & fileName);
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    33
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    34
	QVariant headerData(int section, Qt::Orientation orientation, int role) const;
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    35
	int rowCount(const QModelIndex & parent) const;
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    36
	int columnCount(const QModelIndex & parent) const;
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    37
	Qt::ItemFlags flags(const QModelIndex & index) const;
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    38
	bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
1884
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
    39
	bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex());
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
    40
	bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex());
40e59e9f82ce Continue work on new schemes implementation
unc0rr
parents: 1881
diff changeset
    41
	QVariant data(const QModelIndex &index, int role) const;
1881
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    42
1940
bbdca883b5f9 - Enable back border of drop-down list (by nemo)
unc0rr
parents: 1902
diff changeset
    43
	const int numberOfDefaultSchemes;
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:
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    46
	void Save();
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:
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    49
	void dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight);
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    50
9b62d68c7b92 Stub for ammo schemes model
unc0rr
parents:
diff changeset
    51
protected:
1890
de5cfe3beb22 Scheme options work now
unc0rr
parents: 1884
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:
1897
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    55
	QSettings fileConfig;
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
diff changeset
    56
e9dcb47013c7 - Some style changes by nemo
unc0rr
parents: 1890
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
{
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    62
	Q_OBJECT
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:
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    65
	NetAmmoSchemeModel(QObject * parent);
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    66
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    67
	QVariant headerData(int section, Qt::Orientation orientation, int role) const;
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    68
	int rowCount(const QModelIndex & parent) const;
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    69
	int columnCount(const QModelIndex & parent) const;
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    70
	QVariant data(const QModelIndex &index, int role) const;
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:
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    73
	void setNetSchemeConfig(QStringList & cfg);
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:
5763f46d7486 Sync schemes config over net should work now (untested)
unc0rr
parents: 1897
diff changeset
    76
	QList<QVariant> netScheme;
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