public int SortRowItemsOnIndex(LibraryRowItem x, LibraryRowItem y) { int xIndex = libraryDataView.GetItemIndex(x); int yIndex = libraryDataView.GetItemIndex(y); return(xIndex.CompareTo(yIndex)); }
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(); }
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); }
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); } }
void exportButton_Click(object sender, EventArgs mouseEvent) { //Open export options if (libraryDataView.SelectedItems.Count == 1) { LibraryRowItem libraryItem = libraryDataView.SelectedItems[0]; OpenExportWindow(libraryItem.printItemWrapper); } }
void editButton_Click(object sender, EventArgs mouseEvent) { //Open export options if (libraryDataView.SelectedItems.Count == 1) { LibraryRowItem libraryItem = libraryDataView.SelectedItems[0]; libraryItem.OpenPartViewWindow(openInEditMode: true); } }
private void editButton_Click(object sender, EventArgs e) { //Open export options if (libraryDataView.SelectedItems.Count == 1) { LibraryRowItem libraryItem = libraryDataView.SelectedItems[0]; libraryItem.Edit(); } }
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); } }
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); } } }
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(); }
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); }
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); * */ } }
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); }
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); }
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; }
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; }