Exemplo n.º 1
0
        void IView.Insert(int index, IViewItem item)
        {
            var imp = (Item)item;

            dataSource.Items.Insert(index, imp);
            UpdateItem(imp);
        }
Exemplo n.º 2
0
        public void Update()
        {
            IViewItem selectedItem = ViewSelect.SelectedItem;

            if (selectedItem == null)
            {
                Clear();
                return;
            }

            Messenger selectedMessenger = (Messenger)selectedItem.GetValue();

            List <MessageWrapper> messages = new List <MessageWrapper>();

            if (selectedMessenger == null)
            {
                foreach (ViewItem <Messenger> supplierItem in Supplier.ViewItems)
                {
                    if (supplierItem.Value != null)
                    {
                        messages.AddRange(supplierItem.Value.Messages.Select(
                                              x => new MessageWrapper(x, supplierItem.Name)));
                    }
                }
            }
            else
            {
                messages.AddRange(selectedMessenger.Messages.Select(
                                      x => new MessageWrapper(x, selectedItem.Name)));
            }

            MessagesGrid.ItemsSource = messages;
        }
Exemplo n.º 3
0
        private static void CreateViewItems(ConfigurationProvider <RealTimeConfig> configProvider, IViewItemFactory itemFactory, ICollection <IViewItem> viewItems)
        {
            var properties = configProvider.Configuration.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance)
                             .Select(p => new { Property = p, Attribute = GetCustomItemAttribute <ConfigItemAttribute>(p) })
                             .Where(v => v.Attribute != null);

            foreach (var tab in properties.GroupBy(p => p.Attribute.TabId).OrderBy(p => p.Key))
            {
                IContainerViewItem tabItem = itemFactory.CreateTabItem(tab.Key);
                viewItems.Add(tabItem);

                foreach (var group in tab.GroupBy(p => p.Attribute.GroupId).OrderBy(p => p.Key))
                {
                    IContainerViewItem containerItem;
                    if (string.IsNullOrEmpty(group.Key))
                    {
                        containerItem = tabItem;
                    }
                    else
                    {
                        containerItem = itemFactory.CreateGroup(tabItem, group.Key);
                        viewItems.Add(containerItem);
                    }

                    foreach (var item in group.OrderBy(i => i.Attribute.Order))
                    {
                        IViewItem viewItem = CreateViewItem(containerItem, item.Property, configProvider, itemFactory);
                        if (viewItem != null)
                        {
                            viewItems.Add(viewItem);
                        }
                    }
                }
            }
        }
        public void ShowContextMenu(IViewItem objectRequestingPopup, Point popupLocation)
        {
            var viewItem    = objectRequestingPopup ?? new RootViewItemPassiveTransport();
            var contextMenu = _viewItemContextMenuFactory.CreateFor(viewItem, this);

            contextMenu.Show(_view, popupLocation);
        }
Exemplo n.º 5
0
        void IViewEvents.OnItemChecked(IViewItem item)
        {
            if (updateLock > 0 || !item.Checked.HasValue)
            {
                return;
            }
            var singleSource = item.Datum as LogSourceItemData;

            if (singleSource != null)
            {
                singleSource.LogSource.Visible = item.Checked.GetValueOrDefault();
                if (singleSource.Parent != null)
                {
                    singleSource.Parent.Checked = singleSource.Parent.LogSources.All(s => s.Checked.GetValueOrDefault());
                }
                return;
            }
            var items = (item.Datum as SourcesContainerItemData)?.LogSources;

            if (items != null)
            {
                foreach (var s in items)
                {
                    s.LogSource.Visible = item.Checked.GetValueOrDefault();
                }
                return;
            }
        }
