Пример #1
0
        public int SortRowItemsOnIndex(LibraryRowItem x, LibraryRowItem y)
        {
            int xIndex = libraryDataView.GetItemIndex(x);
            int yIndex = libraryDataView.GetItemIndex(y);

            return(xIndex.CompareTo(yIndex));
        }
Пример #2
0
        private void deleteFromLibraryButton_Click(object sender, EventArgs e)
        {
            libraryDataView.SelectedItems.Sort(SortRowItemsOnIndex);

            IEnumerable <LibraryRowItem> partItems = libraryDataView.SelectedItems.Where(item => item is LibraryRowItemPart);

            if (partItems.Count() == libraryDataView.SelectedItems.Count)
            {
                // If all selected items are LibraryRowItemParts, then we can invoke the batch remove functionality (in the Cloud library scenario)
                // and perform all deletes as part of a single request, with a single notification from Socketeer
                var indexesToRemove = partItems.Cast <LibraryRowItemPart>().Select(l => l.ItemIndex).ToArray();
                libraryDataView.CurrentLibraryProvider.RemoveItems(indexesToRemove);
            }
            else
            {
                // Otherwise remove each item last to first
                for (int i = libraryDataView.SelectedItems.Count - 1; i >= 0; i--)
                {
                    LibraryRowItem item = libraryDataView.SelectedItems[i];
                    item.RemoveFromCollection();
                }
            }

            libraryDataView.ClearSelectedItems();
        }
Пример #3
0
        void ItemAddedToLibrary(object sender, EventArgs e)
        {
            IndexArgs        addedIndexArgs = e as IndexArgs;
            PrintItemWrapper item           = LibraryData.Instance.GetPrintItemWrapper(addedIndexArgs.Index);
            LibraryRowItem   libraryItem    = new LibraryRowItem(item, this);

            AddChild(libraryItem, addedIndexArgs.Index);
        }
Пример #4
0
 void editButton_Click(object sender, EventArgs mouseEvent)
 {
     //Open export options
     if (libraryDataView.SelectedItems.Count == 1)
     {
         LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
         libraryItem.OpenPartViewWindow(PartPreviewWindow.View3DWidget.OpenMode.Editing);
     }
 }
Пример #5
0
 void exportButton_Click(object sender, EventArgs mouseEvent)
 {
     //Open export options
     if (libraryDataView.SelectedItems.Count == 1)
     {
         LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
         OpenExportWindow(libraryItem.printItemWrapper);
     }
 }
Пример #6
0
 void editButton_Click(object sender, EventArgs mouseEvent)
 {
     //Open export options
     if (libraryDataView.SelectedItems.Count == 1)
     {
         LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
         libraryItem.OpenPartViewWindow(openInEditMode: true);
     }
 }
Пример #7
0
 private void editButton_Click(object sender, EventArgs e)
 {
     //Open export options
     if (libraryDataView.SelectedItems.Count == 1)
     {
         LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
         libraryItem.Edit();
     }
 }
Пример #8
0
 void LibraryDataReloaded(object sender, EventArgs e)
 {
     this.RemoveListItems();
     for (int i = 0; i < LibraryData.Instance.Count; i++)
     {
         PrintItemWrapper item      = LibraryData.Instance.GetPrintItemWrapper(i);
         LibraryRowItem   queueItem = new LibraryRowItem(item, this);
         AddChild(queueItem);
     }
 }
Пример #9
0
 private void shareFromLibraryButton_Click(object sender, EventArgs e)
 {
     if (libraryDataView.SelectedItems.Count == 1)
     {
         LibraryRowItem     rowItem  = libraryDataView.SelectedItems[0];
         LibraryRowItemPart partItem = rowItem as LibraryRowItemPart;
         if (partItem != null)
         {
             libraryDataView.CurrentLibraryProvider.ShareItem(partItem.ItemIndex);
         }
     }
 }
Пример #10
0
        private void deleteFromLibraryButton_Click(object sender, EventArgs e)
        {
            libraryDataView.SelectedItems.Sort(SortRowItemsOnIndex);

            // remove them last to first
            for (int i = libraryDataView.SelectedItems.Count - 1; i >= 0; i--)
            {
                LibraryRowItem item = libraryDataView.SelectedItems[i];
                item.RemoveFromCollection();
            }

            libraryDataView.ClearSelectedItems();
        }
Пример #11
0
        public int GetItemIndex(LibraryRowItem rowItem)
        {
            for (int i = 0; i < topToBottomItemList.Children.Count; i++)
            {
                if (topToBottomItemList.Children[i] != null &&
                    topToBottomItemList.Children[i].Children.Count > 0 &&
                    topToBottomItemList.Children[i].Children[0] == rowItem)
                {
                    return(i);
                }
            }

            return(-1);
        }
