summaryrefslogtreecommitdiffstats
path: root/kbfxlib/data/kbfxdatastack.h
blob: 6d65810b55a8a7622e040dadf0f74d5a78752f1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 *   Copyright (C) 2006
 *   Siraj Razick <[email protected]>
 *   PhobosK <[email protected]>
 *   see Also AUTHORS
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU Library General Public License version 2 as
 *   published by the Free Software Foundation
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details
 *
 *   You should have received a copy of the GNU Library General Public
 *   License along with this program; if not, write to the
 *   Free Software Foundation, Inc.,
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

#ifndef KBFX_DATA_STACK_H
#define KBFX_DATA_STACK_H

#include <qmap.h>
#include <qstring.h>
#include <qstringlist.h>
#include "kbfxdatagrouplist.h"
#include "kbfxplasmacanvasstackdata.h" //TODO:change the name here

class KbfxDataStack
{

	public:
		typedef QMap<QString,KbfxDataGroupList*> StackMap;
		typedef QMap<QString,uint> Dict;
		typedef QMap<int,KbfxPlasmaCanvasStackData> DataDict;

		KbfxDataStack();
		~KbfxDataStack();
		void setName ( QString name ) { m_name=name;}
		void addGroupList ( KbfxDataGroupList * list );
		//out
		KbfxDataGroupList * getGroupList ( QString name );
		QStringList getStackIndex();
		KbfxDataGroupList * getStack ( QString name );

		Dict getDict() {return m_dict;}
		DataDict getDataDict() { return m_dataDict;}
		QString name() {return m_name;}
		uint getIndex ( QString name ) { return m_dict[name];}
		QString getSubGroupName ( uint id );
		int count() {return m_count;}
	private:
		StackMap m_stack;
		QStringList m_nameList;
		QString m_name;
		Dict m_dict;
		DataDict m_dataDict;
		uint m_count;

};

#endif