public FontStyleEditor(IEditorService editor, ClassDefinition schema, string featureSource)
            : this()
        {
            m_editor = editor;
            m_schema = schema;

            var fs = (IFeatureSource)editor.CurrentConnection.ResourceService.GetResource(featureSource);

            _factory = (ILayerElementFactory)editor.GetEditedResource();

            m_providername  = fs.Provider;
            m_featureSource = featureSource;

            propertyCombo.Items.Clear();
            foreach (var col in m_schema.Properties)
            {
                if (col.Type == PropertyDefinitionType.Data)
                {
                    propertyCombo.Items.Add(col.Name);
                }
            }
            propertyCombo.Items.Add(Strings.ExpressionItem);

            fontCombo.Items.Clear();
            foreach (FontFamily f in new System.Drawing.Text.InstalledFontCollection().Families)
            {
                fontCombo.Items.Add(f.Name);
            }
        }
Exemple #2
0
        public FontStyleEditor(IEditorService editor, ClassDefinition schema, string featureSource)
            : this()
        {
            m_editor = editor;
            m_schema = schema;

            var fs = (IFeatureSource)editor.ResourceService.GetResource(featureSource);

            _factory = (ILayerElementFactory)editor.GetEditedResource();

            m_providername = fs.Provider;
            m_featureSource = featureSource;

            propertyCombo.Items.Clear();
            foreach (var col in m_schema.Properties)
            {
                if (col.Type == PropertyDefinitionType.Data)
                    propertyCombo.Items.Add(col.Name);
            }
            propertyCombo.Items.Add(Strings.ExpressionItem);

            fontCombo.Items.Clear();
            foreach (FontFamily f in new System.Drawing.Text.InstalledFontCollection().Families)
                fontCombo.Items.Add(f.Name);
        }
        /// <summary>
        /// Creates a default area composite style
        /// </summary>
        /// <param name="fact"></param>
        /// <returns></returns>
        public static ICompositeTypeStyle CreateDefaultAreaCompositeStyle(this ILayerElementFactory fact)
        {
            Check.NotNull(fact, "fact");
            var style = fact.CreateDefaultCompositeStyle();

            style.RemoveAllRules();
            style.AddCompositeRule(fact.CreateDefaultAreaCompositeRule());
            return(style);
        }
