Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="InteractionNode"/> class.
        /// </summary>
        /// <param name="uiElement">The UI element.</param>
        /// <param name="controller">The routed message controller.</param>
        public InteractionNode(DependencyObject uiElement, IRoutedMessageController controller)
        {
            _controller = controller;
            _uiElement = uiElement;

#if !SILVERLIGHT
            var element = _uiElement as FrameworkElement;
            if (element != null)
            {
                if (element.IsLoaded)
                    Element_Loaded(element, new RoutedEventArgs());
                else element.Loaded += Element_Loaded;
            }
            else
            {
                var fce = _uiElement as FrameworkContentElement;
                if (fce != null)
                {
                    if (fce.IsLoaded)
                        Element_Loaded(fce, new RoutedEventArgs());
                    else fce.Loaded += Element_Loaded;
                }
            }
#else
            var element = _uiElement as FrameworkElement;
            if(element != null) element.Loaded += Element_Loaded;
#endif
        }
Пример #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="InteractionNode"/> class.
        /// </summary>
        /// <param name="uiElement">The UI element.</param>
        /// <param name="controller">The routed message controller.</param>
        public InteractionNode(DependencyObject uiElement, IRoutedMessageController controller)
        {
            this.controller = controller;
            this.uiElement  = uiElement;

            elementIsLoaded = View.ExecuteOnLoad(uiElement, Element_Loaded);
        }
Пример #3
0
 /// <summary>
 /// Initializes property host.
 /// </summary>
 /// <param name="controller">The controller.</param>
 /// <param name="actionFactory">The action factory.</param>
 /// <param name="serviceLocator">The service locator.</param>
 public static void Initialize(IRoutedMessageController controller, IActionFactory actionFactory,
                               IServiceLocator serviceLocator)
 {
     _controller = controller;
     _actionFactory = actionFactory;
     _serviceLocator = serviceLocator;
 }
Пример #4
0
 /// <summary>
 /// Initializes property host.
 /// </summary>
 /// <param name="controller">The controller.</param>
 /// <param name="actionFactory">The action factory.</param>
 /// <param name="serviceLocator">The service locator.</param>
 public static void Initialize(IRoutedMessageController controller, IActionFactory actionFactory,
                               IServiceLocator serviceLocator)
 {
     _controller     = controller;
     _actionFactory  = actionFactory;
     _serviceLocator = serviceLocator;
 }
        /// <summary>
        /// Initializes this module.
        /// </summary>
        protected override void Initialize()
        {
            _controller = ServiceLocator.GetInstance <IRoutedMessageController>();
            SetupDefaultInteractions();
            Message.Initialize(_controller, ServiceLocator.GetInstance <IParser>());

            Actions.Action.Initialize(
                ServiceLocator.GetInstance <IRoutedMessageController>(),
                ServiceLocator.GetInstance <IActionFactory>(),
                ServiceLocator
                );

            var parser = ServiceLocator.GetInstance <IParser>();
            var binder = ServiceLocator.GetInstance <IMessageBinder>();

            parser.RegisterMessageParser("Action", new ActionMessageParser(binder));
            parser.RegisterMessageParser("ResourceCommand", new CommandMessageParser(binder, CommandSource.Resource));
            parser.RegisterMessageParser("ContainerCommand", new CommandMessageParser(binder, CommandSource.Container));
            parser.RegisterMessageParser("BoundCommand", new CommandMessageParser(binder, CommandSource.Bound));

            View.Initialize(
                ServiceLocator.GetInstance <IViewStrategy>(),
                ServiceLocator.GetInstance <IBinder>()
                );
        }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageBinder"/> class.
 /// </summary>
 /// <param name="routedMessageController">The routed message controller.</param>
 public MessageBinder(IRoutedMessageController routedMessageController)
 {
     _routedMessageController = routedMessageController;
     _valueHandlers = new Dictionary<string, Func<IInteractionNode, object, object>>();
     
     InitializeDefaultValueHandlers();
 }
Пример #7
0
 /// <summary>
 /// Initializes property host.
 /// </summary>
 /// <param name="controller">The controller.</param>
 /// <param name="viewModelDescriptionFactory"></param>
 /// <param name="serviceLocator">The service locator.</param>
 public static void Initialize(IRoutedMessageController controller, IViewModelDescriptionFactory viewModelDescriptionFactory,
                               IServiceLocator serviceLocator)
 {
     Action.controller = controller;
     Action.viewModelDescriptionFactory = viewModelDescriptionFactory;
     Action.serviceLocator = serviceLocator;
 }
Пример #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MessageBinder"/> class.
        /// </summary>
        /// <param name="routedMessageController">The routed message controller.</param>
        public MessageBinder(IRoutedMessageController routedMessageController)
        {
            _routedMessageController = routedMessageController;
            _valueHandlers           = new Dictionary <string, Func <IInteractionNode, object, object> >();

            InitializeDefaultValueHandlers();
        }
Пример #9
0
 /// <summary>
 /// Initializes property host.
 /// </summary>
 /// <param name="controller">The controller.</param>
 /// <param name="viewModelDescriptionFactory"></param>
 /// <param name="serviceLocator">The service locator.</param>
 public static void Initialize(IRoutedMessageController controller, IViewModelDescriptionFactory viewModelDescriptionFactory,
                               IServiceLocator serviceLocator)
 {
     Action.controller = controller;
     Action.viewModelDescriptionFactory = viewModelDescriptionFactory;
     Action.serviceLocator = serviceLocator;
 }