Exemplo n.º 6
0
        public static ConfigUI Create(object config, IViewItemFactory itemFactory)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            if (itemFactory == null)
            {
                throw new ArgumentNullException(nameof(itemFactory));
            }

            var properties = config.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance)
                             .Select(p => new { Property = p, Attribute = GetCustomItemAttribute <ConfigItemAttribute>(p) })
                             .Where(v => v.Attribute != null);

            var viewItems = new List <IViewItem>();

            foreach (var group in properties.GroupBy(p => p.Attribute.GroupId).OrderBy(p => p.Key))
            {
                IContainerViewItem groupItem = itemFactory.CreateGroup(group.Key);
                viewItems.Add(groupItem);

                foreach (var item in group.OrderBy(i => i.Attribute.Order))
                {
                    IViewItem viewItem = CreateViewItem(groupItem, item.Property, config, itemFactory);
                    if (viewItem != null)
                    {
                        viewItems.Add(viewItem);
                    }
                }
            }

            return(new ConfigUI(viewItems));
        }
 protected override void Context()
 {
     base.Context();
     _presenter = A.Fake <IDescriptorConditionListPresenter>();
     _viewItem  = A.Fake <IViewItem>();
     A.CallTo(() => _presenter.Subject).Returns(new ContainerObserverBuilder());
 }
Exemplo n.º 8
0
 public void OnThreadPropertiesMenuItemClicked(IViewItem item)
 {
     if (item.Thread.IsDisposed)
     {
         return;
     }
     navHandler.ExecuteThreadPropertiesDialog(item.Thread);
 }
Exemplo n.º 9
0
 protected override void Context()
 {
     base.Context();
     _location = new Point();
     A.CallTo(() => _viewItemContextMenuFactory.CreateFor(A <IViewItem> ._, sut))
     .Invokes(x => _viewItem = x.GetArgument <IViewItem>(0))
     .Returns(A.Fake <IContextMenu>());
 }
Exemplo n.º 10
0
        public IContextMenu CreateFor(IViewItem viewItem, IPresenterWithContextMenu <IViewItem> presenter)
        {
            var contestMenu   = IoC.Resolve <IContextMenuForApplicationMoleculeBuilder>();
            var editPresenter = presenter.DowncastTo <IEditApplicationBuilderPresenter>();

            contestMenu.InitialisedWith(viewItem as IObjectBaseDTO, editPresenter.Subject as IApplicationBuilder);
            return(contestMenu);
        }
 protected override void Context()
 {
     base.Context();
     _viewItem = A.Fake <IViewItem>();
     _point    = new Point(1, 2);
     _menu     = A.Fake <IContextMenu>();
     A.CallTo(() => _viewItemContextMenuFactory.CreateFor(_viewItem, sut)).Returns(_menu);
 }
Exemplo n.º 12
0
        /// <summary>
        /// Creates the mod's configuration page using the specified object as data source.
        /// </summary>
        /// <param name="config">The configuration object to use as data source.</param>
        /// <param name="itemFactory">The view item factory to use for creating the UI elements.</param>
        /// <returns>A configured instance of the <see cref="ConfigUI"/> class.</returns>
        /// <exception cref="ArgumentNullException">Thrown when any argument is null.</exception>
        public static ConfigUI Create(RealTimeConfig config, IViewItemFactory itemFactory)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            if (itemFactory == null)
            {
                throw new ArgumentNullException(nameof(itemFactory));
            }

            var properties = config.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance)
                             .Select(p => new { Property = p, Attribute = GetCustomItemAttribute <ConfigItemAttribute>(p) })
                             .Where(v => v.Attribute != null);

            var viewItems = new List <IViewItem>();

            foreach (var tab in properties.GroupBy(p => p.Attribute.TabId).OrderBy(p => p.Key))
            {
                IContainerViewItem tabItem = itemFactory.CreateTabItem(tab.Key);
                viewItems.Add(tabItem);

                foreach (var group in tab.GroupBy(p => p.Attribute.GroupId).OrderBy(p => p.Key))
                {
                    IContainerViewItem containerItem;
                    if (string.IsNullOrEmpty(group.Key))
                    {
                        containerItem = tabItem;
                    }
                    else
                    {
                        containerItem = itemFactory.CreateGroup(tabItem, group.Key);
                        viewItems.Add(containerItem);
                    }

                    foreach (var item in group.OrderBy(i => i.Attribute.Order))
                    {
                        IViewItem viewItem = CreateViewItem(containerItem, item.Property, config, itemFactory);
                        if (viewItem != null)
                        {
                            viewItems.Add(viewItem);
                        }
                    }
                }
            }

            var result = new ConfigUI(config, viewItems);

            IContainerViewItem toolsTab = itemFactory.CreateTabItem(ToolsId);

            viewItems.Add(toolsTab);
            IViewItem resetButton = itemFactory.CreateButton(toolsTab, ResetToDefaultsId, result.ResetToDefaults);

            viewItems.Add(resetButton);

            return(result);
        }
