btrfs: Attempt to fix GCC2 build.
[haiku.git] / src / apps / debugger / user_interface / gui / GraphicalUserInterface.h
blobd031fb373dbc32a1680e29fc5273b423bea3502c
1 /*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2014-2016, 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
10 #include "UserInterface.h"
13 class BFilePanel;
14 class BHandler;
15 class BMessenger;
16 class TeamWindow;
19 class GraphicalUserInterface : public UserInterface {
20 public:
21 GraphicalUserInterface();
22 virtual ~GraphicalUserInterface();
24 virtual const char* ID() const;
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
33 virtual UserInterface* Clone() const;
35 virtual bool IsInteractive() const;
37 virtual status_t LoadSettings(const TeamUiSettings* settings);
38 virtual status_t SaveSettings(TeamUiSettings*& settings) const;
40 virtual void NotifyUser(const char* title,
41 const char* message,
42 user_notification_type type);
43 virtual void NotifyBackgroundWorkStatus(
44 const char* message);
45 virtual int32 SynchronouslyAskUser(const char* title,
46 const char* message, const char* choice1,
47 const char* choice2, const char* choice3);
48 virtual status_t SynchronouslyAskUserForFile(entry_ref* _ref);
49 private:
50 class FilePanelHandler;
52 private:
53 TeamWindow* fTeamWindow;
54 BMessenger* fTeamWindowMessenger;
55 FilePanelHandler* fFilePanelHandler;
56 BFilePanel* fFilePanel;
60 #endif // GRAPHICAL_USER_INTERFACE_H