1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef GRAPHICAL_USER_INTERFACE_H
6#define GRAPHICAL_USER_INTERFACE_H
7
8
9#include "UserInterface.h"
10
11
12class BMessenger;
13class TeamWindow;
14
15
16class GraphicalUserInterface : public UserInterface {
17public:
18								GraphicalUserInterface();
19	virtual						~GraphicalUserInterface();
20
21	virtual	const char*			ID() const;
22
23	virtual	status_t			Init(Team* team,
24									UserInterfaceListener* listener);
25	virtual	void				Show();
26	virtual	void				Terminate();
27									// shut down the UI *now* -- no more user
28									// feedback
29
30	virtual status_t			LoadSettings(const TeamUiSettings* settings);
31	virtual status_t			SaveSettings(TeamUiSettings*& settings)	const;
32
33	virtual	void				NotifyUser(const char* title,
34									const char* message,
35									user_notification_type type);
36	virtual	int32				SynchronouslyAskUser(const char* title,
37									const char* message, const char* choice1,
38									const char* choice2, const char* choice3);
39
40private:
41			TeamWindow*			fTeamWindow;
42			BMessenger*			fTeamWindowMessenger;
43};
44
45
46#endif	// GRAPHICAL_USER_INTERFACE_H
47