//For Populating the Combobox with SymbolPaletteItem names private void LoadSymbolPaletteItem(SymbolPaletteGroup group) { SymbolItem.Items.Clear(); foreach (SymbolPaletteItem item in group.Items) { ComboBoxItem combo = new ComboBoxItem(); combo.Content = item.ItemName; SymbolItem.Items.Add(combo); } }
//If the SymbolPaletteGroup selection changed private void SymbolGroup_SelectionChanged(object sender, SelectionChangedEventArgs e) { foreach (SymbolPaletteGroup group in diagramControl.SymbolPalette.SymbolGroups) { if (SymbolGroup.SelectedItem != null && group.Label == (SymbolGroup.SelectedItem as ComboBoxItem).Content) { Selectedgroup = group as SymbolPaletteGroup; break; } } }
///Add image to Symbolpalette item private void CreateSymbolPaletteItem(SymbolPaletteGroup g, string name) { SymbolPaletteItem item = new SymbolPaletteItem(); item.Height = 60; item.Width = 60; DrawingImage di = App.Current.Resources[name] as DrawingImage; Image i = new Image(); i.Source = di; item.Content = i; item.Name = name; g.Items.Add(item); }
void CustomizePalette() { diagramControl.SymbolPalette.Width = 180; //Call to clear out the symbolpalette RemovetheSymBolPaletteGroup(); //Create new stmbolpalettegroup SymbolPaletteGroup symbolGroup = App.Current.FindResource("RoomGroup") as SymbolPaletteGroup; symbolGroup.Label = "Room Symbol"; diagramControl.SymbolPalette.SymbolGroups.Add(symbolGroup); }
/// <summary> /// Loads the palette with custom shapes /// </summary> void LoadPalette() { //Clear the SymbolPaletteGroups diagramControl.SymbolPalette.SymbolGroups.Clear(); //Clear out the defualt symbolpalettegroups and symbolpalettefilters diagramControl.SymbolPalette.SymbolFilters.Remove(diagramControl.SymbolPalette.SymbolFilters[5]); diagramControl.SymbolPalette.SymbolFilters.Remove(diagramControl.SymbolPalette.SymbolFilters[4]); diagramControl.SymbolPalette.SymbolFilters.Remove(diagramControl.SymbolPalette.SymbolFilters[3]); diagramControl.SymbolPalette.SymbolFilters.Remove(diagramControl.SymbolPalette.SymbolFilters[2]); diagramControl.SymbolPalette.SymbolFilters.Remove(diagramControl.SymbolPalette.SymbolFilters[1]); diagramControl.SymbolPalette.SymbolFilters.Remove(diagramControl.SymbolPalette.SymbolFilters[0]); diagramControl.SymbolPalette.ItemPadding = new Thickness(1); //SymbolPaletteFilter creates a filter for the palette groups. SymbolPaletteFilter sfilter = new SymbolPaletteFilter(); sfilter.Label = "Electrical Components"; diagramControl.SymbolPalette.SymbolFilters.Add(sfilter); //SymbolPaletteGroup creates a group and assigns a specific filter index. symbolGroup = new SymbolPaletteGroup(); symbolGroup.Label = "Electrical Components"; SymbolPalette.SetFilterIndexes(symbolGroup, new Int32Collection(new int[] { 0, 6 })); diagramControl.SymbolPalette.SymbolGroups.Add(symbolGroup); //SymbolPaletteItem specifies the item which can be added to the group. SymbolPaletteItem symbolItem1 = addSymbolItem(this.Resources["i1"] as DrawingImage); SymbolPaletteItem symbolItem2 = addSymbolItem(this.Resources["Diode"] as DrawingImage); SymbolPaletteItem symbolItem3 = addSymbolItem(this.Resources["VerResistor"] as DrawingImage); SymbolPaletteItem symbolItem4 = addSymbolItem(this.Resources["HorResistor"] as DrawingImage); SymbolPaletteItem symbolItem5 = addSymbolItem(this.Resources["VerCapacitor"] as DrawingImage); SymbolPaletteItem symbolItem6 = addSymbolItem(this.Resources["HorCapacitor"] as DrawingImage); SymbolPaletteItem symbolItem7 = addSymbolItem(this.Resources["Junction"] as DrawingImage); SymbolPaletteItem symbolItem8 = addSymbolItem(this.Resources["Image1"] as DrawingImage); SymbolPaletteItem symbolItem9 = addSymbolItem(this.Resources["Battery"] as DrawingImage); SymbolPaletteItem symbolItem10 = addSymbolItem(this.Resources["Switch"] as DrawingImage); SymbolPaletteItem symbolItem11 = addSymbolItem(this.Resources["Coil"] as DrawingImage); SymbolPaletteItem symbolItem12 = addSymbolItem(this.Resources["Image2"] as DrawingImage); SymbolPaletteItem symbolItem13 = addSymbolItem(this.Resources["Image3"] as DrawingImage); SymbolPaletteItem symbolItem14 = addSymbolItem(this.Resources["Image4"] as DrawingImage); SymbolPaletteItem symbolItem15 = addSymbolItem(this.Resources["Image5"] as DrawingImage); SymbolPaletteItem symbolItem16 = addSymbolItem(this.Resources["Image6"] as DrawingImage); SymbolPaletteItem symbolItem17 = addSymbolItem(this.Resources["Image7"] as DrawingImage); SymbolPaletteItem symbolItem18 = addSymbolItem(this.Resources["Image12"] as DrawingImage); SymbolPaletteItem symbolItem19 = addSymbolItem(this.Resources["Image9"] as DrawingImage); SymbolPaletteItem symbolItem20 = addSymbolItem(this.Resources["Image10"] as DrawingImage); SymbolPaletteItem symbolItem21 = addSymbolItem(this.Resources["Image11"] as DrawingImage); SymbolPaletteItem symbolItem22 = addSymbolItem(this.Resources["Image13"] as DrawingImage); SymbolPaletteItem symbolItem23 = addSymbolItem(this.Resources["Image8"] as DrawingImage); }
/// CreateSymbolPaletteGroup private void CreateSymbolPaletteGroup() { SymbolPaletteFilter sf = new SymbolPaletteFilter(); sf.Label = "Symbols"; //symbolpalette group SymbolPaletteGroup g = new SymbolPaletteGroup(); g.Label = "Custom Symbols"; diagramControl.SymbolPalette.SymbolFilters.Add(sf); SymbolPalette.SetFilterIndexes(g, new Int32Collection(new int[] { 0, 6 })); diagramControl.SymbolPalette.SymbolGroups.Add(g); CreateSymbolPaletteItem(g, "Man"); CreateSymbolPaletteItem(g, "Employee"); CreateSymbolPaletteItem(g, "Lady"); }
//Adding custom items to the palette void LoadPalette() { //SymbolPaletteFilter creates a filter for the palette groups. SymbolPaletteFilter sfilter = new SymbolPaletteFilter(); sfilter.Label = "Layout Shapes"; diagramControl.SymbolPalette.SymbolFilters.Add(sfilter); //SymbolPaletteGroup creates a group and assigns a specific filter index. symbolgroup = new SymbolPaletteGroup(); symbolgroup.Label = "Layout Shapes"; SymbolPalette.SetFilterIndexes(symbolgroup, new Int32Collection(new int[] { 0, 3 })); diagramControl.SymbolPalette.SymbolGroups.Add(symbolgroup); //Creating New SymbolPaletteItem SymbolPaletteItem symbolItem1 = addSymbolItem("Class", "Class", App.Current.Resources["RoundedRectangle1"] as Path); SymbolPaletteItem symbolItem2 = addSymbolItem("Interface", "Interface", App.Current.Resources["RoundedRectangle2"] as Path); SymbolPaletteItem symbolItem3 = addSymbolItem("Red", "Red", App.Current.Resources["RoundedRectangle3"] as Path); SymbolPaletteItem symbolItem4 = addSymbolItem("Blue", "Blue", App.Current.Resources["RoundedRectangle4"] as Path); }
//Adding custom items to the palette void LoadPalette() { //SymbolPaletteFilter creates a filter for the palette groups. SymbolPaletteFilter sfilter = new SymbolPaletteFilter(); sfilter.Label = "Layout Shapes"; diagramControl.SymbolPalette.SymbolFilters.Add(sfilter); //SymbolPaletteGroup creates a group and assigns a specific filter index. symbolGroup = new SymbolPaletteGroup(); symbolGroup.Label = "Layout Shapes"; SymbolPalette.SetFilterIndexes(symbolGroup, new Int32Collection(new int[] { 0, 6 })); diagramControl.SymbolPalette.SymbolGroups.Add(symbolGroup); //SymbolPaletteItem specifies the item which can be added to the group. SymbolPaletteItem symbolItem1 = addSymbolItem(App.Current.Resources["ellipse"] as Ellipse, "Ellipse", "Ellipse"); SymbolPaletteItem symbolItem2 = addSymbolItem(App.Current.Resources["roundedrect"] as Path, "Rect", "RoundedRect"); SymbolPaletteItem symbolItem3 = addSymbolItem(App.Current.Resources["id"] as Path, "NodeId", "NodeId"); SymbolPaletteItem symbolItem4 = addSymbolItem(App.Current.Resources["Arrow"] as Border, "Arrow", "Arrow"); }