Пример #10
0
        protected override void given_the_context_of()
        {
            _controller = Mock<IRoutedMessageController>();
            _parent = new StackPanel();
            _element = new Button();
            _parentNode = new InteractionNode(_parent, _controller);
            _node = new InteractionNode(_element, _controller);

            _parent.Children.Add(_element);
        }
Пример #11
0
        protected override void given_the_context_of()
        {
            controller = Mock <IRoutedMessageController>();
            parent     = new StackPanel();
            element    = new Button();
            element.Focus();
            parentNode = new InteractionNode(parent, controller);
            node       = new InteractionNode(element, controller);

            parent.Children.Add(element);
        }
Пример #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Parser"/> class.
        /// </summary>
        /// <param name="controller">The controller.</param>
        public Parser(IRoutedMessageController controller)
        {
            _controller = controller;

            RegisterTriggerParser("Event", new EventTriggerParser());
            RegisterTriggerParser("Gesture", new GestureTriggerParser());

#if !SILVERLIGHT
            RegisterTriggerParser("AttachedEvent", new AttachedEventTriggerParser());
            RegisterTriggerParser("CommandSource", new CommandTriggerParser());
#endif
        }
Пример #13
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Parser"/> class.
        /// </summary>
        /// <param name="controller">The controller.</param>
        public Parser(IRoutedMessageController controller)
        {
            _controller = controller;

            RegisterTriggerParser("Event", new EventTriggerParser());
            RegisterTriggerParser("Gesture", new GestureTriggerParser());

#if !SILVERLIGHT
            RegisterTriggerParser("AttachedEvent", new AttachedEventTriggerParser());
            RegisterTriggerParser("CommandSource", new CommandTriggerParser());
#endif
        }
Пример #14
0
        /// <summary>
        /// Finds the interaction defaults or fail.
        /// </summary>
        /// <param name="controller">The controller.</param>
        /// <param name="element">The element.</param>
        /// <returns></returns>
        public static InteractionDefaults FindDefaultsOrFail(this IRoutedMessageController controller, object element)
        {
            var type     = element.GetType();
            var defaults = controller.GetInteractionDefaults(type);

            if (defaults == null)
            {
                throw new CaliburnException(
                          string.Format("Could not locate InteractionDefaults for {0}.  Please register with the IRoutedMessageController.", type.Name)
                          );
            }

            return(defaults);
        }
Пример #15
0
        /// <summary>
        /// Initializes a new instance of the <see cref="InteractionNode"/> class.
        /// </summary>
        /// <param name="uiElement">The UI element.</param>
        /// <param name="controller">The routed message controller.</param>
        public InteractionNode(DependencyObject uiElement, IRoutedMessageController controller)
        {
            _controller = controller;
            _uiElement  = uiElement;

#if !SILVERLIGHT
            var element = _uiElement as FrameworkElement;
            if (element != null)
            {
                if (element.IsLoaded)
                {
                    Element_Loaded(element, new RoutedEventArgs());
                }
                else
                {
                    element.Loaded += Element_Loaded;
                }
            }
            else
            {
                var fce = _uiElement as FrameworkContentElement;
                if (fce != null)
                {
                    if (fce.IsLoaded)
                    {
                        Element_Loaded(fce, new RoutedEventArgs());
                    }
                    else
                    {
                        fce.Loaded += Element_Loaded;
                    }
                }
            }
#else
            var element = _uiElement as FrameworkElement;
            if (element != null)
            {
                element.Loaded += Element_Loaded;
            }
#endif
        }
 protected override void given_the_context_of()
 {
     _controller = new DefaultRoutedMessageController();
 }
Пример #17
0
 /// <summary>
 /// Initializes the message property host.
 /// </summary>
 /// <param name="controller">The controller.</param>
 /// <param name="parser">The parser.</param>
 public static void Initialize(IRoutedMessageController controller, IParser parser)
 {
     _controller = controller;
     _parser = parser;
 }
Пример #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultResult"/> class.
 /// </summary>
 /// <param name="routedMessageController">The routed message controller.</param>
 /// <param name="outcome">The outcome of processing the message.</param>
 public DefaultResult(IRoutedMessageController routedMessageController, MessageProcessingOutcome outcome)
 {
     _routedMessageController = routedMessageController;
     _outcome = outcome;
 }
Пример #19
0
 protected override void given_the_context_of()
 {
     controller = new DefaultRoutedMessageController();
 }
Пример #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DefaultResult"/> class.
 /// </summary>
 /// <param name="routedMessageController">The routed message controller.</param>
 /// <param name="outcome">The outcome of processing the message.</param>
 public DefaultResult(IRoutedMessageController routedMessageController, MessageProcessingOutcome outcome)
 {
     _routedMessageController = routedMessageController;
     _outcome = outcome;
 }
Пример #21
0
 /// <summary>
 /// Initializes the message property host.
 /// </summary>
 /// <param name="controller">The controller.</param>
 /// <param name="parser">The parser.</param>
 public static void Initialize(IRoutedMessageController controller, IParser parser)
 {
     _controller = controller;
     _parser     = parser;
 }