summaryrefslogtreecommitdiffstats
path: root/kanagram/src/leitnersystem.h
blob: 7d99a66737823fe570fd34887eb0d4a02913f3fa (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
65
66
67
//
// C++ Interface: leitnersystem
//
// Description: 
//
//
// Author: Martin Pfeiffer <[email protected]>, (C) 2005
//
// Copyright: See COPYING file that comes with this distribution
//
//

#include <tqstring.h>
#include <tqstringlist.h>
#include <tqvaluelist.h>
#include "leitnerbox.h"

#ifndef LEITNERSYSTEM_H
#define LEITNERSYSTEM_H


/**
@author Martin Pfeiffer
*/
class LeitnerSystem
{
public:
	LeitnerSystem();
	LeitnerSystem( TQValueList<LeitnerBox>& boxes, TQString name );

	~LeitnerSystem();

	int getNumberOfBoxes();				//returns the number of boxes in the system
	TQStringList getBoxNameList();			//returns a list with the boxes names

	TQString& getSystemName();			//returns the systems name
	void setSystemName( const TQString& name );		//sets the systems name

	LeitnerBox* getBoxWithNumber( int number );	//returns box by number
	LeitnerBox* getBoxWithName( const TQString& name );//returns box by name
	int getNumber( LeitnerBox* box );
	const TQString& getBox( int i );
	
	const TQString& getNextBox( TQString& previousBox );	//returns the next box for the next question
	
	const TQString& getCorrectBox( int box );	//returns the correct word box of "int box"
	const TQString& getWrongBox( int box );		//returns the wrong word box of "int box"
	int getWrongBoxNumber( int box );
	int getCorrectBoxNumber( int box );
	void setCorrectBox( const TQString& box, const TQString& correctWordBox );
	void setWrongBox( const TQString& box, const TQString& wrongWordBox );
	bool setBoxName( int box, const TQString& name );
	bool setBoxName( LeitnerBox* box, const TQString& name );
	
	//inserts a box with number, name, correct and wrong word box
	bool insertBox( const TQString& name, int correctWordBox, int wrongWordBox );
	bool insertBox( const TQString& name );
	void deleteBox( int box );
	void deleteBox( LeitnerBox* box );

private:
	TQString m_systemName;				//the systems name

	TQValueList<LeitnerBox> m_boxes;
};

#endif