1 /* -*- Mode: C++; c-basic-offset: 2; tab-width: 2; indent-tabs-mode: nil -*-
2  *
3  * Quadra, an action puzzle game
4  * Copyright (C) 1998-2000  Ludus Design
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20 #ifndef _HEADER_MENU_DEMO_CENTRAL
21 #define _HEADER_MENU_DEMO_CENTRAL
22 
23 #include <vector>
24 
25 #include "menu_base.h"
26 #include "zone_list.h"
27 #include "score.h"
28 #include "listbox.h"
29 
30 class Zone;
31 class Bitmap;
32 class Zone_listbox;
33 class Zone_text_input;
34 class Zone_text;
35 class Res;
36 class Playback;
37 class Dict;
38 
39 class Menu_demo_central: public Menu_standard {
40 	class Listitem: public Listable {
41 	public:
42 		bool isfolder;
43 		char file_date[1024];
44 		Dword file_size;
45 		Listitem(const char *n, Font *f);
46 		virtual ~Listitem();
47 	};
48 	class Player_infos {
49 	public:
50 		Byte team;
51 		Byte player;
52 		char name[40];
53 		Player_infos(int pplayer);
54 	};
55 	Zone_list list;
56 	Score score;
57 	std::vector<Player_infos*> pinfos;
58 	Zone_text_field *z_status, *z_name, *z_date, *z_version, *z_duration, *z_type, *z_end;
59 	Zone *z_play, *z_delete;
60 	char s_date[1024], s_version[1024], s_duration[1024], s_type[1024], s_end[1024], s_name[1024];
61 	Playback *play;
62 	Font *fcourrier[MAXTEAMS];
63 	void clear_detail();
64 	void refresh_detail();
65 	void drive_playback(const char *n);
66 	void populate_dict(Dict *d);
67 public:
68 	Zone *cancel;
69 	Bitmap *bit;
70 	Zone_listbox *z_list;
71 	Zone_text_input *z_dir;
72 	int quel;
73 	char find_directory[1024];
74 	Menu_demo_central();
75 	virtual ~Menu_demo_central();
76 	virtual void step();
77 	void reload();
78 };
79 
80 #endif
81