From 7f77789d5b4e4eb34bad204d7a1ebc00b3006db6 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Fri, 14 Aug 2015 20:42:11 -0400 Subject: [PATCH] Debugger: Add work notification hook to UserInterface. UserInterface: - Add new hook function used to notify the UI that some form of background work is taking place for informational purposes, i.e. no interaction required. Implement accordingly in GraphicalUserInterface. --- src/apps/debugger/user_interface/UserInterface.h | 9 +++++++++ .../user_interface/cli/CommandLineUserInterface.cpp | 6 ++++++ .../user_interface/cli/CommandLineUserInterface.h | 2 ++ .../user_interface/gui/GraphicalUserInterface.cpp | 7 +++++++ .../debugger/user_interface/gui/GraphicalUserInterface.h | 4 +++- 5 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/apps/debugger/user_interface/UserInterface.h b/src/apps/debugger/user_interface/UserInterface.h index b87fedf44f..8783cdfc18 100644 --- a/src/apps/debugger/user_interface/UserInterface.h +++ b/src/apps/debugger/user_interface/UserInterface.h @@ -66,6 +66,15 @@ public: virtual void NotifyUser(const char* title, const char* message, user_notification_type type) = 0; + virtual void NotifyBackgroundWorkStatus(const char* message) + = 0; + // this is used to inform the user about + // background processing work, but doesn't + // otherwise require any form of + // user interaction, i.e. for a status bar + // to indicate that debug information is + // being parsed. + virtual int32 SynchronouslyAskUser(const char* title, const char* message, const char* choice1, const char* choice2, const char* choice3) diff --git a/src/apps/debugger/user_interface/cli/CommandLineUserInterface.cpp b/src/apps/debugger/user_interface/cli/CommandLineUserInterface.cpp index dfbe7c598d..93d1d45b5e 100644 --- a/src/apps/debugger/user_interface/cli/CommandLineUserInterface.cpp +++ b/src/apps/debugger/user_interface/cli/CommandLineUserInterface.cpp @@ -203,6 +203,12 @@ CommandLineUserInterface::NotifyUser(const char* title, const char* message, } +void +CommandLineUserInterface::NotifyBackgroundWorkStatus(const char* message) +{ +} + + int32 CommandLineUserInterface::SynchronouslyAskUser(const char* title, const char* message, const char* choice1, const char* choice2, diff --git a/src/apps/debugger/user_interface/cli/CommandLineUserInterface.h b/src/apps/debugger/user_interface/cli/CommandLineUserInterface.h index 8eec3a3c87..bb59ce3750 100644 --- a/src/apps/debugger/user_interface/cli/CommandLineUserInterface.h +++ b/src/apps/debugger/user_interface/cli/CommandLineUserInterface.h @@ -42,6 +42,8 @@ public: virtual void NotifyUser(const char* title, const char* message, user_notification_type type); + virtual void NotifyBackgroundWorkStatus( + const char* message); virtual int32 SynchronouslyAskUser(const char* title, const char* message, const char* choice1, const char* choice2, const char* choice3); diff --git a/src/apps/debugger/user_interface/gui/GraphicalUserInterface.cpp b/src/apps/debugger/user_interface/gui/GraphicalUserInterface.cpp index 8daac7f774..68a9e16134 100644 --- a/src/apps/debugger/user_interface/gui/GraphicalUserInterface.cpp +++ b/src/apps/debugger/user_interface/gui/GraphicalUserInterface.cpp @@ -248,6 +248,13 @@ GraphicalUserInterface::NotifyUser(const char* title, const char* message, } +void +GraphicalUserInterface::NotifyBackgroundWorkStatus(const char* message) +{ + fTeamWindow->DisplayBackgroundStatus(message); +} + + int32 GraphicalUserInterface::SynchronouslyAskUser(const char* title, const char* message, const char* choice1, const char* choice2, diff --git a/src/apps/debugger/user_interface/gui/GraphicalUserInterface.h b/src/apps/debugger/user_interface/gui/GraphicalUserInterface.h index 59ec0292a3..c86436f63c 100644 --- a/src/apps/debugger/user_interface/gui/GraphicalUserInterface.h +++ b/src/apps/debugger/user_interface/gui/GraphicalUserInterface.h @@ -1,6 +1,6 @@ /* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. - * Copyright 2014, Rene Gollent, rene@gollent.com. + * Copyright 2014-2015, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #ifndef GRAPHICAL_USER_INTERFACE_H @@ -38,6 +38,8 @@ public: virtual void NotifyUser(const char* title, const char* message, user_notification_type type); + virtual void NotifyBackgroundWorkStatus( + const char* message); virtual int32 SynchronouslyAskUser(const char* title, const char* message, const char* choice1, const char* choice2, const char* choice3);