public LayoutListViewTab([NotNull] LayoutDesigner layoutDesigner)
        {
            InitializeComponent();

            LayoutDesigner = layoutDesigner;

            NoItems.DragOver += EmptyDragOver;
            NoItems.Drop     += EmptyDrop;

            List.DragOver += HandleDragOver;
            List.Drop     += HandleDrop;
            List.PreviewMouseLeftButtonDown  += HandleMouseLeftButtonDown;
            List.PreviewMouseRightButtonDown += HandleMouseRightButtonDown;
            List.MouseMove += HandleMouseMove;

            List.ItemsSource = items;

            var view = (CollectionView)CollectionViewSource.GetDefaultView(List.ItemsSource);

            view.Filter = RenderingFilter;

            dragOrigin.X = double.MinValue;
            dragOrigin.Y = double.MinValue;

            listViewAdorner = new ListViewAdorner(List);

            Loaded += ControlLoaded;
        }
Ejemplo n.º 2
0
        public LayoutTreeViewContext([NotNull] LayoutDesigner layoutDesigner, [NotNull] IEnumerable <BaseTreeViewItem> treeViewItems, [CanBeNull] LayoutDesignerItem selectedItem, [NotNull] IEnumerable <LayoutDesignerItem> selectedItems) : base(layoutDesigner, selectedItem, selectedItems)
        {
            Assert.ArgumentNotNull(layoutDesigner, nameof(layoutDesigner));
            Assert.ArgumentNotNull(treeViewItems, nameof(treeViewItems));
            Assert.ArgumentNotNull(selectedItems, nameof(selectedItems));

            TreeViewItems = treeViewItems;
        }
Ejemplo n.º 3
0
        public void UpdateTracking()
        {
            LayoutDesigner.UpdateRibbon(this);

            AppHost.Selection.Track(LayoutDesigner.Pane, GetSelectedObjects());

            UpdatePropertiesPane();
        }
Ejemplo n.º 4
0
        public LayoutListView([NotNull] LayoutDesigner layoutDesigner)
        {
            Assert.ArgumentNotNull(layoutDesigner, nameof(layoutDesigner));

            InitializeComponent();

            LayoutDesigner = layoutDesigner;
            Tabs           = new List <LayoutListViewTab>();
        }
Ejemplo n.º 5
0
        public PdfDrawer(PdfContext pdfContext, LabelContext labelContext)
        {
            this._pdfContext   = pdfContext;
            this._labelContext = labelContext;

            var designer       = new LayoutDesigner(pdfContext, labelContext);
            var layoutProperty = designer.Design();

            this._layoutProperty = layoutProperty;

            this._labelDrawer = new LabelDrawer(labelContext, layoutProperty);
        }
Ejemplo n.º 6
0
        private bool MatchesSpeakCoreVersion([NotNull] ItemHeader itemHeader, [NotNull] LayoutDesigner layoutDesigner)
        {
            Debug.ArgumentNotNull(itemHeader, nameof(itemHeader));
            Debug.ArgumentNotNull(layoutDesigner, nameof(layoutDesigner));

            if (string.IsNullOrEmpty(layoutDesigner.SpeakCoreVersion))
            {
                return(true);
            }

            var version = ((IItemData)itemHeader).GetData("ex.speakversionid") ?? string.Empty;

            return(string.IsNullOrEmpty(version) || string.IsNullOrEmpty(layoutDesigner.SpeakCoreVersionId) || string.Equals(version, layoutDesigner.SpeakCoreVersionId, StringComparison.OrdinalIgnoreCase));
        }
Ejemplo n.º 7
0
        public LayoutTreeView([NotNull] LayoutDesigner layoutDesigner)
        {
            Assert.ArgumentNotNull(layoutDesigner, nameof(layoutDesigner));

            InitializeComponent();

            LayoutDesigner = layoutDesigner;

            TreeView.GetContext            = GetContext;
            TreeView.SelectedItemsChanged += RaiseSelectedItemsChanged;

            PropertyWindow.Content       = EmptySelectionPane;
            PropertySplitterColumn.Width = new GridLength(AppHost.Settings.GetDouble(PropertySplitter, "Width", 200));
        }
Ejemplo n.º 8
0
        public void RaiseModified([NotNull] object sender, [NotNull] EventArgs eventArgs)
        {
            Assert.ArgumentNotNull(sender, nameof(sender));
            Assert.ArgumentNotNull(eventArgs, nameof(eventArgs));

            var modified = Modified;

            if (modified != null)
            {
                modified(this, eventArgs);
            }

            LayoutDesigner.UpdateRibbon(this);
        }
Ejemplo n.º 9
0
        private void RaiseSelectedItemsChanged([NotNull] object sender, [NotNull] RoutedPropertyChangedEventArgs <object> e)
        {
            Debug.ArgumentNotNull(sender, nameof(sender));
            Debug.ArgumentNotNull(e, nameof(e));

            var selectedItemsChanged = SelectedItemsChanged;

            if (selectedItemsChanged != null)
            {
                selectedItemsChanged(sender, e);
            }

            LayoutDesigner.UpdateRibbon(this);
            UpdatePropertiesPane();
        }
        public void It_should_order_epics_by_date_then_id_and_fill_them_in()
        {
            var epics = new[]
            {
                CreateMeta("5", "2020-05-06", "2020-05-15"),
                CreateMeta("4", "2020-05-06", "2020-05-10"),
                CreateMeta("3", "2020-05-11", "2020-05-16"),
                CreateMeta("2", "2020-05-16", "2020-05-18"),
                CreateMeta("1", "2020-05-17", "2020-05-19")
            };
            var designer = new LayoutDesigner();

            var result = designer.Layout(epics);

            result.SelectMany((x, i) => x.Select(y => $"{i}.{y.Epic.Id}"))
            .ShouldBe(new[] { "0.4", "0.3", "0.1", "1.5", "1.2" });
        }
Ejemplo n.º 11
0
        private void AddRenderingFromRibbon([NotNull] LayoutDesigner layoutDesigner, [NotNull] object sender, [NotNull] RenderingButton button)
        {
            Debug.ArgumentNotNull(layoutDesigner, nameof(layoutDesigner));
            Debug.ArgumentNotNull(sender, nameof(sender));

            var itemHeader = button.Tag as ItemHeader;

            if (itemHeader == null)
            {
                return;
            }

            var renderingContainer = layoutDesigner.GetView().GetRenderingContainer();

            var rendering = new RenderingItem(renderingContainer, itemHeader);

            layoutDesigner.LayoutDesignerView.AddRendering(rendering);
        }
Ejemplo n.º 12
0
        private void LoadRenderingGallery([NotNull] LayoutDesigner layoutDesigner, [NotNull] InRibbonGallery gallery)
        {
            Debug.ArgumentNotNull(layoutDesigner, nameof(layoutDesigner));
            Debug.ArgumentNotNull(gallery, nameof(gallery));

            Site.RequestCompleted completed = delegate(string response)
            {
                var root = response.ToXElement();
                if (root == null)
                {
                    return;
                }

                var items      = root.Elements().Select(element => ItemHeader.Parse(layoutDesigner.DatabaseUri, element)).Where(e => MatchesSpeakCoreVersion(e, layoutDesigner)).ToList();
                var renderings = new List <RenderingButton>();

                foreach (var item in items.OrderBy(i => i.ParentName).ThenBy(i => i.Name))
                {
                    var button = new RenderingButton
                    {
                        Label   = item.Name,
                        Icon    = item.Icon,
                        Tag     = item,
                        ToolTip = ToolTipBuilder.BuildToolTip(item)
                    };

                    button.PreviewMouseUp += (sender, args) => { AddRenderingFromRibbon(layoutDesigner, sender, button); };

                    renderings.Add(button);
                }

                renderings = renderings.OrderBy(i => i.Label).ToList();

                gallery.ItemsSource = renderings;
            };

            layoutDesigner.DatabaseUri.Site.Execute("Layouts.GetRenderings", completed, layoutDesigner.DatabaseUri.DatabaseName.ToString());
        }
 private void UpdateTracking([CanBeNull] IEnumerable <object> selectedItems)
 {
     LayoutDesigner.UpdateRibbon(this);
     AppHost.Selection.Track(LayoutListView.LayoutDesigner.Pane, selectedItems);
 }