Exemplo n.º 13
0
        public void ShowContextMenu(IViewItem viewItem, Point popupLocation)
        {
            if (_journalDiagram == null)
            {
                return;
            }

            _viewItemContextMenuFactory.CreateFor(viewItem, this).Show(_view, popupLocation);
        }
Exemplo n.º 14
0
        void IView.SetTopItem(IViewItem item)
        {
            var node = treeViewController.Map(item);

            if (node != null)
            {
                treeView.TopNode = node;
            }
        }
 protected override void Context()
 {
     base.Context();
     _node        = A.Fake <ITreeNode>();
     _viewItem    = A.Fake <IViewItem>();
     _contextMenu = A.Fake <IContextMenu>();
     A.CallTo(() => _node.TagAsObject).Returns(_viewItem);
     A.CallTo(() => _viewItemContextMenuFactory.CreateFor(_viewItem, sut)).Returns(_contextMenu);
 }
Exemplo n.º 16
0
        public void ShowContextMenu(IViewItem objectRequestingPopup, Point popupLocation)
        {
            if (objectRequestingPopup == null)
            {
                objectRequestingPopup = GetRootItem();
            }
            var contextMenu = _viewItemContextMenuFactory.CreateFor(objectRequestingPopup, this);

            contextMenu.Show(_view, popupLocation);
        }
Exemplo n.º 17
0
        public void OnSearchThisThreadMessagesMenuItemClicked(IViewItem item)
        {
            IThread t = item.Thread;

            if (t.IsDisposed)
            {
                return;
            }
            // todo: implement me
        }
Exemplo n.º 18
0
        public bool IsSatisfiedBy(IViewItem viewItem, IPresenterWithContextMenu <IViewItem> presenter)
        {
            var buildingBlockViewItem = viewItem as BuildingBlockViewItem;

            if (buildingBlockViewItem == null)
            {
                return(false);
            }
            return(buildingBlockViewItem.BuildingBlock.IsAnImplementationOf <TBuildingBlock>());
        }
Exemplo n.º 19
0
        void IView.SetTopItem(IViewItem item)
        {
            var lvi = Cast(item);

            if (lvi != null && lvi.Parent != null && !lvi.Parent.IsExpanded)
            {
                lvi.Parent.Expand();
            }
            list.TopItem = lvi;
        }
Exemplo n.º 20
0
        private IContextMenu createContextMenu(IViewItem viewItem, IDescriptorConditionListPresenter presenter)
        {
            var subject = presenter.Subject;

            var doNotAddAllCondition = (subject.IsAnImplementationOf <SumFormula>() ||
                                        subject.IsAnImplementationOf <ITransportBuilder>() ||
                                        subject.IsAnImplementationOf <IContainerObserverBuilder>());

            return(new ContextMenuForDescriptorCondition(presenter, viewItem, allowAddAllCondition: !doNotAddAllCondition));
        }
Exemplo n.º 21
0
        void IView.Remove(IViewItem item)
        {
            var lvi = Cast(item);

            if (lvi == null)
            {
                return;
            }
            lvi.Cleanup();
        }
