NotificationDisplay: fill in some default implementation for the controller
This commit is contained in:
parent
0c8151cb2f
commit
12244afc90
3 changed files with 36 additions and 11 deletions
|
|
@ -37,35 +37,53 @@
|
||||||
#ifndef GUI_CTRL_NOTIFICATION_HUB_H
|
#ifndef GUI_CTRL_NOTIFICATION_HUB_H
|
||||||
#define GUI_CTRL_NOTIFICATION_HUB_H
|
#define GUI_CTRL_NOTIFICATION_HUB_H
|
||||||
|
|
||||||
#include "gui/gtk-base.hpp"
|
#include "gui/widget/error-log-widget.hpp"
|
||||||
#include "lib/nocopy.hpp"
|
#include "gui/model/controller.hpp"
|
||||||
|
#include "lib/diff/tree-mutator.hpp"
|
||||||
|
|
||||||
#include <memory>
|
//#include <memory>
|
||||||
#include <list>
|
//#include <list>
|
||||||
|
|
||||||
|
|
||||||
namespace gui {
|
namespace gui {
|
||||||
namespace workspace { class WorkspaceWindow; }
|
|
||||||
namespace ctrl {
|
namespace ctrl {
|
||||||
|
|
||||||
|
using lib::diff::TreeMutator;
|
||||||
|
|
||||||
using std::list;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Service to receive and display error, warning and notification messages.
|
* Service to receive and display error, warning and notification messages.
|
||||||
* These are sent over the UI-Bus through the NotificationService; after receiving
|
* These are sent over the UI-Bus through the NotificationService; after receiving
|
||||||
* such a message, this controller ensures to display the message and altert the
|
* such a message, this controller ensures to display the message and alert the
|
||||||
* user, while not blocking the overall UI.
|
* user, while not blocking the overall UI.
|
||||||
*/
|
*/
|
||||||
class NotificationHub
|
class NotificationHub
|
||||||
: util::NonCopyable
|
: public model::Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/** content population and manipulation via UI-Bus */
|
||||||
|
void
|
||||||
|
buildMutator (lib::diff::TreeMutator::Handle buffer) override
|
||||||
|
{
|
||||||
|
// using Attrib = std::pair<const string,string>;
|
||||||
|
// using lib::diff::collection;
|
||||||
|
|
||||||
|
buffer.create (
|
||||||
|
TreeMutator::build()
|
||||||
|
);
|
||||||
|
UNIMPLEMENTED ("create a sensible binding between AssetManager in the section and AssetController in the UI");
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NotificationHub ();
|
|
||||||
|
public:
|
||||||
|
NotificationHub (ID identity, ctrl::BusTerm& nexus)////////////////////////////////////TODO #1099 : define the ID hard-wired at an appropriate location, so it can be used from the NotificationService impl as well
|
||||||
|
: model::Controller{identity, nexus}
|
||||||
|
{ }
|
||||||
|
|
||||||
|
~NotificationHub() { };
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@
|
||||||
** Common Abstraction of all sub-controller, coordinated by the UI-Bus.
|
** Common Abstraction of all sub-controller, coordinated by the UI-Bus.
|
||||||
**
|
**
|
||||||
** @todo as of 1/2015 this is complete WIP-WIP-WIP
|
** @todo as of 1/2015 this is complete WIP-WIP-WIP
|
||||||
|
** @todo as of 8/2018 we should consider to distill a common default implementation usable for most controllers.
|
||||||
|
** especially, there might be a default (NOP) implementation of the diff mutator builder
|
||||||
**
|
**
|
||||||
** @see model::Tangible
|
** @see model::Tangible
|
||||||
** @see gui::UIBus
|
** @see gui::UIBus
|
||||||
|
|
|
||||||
|
|
@ -1490,6 +1490,9 @@
|
||||||
<arrowlink COLOR="#455086" DESTINATION="ID_396920290" ENDARROW="Default" ENDINCLINATION="-28;-42;" ID="Arrow_ID_729082861" STARTARROW="None" STARTINCLINATION="101;-7;"/>
|
<arrowlink COLOR="#455086" DESTINATION="ID_396920290" ENDARROW="Default" ENDINCLINATION="-28;-42;" ID="Arrow_ID_729082861" STARTARROW="None" STARTINCLINATION="101;-7;"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
|
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1533771813324" ID="ID_930319427" MODIFIED="1533771830887" TEXT="wohin ist die ID selber definiert">
|
||||||
|
<icon BUILTIN="help"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1504200793444" ID="ID_340215113" MODIFIED="1533608441263" TEXT="mißbrauche InfoBox">
|
<node CREATED="1504200793444" ID="ID_340215113" MODIFIED="1533608441263" TEXT="mißbrauche InfoBox">
|
||||||
<arrowlink COLOR="#f5dd67" DESTINATION="ID_19179662" ENDARROW="Default" ENDINCLINATION="743;-1563;" ID="Arrow_ID_1195014928" STARTARROW="None" STARTINCLINATION="-452;605;"/>
|
<arrowlink COLOR="#f5dd67" DESTINATION="ID_19179662" ENDARROW="Default" ENDINCLINATION="743;-1563;" ID="Arrow_ID_1195014928" STARTARROW="None" STARTINCLINATION="-452;605;"/>
|
||||||
|
|
@ -1620,7 +1623,7 @@
|
||||||
</html>
|
</html>
|
||||||
</richcontent>
|
</richcontent>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1533768930822" ID="ID_1792377980" MODIFIED="1533768947198">
|
<node CREATED="1533768930822" ID="ID_1792377980" MODIFIED="1533771786813">
|
||||||
<richcontent TYPE="NODE"><html>
|
<richcontent TYPE="NODE"><html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
|
|
@ -1632,9 +1635,11 @@
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
</richcontent>
|
</richcontent>
|
||||||
|
<icon BUILTIN="button_ok"/>
|
||||||
</node>
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node CREATED="1533769126436" ID="ID_1000961938" MODIFIED="1533769129591" TEXT="wohin?">
|
<node CREATED="1533769126436" ID="ID_1000961938" MODIFIED="1533771781272" TEXT="wohin?">
|
||||||
|
<icon BUILTIN="button_ok"/>
|
||||||
<node CREATED="1533769130987" ID="ID_220812854" MODIFIED="1533769163306" TEXT="ctrl">
|
<node CREATED="1533769130987" ID="ID_220812854" MODIFIED="1533769163306" TEXT="ctrl">
|
||||||
<icon BUILTIN="forward"/>
|
<icon BUILTIN="forward"/>
|
||||||
</node>
|
</node>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue