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 12 class BMessenger; 13 class TeamWindow; 14 15 16 class GraphicalUserInterface : public UserInterface { 17 public: 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 40 private: 41 TeamWindow* fTeamWindow; 42 BMessenger* fTeamWindowMessenger; 43 }; 44 45 46 #endif // GRAPHICAL_USER_INTERFACE_H 47