public SettingsViewInfo(SettingsViewManager.Name name, PackIconEntypo packIconEntypo, SettingsViewManager.Group group) { Name = name; TranslatedName = SettingsViewManager.TranslateName(name, group); Canvas canvas = new Canvas(); canvas.Children.Add(packIconEntypo); Icon = canvas; Group = group; TranslatedGroup = SettingsViewManager.TranslateGroup(group); }
public static void ApplyPackIcon(Control control, string packIconKey) { string packIconKind = packIconKey; object packIconControl = control.Template .FindName("PackIcon", control) as object; if (packIconControl is PackIconMaterial) { PackIconMaterial packIcon = (PackIconMaterial)packIconControl; packIcon.Kind = (PackIconMaterialKind)Enum .Parse(typeof(PackIconMaterialKind), packIconKind); } else if (packIconControl is PackIconMaterialLight) { PackIconMaterialLight packIconLight = (PackIconMaterialLight)packIconControl; packIconLight.Kind = (PackIconMaterialLightKind)Enum .Parse(typeof(PackIconMaterialLightKind), packIconKind); } else if (packIconControl is PackIconModern) { PackIconModern packIconModern = (PackIconModern)packIconControl; packIconModern.Kind = (PackIconModernKind)Enum .Parse(typeof(PackIconModernKind), packIconKind); } else if (packIconControl is PackIconOcticons) { PackIconOcticons packIconOcticons = (PackIconOcticons)packIconControl; packIconOcticons.Kind = (PackIconOcticonsKind)Enum .Parse(typeof(PackIconOcticonsKind), packIconKind); } else if (packIconControl is PackIconSimpleIcons) { PackIconSimpleIcons packIconSimple = (PackIconSimpleIcons)packIconControl; packIconSimple.Kind = (PackIconSimpleIconsKind)Enum .Parse(typeof(PackIconSimpleIconsKind), packIconKind); } else if (packIconControl is PackIconEntypo) { PackIconEntypo packIconSimple = (PackIconEntypo)packIconControl; packIconSimple.Kind = (PackIconEntypoKind)Enum .Parse(typeof(PackIconEntypoKind), packIconKind); } else if (packIconControl is PackIconFontAwesome) { PackIconFontAwesome packIconSimple = (PackIconFontAwesome)packIconControl; packIconSimple.Kind = (PackIconFontAwesomeKind)Enum .Parse(typeof(PackIconFontAwesomeKind), packIconKind); } }
public virtual ImageSource GetErrorIconImage() { var packIcon = new PackIconEntypo { Kind = PackIconEntypoKind.CircleWithCross }; var pen = new Pen(); pen.Freeze(); var geometry = Geometry.Parse(packIcon.Data); var geometryDrawing = new GeometryDrawing(Brushes.OrangeRed, pen, geometry); var drawingGroup = new DrawingGroup(); drawingGroup.Children.Add(geometryDrawing); drawingGroup.Transform = new ScaleTransform(3.5, 3.5); var drawingImage = new DrawingImage(drawingGroup); drawingImage.Freeze(); return(drawingImage); }
private static ImageSource GetPackIconEntypoImage(PackIconEntypoKind packIconKind, Brush brush) { var packIcon = new PackIconEntypo { Kind = packIconKind }; var pen = new Pen(); pen.Freeze(); var geometry = Geometry.Parse(packIcon.Data); var geometryDrawing = new GeometryDrawing(brush, pen, geometry); var drawingGroup = new DrawingGroup(); drawingGroup.Children.Add(geometryDrawing); drawingGroup.Transform = new ScaleTransform(3.5, 3.5); var drawingImage = new DrawingImage(drawingGroup); drawingImage.Freeze(); return(drawingImage); }
protected override ImageSource CreateImageSource(object value, Brush foregroundBrush, double penThickness) { var packIcon = new PackIconEntypo { Kind = (PackIconEntypoKind)value }; var geometryDrawing = new GeometryDrawing { Geometry = Geometry.Parse(packIcon.Data), Brush = foregroundBrush, Pen = new Pen(foregroundBrush, penThickness) }; var drawingGroup = new DrawingGroup { Children = { geometryDrawing }, Transform = new ScaleTransform(1, -1) }; return(new DrawingImage { Drawing = drawingGroup }); }
public TreeNode() { panel.Orientation = Orientation.Horizontal; panel.Children.Add(viewbox); panel.Children.Add(textLabelCtl); panel.Children.Add(textBoxCtl); if (this.IconPath != null) { if (this.IconPath.Contains(";")) { string[] packIconValues = IconPath.Split(';'); string packIconType = packIconValues[0]; string packIconKind = packIconValues[1]; switch (packIconType) { case "PackIconMaterial": PackIconMaterial iconMat = new PackIconMaterial(); ((PackIconMaterial)iconMat).Kind = (PackIconMaterialKind)Enum .Parse(typeof(PackIconMaterialKind), packIconKind); viewbox.Child = iconMat; break; case "PackIconMaterialLight": PackIconMaterialLight iconMatLight = new PackIconMaterialLight(); ((PackIconMaterialLight)iconMatLight).Kind = (PackIconMaterialLightKind)Enum .Parse(typeof(PackIconMaterialLightKind), packIconKind); viewbox.Child = iconMatLight; break; case "PackIconModern": PackIconModern iconModern = new PackIconModern(); ((PackIconModern)iconModern).Kind = (PackIconModernKind)Enum .Parse(typeof(PackIconModernKind), packIconKind); viewbox.Child = iconModern; break; case "PackIconOcticons": PackIconOcticons iconOcti = new PackIconOcticons(); ((PackIconOcticons)iconOcti).Kind = (PackIconOcticonsKind)Enum .Parse(typeof(PackIconOcticonsKind), packIconKind); viewbox.Child = iconOcti; break; case "PackIconSimpleIcons": PackIconSimpleIcons iconSimple = new PackIconSimpleIcons(); ((PackIconSimpleIcons)iconSimple).Kind = (PackIconSimpleIconsKind)Enum .Parse(typeof(PackIconSimpleIconsKind), packIconKind); viewbox.Child = iconSimple; break; case "PackIconEntypo": PackIconEntypo iconEnt = new PackIconEntypo(); ((PackIconEntypo)iconEnt).Kind = (PackIconEntypoKind)Enum .Parse(typeof(PackIconEntypoKind), packIconKind); viewbox.Child = iconEnt; break; case "PackIconFontAwesome": PackIconFontAwesome icon = new PackIconFontAwesome(); ((PackIconFontAwesome)icon).Kind = (PackIconFontAwesomeKind)Enum .Parse(typeof(PackIconFontAwesomeKind), packIconKind); viewbox.Child = icon; break; } viewbox.Margin = new Thickness(0, 0, 8, 0); } } Style materialDesignTreeViewItem = Application.Current.TryFindResource("MaterialDesignTreeViewItem") as Style; if (materialDesignTreeViewItem != null) { this.Style = materialDesignTreeViewItem; } Style materialDesignTextbox = Application.Current.TryFindResource("MaterialDesignFloatingHintTextBox") as Style; if (materialDesignTextbox != null) { textBoxCtl.Style = materialDesignTextbox; HintAssist.SetHint(this, "(" + HintText + ")"); } this.Header = panel; textBoxCtl.Visibility = Visibility.Collapsed; textBoxCtl.LostFocus += textBox_LostFocus; textBoxCtl.IsVisibleChanged += textBox_IsVisibleChanged; textBoxCtl.KeyDown += textBox_KeyDown; textLabelCtl.MouseLeftButtonDown += text_MouseLeftButtonDown; textLabelCtl.KeyDown += text_KeyDown; }
public CoreMenuItem(Codon codon, object caller, IReadOnlyCollection <ICondition> conditions) { this.codon = codon; this.caller = caller; this.conditions = conditions; if (codon.Properties.Contains("template")) { this.Template = Application.Current.FindResource("MenuItemTemplateKey") as ControlTemplate; this.ApplyTemplate(); } else { if (codon.Properties.Contains("packIconKey")) { string[] packIconValues = codon.Properties["packIconKey"].Split(';'); string packIconType = packIconValues[0]; string packIconKind = packIconValues[1]; //object icon = null; switch (packIconType) { case "PackIconMaterial": var icon = new PackIconMaterial(); ((PackIconMaterial)icon).Kind = (PackIconMaterialKind)Enum .Parse(typeof(PackIconMaterialKind), packIconKind); this.Icon = icon; break; case "PackIconMaterialLight": var icon1 = new PackIconMaterialLight(); ((PackIconMaterialLight)icon1).Kind = (PackIconMaterialLightKind)Enum .Parse(typeof(PackIconMaterialLightKind), packIconKind); this.Icon = icon1; break; case "PackIconModern": var icon2 = new PackIconModern(); ((PackIconModern)icon2).Kind = (PackIconModernKind)Enum .Parse(typeof(PackIconModernKind), packIconKind); this.Icon = icon2; break; case "PackIconOcticons": var icon3 = new PackIconOcticons(); ((PackIconOcticons)icon3).Kind = (PackIconOcticonsKind)Enum .Parse(typeof(PackIconOcticonsKind), packIconKind); this.Icon = icon3; break; case "PackIconSimpleIcons": var icon4 = new PackIconSimpleIcons(); ((PackIconSimpleIcons)icon4).Kind = (PackIconSimpleIconsKind)Enum .Parse(typeof(PackIconSimpleIconsKind), packIconKind); this.Icon = icon4; break; case "PackIconEntypo": var icon5 = new PackIconEntypo(); ((PackIconEntypo)icon5).Kind = (PackIconEntypoKind)Enum .Parse(typeof(PackIconEntypoKind), packIconKind); this.Icon = icon5; break; case "PackIconFontAwesome": var icon6 = new PackIconFontAwesome(); ((PackIconFontAwesome)icon6).Kind = (PackIconFontAwesomeKind)Enum .Parse(typeof(PackIconFontAwesomeKind), packIconKind); this.Icon = icon6; break; } //this.Icon = icon; } else { if (codon.Properties.Contains("icon")) { try { var image = new Image(); image.Source = PresentationResourceService.GetBitmapSource(codon.Properties["icon"]); image.Height = 16; this.Icon = image; } catch (ResourceNotFoundException) {} } } } if (codon.Properties.Contains("style")) { Style customStyle = Application.Current.TryFindResource("MenuItemStyleKey") as Style; if (customStyle != null) { this.Style = customStyle; this.UpdateLayout(); } } else { //if (codon.Properties.Contains("packIconKey")) { //Apply material theme if PackIcon theme is used Style matStyle = Application.Current.TryFindResource("MaterialDesignMenuItem") as Style; if (matStyle != null) { this.Style = matStyle; } //} } UpdateText(); }
public static void CreateTemplatedToolBarItem(Control control, Codon codon) { if (codon.Properties.Contains("template")) { ControlTemplate customTemplate = (ControlTemplate)Application .Current .TryFindResource(codon.Properties["template"]); if (customTemplate != null) { control.Template = customTemplate; control.ApplyTemplate(); } } else { if (codon.Properties.Contains("packIconKey")) { string[] packIconValues = codon.Properties["packIconKey"].Split(';'); string packIconType = packIconValues[0]; string packIconKind = packIconValues[1]; //PackIconBase icon = null; object Icon = null; switch (packIconType) { case "PackIconMaterial": var icon = new PackIconMaterial(); ((PackIconMaterial)icon).Kind = (PackIconMaterialKind)Enum .Parse(typeof(PackIconMaterialKind), packIconKind); Icon = icon; break; case "PackIconMaterialLight": var icon1 = new PackIconMaterialLight(); ((PackIconMaterialLight)icon1).Kind = (PackIconMaterialLightKind)Enum .Parse(typeof(PackIconMaterialLightKind), packIconKind); Icon = icon1; break; case "PackIconModern": var icon2 = new PackIconModern(); ((PackIconModern)icon2).Kind = (PackIconModernKind)Enum .Parse(typeof(PackIconModernKind), packIconKind); Icon = icon2; break; case "PackIconOcticons": var icon3 = new PackIconOcticons(); ((PackIconOcticons)icon3).Kind = (PackIconOcticonsKind)Enum .Parse(typeof(PackIconOcticonsKind), packIconKind); Icon = icon3; break; case "PackIconSimpleIcons": var icon4 = new PackIconSimpleIcons(); ((PackIconSimpleIcons)icon4).Kind = (PackIconSimpleIconsKind)Enum .Parse(typeof(PackIconSimpleIconsKind), packIconKind); Icon = icon4; break; case "PackIconEntypo": var icon5 = new PackIconEntypo(); ((PackIconEntypo)icon5).Kind = (PackIconEntypoKind)Enum .Parse(typeof(PackIconEntypoKind), packIconKind); Icon = icon5; break; case "PackIconFontAwesome": var icon6 = new PackIconFontAwesome(); ((PackIconFontAwesome)icon6).Kind = (PackIconFontAwesomeKind)Enum .Parse(typeof(PackIconFontAwesomeKind), packIconKind); Icon = icon6; break; } if (control is MenuItem) { (control as MenuItem).Header = Icon; } else if (control is MahApps.Metro.Controls.DropDownButton) { (control as MahApps.Metro.Controls.DropDownButton).Content = Icon; } else if (control is MahApps.Metro.Controls.SplitButton) { (control as MahApps.Metro.Controls.SplitButton).Icon = Icon; } else { (control as ContentControl).Content = Icon; } } if (codon.Properties.Contains("icon")) { Image image = new Image(); image.Source = PresentationResourceService.GetBitmapSource(StringParser.Parse(codon.Properties["icon"])); image.Height = 16; image.SetResourceReference(FrameworkElement.StyleProperty, ToolBarService.ImageStyleKey); if (control is MenuItem) { (control as MenuItem).Header = image; } else if (control is MahApps.Metro.Controls.DropDownButton) { (control as MahApps.Metro.Controls.DropDownButton).Content = image; } else if (control is MahApps.Metro.Controls.SplitButton) { (control as MahApps.Metro.Controls.SplitButton).Icon = image; } else { (control as ContentControl).Content = image; } } if (codon.Properties.Contains("label")) { Label label = new Label(); label.Content = StringParser.Parse(codon.Properties["label"]); label.Padding = new Thickness(0); label.VerticalContentAlignment = VerticalAlignment.Center; if (control is MenuItem) { (control as MenuItem).Header = label; } else if (control is MahApps.Metro.Controls.DropDownButton) { (control as MahApps.Metro.Controls.DropDownButton).Content = label; } else if (control is MahApps.Metro.Controls.SplitButton) { (control as MahApps.Metro.Controls.SplitButton).Icon = label; } else { (control as ContentControl).Content = label; } } } if (codon.Properties.Contains("style")) { Style customStyle = Application.Current.TryFindResource(codon.Properties["style"]) as Style; if (customStyle != null) { control.Style = customStyle; } } else { if (control is MenuItem) { Style menuStyle = Application.Current.TryFindResource("MaterialDesignMenuItem") as Style; if (menuStyle != null) { control.Style = menuStyle; } } else if (control is MahApps.Metro.Controls.DropDownButton) { Style btnStyle = new Style(); Setter fg = new Setter(); Setter bg = new Setter(); // Style btnStyle = Application.Current.TryFindResource("MaterialDesignToolForegroundButton") as Style; bg.Property = MahApps.Metro.Controls.DropDownButton.BackgroundProperty; bg.Value = (Brush)Application.Current.TryFindResource("MaterialDesignPaper"); fg.Property = MahApps.Metro.Controls.DropDownButton.ForegroundProperty; fg.Value = (Brush)Application.Current.TryFindResource("MaterialDesignBody"); btnStyle.Setters.Add(bg); btnStyle.Setters.Add(fg); if (btnStyle != null) { (control as MahApps.Metro.Controls.DropDownButton).ButtonStyle = btnStyle; } Style menuStyle = Application.Current.TryFindResource("MaterialDesignContextMenu") as Style; if (menuStyle != null) { (control as MahApps.Metro.Controls.DropDownButton).MenuStyle = menuStyle; } } else if (control is MahApps.Metro.Controls.SplitButton) { Style lbStyle = Application.Current.TryFindResource("MaterialDesignListBox") as Style; if (lbStyle != null) { (control as MahApps.Metro.Controls.SplitButton).ListBoxStyle = lbStyle; } } else { TryApplyMaterialStyle((control as ContentControl)); } } control.ApplyTemplate(); }