summaryrefslogtreecommitdiffstats
path: root/kue/newgame.h
blob: 6cc0da5bbce2634237e2a3631b5f7c2bace12b11 (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
#ifndef _NEWGAME_H
#define _NEWGAME_H

#include <kdialogbase.h>
#include "pluginloader.h"
#include <ntqvaluelist.h>

class KColorButton;
class KComboBox;
class KueTeam;
class TQGridLayout;
class TQVBoxLayout;
class TQLabel;
class KLineEdit;
class TQPushButton;

struct playerRow
{
	TQLabel *label;
	KLineEdit *nameEdit;
	KColorButton *colorButton;
};

class newGameDialog : public KDialogBase
{
  TQ_OBJECT
  public:
	newGameDialog(TQWidget *parent, const char *name = 0);
	~newGameDialog();

	KuePluginInfo selectedPlugin();
	TQValueList<KueTeam*> selectedTeams();

  protected slots:
	void slotOk();
	void slotNewPluginSelection();

	void addPlayerRow();
	void removePlayerRow();

  protected:
	void removePlayerRow(playerRow *);
	void updateButtons();
	TQColor defaultPlayerColor(unsigned int player);

	TQWidget *_page;
	TQVBoxLayout *_top_layout;

	TQPushButton *_add_player_button;
	TQPushButton *_remove_player_button;

	TQWidget *_player_widget;
	TQGridLayout *_player_layout;
	TQPtrList<playerRow> _players;

	KComboBox *_game_type;
	TQValueList<KuePluginInfo> _plugins_list;

	unsigned int _max_players;
	unsigned int _min_players;
};

#endif