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