Пример #12
0
        private void renameFromLibraryButton_Click(IEnumerable <QueueRowItem> s, object p)
        {
            if (libraryDataView.SelectedItems.Count == 1)
            {
                if (renameItemWindow == null)
                {
                    LibraryRowItem           rowItem        = libraryDataView.SelectedItems[0];
                    LibraryRowItemPart       partItem       = rowItem as LibraryRowItemPart;
                    LibraryRowItemCollection collectionItem = rowItem as LibraryRowItemCollection;

                    string currentName = libraryDataView.SelectedItems[0].ItemName;

                    renameItemWindow = new RenameItemWindow(currentName, (returnInfo) =>
                    {
                        if (partItem != null)
                        {
                            libraryDataView.CurrentLibraryProvider.RenameItem(partItem.ItemIndex, returnInfo.newName);
                        }
                        else if (collectionItem != null)
                        {
                            libraryDataView.CurrentLibraryProvider.RenameCollection(collectionItem.CollectionIndex, returnInfo.newName);
                        }

                        libraryDataView.ClearSelectedItems();
                    });

                    renameItemWindow.Closed += (sender2, e2) => { renameItemWindow = null; };
                }
                else
                {
                    renameItemWindow.BringToFront();
                }

                /*
                 * LibraryDataView.CurrentLibraryProvider.RenameCollection(collectionIndex, newName);
                 *
                 * LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
                 * libraryItem.RenameThisInPrintLibrary(newName.Data);
                 *
                 */
            }
        }
Пример #13
0
        public LibraryDataView()
        {
            SetDisplayAttributes();
            ScrollArea.HAnchor |= Agg.UI.HAnchor.ParentLeftRight;

            AutoScroll                  = true;
            topToBottomItemList         = new FlowLayoutWidget(FlowDirection.TopToBottom);
            topToBottomItemList.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
            base.AddChild(topToBottomItemList);

            for (int i = 0; i < LibraryData.Instance.Count; i++)
            {
                PrintItemWrapper item      = LibraryData.Instance.GetPrintItemWrapper(i);
                LibraryRowItem   queueItem = new LibraryRowItem(item, this);
                AddChild(queueItem);
            }

            this.MouseLeaveBounds += new EventHandler(control_MouseLeaveBounds);
            LibraryData.Instance.DataReloaded.RegisterEvent(LibraryDataReloaded, ref unregisterEvents);
            LibraryData.Instance.ItemAdded.RegisterEvent(ItemAddedToLibrary, ref unregisterEvents);
            LibraryData.Instance.ItemRemoved.RegisterEvent(ItemRemovedFromToLibrary, ref unregisterEvents);
            LibraryData.Instance.OrderChanged.RegisterEvent(LibraryOrderChanged, ref unregisterEvents);
        }
Пример #14
0
		private void LibraryDataReloaded(object sender, EventArgs e)
		{
			this.RemoveListItems();
			for (int i = 0; i < LibraryData.Instance.Count; i++)
			{
				PrintItemWrapper item = LibraryData.Instance.GetPrintItemWrapper(i);
				LibraryRowItem queueItem = new LibraryRowItem(item, this);
				AddChild(queueItem);
			}
		}
		public int SortRowItemsOnIndex(LibraryRowItem x, LibraryRowItem y)
		{
			int xIndex = libraryDataView.GetItemIndex(x);
			int yIndex = libraryDataView.GetItemIndex(y);

			return xIndex.CompareTo(yIndex);
		}
Пример #16
0
		public int GetItemIndex(LibraryRowItem rowItem)
		{
			for (int i = 0; i < topToBottomItemList.Children.Count; i++)
			{
				if (topToBottomItemList.Children[i] != null
					&& topToBottomItemList.Children[i].Children.Count > 0
					&& topToBottomItemList.Children[i].Children[0] == rowItem)
				{
					return i;
				}
			}

			return -1;
		}
