protected override void OnShowSmartTagVerbs(Point smartTagPoint) { if (this.itemPalette == null) { this.itemPalette = new ItemPalette(); this.itemPalette.Closed += new EventHandler(OnPaletteClosed); this.itemPalette.SelectionChanged += new SelectionChangeEventHandler<SelectionChangeEventArgs>(OnSmartAction); } //we need to update the font every time the menu is shown this.itemPalette.SetFont(WorkflowTheme.CurrentTheme.AmbientTheme.Font); this.itemPalette.Items.Clear(); foreach (ActivityDesignerVerb smartVerb in SmartTagVerbs) { Image image = smartVerb.Properties[DesignerUserDataKeys.Image] as Image; ItemInfo smartVerbItem = new ItemInfo(smartVerb.Id, image, smartVerb.Text); smartVerbItem.UserData[DesignerUserDataKeys.DesignerVerb] = smartVerb; this.itemPalette.Items.Add(smartVerbItem); } Point location = PointToScreen(smartTagPoint); this.itemPalette.Show(location); }
public Rectangle GetItemBounds(ItemInfo itemInfo) { int itemIndex = this.items.IndexOf(itemInfo); if (itemIndex < 0 || itemIndex < this.scrollPosition || itemIndex >= this.scrollPosition + MaxVisibleItems) return Rectangle.Empty; Rectangle itemRectangle = Rectangle.Empty; itemIndex = itemIndex - this.scrollPosition; if (this.orientation == Orientation.Horizontal) { itemRectangle.X = bounds.Left + (itemIndex * this.itemSize.Width) + ((itemIndex + 1) * this.margin.Width); itemRectangle.Y = bounds.Top + this.margin.Height; } else { itemRectangle.X = bounds.Left + this.margin.Width; itemRectangle.Y = bounds.Top + (itemIndex * this.itemSize.Height) + ((itemIndex + 1) * this.margin.Height); } itemRectangle.Size = this.itemSize; return itemRectangle; }
public SelectionChangeEventArgs(ItemInfo previousItem, ItemInfo currentItem) { this.previousItem = previousItem; this.currentItem = currentItem; }
private Rectangle GetTabTextRectangle(ItemInfo tabItemInfo) { int index = this.tabItemList.IndexOf(tabItemInfo); if (index < 0) throw new ArgumentException(DR.GetString(DR.ButtonInformationMissing)); Rectangle textRectangle = Rectangle.Empty; if (tabItemInfo.Text != null && this.drawItems.Length == this.tabItemList.Count) { textRectangle = this.drawItems[index].TabItemRectangle; textRectangle.Inflate(-TabMargin, -TabMargin); Rectangle imageRectangle = GetTabImageRectangle(tabItemInfo); if (!imageRectangle.IsEmpty) { if (this.orientation == Orientation.Horizontal) { textRectangle.X += imageRectangle.Width + TabMargin; textRectangle.Width -= (imageRectangle.Width + TabMargin); } else { textRectangle.Y += imageRectangle.Height + TabMargin; textRectangle.Height -= (imageRectangle.Height + TabMargin); } } if (textRectangle.Width <= 0 || textRectangle.Height <= 0) textRectangle = Rectangle.Empty; } return textRectangle; }
public Rectangle GetItemBounds(ItemInfo itemInfo) { int itemIndex = this.items.IndexOf(itemInfo); if (itemIndex < 0) return Rectangle.Empty; if (itemIndex < this.scrollMarker || itemIndex >= this.scrollMarker + VisibleItemCount) return Rectangle.Empty; Rectangle stripRectangle = StripRectangle; Rectangle itemRectangle = Rectangle.Empty; Size itemMargin = ItemMargin; Size itemSize = ItemSize; itemIndex = itemIndex - this.scrollMarker; itemRectangle.X = stripRectangle.Left + (itemIndex * itemSize.Width) + ((itemIndex + 1) * itemMargin.Width); itemRectangle.Y = stripRectangle.Top + itemMargin.Height; itemRectangle.Size = itemSize; return itemRectangle; }
private Rectangle GetTabItemRectangle(ItemInfo tabItemInfo) { int index = this.tabItemList.IndexOf(tabItemInfo); if (index < 0) throw new ArgumentException(DR.GetString(DR.ButtonInformationMissing)); if (this.drawItems.Length == this.tabItemList.Count) return this.drawItems[index].TabItemRectangle; else return Rectangle.Empty; }
private Rectangle GetTabImageRectangle(ItemInfo tabItemInfo) { int index = this.tabItemList.IndexOf(tabItemInfo); if (index < 0) throw new ArgumentException(DR.GetString(DR.ButtonInformationMissing)); Rectangle imageRectangle = Rectangle.Empty; if (tabItemInfo.Image != null && this.drawItems.Length == this.tabItemList.Count) { imageRectangle = this.drawItems[index].TabItemRectangle; imageRectangle.Inflate(-TabMargin, -TabMargin); imageRectangle.Size = new Size(this.reqTabItemSize - 2 * TabMargin, this.reqTabItemSize - 2 * TabMargin); } return imageRectangle; }
internal StripItemConfigErrorGlyph(ActivityPreviewDesigner parentDesigner, ItemInfo item) { this.parentDesigner = parentDesigner; this.item = item; Debug.Assert(item.UserData[DesignerUserDataKeys.Activity] is Activity); }
public TabSelectionChangeEventArgs(ItemInfo previousItem, ItemInfo currentItem, Rectangle selectedTabBounds) : base(previousItem, currentItem) { this.selectedTabBounds = selectedTabBounds; }
internal StripItemCommentGlyph(ActivityPreviewDesigner parentDesigner, ItemInfo item) { this.parentDesigner = parentDesigner; this.item = item; }
protected override void OnContainedActivitiesChanged(ActivityCollectionChangeEventArgs listChangeArgs) { if (ActiveDesigner == this) { if (listChangeArgs.Action == ActivityCollectionChangeAction.Add && listChangeArgs.AddedItems.Count > 0 && !Helpers.IsAlternateFlowActivity(listChangeArgs.AddedItems[0])) { ItemInfo itemToAdd = new ItemInfo(listChangeArgs.AddedItems[0].GetHashCode()); itemToAdd.UserData[DesignerUserDataKeys.Activity] = listChangeArgs.AddedItems[0]; if (listChangeArgs.Index < this.previewStrip.Items.Count) this.previewStrip.Items.Insert(listChangeArgs.Index, itemToAdd); else this.previewStrip.Items.Add(itemToAdd); } else if (listChangeArgs.Action == ActivityCollectionChangeAction.Remove && listChangeArgs.RemovedItems.Count > 0) { int index = this.previewStrip.Items.IndexOf(new ItemInfo(listChangeArgs.RemovedItems[0].GetHashCode())); if (index >= 0) this.previewStrip.Items.RemoveAt(index); } } base.OnContainedActivitiesChanged(listChangeArgs); }
protected override void Initialize(Activity activity) { base.Initialize(activity); ShowPreview = true; CompositeActivity compositeActivity = Activity as CompositeActivity; if (compositeActivity != null) { foreach (Activity containedActivity in compositeActivity.Activities) { if (!Helpers.IsAlternateFlowActivity(containedActivity)) { ItemInfo stripItem = new ItemInfo(containedActivity.GetHashCode()); stripItem.UserData[DesignerUserDataKeys.Activity] = containedActivity; this.previewStrip.Items.Add(stripItem); } } } //Start listening to selection change event ISelectionService selectionService = GetService(typeof(ISelectionService)) as ISelectionService; if (selectionService != null) selectionService.SelectionChanged += new EventHandler(OnSelectionChanged); }
internal StripItemConfigErrorGlyph(ActivityPreviewDesigner parentDesigner, ItemInfo item) { this.parentDesigner = parentDesigner; this.item = item; Debug.Assert(item.UserData[DesignerUserDataKeys.Activity] is Activity); }
internal StripItemCommentGlyph(ActivityPreviewDesigner parentDesigner, ItemInfo item) { this.parentDesigner = parentDesigner; this.item = item; }