diff --git a/force_bdss/notification_listeners/base_notification_listener_factory.py b/force_bdss/notification_listeners/base_notification_listener_factory.py index d3a4c681a39f23b6e58b72dfe8bf565cbb8feef5..f892d9c6bddb79e5ff1cd9a205704dec37a32d16 100644 --- a/force_bdss/notification_listeners/base_notification_listener_factory.py +++ b/force_bdss/notification_listeners/base_notification_listener_factory.py @@ -1,5 +1,7 @@ import logging -from traits.api import ABCHasStrictTraits, Instance, String, provides, Type +from traits.api import ( + ABCHasStrictTraits, Instance, String, provides, Type, Bool +) from envisage.plugin import Plugin from force_bdss.notification_listeners.base_notification_listener import \ @@ -24,6 +26,11 @@ class BaseNotificationListenerFactory(ABCHasStrictTraits): #: Name of the factory. User friendly for UI name = String() + #: If the factor should be visible in the UI. Set to false to make it + #: invisible. This is normally useful for notification systems that are + #: not supposed to be configured by the user. + ui_visible = Bool(True) + #: The listener class that must be instantiated. Define this to your #: listener class. listener_class = Type(BaseNotificationListener) diff --git a/force_bdss/notification_listeners/i_notification_listener_factory.py b/force_bdss/notification_listeners/i_notification_listener_factory.py index 3f6a07bf5d5821972b968578485a4f14fa9e3fb9..c1cc05abac59e0755723507c98dd6b5d76195206 100644 --- a/force_bdss/notification_listeners/i_notification_listener_factory.py +++ b/force_bdss/notification_listeners/i_notification_listener_factory.py @@ -1,4 +1,4 @@ -from traits.api import Interface, String, Instance, Type +from traits.api import Interface, String, Instance, Type, Bool from envisage.plugin import Plugin @@ -12,6 +12,8 @@ class INotificationListenerFactory(Interface): name = String() + ui_visible = Bool() + listener_class = Type( "force_bdss.notification_listeners" ".base_notification_listener.BaseNotificationListener"