Пример #17
0
		private void ItemAddedToLibrary(object sender, EventArgs e)
		{
			IndexArgs addedIndexArgs = e as IndexArgs;
			PrintItemWrapper item = LibraryData.Instance.GetPrintItemWrapper(addedIndexArgs.Index);
			LibraryRowItem libraryItem = new LibraryRowItem(item, this);
			AddChild(libraryItem, addedIndexArgs.Index);
		}
        private void CreateEditBarButtons()
        {
            itemOperationButtons                 = new FlowLayoutWidget();
            itemOperationButtons.Visible         = false;
            itemOperationButtons.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay;
            itemOperationButtons.HAnchor         = HAnchor.Max_FitToChildren_ParentWidth;
            double oldWidth = editButtonFactory.FixedWidth;

            editButtonFactory.FixedWidth = 0;

            Button exportItemButton = editButtonFactory.Generate("Export".Localize());

            exportItemButton.Name   = "Library Export Button";
            exportItemButton.Margin = new BorderDouble(3, 0);
            exportItemButton.Click += exportButton_Click;
            editButtonsEnableData.Add(new ButtonEnableData(false, false, false));
            itemOperationButtons.AddChild(exportItemButton);

            Button editItemButton = editButtonFactory.Generate("Edit".Localize());

            editItemButton.Name   = "Library Edit Item Button";
            editItemButton.Margin = new BorderDouble(3, 0);
            editItemButton.Click += editButton_Click;
            editButtonsEnableData.Add(new ButtonEnableData(false, false, false));
            itemOperationButtons.AddChild(editItemButton);

            // add the remove button
            {
                Button removeFromLibraryButton = editButtonFactory.Generate("Remove".Localize());
                removeFromLibraryButton.Name   = "Library Remove Item Button";
                removeFromLibraryButton.Margin = new BorderDouble(3, 0);
                removeFromLibraryButton.Click += deleteFromLibraryButton_Click;
                editButtonsEnableData.Add(new ButtonEnableData(true, false, true));
                itemOperationButtons.AddChild(removeFromLibraryButton);
            }



            // add the share button
            {
                Button shareFromLibraryButton = editButtonFactory.Generate("Share".Localize());
                shareFromLibraryButton.ToolTipText = "Share designs from your Cloud Library".Localize();
                shareFromLibraryButton.Margin      = new BorderDouble(3, 0);
                shareFromLibraryButton.Click      += shareFromLibraryButton_Click;
                editButtonsEnableData.Add(new ButtonEnableData(false, false, false, true));
                itemOperationButtons.AddChild(shareFromLibraryButton);
            }



            // add a rename button
            {
                Button renameFromLibraryButton = editButtonFactory.Generate("Rename".Localize());
                renameFromLibraryButton.Name   = "Rename From Library Button";
                renameFromLibraryButton.Margin = new BorderDouble(3, 0);
                editButtonsEnableData.Add(new ButtonEnableData(false, false, true));
                itemOperationButtons.AddChild(renameFromLibraryButton);

                renameFromLibraryButton.Click += (sender, e) =>
                {
                    if (libraryDataView.SelectedItems.Count == 1)
                    {
                        if (renameItemWindow == null)
                        {
                            LibraryRowItem           rowItem        = libraryDataView.SelectedItems[0];
                            LibraryRowItemPart       partItem       = rowItem as LibraryRowItemPart;
                            LibraryRowItemCollection collectionItem = rowItem as LibraryRowItemCollection;

                            string currentName = libraryDataView.SelectedItems[0].ItemName;

                            renameItemWindow = new RenameItemWindow(currentName, (returnInfo) =>
                            {
                                if (partItem != null)
                                {
                                    libraryDataView.CurrentLibraryProvider.RenameItem(partItem.ItemIndex, returnInfo.newName);
                                }
                                else if (collectionItem != null)
                                {
                                    libraryDataView.CurrentLibraryProvider.RenameCollection(collectionItem.CollectionIndex, returnInfo.newName);
                                }

                                libraryDataView.ClearSelectedItems();
                            });

                            renameItemWindow.Closed += (sender2, e2) => { renameItemWindow = null; };
                        }
                        else
                        {
                            renameItemWindow.BringToFront();
                        }

                        /*
                         * LibraryDataView.CurrentLibraryProvider.RenameCollection(collectionIndex, newName);
                         *
                         * LibraryRowItem libraryItem = libraryDataView.SelectedItems[0];
                         * libraryItem.RenameThisInPrintLibrary(newName.Data);
                         *
                         */
                    }
                };
            }

            Button addToQueueButton = editButtonFactory.Generate("Add to Queue".Localize());

            addToQueueButton.Name   = "Library Add To Queue Button";
            addToQueueButton.Margin = new BorderDouble(3, 0);
            addToQueueButton.Click += addToQueueButton_Click;
            editButtonsEnableData.Add(new ButtonEnableData(true, true, false));
            itemOperationButtons.AddChild(addToQueueButton);

            editButtonFactory.FixedWidth = oldWidth;
        }
Пример #19
0
		public LibraryDataView()
		{
			SetDisplayAttributes();
			ScrollArea.HAnchor |= Agg.UI.HAnchor.ParentLeftRight;

			AutoScroll = true;
			topToBottomItemList = new FlowLayoutWidget(FlowDirection.TopToBottom);
			topToBottomItemList.HAnchor = Agg.UI.HAnchor.Max_FitToChildren_ParentWidth;
			base.AddChild(topToBottomItemList);

			for (int i = 0; i < LibraryData.Instance.Count; i++)
			{
				PrintItemWrapper item = LibraryData.Instance.GetPrintItemWrapper(i);
				LibraryRowItem queueItem = new LibraryRowItem(item, this);
				AddChild(queueItem);
			}

			this.MouseLeaveBounds += new EventHandler(control_MouseLeaveBounds);
			LibraryData.Instance.DataReloaded.RegisterEvent(LibraryDataReloaded, ref unregisterEvents);
			LibraryData.Instance.ItemAdded.RegisterEvent(ItemAddedToLibrary, ref unregisterEvents);
			LibraryData.Instance.ItemRemoved.RegisterEvent(ItemRemovedFromToLibrary, ref unregisterEvents);
			LibraryData.Instance.OrderChanged.RegisterEvent(LibraryOrderChanged, ref unregisterEvents);
		}