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