Exemple #4
0
        public override void Bind(IEditorService service)
        {
            _edsvc = service;
            _edsvc.RegisterCustomNotifier(this);
            var res = (ILayerDefinition)service.GetEditedResource();

            _vl      = (IVectorLayerDefinition)res.SubLayer;
            _factory = (ILayerElementFactory)res;
            BindScaleList(_vl.VectorScaleRange);
            EvaluateCommands();
        }
        /// <summary>
        /// Creates a default point composite rule
        /// </summary>
        /// <param name="fact"></param>
        /// <returns></returns>
        public static ICompositeRule CreateDefaultPointCompositeRule(this ILayerElementFactory fact)
        {
            Check.NotNull(fact, "fact");
            var rule = fact.CreateDefaultCompositeRule();

            //Clear out existing instances
            rule.CompositeSymbolization.RemoveAllSymbolInstances();

            var ldf = (ILayerDefinition)fact;
            var vl  = (IVectorLayerDefinition)ldf.SubLayer;

            string symbolName = "Square"; //NOXLATE

            var ssym = ObjectFactory.CreateSimpleSymbol(ldf.CurrentConnection,
                                                        vl.SymbolDefinitionVersion,
                                                        symbolName,
                                                        "Default Point Symbol"); //NOXLATE

            var square = ssym.CreatePathGraphics();

            square.Geometry   = "M -1.0,-1.0 L 1.0,-1.0 L 1.0,1.0 L -1.0,1.0 L -1.0,-1.0"; //NOXLATE
            square.FillColor  = "%FILLCOLOR%";                                             //NOXLATE
            square.LineColor  = "%LINECOLOR%";                                             //NOXLATE
            square.LineWeight = "%LINEWEIGHT%";                                            //NOXLATE
            ssym.AddGraphics(square);

            ssym.PointUsage       = ssym.CreatePointUsage();
            ssym.PointUsage.Angle = "%ROTATION%";                                                              //NOXLATE

            ssym.DefineParameter("FILLCOLOR", "0xffffffff", "&amp;Fill Color", "Fill Color", "FillColor");     //NOXLATE
            ssym.DefineParameter("LINECOLOR", "0xff000000", "Line &amp;Color", "Line Color", "LineColor");     //NOXLATE
            ssym.DefineParameter("LINEWEIGHT", "0.0", "Line &amp; Thickness", "Line Thickness", "LineWeight"); //NOXLATE
            ssym.DefineParameter("ROTATION", "0.0", "Line &amp; Thickness", "Line Thickness", "Angle");        //NOXLATE

            var instance  = rule.CompositeSymbolization.CreateInlineSimpleSymbol(ssym);
            var overrides = instance.ParameterOverrides;

            overrides.AddOverride(symbolName, "FILLCOLOR", "0xffffffff"); //NOXLATE
            overrides.AddOverride(symbolName, "LINECOLOR", "0xff000000"); //NOXLATE
            overrides.AddOverride(symbolName, "LINEWEIGHT", "0.0");       //NOXLATE
            overrides.AddOverride(symbolName, "ROTATION", "0.0");         //NOXLATE

            instance.AddToExclusionRegion = "true";                       //NOXLATE
            var inst2 = instance as ISymbolInstance2;

            if (inst2 != null)
            {
                inst2.UsageContext    = UsageContextType.Point;
                inst2.GeometryContext = GeometryContextType.Point;
            }

            rule.CompositeSymbolization.AddSymbolInstance(instance);
            return(rule);
        }
        public override IRuleModel CloneRuleModel(ILayerElementFactory factory)
        {
            var clone = factory.CreateDefaultCompositeRule();

            clone.Filter      = _rule.Filter;
            clone.LegendLabel = _rule.LegendLabel;
            if (_rule.CompositeSymbolization != null)
            {
                clone.CompositeSymbolization = factory.CloneCompositeSymbolization(_rule.CompositeSymbolization);
            }
            return(new CompositeRuleModel(clone, -1));
        }
        /// <summary>
        /// Creates a default line composite rule
        /// </summary>
        /// <param name="fact"></param>
        /// <returns></returns>
        public static ICompositeRule CreateDefaultLineCompositeRule(this ILayerElementFactory fact)
        {
            Check.NotNull(fact, "fact");
            var rule = fact.CreateDefaultCompositeRule();

            //Clear out existing instances
            rule.CompositeSymbolization.RemoveAllSymbolInstances();

            var ldf = (ILayerDefinition)fact;
            var vl  = (IVectorLayerDefinition)ldf.SubLayer;

            string symbolName = "Solid Line"; //NOXLATE

            var ssym = ObjectFactory.CreateSimpleSymbol(ldf.CurrentConnection,
                                                        vl.SymbolDefinitionVersion,
                                                        symbolName,
                                                        "Default Line Symbol"); //NOXLATE

            var line = ssym.CreatePathGraphics();

            line.Geometry           = "M 0.0,0.0 L 1.0,0.0"; //NOXLATE
            line.LineColor          = "%LINECOLOR%";         //NOXLATE
            line.LineWeight         = "%LINEWEIGHT%";        //NOXLATE
            line.LineWeightScalable = "true";                //NOXLATE
            ssym.AddGraphics(line);

            ssym.LineUsage        = ssym.CreateLineUsage();
            ssym.LineUsage.Repeat = "1.0";

            ssym.DefineParameter("LINECOLOR", "0xff000000", "Line &amp;Color", "Line Color", "LineColor");     //NOXLATE
            ssym.DefineParameter("LINEWEIGHT", "0.0", "Line &amp; Thickness", "Line Thickness", "LineWeight"); //NOXLATE

            var instance  = rule.CompositeSymbolization.CreateInlineSimpleSymbol(ssym);
            var overrides = instance.ParameterOverrides;

            overrides.AddOverride(symbolName, "LINECOLOR", "0xff000000"); //NOXLATE
            overrides.AddOverride(symbolName, "LINEWEIGHT", "0.0");       //NOXLATE

            var inst2 = instance as ISymbolInstance2;

            if (inst2 != null)
            {
                inst2.UsageContext    = UsageContextType.Line;
                inst2.GeometryContext = GeometryContextType.LineString;
            }

            rule.CompositeSymbolization.AddSymbolInstance(instance);
            return(rule);
        }
        public override ILabeledRuleModel CloneLabeledRuleModel(ILayerElementFactory factory)
        {
            var clone = factory.CreateDefaultAreaRule();

            clone.Filter      = _rule.Filter;
            clone.LegendLabel = _rule.LegendLabel;
            if (_rule.Label != null)
            {
                clone.Label = _rule.Label.Clone();
            }
            if (_rule.AreaSymbolization2D != null)
            {
                clone.AreaSymbolization2D = _rule.AreaSymbolization2D.Clone();
            }
            return(new AreaRuleModel(clone, -1));
        }
        internal AreaFeatureStyleEditor(IEditorService editor, ClassDefinition schema, string featureSource, ILayerStylePreviewable prev)
            : this()
        {
            m_editor = editor;
            m_schema = schema;

            _factory = (ILayerElementFactory)editor.GetEditedResource();
            var fs = (IFeatureSource)m_editor.ResourceService.GetResource(featureSource);

            m_providername = fs.Provider;
            m_featureSource = featureSource;

            _preview = prev;
            var conn = editor.GetEditedResource().CurrentConnection;
            if (Array.IndexOf(conn.Capabilities.SupportedServices, (int)ServiceType.Mapping) >= 0)
            {
                _mappingSvc = (IMappingService)conn.GetService((int)ServiceType.Mapping);
            }
            lnkRefresh.Visible = this.UseLayerIconPreview;
        }
        public override ILabeledRuleModel CloneLabeledRuleModel(ILayerElementFactory factory)
        {
            var clone = factory.CreateDefaultLineRule();

            clone.Filter      = _rule.Filter;
            clone.LegendLabel = _rule.LegendLabel;
            if (_rule.Label != null)
            {
                clone.Label = _rule.Label.Clone();
            }
            if (_rule.Strokes != null && _rule.StrokeCount > 0)
            {
                var strokes = new List <IStroke>();
                foreach (var st in _rule.Strokes)
                {
                    strokes.Add(st.Clone());
                }
                clone.SetStrokes(strokes);
            }
            return(new LineRuleModel(clone, -1));
        }