Exemplo n.º 22
0
        public void ShowContextMenu(IViewItem viewItem, Point popupLocation)
        {
            if (viewItem == null)
            {
                viewItem = new JournalDTO();
            }

            var contextMenu = _viewItemContextMenuFactory.CreateFor(viewItem, this);

            contextMenu.Show(_view, popupLocation);
        }
        public override void ShowContextMenu(IViewItem objectRequestingPopup, Point popupLocation)
        {
            if (!SimulationFavorites().Any())
            {
                return;
            }

            var contextMenu = _contextMenuFactory.CreateFor(objectRequestingPopup, this);

            contextMenu.Show(_view, popupLocation);
        }
Exemplo n.º 24
0
        void IView.Remove(IViewItem item)
        {
            var imp = (Item)item;

            imp.update = null;
            imp.events = null;
            dataSource.Items.Remove(imp);
            if (!updating)
            {
                DoFullUpdate();
            }
        }
 public bool IsSatisfiedBy(IViewItem objectRequestingContextMenu, IPresenterWithContextMenu <IViewItem> presenter)
 {
     if (objectRequestingContextMenu == null && presenter.IsAnImplementationOf <IEventGroupListPresenter>())
     {
         return(true);
     }
     if (objectRequestingContextMenu.IsAnImplementationOf <EventGroupBuilderDTO>())
     {
         return(true);
     }
     return(false);
 }
        void IView.Remove(IViewItem item)
        {
            var li = (SourcesListItem)item;

            li.updater    = null;
            li.viewEvents = null;
            (li.parent?.items ?? dataSource.Items).Remove(li);
            if (!updating)
            {
                DoFullUpdate();
            }
        }
Exemplo n.º 27
0
        public void SetIsPlaying(IViewItem viewItem)
        {
            if (viewItem == _currentlyPlayingView)
                return;

            if (_currentlyPlayingView != null)
                _currentlyPlayingView.IsPlaying = false;

            if (viewItem != null)
                viewItem.IsPlaying = true;

            _currentlyPlayingView = viewItem;
        }
Exemplo n.º 28
0
        public bool IsSatisfiedBy(IViewItem objectRequestingContextMenu, IPresenterWithContextMenu <IViewItem> presenter)
        {
            var objectBaseDTO = objectRequestingContextMenu as IObjectBaseDTO;

            if (objectBaseDTO == null)
            {
                return(false);
            }

            var entity = _context.Get <IEntity>(objectBaseDTO.Id);

            return(IsSatisfiedBy(entity, presenter));
        }
Exemplo n.º 29
0
        public string Build(IViewItem viewItem)
        {
            string html = string.Empty;

            var tswitch = new TypeSwitch()
                          .Case((TextItem item) => html       = BuildTextItem(item))
                          .Case((LineBreakItem item) => html  = "<br />")
                          .Case((ContainerStart item) => html = BuildContainerStart(item))
                          .Case((ContainerEnd item) => html   = $"</div><!-- {item.Id} -->")
            ;

            tswitch.Switch(viewItem);
            return(html);
        }
Exemplo n.º 30
0
        void IViewEvents.OnItemChecked(IViewItem item)
        {
            if (updateLock > 0)
            {
                return;
            }
            IFilter s = item.Filter;

            if (s != null && !s.IsDisposed && s.Enabled != item.Checked)
            {
                s.Enabled = item.Checked.GetValueOrDefault();
                OnFilterChecked();
            }
        }
Exemplo n.º 31
0
        public void ShowContextMenu(IViewItem viewItem, Point popupLocation)
        {
            if (_formula == null)
            {
                return;
            }
            if (ReadOnly)
            {
                return;
            }

            var contextMenu = _contextMenuFactory.CreateFor(viewItem ?? new EmptyFormulaUsableDTO(), this);

            contextMenu.Show(View, popupLocation);
        }