Exemple #1
0
        public ApplicationViewInfo(ApplicationViewManager.Name name, PackIconOcticons packIconOcticons)
        {
            Name           = name;
            TranslatedName = ApplicationViewManager.GetTranslatedNameByName(name);
            var canvas = new Canvas();

            canvas.Children.Add(packIconOcticons);
            Icon = canvas;
        }
Exemple #2
0
        public SettingsViewInfo(SettingsViewManager.Name name, PackIconOcticons packIconOcticons, SettingsViewManager.Group group)
        {
            Name           = name;
            TranslatedName = SettingsViewManager.TranslateName(name, group);
            Canvas canvas = new Canvas();

            canvas.Children.Add(packIconOcticons);
            Icon            = canvas;
            Group           = group;
            TranslatedGroup = SettingsViewManager.TranslateGroup(group);
        }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            StackPanel stackPanel = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };
            PackIconBase icon = null;
            string       text = "";

            ResourceManager resourceManager = new ResourceManager(typeof(Properties.Resources));

            GitHubRelease release = (GitHubRelease)value;

            switch (release.ReleaseTimeType)
            {
            case GitHubReleaseTimeTypes.OLD:
                icon = new PackIconMaterial()
                {
                    Kind = PackIconMaterialKind.History
                };
                text = resourceManager.GetString("DowngradeString");
                break;

            case GitHubReleaseTimeTypes.CURRENT:
                icon = new PackIconOcticons()
                {
                    Kind = PackIconOcticonsKind.Tools
                };
                text = resourceManager.GetString("RepairString");
                break;

            case GitHubReleaseTimeTypes.NEW:
                icon = new PackIconOcticons()
                {
                    Kind = PackIconOcticonsKind.DesktopDownload
                };
                text = resourceManager.GetString("UpgradeString");
                break;
            }

            icon.Width             = 20;
            icon.Height            = double.NaN;
            icon.Margin            = new System.Windows.Thickness(5, 0, 10, 0);
            icon.VerticalAlignment = System.Windows.VerticalAlignment.Center;
            stackPanel.Children.Add(icon);

            stackPanel.Children.Add(new TextBlock(new Run(text))
            {
                FontSize = 12, VerticalAlignment = System.Windows.VerticalAlignment.Center
            });

            return(stackPanel);
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        private Control CreateCpControl() // CP means "create project". Abbreviated to avoid complicating the name of the method.
        {
            Tile tile = new Tile();

            tile.Title         = "Create new project";
            tile.Click        += CreateNewProjectClick;
            tile.Cursor        = System.Windows.Input.Cursors.Hand;
            tile.Margin        = new Thickness(_TILES_MARGIN);
            tile.TitleFontSize = 10;

            PackIconOcticons plusIcon = new PackIconOcticons();

            plusIcon.Kind = PackIconOcticonsKind.Plus;
            tile.Content  = plusIcon;

            return(tile);
        }
Exemple #6
0
        protected override ImageSource CreateImageSource(object value, Brush foregroundBrush, double penThickness)
        {
            var packIcon = new PackIconOcticons {
                Kind = (PackIconOcticonsKind)value
            };

            var geometryDrawing = new GeometryDrawing
            {
                Geometry = Geometry.Parse(packIcon.Data),
                Brush    = foregroundBrush,
                Pen      = new Pen(foregroundBrush, penThickness)
            };

            var drawingGroup = new DrawingGroup {
                Children = { geometryDrawing }
            };

            return(new DrawingImage {
                Drawing = drawingGroup
            });
        }
Exemple #7
0
        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();
        }