Exemple #11
0
        internal AreaFeatureStyleEditor(IEditorService editor, ClassDefinition schema, string featureSource, ILayerStylePreviewable prev)
            : this()
        {
            m_editor = editor;
            m_schema = schema;

            _factory = (ILayerElementFactory)editor.GetEditedResource();
            var fs = (IFeatureSource)m_editor.CurrentConnection.ResourceService.GetResource(featureSource);

            m_providername  = fs.Provider;
            m_featureSource = featureSource;

            _preview = prev;
            var conn = editor.CurrentConnection;

            if (Array.IndexOf(conn.Capabilities.SupportedServices, (int)ServiceType.Mapping) >= 0)
            {
                _mappingSvc = (IMappingService)conn.GetService((int)ServiceType.Mapping);
            }
            lnkRefresh.Visible = this.UseLayerIconPreview;
        }
Exemple #12
0
 private ILineRule CreateLineRule(ILineRule template, ILayerElementFactory factory)
 {
     var lrule = factory.CreateDefaultLineRule();
     foreach (var st in template.Strokes)
     {
         lrule.AddStroke(st.Clone());
     }
     if (template.Label != null)
         lrule.Label = template.Label.Clone();
     return lrule;
 }
Exemple #13
0
        private IPointRule CreatePointRule(IPointRule template, ILayerElementFactory factory)
        {
            var ptRule = factory.CreateDefaultPointRule();

            var srcSym = template.PointSymbolization2D;
            if (srcSym != null)
            {
                ptRule.PointSymbolization2D = srcSym.Clone();
            }
            var srcLabel = template.Label;
            if (srcLabel != null)
            {
                ptRule.Label = srcLabel.Clone();
            }
            return ptRule;
        }
