public static void SetBackgroundGradient( StyleSet classStyleSet, Color backgroundGradientColor, Color backgroundSelectedGradientColor, Color backgroundSelectedInactiveGradientColor, Diagram diagram, string surfaceTitle) { #region Set background gradient style and shape attributes // Fill brush settings for background (Start gradient color). BrushSettings backgroundBrush = new BrushSettings(); backgroundBrush.Color = backgroundGradientColor; classStyleSet.OverrideBrush(DiagramBrushes.ShapeBackground, backgroundBrush); // Selected state backgroundBrush = new BrushSettings(); backgroundBrush.Color = backgroundSelectedGradientColor; classStyleSet.OverrideBrush(DiagramBrushes.ShapeBackgroundSelected, backgroundBrush); // SelectedInactive state backgroundBrush = new BrushSettings(); backgroundBrush.Color = backgroundSelectedInactiveGradientColor; classStyleSet.OverrideBrush(DiagramBrushes.ShapeBackgroundSelectedInactive, backgroundBrush); // We should find a "Background" field created when we set the // HasBackgroundGradient property to "true" AreaField background = diagram.FindShapeField("Background") as AreaField; if (background != null) { background.DefaultReflectParentSelectedState = true; //background.AnchoringBehavior.SetBottomAnchor(AnchoringBehavior.Edge.Bottom, diagram.MaximumSize.Height / 2); } #endregion #region Set Diagram font and text attributes // Custom font styles for diagram title FontSettings fontSettings; fontSettings = new FontSettings(); fontSettings.Style = FontStyle.Bold; fontSettings.Size = 9 / 72.0F; classStyleSet.OverrideFont(DiagramFonts.ShapeTitle, fontSettings); // Create a text field for the Diagram Title TextField textField = new TextField("DiagramTitle"); textField.DefaultText = surfaceTitle; textField.DefaultVisibility = true; textField.DefaultAutoSize = true; textField.DefaultFontId = DiagramFonts.ShapeTitle; textField.AnchoringBehavior.SetLeftAnchor(AnchoringBehavior.Edge.Left, 0.33); textField.AnchoringBehavior.SetTopAnchor(AnchoringBehavior.Edge.Top, 0.07); diagram.ShapeFields.Add(textField); #endregion }
/// <summary> /// Override the connection line pen with a dashed pen /// </summary> /// <param name="classStyleSet"></param> protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); IORMFontAndColorService colorService = (this.Store as IORMToolServices).FontAndColorService; Color constraintColor = colorService.GetForeColor(ORMDesignerColor.Constraint); Color activeColor = colorService.GetBackColor(ORMDesignerColor.ActiveConstraint); PenSettings settings = new PenSettings(); settings.Color = constraintColor; settings.DashStyle = DashStyle.Dash; settings.Width = 1.0F / 72.0F; // 1 Point. 0 Means 1 pixel, but should only be used for non-printed items #if VISUALSTUDIO_10_0 classStyleSet.AddPen(CustomConnectionLinePen, DiagramPens.ConnectionLine, settings); #else classStyleSet.OverridePen(DiagramPens.ConnectionLine, settings); #endif settings.Color = activeColor; classStyleSet.AddPen(ORMDiagram.StickyBackgroundResource, DiagramPens.ConnectionLine, settings); settings = new PenSettings(); settings.Width = 1.0F / 72.0F; // Soften the arrow a bit settings.Color = constraintColor; classStyleSet.OverridePen(DiagramPens.ConnectionLineDecorator, settings); settings.Color = activeColor; classStyleSet.AddPen(ORMDiagram.StickyForegroundResource, DiagramPens.ConnectionLineDecorator, settings); BrushSettings brushSettings = new BrushSettings(); brushSettings.Color = constraintColor; classStyleSet.OverrideBrush(DiagramBrushes.ConnectionLineDecorator, brushSettings); brushSettings.Color = activeColor; classStyleSet.AddBrush(ORMDiagram.StickyForegroundResource, DiagramBrushes.ConnectionLineDecorator, brushSettings); }
/// <summary> /// Overrides brush colors in one step. /// </summary> /// <param name="styleSet"></param> /// <param name="resourceId"></param> /// <param name="color"></param> public static void OverrideBrushColor(this StyleSet styleSet, StyleSetResourceId resourceId, Color color) { var settings = styleSet.GetOverriddenBrushSettings(resourceId) ?? new BrushSettings(); settings.Color = color; styleSet.OverrideBrush(resourceId, settings); }
/// <summary> /// Initializes the Resources for the background. /// </summary> private void InitializeBackgroundResources(StyleSet styleSet) { ITailoredBackgroundStyles styles = this.GetBackgroundStyles(); Color gradientStartColor = styles.TitleGradientFillColor; Color gradientEndColor = Color.Transparent; Color selectedColor = gradientStartColor; Color selectedInnactiveColor = gradientStartColor; // Title Text DiagramTitleField.InitializeInstanceResources(styleSet, TitleFontSize, styles.TitleTextColor); // Background color BrushSettings backgroundBrush = new BrushSettings(); backgroundBrush.Color = styles.BackgroundFillColor; styleSet.OverrideBrush(DiagramBrushes.DiagramBackground, backgroundBrush); // Start of title gradient BrushSettings titleGradientBrush = new BrushSettings(); titleGradientBrush.Color = gradientStartColor; styleSet.OverrideBrush(DiagramBrushes.ShapeBackground, titleGradientBrush); // Selected state titleGradientBrush = new BrushSettings(); titleGradientBrush.Color = selectedColor; styleSet.OverrideBrush(DiagramBrushes.ShapeBackgroundSelected, titleGradientBrush); // SelectedInactive state titleGradientBrush = new BrushSettings(); titleGradientBrush.Color = selectedInnactiveColor; styleSet.OverrideBrush(DiagramBrushes.ShapeBackgroundSelectedInactive, titleGradientBrush); // Find the field for the background AreaField background = this.FindShapeField(DiagramBackgroundShapeName) as AreaField; if (background != null) { background.DefaultReflectParentSelectedState = true; background.GradientEndingColor = gradientEndColor; // Constrain the height of the shape background.AnchoringBehavior.SetBottomAnchor(AnchoringBehavior.Edge.Bottom, (this.MaximumSize.Height - GradientHeight)); } }
/// <summary> /// Initializes style set resources for this shape type /// </summary> /// <param name="classStyleSet">The style set for this shape class</param> protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); BrushSettings brushSettings = new BrushSettings(); brushSettings.Color = Color.FromArgb(255, 234, 197); classStyleSet.OverrideBrush(headerBackgroundBrushId, brushSettings); }
/// <summary> /// Initializes the resources for all fields of this type. /// </summary> public static void InitializeInstanceResources(StyleSet classStyleSet, float fontSize, Color fontColor) { FontSettings fontSettings = new FontSettings(); fontSettings.Style = FontStyle.Bold; fontSettings.Size = fontSize; classStyleSet.OverrideFont(DiagramFonts.ShapeTitle, fontSettings); BrushSettings brushSettings = new BrushSettings(); brushSettings.Color = fontColor; classStyleSet.OverrideBrush(DiagramBrushes.ShapeText, brushSettings); }
protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); // Fill brush settings for this shape. BrushSettings backgroundBrush = new BrushSettings(); backgroundBrush.Color = Color.FromArgb(100, Color.FromKnownColor(KnownColor.Gray)); classStyleSet.OverrideBrush(DiagramBrushes.ShapeBackground, backgroundBrush); }
protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); classStyleSet.AddBrush(m_brushId, m_brushId, new BrushSettings() { Color = Color.PapayaWhip }); FontSettings fontSettings = new FontSettings(); fontSettings.Style = System.Drawing.FontStyle.Bold; fontSettings.Size = 8 / 72.0F; classStyleSet.AddFont(m_FontId, DiagramFonts.ShapeText, fontSettings); // set text color for fields BrushSettings textBrush = new BrushSettings(); textBrush.Color = Color.FromKnownColor(KnownColor.Maroon); classStyleSet.OverrideBrush(DiagramBrushes.ShapeText, textBrush); classStyleSet.OverrideBrush(DiagramBrushes.ShapeTextSelected, textBrush); }
/// <summary> /// Initialize a <see cref="StyleSet"/> for rendering deontic constraints. /// The style set is created in <see cref="DeonticClassStyleSet"/> and /// initialized here. /// </summary> /// <remarks>If a derived class does not modify additional resources in the /// default style set, then this method is not required and any derived deontic /// style set can be based on the deontic style set for this base class. However, /// if new resources are introduced, then the derived class should base a /// deontic style set on the derived class style set and reinitialize the /// deontic settings in that style set.</remarks> protected virtual void InitializeDeonticClassStyleSet(StyleSet styleSet) { IORMFontAndColorService colorService = (Store as IORMToolServices).FontAndColorService; Color constraintColor = colorService.GetForeColor(ORMDesignerColor.DeonticConstraint); PenSettings penSettings = new PenSettings(); penSettings.Color = constraintColor; styleSet.OverridePen(DiagramPens.ShapeOutline, penSettings); BrushSettings brushSettings = new BrushSettings(); brushSettings.Color = constraintColor; styleSet.OverrideBrush(ExternalConstraintBrush, brushSettings); }
protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); classStyleSet.AddBrush(m_headFootBrushId, m_headFootBrushId, new BrushSettings() { Color = Color.Azure }); FontSettings fontSettings = new FontSettings(); fontSettings.Style = System.Drawing.FontStyle.Bold; fontSettings.Size = 8 / 72.0F; classStyleSet.AddFont(m_FontId, DiagramFonts.ShapeText, fontSettings); // set text color for fields BrushSettings textBrush = new BrushSettings(); textBrush.Color = Color.FromKnownColor(KnownColor.Maroon); classStyleSet.OverrideBrush(DiagramBrushes.ShapeText, textBrush); classStyleSet.OverrideBrush(DiagramBrushes.ShapeTextSelected, textBrush); VDHTMLTagShape.AssociateValueWith(this.Store, VDHTMLTag.TagNameDomainPropertyId); VDHTMLTagShape.AssociateValueWith(this.Store, VDHTMLTag.TagTextDomainPropertyId); }
/// <summary> /// Change the outline pen to a thin black line for all instances /// of this shape. /// </summary> /// <param name="classStyleSet">The style set to modify</param> protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); IORMFontAndColorService colorService = (this.Store as IORMToolServices).FontAndColorService; Color lineColor = colorService.GetForeColor(ORMDesignerColor.Constraint); Color stickyColor = colorService.GetBackColor(ORMDesignerColor.ActiveConstraint); Color activeColor = colorService.GetBackColor(ORMDesignerColor.RolePicker); PenSettings penSettings = new PenSettings(); penSettings.Width = 1.8F / 72.0F; // 1.8 Point. 0 Means 1 pixel, but should only be used for non-printed items penSettings.Alignment = PenAlignment.Center; penSettings.Color = lineColor; classStyleSet.OverridePen(DiagramPens.ConnectionLine, penSettings); //Supporting Dashed subtypefacts when not primary penSettings.DashStyle = DashStyle.Dash; classStyleSet.AddPen(NonPrimaryNormalResource, DiagramPens.ConnectionLine, penSettings); penSettings.DashStyle = DashStyle.Solid; penSettings.Color = stickyColor; classStyleSet.AddPen(ORMDiagram.StickyBackgroundResource, DiagramPens.ConnectionLine, penSettings); penSettings.DashStyle = DashStyle.Dash; classStyleSet.AddPen(NonPrimaryStickyResource, DiagramPens.ConnectionLine, penSettings); penSettings.DashStyle = DashStyle.Solid; penSettings.Color = activeColor; classStyleSet.AddPen(ORMDiagram.ActiveBackgroundResource, DiagramPens.ConnectionLine, penSettings); penSettings.DashStyle = DashStyle.Dash; classStyleSet.AddPen(NonPrimaryActiveResource, DiagramPens.ConnectionLine, penSettings); penSettings.DashStyle = DashStyle.Solid; penSettings = new PenSettings(); penSettings.Width = 1.4F / 72.0F; // Soften the arrow a bit penSettings.Color = lineColor; classStyleSet.OverridePen(DiagramPens.ConnectionLineDecorator, penSettings); penSettings.Color = stickyColor; classStyleSet.AddPen(ORMDiagram.StickyConnectionLineDecoratorResource, DiagramPens.ConnectionLineDecorator, penSettings); penSettings.Color = activeColor; classStyleSet.AddPen(ORMDiagram.ActiveConnectionLineDecoratorResource, DiagramPens.ConnectionLineDecorator, penSettings); BrushSettings brushSettings = new BrushSettings(); brushSettings.Color = lineColor; classStyleSet.OverrideBrush(DiagramBrushes.ConnectionLineDecorator, brushSettings); brushSettings.Color = stickyColor; classStyleSet.AddBrush(ORMDiagram.StickyConnectionLineDecoratorResource, DiagramBrushes.ConnectionLineDecorator, brushSettings); brushSettings.Color = activeColor; classStyleSet.AddBrush(ORMDiagram.ActiveConnectionLineDecoratorResource, DiagramBrushes.ConnectionLineDecorator, brushSettings); }
/// <summary> /// Initializes style set resources for this shape type /// </summary> /// <param name="classStyleSet">The style set for this shape class</param> protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); PenSettings settings = new PenSettings(); settings.Color = Color.FromArgb(0xff, 0, 0, 0); settings.Width = 0.01f; classStyleSet.OverridePen(DiagramPens.ShapeOutline, settings); BrushSettings settings2 = new BrushSettings(); settings2.Color = Color.FromArgb(0xff, 159, 183, 215); classStyleSet.OverrideBrush(DiagramBrushes.ShapeBackground, settings2); FontSettings settings3 = new FontSettings(); settings3.Style = FontStyle.Regular; settings3.Size = 0.09722222f; classStyleSet.AddFont(new StyleSetResourceId(string.Empty, "ShapeTextRegular7"), DiagramFonts.ShapeText, settings3); }
/// <summary> /// Change the outline pen to a thin black line for all instances /// of this shape. /// </summary> /// <param name="classStyleSet">The style set to modify</param> protected override void InitializeResources(StyleSet classStyleSet) { base.InitializeResources(classStyleSet); PenSettings penSettings = new PenSettings(); penSettings.Width = 1.2F / 72.0F; // 1.2 Point. 0 Means 1 pixel, but should only be used for non-printed items penSettings.Alignment = PenAlignment.Center; classStyleSet.OverridePen(DiagramPens.ConnectionLine, penSettings); penSettings.DashStyle = DashStyle.Dash; classStyleSet.AddPen(BarkerEROptionalPen, DiagramPens.ConnectionLine, penSettings); IORMFontAndColorService fontsAndColors = (Store as IORMToolServices).FontAndColorService; Color constraintForeColor = fontsAndColors.GetForeColor(ORMDesignerColor.Constraint); penSettings = new PenSettings(); penSettings.Color = constraintForeColor; classStyleSet.OverridePen(DiagramPens.ConnectionLineDecorator, penSettings); BrushSettings brushSettings = new BrushSettings(); brushSettings.Color = constraintForeColor; classStyleSet.OverrideBrush(DiagramBrushes.ConnectionLineDecorator, brushSettings); }