Exemple #14
0
 private IAreaRule CreateAreaRule(IAreaRule template, ILayerElementFactory factory)
 {
     var arule = factory.CreateDefaultAreaRule();
     if (template.AreaSymbolization2D != null)
         arule.AreaSymbolization2D = template.AreaSymbolization2D.Clone();
     if (template.Label != null)
         arule.Label = template.Label.Clone();
     return arule;
 }
 public override IRuleModel CloneRuleModel(ILayerElementFactory factory)
 {
     throw new NotImplementedException();
 }
 public abstract ILabeledRuleModel CloneLabeledRuleModel(ILayerElementFactory factory);
        /// <summary>
        /// Creates a default area composite rule
        /// </summary>
        /// <param name="fact"></param>
        /// <returns></returns>
        public static ICompositeRule CreateDefaultAreaCompositeRule(this ILayerElementFactory fact)
        {
            Check.NotNull(fact, "fact");
            var rule = fact.CreateDefaultCompositeRule();

            //Clear out existing instances
            rule.CompositeSymbolization.RemoveAllSymbolInstances();

            var ldf = (ILayerDefinition)fact;
            var vl  = (IVectorLayerDefinition)ldf.SubLayer;

            string fillSymbolName = "Solid Fill"; //NOXLATE
            var    fillSym        = ObjectFactory.CreateSimpleSymbol(ldf.CurrentConnection,
                                                                     vl.SymbolDefinitionVersion,
                                                                     fillSymbolName,
                                                                     "Default Area Symbol"); //NOXLATE

            var fill = fillSym.CreatePathGraphics();

            fill.Geometry  = "M 0.0,0.0 h 100.0 v 100.0 h -100.0 z";
            fill.FillColor = "%FILLCOLOR%";
            fillSym.AddGraphics(fill);

            fillSym.AreaUsage         = fillSym.CreateAreaUsage();
            fillSym.AreaUsage.RepeatX = "100.0";                                                              //NOXLATE
            fillSym.AreaUsage.RepeatY = "100.0";                                                              //NOXLATE

            fillSym.DefineParameter("FILLCOLOR", "0xffbfbfbf", "&amp;Fill Color", "Fill Color", "FillColor"); //NOXLATE

            var fillInstance  = rule.CompositeSymbolization.CreateInlineSimpleSymbol(fillSym);
            var fillOverrides = fillInstance.ParameterOverrides;

            var fillInst2 = fillInstance as ISymbolInstance2;

            if (fillInst2 != null)
            {
                fillInst2.GeometryContext = GeometryContextType.Polygon;
            }

            fillOverrides.AddOverride(fillSymbolName, "FILLCOLOR", "0xffbfbfbf");

            string lineSymbolName = "Solid Line"; //NOXLATE
            var    lineSym        = ObjectFactory.CreateSimpleSymbol(ldf.CurrentConnection,
                                                                     vl.SymbolDefinitionVersion,
                                                                     lineSymbolName,
                                                                     "Default Line Symbol"); //NOXLATE

            var line = lineSym.CreatePathGraphics();

            line.Geometry           = "M 0.0,0.0 L 1.0,0.0"; //NOXLATE
            line.LineColor          = "%LINECOLOR%";         //NOXLATE
            line.LineWeight         = "%LINEWEIGHT%";        //NOXLATE
            line.LineWeightScalable = "false";               //NOXLATE
            lineSym.AddGraphics(line);

            lineSym.LineUsage        = lineSym.CreateLineUsage();
            lineSym.LineUsage.Repeat = "1.0";

            lineSym.DefineParameter("LINECOLOR", "0xff000000", "Line &amp;Color", "Line Color", "LineColor");     //NOXLATE
            lineSym.DefineParameter("LINEWEIGHT", "0.0", "Line &amp; Thickness", "Line Thickness", "LineWeight"); //NOXLATE

            var lineInstance  = rule.CompositeSymbolization.CreateInlineSimpleSymbol(lineSym);
            var lineOverrides = lineInstance.ParameterOverrides;

            lineOverrides.AddOverride(lineSymbolName, "LINECOLOR", "0xff000000"); //NOXLATE
            lineOverrides.AddOverride(lineSymbolName, "LINEWEIGHT", "0.0");       //NOXLATE

            var lineInst2 = lineInstance as ISymbolInstance2;

            if (lineInst2 != null)
            {
                lineInst2.GeometryContext = GeometryContextType.Polygon;
            }

            rule.CompositeSymbolization.AddSymbolInstance(fillInstance);
            rule.CompositeSymbolization.AddSymbolInstance(lineInstance);
            return(rule);
        }
 public abstract IRuleModel CloneRuleModel(ILayerElementFactory factory);