[mapguide-commits] r5050 - in sandbox/maestro-3.0: Maestro
Maestro.Base/Editor Maestro.Editors Maestro.Editors/Common
Maestro.Editors/LayerDefinition
Maestro.Editors/LayerDefinition/Vector
Maestro.Editors/LayerDefinition/Vector/Scales
Maestro.Editors/LayerDefinition/Vector/StyleEditors
Maestro.Editors/LayerDefinition/Vector/Thematics
Maestro.Editors/Properties Maestro.Editors/Resources
OSGeo.MapGuide.MaestroAPI/ObjectModels
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Jul 23 08:38:06 EDT 2010
Author: jng
Date: 2010-07-23 12:38:06 +0000 (Fri, 23 Jul 2010)
New Revision: 5050
Added:
sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.cs
sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/FeaturePreviewRender.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.resx
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ColorBrewer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx
sandbox/maestro-3.0/Maestro.Editors/Resources/ColorBrewer.csv
sandbox/maestro-3.0/Maestro.Editors/Resources/CommandTypesDataset.xml
sandbox/maestro-3.0/Maestro.Editors/Resources/GeometryStyleComboDataset.xml
Removed:
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Geometry/
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Scales/
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Thematics/
Modified:
sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs
sandbox/maestro-3.0/Maestro.Editors/IEditorService.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs
sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs
sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj
sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs
sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx
sandbox/maestro-3.0/Maestro/Maestro.csproj
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSource.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs
Log:
This is the first phase of porting the current layer definition style editor to our sandbox. This targets the 1.0.0 Layer Definition schema and many things are still broken
Modified: sandbox/maestro-3.0/Maestro/Maestro.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro/Maestro.csproj 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro/Maestro.csproj 2010-07-23 12:38:06 UTC (rev 5050)
@@ -73,6 +73,643 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="MapGuide Maestro.ico" />
+ <Content Include="WebStudio\areas\Acad_iso02w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso03w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso04w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso05w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso06w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso07w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso08w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso09w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso10w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso11w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso12w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso13w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso14w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Acad_iso15w100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Angle.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi31.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi32.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi33.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi34.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi35.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi36.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi37.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ansi38.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_b816.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_b816c.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_b88.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_brelm.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_brstd.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_conc.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_hbone.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_parq1.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_rroof.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_rroof_90.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_rshke.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_rshke_180.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_rshke_270.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_rshke_90.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Ar_sand.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Box.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Brass.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Brick.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Brstone.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Clay.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Cork.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Cross.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Dash.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Dolmit.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Dots.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Earth.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Escher.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Flex.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Grass.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Grate.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Hex.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Honey.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Hound.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Insul.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Line.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Line_135.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Line_45.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Line_90.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Mudst.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Net.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Net3.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Net_45.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Plast.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Plasti.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Sacncr.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill12.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill13.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill14.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill15.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill16.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill17.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill18.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill19.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill20.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill21.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill22.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill23.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill24.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill25.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill26.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill27.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill28.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill29.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill30.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill31.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill32.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill33.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill34.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill35.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill36.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill37.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill38.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill39.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill40.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill41.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill42.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill43.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill44.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill45.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill46.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill47.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill48.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill49.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill50.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill51.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill52.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill53.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill54.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill55.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill56.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill57.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill58.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill59.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill60.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill61.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill62.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill63.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill64.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill65.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill66.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill67.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill68.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill69.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill70.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Shapefill71.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Solid.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Square.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Stars.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Steel.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Swamp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Trans.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Triang.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\areas\Zigzag.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\copyright.txt" />
+ <Content Include="WebStudio\lines\ACAD_ISO02W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO03W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO04W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO05W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO06W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO07W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO08W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO09W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO10W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO11W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO12W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO13W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO14W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\ACAD_ISO15W100.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\BORDER.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\BORDER2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\BORDERX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\CENTER.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\CENTER2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\CENTERX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\Dash.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DashDot.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DASHDOT2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DASHDOT3.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DashDotDot.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DASHDOTX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DASHED.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DASHED2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DASHEDX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DIVIDE.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DIVIDE2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DIVIDEX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\Dot.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DOT2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DOT3.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\DOTX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\FENCELINE1.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\FENCELINE2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\HIDDEN.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\HIDDEN2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\HIDDENX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE03.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE04.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE05.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE06.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE07.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE08.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE09.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE10.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE11.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE12.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE13.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE14.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE15.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE16.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE17.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE18.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE19.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE20.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE21.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE22.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE23.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE24.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\LINE25.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\PHANTOM.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\PHANTOM2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\PHANTOMX2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\Rail.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\Solid.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\lines\TRACKS.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\points\circle.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\points\cross.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\points\square.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\points\star.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\points\triangle.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="WebStudio\points\x.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Maestro.Base\Maestro.Base.csproj">
Modified: sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Base/Editor/ResourceEditorService.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -264,5 +264,11 @@
{
get { return (IDrawingService)_conn.GetService((int)ServiceType.Drawing); }
}
+
+ public void HasChanged()
+ {
+ this.IsDirty = true;
+ OnDirtyStateChanged();
+ }
}
}
Added: sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,147 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Windows.Forms;
+using System.Drawing;
+
+namespace Maestro.Editors.Common
+{
+ public class ImageStylePicker
+ : CustomCombo
+ {
+ private int m_itemHeight = 20;
+ private int m_textWidth = 40;
+
+ public ImageStylePicker()
+ : base()
+ {
+ if (!this.DesignMode)
+ {
+ base.SetCustomRender(new RenderCustomItem(ImageComboRender));
+ base.ValueMember = "Name";
+ base.DisplayMember = "Name";
+ }
+ }
+
+ public int TextWidth
+ {
+ get { return m_textWidth; }
+ set { m_textWidth = value; }
+ }
+
+ protected override void OnMeasureItem(MeasureItemEventArgs e)
+ {
+ if (e.Index < 0)
+ return;
+
+ Image bmp = this.Items[e.Index] as Image;
+
+ if (bmp == null && this.Items[e.Index] as NamedImage != null)
+ bmp = (this.Items[e.Index] as NamedImage).Image;
+
+ if (bmp != null)
+ e.ItemHeight = m_itemHeight + MARGIN * 3;
+ else
+ base.OnMeasureItem(e);
+ }
+
+ private const int MARGIN = 2;
+
+ private bool ImageComboRender(DrawItemEventArgs e, object value)
+ {
+ Image bmp;
+ string text;
+
+ if (value as NamedImage != null)
+ {
+ bmp = (value as NamedImage).Image;
+ text = (value as NamedImage).Name;
+ }
+ else if (value as Image != null)
+ {
+ bmp = value as Image;
+ text = null;
+ }
+ else
+ return false;
+
+ e.DrawBackground();
+
+ Color brushcolor = this.Enabled ? this.ForeColor : System.Drawing.SystemColors.GrayText;
+ int imageWidth = e.Bounds.Width - m_textWidth - MARGIN * 2;
+ //TODO: Apply B/W + dim filter here
+ Rectangle r = new Rectangle(e.Bounds.X + MARGIN + 1, e.Bounds.Y + MARGIN + 1, imageWidth - 1, m_itemHeight - 1);
+ using (Brush b = new TextureBrush(bmp))
+ e.Graphics.FillRectangle(b, r);
+
+ r = new Rectangle(e.Bounds.X + MARGIN, e.Bounds.Y + MARGIN, imageWidth, m_itemHeight);
+ using(Pen p = new Pen(brushcolor))
+ e.Graphics.DrawRectangle(p, r);
+
+ if (text != null && text.Length > 0)
+ {
+ StringFormat format = new StringFormat();
+ format.Trimming = StringTrimming.EllipsisCharacter;
+ format.FormatFlags = StringFormatFlags.NoWrap | StringFormatFlags.FitBlackBox;
+
+ int textHeight = (int)e.Graphics.MeasureString(text, this.Font, m_textWidth, format).Height;
+ int centerY = ((e.Bounds.Height - textHeight) / 2) + e.Bounds.Y;
+
+ r = new Rectangle(e.Bounds.X + MARGIN * 2 + imageWidth, centerY, m_textWidth, m_itemHeight);
+ using(Brush b = new SolidBrush(brushcolor))
+ e.Graphics.DrawString(text, this.Font, b, r, format);
+
+ if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
+ e.DrawFocusRectangle();
+ }
+ return true;
+ }
+
+ public class NamedImage
+ {
+ public NamedImage(string name, Image image)
+ {
+ m_name = name;
+ m_image = image;
+ }
+
+ private Image m_image;
+ private string m_name;
+
+ public Image Image
+ {
+ get { return m_image; }
+ set { m_image = value; }
+ }
+
+ public string Name
+ {
+ get { return m_name; }
+ set { m_name = value; }
+ }
+ }
+
+ internal void Bind(object dataSource, string dataMember)
+ {
+ //We're binding to the name of the image
+ this.DataBindings.Add("Text", dataSource, dataMember);
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Common/ImageStylePicker.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="ResMimeType">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="Version">
+ <value>1.0.0.0</value>
+ </resheader>
+ <resheader name="Reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="Writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
Modified: sandbox/maestro-3.0/Maestro.Editors/IEditorService.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/IEditorService.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/IEditorService.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -181,5 +181,12 @@
/// </summary>
/// <returns></returns>
string GetCoordinateSystem();
+
+ /// <summary>
+ /// Forces the the <see cref="DirtyStateChanged"/> event. Normally the databinding
+ /// system should auto-flag dirty state, only call this if you don't utilise this
+ /// databinding system.
+ /// </summary>
+ void HasChanged();
}
}
Copied: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/FeaturePreviewRender.cs (from rev 5035, trunk/Tools/Maestro/Maestro/ResourceEditors/FeaturePreviewRender.cs)
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/FeaturePreviewRender.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/FeaturePreviewRender.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,474 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Drawing;
+using System.Collections;
+using System.Drawing.Imaging;
+using Maestro.Editors.Common;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using System.Collections.Generic;
+using OSGeo.MapGuide.MaestroAPI;
+
+namespace Maestro.Editors.LayerDefinition.Vector
+{
+
+ public class FeaturePreviewRender
+ {
+ private static ImageStylePicker.NamedImage[] m_fillImages = null;
+ private static ImageStylePicker.NamedImage[] m_lineStyles = null;
+
+
+ public static void RenderPreviewArea(Graphics g, Rectangle size, AreaSymbolizationFillType item)
+ {
+ if (item == null)
+ {
+ RenderPreviewFont(g, size, null);
+ return;
+ }
+
+ //Adjust, since painting always excludes top/right and includes left/bottom
+ Rectangle size_adj = new Rectangle(size.X, size.Y, size.Width - 1, size.Height - 1);
+
+ Point[] points = new Point[]
+ {
+ new Point(size_adj.Left, size_adj.Top),
+ new Point(size_adj.Right, size_adj.Top),
+ new Point(size_adj.Right, size_adj.Bottom),
+ new Point(size_adj.Left, size_adj.Bottom),
+ new Point(size_adj.Left, size_adj.Top)
+ };
+
+ if (item.Fill != null)
+ {
+ Brush b;
+
+ Image texture = null;
+ foreach (ImageStylePicker.NamedImage img in FillImages)
+ {
+ if (img.Name == item.Fill.FillPattern)
+ {
+ //TODO: Figure out why we can't modify the palette...
+ //TODO: When using the transparent png's, it might be possible to paint it usign only the alpha channel mask
+ /*Image bmp = (Image)img.Image.Clone();
+ for(int i = 0; i < bmp.Palette.Entries.Length; i++)
+ if (bmp.Palette.Entries[i].R == Color.Black.R && bmp.Palette.Entries[i].B == Color.Black.B && bmp.Palette.Entries[i].G == Color.Black.G)
+ bmp.Palette.Entries[i] = item.Fill.ForegroundColor;
+ else if (bmp.Palette.Entries[i].R == Color.White.R && bmp.Palette.Entries[i].B == Color.White.B && bmp.Palette.Entries[i].G == Color.White.G)
+ bmp.Palette.Entries[i] = item.Fill.BackgroundColor;
+ */
+
+ //Until the above is resolved, this is a VERY slow way to do it, even with app. 200 pixels
+ //Unfortunately I don't want "unsafe" code here...
+ Bitmap bmp = new Bitmap(img.Image);
+ for (int y = 0; y < bmp.Height; y++)
+ for (int x = 0; x < bmp.Width; x++)
+ {
+ Color c = bmp.GetPixel(x, y);
+
+ if (c.A > 0x7F /*&& c.R == Color.Black.R && c.B == Color.Black.B && c.G == Color.Black.G*/)
+ bmp.SetPixel(x, y, Utility.ParseHTMLColor(item.Fill.ForegroundColor));
+ else //if (c.R == Color.White.R && c.B == Color.White.B && c.G == Color.White.G)
+ bmp.SetPixel(x, y, Utility.ParseHTMLColor(item.Fill.BackgroundColor));
+ }
+
+
+ texture = bmp;
+ break;
+ }
+ }
+
+ if (texture == null)
+ b = new SolidBrush(Utility.ParseHTMLColor(item.Fill.BackgroundColor));
+ else
+ b = new TextureBrush(texture);
+
+ g.FillPolygon(b, points);
+ b.Dispose();
+ }
+
+ if (item.Stroke != null && !string.IsNullOrEmpty(item.Stroke.Color))
+ {
+ var c = Utility.ParseHTMLColor(item.Stroke.Color);
+ using (Pen p = new Pen(c, /*float.Parse(item.Stroke.Thickness)*/ 1)) //TODO: Calculate appropriate thickness
+ g.DrawPolygon(p, points); //TODO: Implement line dash
+ }
+
+ }
+
+ public static void RenderPreviewLine(Graphics g, Rectangle size, IEnumerable<StrokeType> item)
+ {
+ if (item == null)
+ {
+ RenderPreviewFont(g, size, null);
+ return;
+ }
+
+ try
+ {
+ //TODO: Implement line dash
+ foreach (StrokeType st in item)
+ {
+ using (Pen p = new Pen(string.IsNullOrEmpty(st.Color) ? Color.White : Utility.ParseHTMLColor(st.Color), /*float.Parse(st.Thickness)*/ 1)) //TODO: Calculate appropriate thickness
+ {
+ g.DrawLine(p, new Point(size.Left, size.Top + (size.Height / 2)), new Point(size.Right, size.Top + (size.Height / 2)));
+ }
+ }
+ }
+ catch
+ {
+ }
+ }
+
+ public static void RenderPreviewFont(Graphics g, Rectangle size, TextSymbolType item)
+ {
+ Font font;
+ Color foreground;
+ Color background;
+ string text = "";
+ BackgroundStyleType bgStyle;
+
+
+ if (item == null || item.FontName == null)
+ {
+ font = new Font("Arial", 12);
+ foreground = Color.Black;
+ background = Color.White;
+ text = Properties.Resources.EmptyText;
+ bgStyle = BackgroundStyleType.Transparent;
+ }
+ else
+ {
+ try { font = new Font(item.FontName, 12); }
+ catch { font = new Font("Arial", 12); }
+ foreground = Utility.ParseHTMLColor(item.ForegroundColor);
+ background = Utility.ParseHTMLColor(item.BackgroundColor);
+ bgStyle = item.BackgroundStyle;
+
+ FontStyle fs = FontStyle.Regular;
+ if (item.Bold == "true")
+ fs |= FontStyle.Bold;
+ if (item.Italic == "true")
+ fs |= FontStyle.Italic;
+ if (item.Underlined == "true")
+ fs |= FontStyle.Underline;
+ font = new Font(font, fs);
+
+ text = item.Text;
+ }
+
+ if (bgStyle == BackgroundStyleType.Ghosted)
+ {
+ using (System.Drawing.Drawing2D.GraphicsPath pth = new System.Drawing.Drawing2D.GraphicsPath())
+ {
+ g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+ g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
+
+ pth.AddString(text, font.FontFamily, (int)font.Style, font.Size * 1.25f, size.Location, StringFormat.GenericDefault);
+
+ using (Pen p = new Pen(background, 1.5f))
+ g.DrawPath(p, pth);
+
+ using (Brush b = new SolidBrush(foreground))
+ g.FillPath(b, pth);
+ }
+ }
+ else
+ {
+ if (bgStyle == BackgroundStyleType.Opaque)
+ {
+ SizeF bgSize = g.MeasureString(text, font, new SizeF(size.Width, size.Height));
+ using (Brush b = new SolidBrush(background))
+ g.FillRectangle(b, new Rectangle(size.Top, size.Left, (int)bgSize.Width, (int)bgSize.Height));
+ }
+
+ using (Brush b = new SolidBrush(foreground))
+ g.DrawString(text, font, b, size);
+ }
+ }
+
+ public static void RenderPreviewFontSymbol(Graphics g, Rectangle size, FontSymbolType item)
+ {
+ Font font;
+ Color foreground;
+ string text = "";
+
+ if (item == null || item.FontName == null)
+ {
+ RenderPreviewFont(g, size, null);
+ return;
+ }
+ else
+ {
+ try { font = new Font(item.FontName, 12); }
+ catch { font = new Font("Arial", 12); }
+
+ if (string.IsNullOrEmpty(item.ForegroundColor))
+ foreground = Color.Black;
+ else
+ foreground = Utility.ParseHTMLColor(item.ForegroundColor);
+
+ FontStyle fs = FontStyle.Regular;
+ if (item.Bold == true && item.BoldSpecified)
+ fs |= FontStyle.Bold;
+ if (item.Italic == true && item.ItalicSpecified)
+ fs |= FontStyle.Italic;
+ if (item.Underlined == true && item.UnderlinedSpecified)
+ fs |= FontStyle.Underline;
+ font = new Font(font, fs);
+
+ text = item.Character;
+ }
+
+ SizeF textSize = g.MeasureString(text, font);
+
+ PointF center = new PointF((size.Width - textSize.Width) / 2, (size.Height - textSize.Height) / 2);
+
+ using (Brush b = new SolidBrush(foreground))
+ g.DrawString(text, font, b, center);
+ }
+
+ public static void RenderPreviewPoint(Graphics g, Rectangle size, MarkSymbolType item)
+ {
+ if (item == null)
+ {
+ RenderPreviewFont(g, size, null);
+ return;
+ }
+
+ //Adjust, since painting always excludes top/right and includes left/bottom
+ Rectangle size_adj = new Rectangle(size.X, size.Y, size.Width - 1, size.Height - 1);
+
+ Point[] points = null;
+
+ int radius = Math.Min(size_adj.Width / 2, size_adj.Height / 2);
+ int npoints = Math.Min(Math.Max(15, radius / 5), 100);
+ Point center = new Point(size_adj.X + size_adj.Width / 2, size_adj.Y + size_adj.Height / 2);
+
+ switch(item.Shape)
+ {
+ case ShapeType.Square:
+ points = Rotate(CreateNGon(center, radius, 4), center, Math.PI / 4);
+ break;
+ case ShapeType.Star:
+ Point[] outerStar = Rotate(CreateNGon(center, radius, 5), center, -Math.PI / 2);
+ Point[] innerStar = Rotate(Rotate(CreateNGon(center, radius / 2, 5), center, -Math.PI / 2), center, Math.PI / 5);
+ points = new Point[outerStar.Length + innerStar.Length];
+ for (int i = 0; i < points.Length; i++)
+ points[i] = i % 2 == 0 ? outerStar[i >> 1] : innerStar[i >> 1];
+ //points = innerStar;
+ break;
+ case ShapeType.Triangle:
+ points = Rotate(CreateNGon(center, radius, 3), center, Math.PI / 6);
+ break;
+ case ShapeType.Cross:
+ case ShapeType.X:
+ Point[] outerCross = Rotate(CreateNGon(center, radius, 4), center, -Math.PI / 2);
+ Point[] innerCross = Rotate(Rotate(CreateNGon(center, radius / 2, 4), center, -Math.PI / 2), center, Math.PI / 4);
+ points = new Point[13];
+ points[0] = new Point(innerCross[0].X, outerCross[0].Y);
+ points[1] = innerCross[0];
+ points[2] = new Point(outerCross[1].X, innerCross[0].Y);
+ points[3] = new Point(outerCross[1].X, innerCross[1].Y);
+ points[4] = innerCross[1];
+ points[5] = new Point(innerCross[1].X, outerCross[2].Y);
+ points[6] = new Point(innerCross[2].X, outerCross[2].Y);
+ points[7] = innerCross[2];
+ points[8] = new Point(outerCross[3].X, innerCross[2].Y);
+ points[9] = new Point(outerCross[3].X, innerCross[3].Y);
+ points[10] = innerCross[3];
+ points[11] = new Point(innerCross[3].X, outerCross[0].Y);
+ points[12] = new Point(innerCross[0].X, outerCross[0].Y);
+
+ if (item.Shape == ShapeType.X)
+ points = Rotate(points, center, Math.PI / 4);
+ break;
+ default: //Circle
+ {
+ points = CreateNGon(center, radius, Math.Min(Math.Max(15, radius / 5), 100));
+ break;
+ }
+ }
+
+ if (item.Fill != null)
+ {
+ Brush b;
+
+ Image texture = null;
+ foreach (ImageStylePicker.NamedImage img in FillImages)
+ {
+ if (img.Name == item.Fill.FillPattern)
+ {
+ //TODO: Figure out why we can't modify the palette...
+ /*Image bmp = (Image)img.Image.Clone();
+ for(int i = 0; i < bmp.Palette.Entries.Length; i++)
+ if (bmp.Palette.Entries[i].R == Color.Black.R && bmp.Palette.Entries[i].B == Color.Black.B && bmp.Palette.Entries[i].G == Color.Black.G)
+ bmp.Palette.Entries[i] = item.Fill.ForegroundColor;
+ else if (bmp.Palette.Entries[i].R == Color.White.R && bmp.Palette.Entries[i].B == Color.White.B && bmp.Palette.Entries[i].G == Color.White.G)
+ bmp.Palette.Entries[i] = item.Fill.BackgroundColor;
+ */
+
+ //Until the above is resolved, this is a VERY slow way to do it, even with app. 200 pixels
+ //Unfortunately I don't want "unsafe" code here...
+ Bitmap bmp = new Bitmap(img.Image);
+ for (int y = 0; y < bmp.Height; y++)
+ for (int x = 0; x < bmp.Width; x++)
+ {
+ Color c = bmp.GetPixel(x, y);
+
+ if (c.R == Color.Black.R && c.B == Color.Black.B && c.G == Color.Black.G)
+ bmp.SetPixel(x, y, Utility.ParseHTMLColor(item.Fill.ForegroundColor));
+ else if (c.R == Color.White.R && c.B == Color.White.B && c.G == Color.White.G)
+ bmp.SetPixel(x, y, Utility.ParseHTMLColor(item.Fill.BackgroundColor));
+ }
+
+
+ texture = bmp;
+ break;
+ }
+ }
+
+ if (texture == null)
+ b = new SolidBrush(Utility.ParseHTMLColor(item.Fill.BackgroundColor));
+ else
+ b = new TextureBrush(texture);
+
+ g.FillPolygon(b, points);
+ b.Dispose();
+ }
+
+ if (item.Edge != null)
+ {
+ using(Pen p = new Pen(string.IsNullOrEmpty(item.Edge.Color) ? Color.White : Utility.ParseHTMLColor(item.Edge.Color), /* float.Parse(item.Edge.Thickness) */ 1)) //TODO: Calculate appropriate thickness
+ g.DrawPolygon(p, points); //TODO: Implement line dash
+ }
+
+ }
+
+ public static Point[] Rotate(Point[] points, Point center, double radians)
+ {
+ double sin = Math.Sin(radians);
+ double cos = Math.Cos(radians);
+
+ Point[] res = new Point[points.Length];
+ for (int i = 0; i < points.Length; i++)
+ {
+ int x = points[i].X - center.X;
+ int y = points[i].Y - center.Y;
+ res[i] = new Point(
+ center.X + (int)((x * cos) - (y * sin)),
+ center.Y + (int)((y * cos) + (x * sin))
+ );
+ }
+ return res;
+ }
+
+ public static Point[] CreateNGon(Point center, int radius, int npoints)
+ {
+ double interval = (2 * Math.PI) / (double)npoints;
+
+ Point[] points = new Point[npoints + 1];
+ for (int i = 0; i < npoints; i++)
+ {
+ double angle = interval * i;
+ points[i] = new Point((int)Math.Round(center.X + Math.Cos(angle) * radius), (int)Math.Round(center.Y + Math.Sin(angle) * radius));
+ }
+
+ //Close the polygon
+ points[points.Length - 1] = points[0];
+
+ return points;
+ }
+
+ public static ImageStylePicker.NamedImage[] FillImages
+ {
+ get
+ {
+ if (m_fillImages == null)
+ m_fillImages = ReadImagesFromDisk("WebStudio" + System.IO.Path.DirectorySeparatorChar.ToString() + "areas"); //typeof(GeometryStyleEditors.ImageStylePicker).Namespace + ".Fillstyles");
+ return m_fillImages;
+ }
+ }
+
+ public static ImageStylePicker.NamedImage[] LineStyles
+ {
+ get
+ {
+ if (m_lineStyles == null)
+ m_lineStyles = ReadImagesFromDisk("WebStudio" + System.IO.Path.DirectorySeparatorChar.ToString() + "lines"); //typeof(GeometryStyleEditors.ImageStylePicker).Namespace + ".Linestyles");
+ return m_lineStyles;
+ }
+ }
+
+ private static ImageStylePicker.NamedImage[] ReadImagesFromDisk(string folderpath)
+ {
+ string path = System.IO.Path.Combine(System.Windows.Forms.Application.StartupPath, folderpath);
+ if (!System.IO.Directory.Exists(path))
+ return new ImageStylePicker.NamedImage[0];
+
+ string[] filenames = System.IO.Directory.GetFiles(path, "*.png");
+ ArrayList lst = new ArrayList();
+ foreach(string s in filenames)
+ {
+ Image img = Image.FromFile(s);
+ //For some odd reason these have borders around
+ if (img.Width == 120 && img.Height == 20)
+ {
+ Bitmap bmp = new Bitmap(115, 18);
+ using (Graphics g = Graphics.FromImage(bmp))
+ {
+ g.Clear(Color.Transparent);
+ g.DrawImage(img, new Rectangle(new Point(0,0), bmp.Size), new Rectangle(2, 1, 115, 18), GraphicsUnit.Pixel);
+ }
+ img = bmp;
+ }
+
+ lst.Add(
+ new ImageStylePicker.NamedImage
+ (System.IO.Path.GetFileNameWithoutExtension(s), img)
+ );
+ }
+ return (ImageStylePicker.NamedImage[])lst.ToArray(typeof(ImageStylePicker.NamedImage));
+ }
+
+ /*private static GeometryStyleEditors.ImageStylePicker.NamedImage[] ReadImages(string assemblypath)
+ {
+ SortedList lst = new SortedList();
+ System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
+ string itemnamespace = assemblypath;
+ foreach(string s in asm.GetManifestResourceNames())
+ if (s.StartsWith(itemnamespace) && s.ToLower().EndsWith(".gif"))
+ {
+ Image img = Bitmap.FromStream(asm.GetManifestResourceStream(s));
+ string imagename = s.Substring(itemnamespace.Length + 1, s.LastIndexOf(".") - itemnamespace.Length - 1);
+ string index = imagename.Substring(0, imagename.IndexOf("."));
+ imagename = imagename.Substring(index.Length + 1);
+
+ lst.Add(index, new GeometryStyleEditors.ImageStylePicker.NamedImage(imagename, img));
+ }
+
+ GeometryStyleEditors.ImageStylePicker.NamedImage[] retval = new GeometryStyleEditors.ImageStylePicker.NamedImage[lst.Count];
+ int i = 0;
+ foreach(GeometryStyleEditors.ImageStylePicker.NamedImage nm in lst.Values)
+ retval[i++] = nm;
+
+ return retval;
+ }*/
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,213 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ public partial class Condition : UserControl
+ {
+ private PointRuleType m_prt;
+ private LineRuleType m_lrt;
+ private AreaRuleType m_art;
+ private bool m_isUpdating = false;
+
+ public event EventHandler ItemDeleted;
+ public event EventHandler ItemChanged;
+
+ private VectorLayerEditorCtrl m_owner;
+
+ public VectorLayerEditorCtrl Owner
+ {
+ get { return m_owner; }
+ set
+ {
+ m_owner = value;
+ FeatureStyle.Owner = m_owner;
+ LabelStyle.Owner = m_owner;
+ }
+ }
+
+ public Condition()
+ {
+ InitializeComponent();
+ }
+
+ public void SetItem(PointRuleType prt)
+ {
+ SetItemInternal(prt);
+ }
+
+ public void SetItem(LineRuleType lrt)
+ {
+ SetItemInternal(lrt);
+ }
+
+ public void SetItem(AreaRuleType art)
+ {
+ SetItemInternal(art);
+ }
+
+ private void SetItemInternal(object item)
+ {
+ m_prt = item as PointRuleType;
+ m_lrt = item as LineRuleType;
+ m_art = item as AreaRuleType;
+
+ try
+ {
+ m_isUpdating = true;
+ if (m_prt != null)
+ {
+ RuleCondition.Text = m_prt.Filter;
+ LegendLabel.Text = m_prt.LegendLabel;
+ FeatureStyle.SetItem(m_prt, m_prt.Item);
+ LabelStyle.SetItem(m_prt, m_prt.Label);
+ }
+ else if (m_lrt != null)
+ {
+ RuleCondition.Text = m_lrt.Filter;
+ LegendLabel.Text = m_lrt.LegendLabel;
+ FeatureStyle.SetItem(m_lrt, m_lrt.Items);
+ LabelStyle.SetItem(m_lrt, m_lrt.Label);
+ }
+ else if (m_art != null)
+ {
+ RuleCondition.Text = m_art.Filter;
+ LegendLabel.Text = m_art.LegendLabel;
+ FeatureStyle.SetItem(m_art, m_art.Item);
+ LabelStyle.SetItem(m_art, m_art.Label);
+ }
+ }
+ finally
+ {
+ m_isUpdating = false;
+ }
+ }
+
+ public object Item
+ {
+ get
+ {
+ if (m_prt != null)
+ return m_prt;
+ else if (m_lrt != null)
+ return m_lrt;
+ else if (m_art != null)
+ return m_art;
+ else
+ return null;
+ }
+ }
+
+ private void DeleteButton_Click(object sender, EventArgs e)
+ {
+ if (ItemDeleted != null)
+ if (m_prt != null)
+ ItemDeleted(m_prt, null);
+ else if (m_lrt != null)
+ ItemDeleted(m_lrt, null);
+ else if (m_art != null)
+ ItemDeleted(m_art, null);
+ }
+
+ private void RuleCondition_TextChanged(object sender, EventArgs e)
+ {
+ if (m_isUpdating)
+ return;
+
+ if (m_prt != null)
+ m_prt.Filter = RuleCondition.Text;
+ else if (m_lrt != null)
+ m_lrt.Filter = RuleCondition.Text;
+ else if (m_art != null)
+ m_art.Filter = RuleCondition.Text;
+
+ SignalChanged();
+ }
+
+ private void EditFilter_Click(object sender, EventArgs e)
+ {
+ string tmp = m_owner.EditExpression(RuleCondition.Text);
+ if (tmp != null)
+ RuleCondition.Text = tmp;
+ }
+
+ private void LegendLabel_TextChanged(object sender, EventArgs e)
+ {
+ if (m_isUpdating)
+ return;
+
+ if (m_prt != null)
+ m_prt.LegendLabel = LegendLabel.Text;
+ else if (m_lrt != null)
+ m_lrt.LegendLabel = LegendLabel.Text;
+ else if (m_art != null)
+ m_art.LegendLabel = LegendLabel.Text;
+
+ SignalChanged();
+ }
+
+ private void SignalChanged()
+ {
+ if (m_isUpdating)
+ return;
+
+ if (m_prt != null)
+ {
+ if (ItemChanged != null)
+ ItemChanged(m_prt, null);
+ }
+ else if (m_lrt != null)
+ {
+ if (ItemChanged != null)
+ ItemChanged(m_lrt, null);
+ }
+ else if (m_art != null)
+ {
+ if (ItemChanged != null)
+ ItemChanged(m_art, null);
+ }
+ }
+
+ private void LabelStyle_ItemChanged(object sender, EventArgs e)
+ {
+ SignalChanged();
+ }
+
+ private void FeatureStyle_ItemChanged(object sender, EventArgs e)
+ {
+ SignalChanged();
+ }
+
+ private void FeatureStyle_Click(object sender, EventArgs e)
+ {
+ this.Focus();
+ }
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,111 @@
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ partial class Condition
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Condition));
+ this.RuleCondition = new System.Windows.Forms.TextBox();
+ this.LegendLabel = new System.Windows.Forms.TextBox();
+ this.EditFilter = new System.Windows.Forms.Button();
+ this.DeleteButton = new System.Windows.Forms.Button();
+ this.LabelStyle = new ItemStyle();
+ this.FeatureStyle = new ItemStyle();
+ this.SuspendLayout();
+ //
+ // RuleCondition
+ //
+ resources.ApplyResources(this.RuleCondition, "RuleCondition");
+ this.RuleCondition.Name = "RuleCondition";
+ this.RuleCondition.TextChanged += new System.EventHandler(this.RuleCondition_TextChanged);
+ //
+ // LegendLabel
+ //
+ resources.ApplyResources(this.LegendLabel, "LegendLabel");
+ this.LegendLabel.Name = "LegendLabel";
+ this.LegendLabel.TextChanged += new System.EventHandler(this.LegendLabel_TextChanged);
+ //
+ // EditFilter
+ //
+ resources.ApplyResources(this.EditFilter, "EditFilter");
+ this.EditFilter.Name = "EditFilter";
+ this.EditFilter.UseVisualStyleBackColor = true;
+ this.EditFilter.Click += new System.EventHandler(this.EditFilter_Click);
+ //
+ // DeleteButton
+ //
+ resources.ApplyResources(this.DeleteButton, "DeleteButton");
+ this.DeleteButton.Name = "DeleteButton";
+ this.DeleteButton.UseVisualStyleBackColor = true;
+ this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
+ //
+ // LabelStyle
+ //
+ resources.ApplyResources(this.LabelStyle, "LabelStyle");
+ this.LabelStyle.Name = "LabelStyle";
+ this.LabelStyle.Owner = null;
+ this.LabelStyle.DoubleClick += new System.EventHandler(this.FeatureStyle_Click);
+ this.LabelStyle.Click += new System.EventHandler(this.FeatureStyle_Click);
+ this.LabelStyle.ItemChanged += new System.EventHandler(this.LabelStyle_ItemChanged);
+ //
+ // FeatureStyle
+ //
+ resources.ApplyResources(this.FeatureStyle, "FeatureStyle");
+ this.FeatureStyle.Name = "FeatureStyle";
+ this.FeatureStyle.Owner = null;
+ this.FeatureStyle.DoubleClick += new System.EventHandler(this.FeatureStyle_Click);
+ this.FeatureStyle.Click += new System.EventHandler(this.FeatureStyle_Click);
+ this.FeatureStyle.ItemChanged += new System.EventHandler(this.FeatureStyle_ItemChanged);
+ //
+ // Condition
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.DeleteButton);
+ this.Controls.Add(this.EditFilter);
+ this.Controls.Add(this.LegendLabel);
+ this.Controls.Add(this.RuleCondition);
+ this.Controls.Add(this.LabelStyle);
+ this.Controls.Add(this.FeatureStyle);
+ this.MaximumSize = new System.Drawing.Size(0, 20);
+ this.MinimumSize = new System.Drawing.Size(577, 23);
+ this.Name = "Condition";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private ItemStyle FeatureStyle;
+ private ItemStyle LabelStyle;
+ private System.Windows.Forms.TextBox RuleCondition;
+ private System.Windows.Forms.TextBox LegendLabel;
+ private System.Windows.Forms.Button EditFilter;
+ private System.Windows.Forms.Button DeleteButton;
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/Condition.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="RuleCondition.Location" type="System.Drawing.Point, System.Drawing">
+ <value>33, 1</value>
+ </data>
+ <data name="RuleCondition.Size" type="System.Drawing.Size, System.Drawing">
+ <value>110, 20</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="RuleCondition.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name=">>RuleCondition.Name" xml:space="preserve">
+ <value>RuleCondition</value>
+ </data>
+ <data name=">>RuleCondition.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>RuleCondition.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>RuleCondition.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="LegendLabel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>169, 1</value>
+ </data>
+ <data name="LegendLabel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>134, 20</value>
+ </data>
+ <data name="LegendLabel.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name=">>LegendLabel.Name" xml:space="preserve">
+ <value>LegendLabel</value>
+ </data>
+ <data name=">>LegendLabel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>LegendLabel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>LegendLabel.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="EditFilter.Location" type="System.Drawing.Point, System.Drawing">
+ <value>143, 1</value>
+ </data>
+ <data name="EditFilter.Size" type="System.Drawing.Size, System.Drawing">
+ <value>24, 20</value>
+ </data>
+ <data name="EditFilter.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="EditFilter.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>EditFilter.Name" xml:space="preserve">
+ <value>EditFilter</value>
+ </data>
+ <data name=">>EditFilter.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>EditFilter.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>EditFilter.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="DeleteButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAd9JREFUOE+NU99L
+ U2EY9m8JulhjUhObmswfEROUViLCQIRIhzVdi1pjTRwGyw3B6QibgwoJgi7zJqirrsQLQRBsdVGLmF6E
+ Z5st/NE6T+d5xybH49QPHnjP8z7fc973+96vrq7GeucexNueTgHjWjoD/6apHsv9PciEH2FrNib4Pv5A
+ uNc2S22jDyE/Pl4xiTi/kMCfV0nsLqYExRfzUOZnkPF78L7ZAmoNf166bMLPe8P4Pf0ESETxLzWnw8Hc
+ FHaiE/hxZxDU6gxY9pduOwohH0qRx1DjkaoJknGJyamTfuQDo0g7WvTtfNLK2uxzYP/hiIgQC1dNKpuF
+ 03JF7y1kb14F90gVPOH1Niu2NZJJRatCeTpuxGQAStCLX/eHRMs9cju8Jn7sOW3Yfvkcpy1ldQWKownp
+ DqtcsRh867ooJE/6tGUwYBkbmhsNCrd7kYsGkZudKOOZHmyNLVBbbYHnwAPJXmvE/g0b1IFWwN0GjNkP
+ cVeL3e2SY6vUVg+RBrxGtpFzNqA0cAmq2wp4GnQgxxw11BqmksPBxI7LgtKwCX+956D6zgsYk2OOGsMg
+ sQqOJxNfr1+A4jJjd6S8kWBM7nOXRTTHjnJlNFka38SawyxmBGNyJz6mo4/jrM/5P2ymCdXdB/AVAAAA
+ AElFTkSuQmCC
+</value>
+ </data>
+ <data name="DeleteButton.Location" type="System.Drawing.Point, System.Drawing">
+ <value>1, 1</value>
+ </data>
+ <data name="DeleteButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>32, 20</value>
+ </data>
+ <data name="DeleteButton.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name=">>DeleteButton.Name" xml:space="preserve">
+ <value>DeleteButton</value>
+ </data>
+ <data name=">>DeleteButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DeleteButton.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DeleteButton.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="LabelStyle.Location" type="System.Drawing.Point, System.Drawing">
+ <value>441, 1</value>
+ </data>
+ <data name="LabelStyle.Size" type="System.Drawing.Size, System.Drawing">
+ <value>134, 20</value>
+ </data>
+ <data name="LabelStyle.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>LabelStyle.Name" xml:space="preserve">
+ <value>LabelStyle</value>
+ </data>
+ <data name=">>LabelStyle.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ItemStyle, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>LabelStyle.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>LabelStyle.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="FeatureStyle.Location" type="System.Drawing.Point, System.Drawing">
+ <value>305, 1</value>
+ </data>
+ <data name="FeatureStyle.Size" type="System.Drawing.Size, System.Drawing">
+ <value>134, 20</value>
+ </data>
+ <data name="FeatureStyle.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>FeatureStyle.Name" xml:space="preserve">
+ <value>FeatureStyle</value>
+ </data>
+ <data name=">>FeatureStyle.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ItemStyle, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>FeatureStyle.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>FeatureStyle.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>577, 23</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>Condition</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,295 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ public partial class ConditionList : UserControl
+ {
+ private PointTypeStyleType m_point;
+ private LineTypeStyleType m_line;
+ private AreaTypeStyleType m_area;
+
+ private VectorScaleRangeType m_parent;
+ private object m_selectedItem;
+
+ public event EventHandler SelectionChanged;
+ public event EventHandler ItemChanged;
+
+ private VectorLayerEditorCtrl m_owner;
+
+ public VectorLayerEditorCtrl Owner
+ {
+ get { return m_owner; }
+ set
+ {
+ m_owner = value;
+ foreach (Condition c in this.Controls)
+ c.Owner = m_owner; ;
+ }
+ }
+
+ public ConditionList()
+ {
+ InitializeComponent();
+ }
+
+ public void SetItem(VectorScaleRangeType parent, PointTypeStyleType point)
+ {
+ SetItemInternal(parent, point);
+ }
+
+ public void SetItem(VectorScaleRangeType parent, LineTypeStyleType line)
+ {
+ SetItemInternal(parent, line);
+ }
+
+ public void SetItem(VectorScaleRangeType parent, AreaTypeStyleType area)
+ {
+ SetItemInternal(parent, area);
+ }
+
+ public object SelectedItem
+ {
+ get { return m_selectedItem; }
+ set
+ {
+ m_selectedItem = value;
+ if (m_selectedItem != null)
+ {
+ foreach (Condition c in this.Controls)
+ if (c.Item == m_selectedItem)
+ {
+ c.Focus();
+ return;
+ }
+ }
+ }
+ }
+
+ private void SetItemInternal(VectorScaleRangeType parent, object item)
+ {
+ m_parent = parent;
+ m_point = item as PointTypeStyleType;
+ m_line = item as LineTypeStyleType;
+ m_area = item as AreaTypeStyleType;
+
+ this.Controls.Clear();
+
+ try
+ {
+ this.Visible = false;
+ this.SuspendLayout();
+
+ if (m_point != null)
+ {
+ if (m_point.PointRule != null)
+ foreach (PointRuleType prt in m_point.PointRule)
+ AddRuleControl(prt);
+ }
+ else if (m_line != null)
+ {
+ if (m_line.LineRule != null)
+ foreach (LineRuleType lrt in m_line.LineRule)
+ AddRuleControl(lrt);
+ }
+ else if (m_area != null)
+ {
+ if (m_area != null)
+ if (m_area.AreaRule != null)
+ foreach (AreaRuleType art in m_area.AreaRule)
+ AddRuleControl(art);
+ }
+ }
+ finally
+ {
+ this.ResumeLayout();
+ this.Visible = true;
+ }
+ }
+
+ public Condition AddRuleControl(object rule)
+ {
+ if (rule == null)
+ return null;
+
+ Condition c = new Condition();
+
+ if (rule as PointRuleType != null)
+ c.SetItem(rule as PointRuleType);
+ else if (rule as LineRuleType != null)
+ c.SetItem(rule as LineRuleType);
+ else if (rule as AreaRuleType != null)
+ c.SetItem(rule as AreaRuleType);
+
+ c.Owner = m_owner;
+ c.Dock = DockStyle.Top;
+ this.Controls.Add(c);
+ c.BringToFront();
+ c.ItemChanged += new EventHandler(Rule_ItemChanged);
+ c.ItemDeleted += new EventHandler(Rule_ItemDeleted);
+ c.Enter += new EventHandler(Rule_Enter);
+ c.Leave += new EventHandler(Rule_Leave);
+ return c;
+ }
+
+ private void Rule_Leave(object sender, EventArgs e)
+ {
+ Condition c = sender as Condition;
+ if (c == null)
+ return;
+
+ c.BorderStyle = BorderStyle.None;
+
+ m_selectedItem = null;
+ if (SelectionChanged != null)
+ SelectionChanged(this, null);
+ }
+
+ private void Rule_Enter(object sender, EventArgs e)
+ {
+ Condition c = sender as Condition;
+ if (c == null)
+ return;
+
+ c.BorderStyle = BorderStyle.FixedSingle;
+ m_selectedItem = c.Item;
+ if (SelectionChanged != null)
+ SelectionChanged(this, null);
+ }
+
+ private void SignalItemChanged()
+ {
+ if (ItemChanged != null)
+ if (m_point != null)
+ ItemChanged(m_point, null);
+ else if (m_line != null)
+ ItemChanged(m_line, null);
+ else if (m_area != null)
+ ItemChanged(m_area, null);
+ }
+
+ void Rule_ItemChanged(object sender, EventArgs e)
+ {
+ SignalItemChanged();
+ }
+
+ void Rule_ItemDeleted(object sender, EventArgs e)
+ {
+ foreach (Condition c in this.Controls)
+ if (c.Item == sender)
+ {
+ this.Controls.Remove(c);
+ break;
+ }
+
+ if (m_point != null)
+ {
+ for (int i = 0; i < m_point.PointRule.Count; i++)
+ if (m_point.PointRule[i] == sender)
+ {
+ m_point.PointRule.RemoveAt(i);
+ break;
+ }
+ }
+ else if (m_line != null)
+ {
+ for (int i = 0; i < m_line.LineRule.Count; i++)
+ if (m_line.LineRule[i] == sender)
+ {
+ m_line.LineRule.RemoveAt(i);
+ break;
+ }
+ }
+ else if (m_area != null)
+ {
+ for (int i = 0; i < m_area.AreaRule.Count; i++)
+ if (m_area.AreaRule[i] == sender)
+ {
+ m_area.AreaRule.RemoveAt(i);
+ break;
+ }
+ }
+
+ SignalItemChanged();
+
+ }
+
+ public void MoveSelectedRule(bool down)
+ {
+ if (this.SelectedItem == null)
+ return;
+
+ Condition selectedControl = null;
+ object selectedRule = this.SelectedItem;
+
+ foreach (Condition c in this.Controls)
+ if (c.Item == this.SelectedItem)
+ {
+ selectedControl = c;
+ break;
+ }
+
+ if (selectedControl == null)
+ return;
+
+ int pos = this.Controls.GetChildIndex(selectedControl);
+ if ((down && pos > 0) || (!down && pos < this.Controls.Count - 1))
+ {
+ this.Controls.SetChildIndex(selectedControl, pos + (down ? -1 : 1));
+
+ System.Collections.IList ic = null;
+ if (m_point != null)
+ ic = m_point.PointRule;
+ else if (m_line != null)
+ ic = m_line.LineRule;
+ else if (m_area != null)
+ ic = m_area.AreaRule;
+
+ pos = ic.IndexOf(selectedRule);
+ if ((!down && pos > 0) || (down && pos < ic.Count - 1 && pos > 0))
+ {
+ ic.RemoveAt(pos);
+ ic.Insert(pos + (down ? 1 : -1), selectedRule);
+ }
+
+ }
+ }
+
+ public int GetPreferedHeight()
+ {
+ int minHeight = 0;
+
+ for (int i = 0; i < Math.Min(10, this.Controls.Count); i++)
+ minHeight += this.Controls[i].Height;
+
+ return minHeight;
+ }
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,51 @@
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ partial class ConditionList
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConditionList));
+ this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
+ this.SuspendLayout();
+ //
+ // ConditionList
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.Name = "ConditionList";
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.ToolTip toolTip1;
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionList.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="$this.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>591, 100</value>
+ </data>
+ <data name=">>toolTip1.Name" xml:space="preserve">
+ <value>toolTip1</value>
+ </data>
+ <data name=">>toolTip1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ConditionList</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,246 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.MaestroAPI.Exceptions;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+using Maestro.Editors.LayerDefinition.Vector.Thematics;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ public partial class ConditionListButtons : UserControl
+ {
+ private PointTypeStyleType m_point;
+ private LineTypeStyleType m_line;
+ private AreaTypeStyleType m_area;
+
+ private VectorScaleRangeType m_parent;
+ private object m_lastSelection;
+ private object m_currentSelection;
+
+ public event EventHandler ItemChanged;
+
+ private VectorLayerEditorCtrl m_owner;
+
+ public VectorLayerEditorCtrl Owner
+ {
+ get { return m_owner; }
+ set
+ {
+ m_owner = value;
+ conditionList.Owner = m_owner;
+ }
+ }
+
+ public ConditionListButtons()
+ {
+ InitializeComponent();
+ conditionList.SelectionChanged += new EventHandler(conditionList_SelectionChanged);
+ }
+
+ private void conditionList_SelectionChanged(object sender, EventArgs e)
+ {
+ m_lastSelection = m_currentSelection;
+ m_currentSelection = conditionList.SelectedItem;
+ CopyRuleButton.Enabled = MoveRuleUpButton.Enabled = MoveRuleDownButton.Enabled = m_currentSelection != null || m_lastSelection != null;
+ }
+
+ public void SetItem(VectorScaleRangeType parent, PointTypeStyleType point)
+ {
+ SetItemInternal(parent, point);
+ conditionList.SetItem(parent, point);
+ }
+
+ public void SetItem(VectorScaleRangeType parent, LineTypeStyleType line)
+ {
+ SetItemInternal(parent, line);
+ conditionList.SetItem(parent, line);
+ }
+
+ public void SetItem(VectorScaleRangeType parent, AreaTypeStyleType area)
+ {
+ SetItemInternal(parent, area);
+ conditionList.SetItem(parent, area);
+ }
+
+
+ private void SetItemInternal(VectorScaleRangeType parent, object item)
+ {
+ m_parent = parent;
+ m_point = item as PointTypeStyleType;
+ m_line = item as LineTypeStyleType;
+ m_area = item as AreaTypeStyleType;
+
+ }
+
+ public void AddRule()
+ {
+ AddRuleButton_Click(null, null);
+ }
+
+ private void AddRuleButton_Click(object sender, EventArgs e)
+ {
+ if (m_point != null)
+ {
+ PointRuleType prt = ObjectFactory.CreatePointRule();
+ m_point.PointRule.Add(prt);
+ conditionList.AddRuleControl(prt).Focus();
+ }
+ else if (m_line != null)
+ {
+ LineRuleType lrt = ObjectFactory.CreateLineRule();
+ m_line.LineRule.Add(lrt);
+ conditionList.AddRuleControl(lrt).Focus(); ;
+ }
+ else if (m_area != null)
+ {
+ AreaRuleType art = ObjectFactory.CreateAreaRule();
+ m_area.AreaRule.Add(art);
+ conditionList.AddRuleControl(art).Focus();
+
+ }
+
+ if (ItemChanged != null)
+ ItemChanged(this, null);
+ }
+
+ private void CreateThemeButton_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ object owner = null;
+
+ if (m_point != null)
+ owner = m_point;
+ else if (m_line != null)
+ owner = m_line;
+ else if (m_area != null)
+ owner = m_area;
+
+ ILayerDefinition layer = (ILayerDefinition)m_owner.Editor.GetEditedResource();
+ IVectorLayerDefinition vl = (IVectorLayerDefinition)layer.SubLayer;
+ var cls = m_owner.Editor.FeatureService.GetFeatureSourceSchema(vl.FeatureSourceID, vl.FullQualifiedClassName);
+ ThemeCreator dlg = new ThemeCreator(
+ m_owner.Editor,
+ layer,
+ m_owner.Schema,
+ owner);
+ if (dlg.ShowDialog(this) == DialogResult.OK)
+ {
+ m_owner.HasChanged();
+ m_owner.UpdateDisplay();
+ }
+ }
+ catch (Exception ex)
+ {
+ string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
+ m_owner.SetLastException(ex);
+ MessageBox.Show(this, string.Format(Properties.Resources.GenericError, msg), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
+ }
+
+ private void CopyRuleButton_Click(object sender, EventArgs e)
+ {
+ if (m_currentSelection == null)
+ conditionList.SelectedItem = m_lastSelection;
+
+ if (conditionList.SelectedItem == null)
+ return;
+
+ object rule = Utility.XmlDeepCopy(conditionList.SelectedItem);
+
+
+ if (m_point != null)
+ {
+ if (m_point.PointRule == null)
+ m_point.PointRule = new BindingList<PointRuleType>();
+ m_point.PointRule.Add((PointRuleType)rule);
+ }
+ else if (m_line != null)
+ {
+ if (m_line.LineRule == null)
+ m_line.LineRule = new BindingList<LineRuleType>();
+ m_line.LineRule.Add((LineRuleType)rule);
+ }
+ else if (m_area != null)
+ {
+ if (m_area.AreaRule == null)
+ m_area.AreaRule = new BindingList<AreaRuleType>();
+ m_area.AreaRule.Add((AreaRuleType)rule);
+ }
+ else
+ return;
+
+ conditionList.AddRuleControl(rule).Focus();
+
+ if (ItemChanged != null)
+ ItemChanged(this, null);
+ }
+
+ private void MoveRuleUpButton_Click(object sender, EventArgs e)
+ {
+ if (m_currentSelection == null)
+ conditionList.SelectedItem = m_lastSelection;
+ conditionList.MoveSelectedRule(false);
+ if (ItemChanged != null)
+ ItemChanged(this, null);
+ }
+
+ private void MoveRuleDownButton_Click(object sender, EventArgs e)
+ {
+ if (m_currentSelection == null)
+ conditionList.SelectedItem = m_lastSelection;
+ conditionList.MoveSelectedRule(true);
+ if (ItemChanged != null)
+ ItemChanged(this, null);
+ }
+
+ private void conditionList_ItemChanged(object sender, EventArgs e)
+ {
+ if (ItemChanged != null)
+ ItemChanged(sender, null);
+ }
+
+
+ public void ResizeAuto()
+ {
+ this.Height = this.GetPreferedHeight();
+ }
+
+ public int GetPreferedHeight()
+ {
+ return panel1.Height + conditionList.GetPreferedHeight() + 24;
+ }
+
+ private void ShowInLegend_CheckedChanged(object sender, EventArgs e)
+ {
+
+ }
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,164 @@
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ partial class ConditionListButtons
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConditionListButtons));
+ this.conditionList = new ConditionList();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.AddRuleButton = new System.Windows.Forms.Button();
+ this.CopyRuleButton = new System.Windows.Forms.Button();
+ this.CreateThemeButton = new System.Windows.Forms.Button();
+ this.MoveRuleDownButton = new System.Windows.Forms.Button();
+ this.MoveRuleUpButton = new System.Windows.Forms.Button();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.ShowInLegend = new System.Windows.Forms.CheckBox();
+ this.toolTips = new System.Windows.Forms.ToolTip(this.components);
+ this.panel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // conditionList
+ //
+ resources.ApplyResources(this.conditionList, "conditionList");
+ this.conditionList.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.conditionList.Name = "conditionList";
+ this.conditionList.Owner = null;
+ this.conditionList.SelectedItem = null;
+ this.conditionList.ItemChanged += new System.EventHandler(this.conditionList_ItemChanged);
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // AddRuleButton
+ //
+ resources.ApplyResources(this.AddRuleButton, "AddRuleButton");
+ this.AddRuleButton.Name = "AddRuleButton";
+ this.toolTips.SetToolTip(this.AddRuleButton, resources.GetString("AddRuleButton.ToolTip"));
+ this.AddRuleButton.UseVisualStyleBackColor = true;
+ this.AddRuleButton.Click += new System.EventHandler(this.AddRuleButton_Click);
+ //
+ // CopyRuleButton
+ //
+ resources.ApplyResources(this.CopyRuleButton, "CopyRuleButton");
+ this.CopyRuleButton.Name = "CopyRuleButton";
+ this.toolTips.SetToolTip(this.CopyRuleButton, resources.GetString("CopyRuleButton.ToolTip"));
+ this.CopyRuleButton.UseVisualStyleBackColor = true;
+ this.CopyRuleButton.Click += new System.EventHandler(this.CopyRuleButton_Click);
+ //
+ // CreateThemeButton
+ //
+ resources.ApplyResources(this.CreateThemeButton, "CreateThemeButton");
+ this.CreateThemeButton.Name = "CreateThemeButton";
+ this.toolTips.SetToolTip(this.CreateThemeButton, resources.GetString("CreateThemeButton.ToolTip"));
+ this.CreateThemeButton.UseVisualStyleBackColor = true;
+ this.CreateThemeButton.Click += new System.EventHandler(this.CreateThemeButton_Click);
+ //
+ // MoveRuleDownButton
+ //
+ resources.ApplyResources(this.MoveRuleDownButton, "MoveRuleDownButton");
+ this.MoveRuleDownButton.Name = "MoveRuleDownButton";
+ this.toolTips.SetToolTip(this.MoveRuleDownButton, resources.GetString("MoveRuleDownButton.ToolTip"));
+ this.MoveRuleDownButton.UseVisualStyleBackColor = true;
+ this.MoveRuleDownButton.Click += new System.EventHandler(this.MoveRuleDownButton_Click);
+ //
+ // MoveRuleUpButton
+ //
+ resources.ApplyResources(this.MoveRuleUpButton, "MoveRuleUpButton");
+ this.MoveRuleUpButton.Name = "MoveRuleUpButton";
+ this.toolTips.SetToolTip(this.MoveRuleUpButton, resources.GetString("MoveRuleUpButton.ToolTip"));
+ this.MoveRuleUpButton.UseVisualStyleBackColor = true;
+ this.MoveRuleUpButton.Click += new System.EventHandler(this.MoveRuleUpButton_Click);
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.ShowInLegend);
+ this.panel1.Controls.Add(this.MoveRuleUpButton);
+ this.panel1.Controls.Add(this.MoveRuleDownButton);
+ this.panel1.Controls.Add(this.CreateThemeButton);
+ this.panel1.Controls.Add(this.CopyRuleButton);
+ this.panel1.Controls.Add(this.AddRuleButton);
+ this.panel1.Controls.Add(this.label4);
+ this.panel1.Controls.Add(this.label3);
+ this.panel1.Controls.Add(this.label1);
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Name = "panel1";
+ //
+ // ShowInLegend
+ //
+ resources.ApplyResources(this.ShowInLegend, "ShowInLegend");
+ this.ShowInLegend.Checked = true;
+ this.ShowInLegend.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.ShowInLegend.Name = "ShowInLegend";
+ this.toolTips.SetToolTip(this.ShowInLegend, resources.GetString("ShowInLegend.ToolTip"));
+ this.ShowInLegend.UseVisualStyleBackColor = true;
+ this.ShowInLegend.CheckedChanged += new System.EventHandler(this.ShowInLegend_CheckedChanged);
+ //
+ // ConditionListButtons
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.conditionList);
+ this.Controls.Add(this.panel1);
+ this.Name = "ConditionListButtons";
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private ConditionList conditionList;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Button AddRuleButton;
+ private System.Windows.Forms.Button CopyRuleButton;
+ private System.Windows.Forms.Button CreateThemeButton;
+ private System.Windows.Forms.Button MoveRuleDownButton;
+ private System.Windows.Forms.Button MoveRuleUpButton;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.CheckBox ShowInLegend;
+ private System.Windows.Forms.ToolTip toolTips;
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ConditionListButtons.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,524 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="conditionList.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="conditionList.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="conditionList.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 24</value>
+ </data>
+ <data name="conditionList.Size" type="System.Drawing.Size, System.Drawing">
+ <value>592, 72</value>
+ </data>
+ <data name="conditionList.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name=">>conditionList.Name" xml:space="preserve">
+ <value>conditionList</value>
+ </data>
+ <data name=">>conditionList.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ConditionList, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>conditionList.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>conditionList.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>32, 8</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>29, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Rule</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>304, 8</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>64, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Featurestyle</value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="label4.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>440, 8</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>54, 13</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>Labelstyle</value>
+ </data>
+ <data name=">>label4.Name" xml:space="preserve">
+ <value>label4</value>
+ </data>
+ <data name=">>label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label4.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>label4.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <metadata name="toolTips.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <data name="AddRuleButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+Nk+9L
+ U2EUx/1Lls55vSsnmisoSVFDgl6EZDFsFJNZC+yaXiqXiK0NxVgtXJKSjAoMoTJ8UdGMIJa7iXO3NukH
+ gex14N/wre+B3Rpr1QMHzj33nM9zfj1VVRWON+5BR6RVhHolvzL7nmAtjtzrgJ68gMl0SIT64flD2H3V
+ URmkP7yIhikHhpIBxMwbmN2KYe7zDO6aM4hv3UQ0O4nAC5/40Lfs5vqwDb7nfZjYGMVU/hqms2G8L6RF
+ CInkxnF9Q0PfynEoEVspgGkffNCMwdQARrPDmMgFETLGUDyJ3DzGP16GvjmI82/6sT/hAmOsLJzRGnQ9
+ OQD/mhda5qxAgindAsyZcbHxny/lQetyMxgjAHa4caEObc/cOLPai6G3AVxZ+ymvhi3AHeO22Hk7fQhg
+ jEyHY+KH+6kT93MLVlAlhT1peaxKDGMtAI1s1r+OUXhXCiiWQEDvajeC6QDCGQ3TxojFWszPygRYGkso
+ ZmAtGBuyb0lB52sVPesunDab4DfcFiD2pR+nNptwzHChPelEyyPlVxPZSI5kb8KB7mQdPKaCc19VaB9c
+ JQD/JxUnMvXoeqlI/SVjJISL1L5kh3fdDm3bDn27GoWdvMitbz1iO2nUig99yzaR66n+BrlU2IXQd5sI
+ YQS3LdaIzx9XuUhkao1RmzgfXakWoU5bWdp/e6L/+5x/AIne8ctKOU3sAAAAAElFTkSuQmCC
+</value>
+ </data>
+ <data name="AddRuleButton.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="AddRuleButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>32, 24</value>
+ </data>
+ <data name="AddRuleButton.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="AddRuleButton.ToolTip" xml:space="preserve">
+ <value>Add a new rule</value>
+ </data>
+ <data name=">>AddRuleButton.Name" xml:space="preserve">
+ <value>AddRuleButton</value>
+ </data>
+ <data name=">>AddRuleButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>AddRuleButton.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>AddRuleButton.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="CopyRuleButton.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="CopyRuleButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAWBJREFUOE+Nk+lO
+ wlAQRnn/pyDxBTBGE0kUqikgVpZA4WpdAgZSSVjcQPDHmDNmkAaLNvlyp+2dM/PNbTNBUBNTqVQRxL3v
+ lyWfL0rmr4vN8Wi61iCerePTgie53MFuCID+YCIk2mpxbv9QgGSze+kQACSYgHTcnVQuQ00GsrMLA5BA
+ 3Oo+qv/3+WpLy+WntMObJNAA3Wgg971YWAtFX5PHs48tBbVQrt0GxGYAmZe0/wNYKADY03iuKwU4Hezp
+ ARkACwjQ0bGnm5kHXbEi65L45XXxDShXqjpAa58Z8Myq8pzqgHvDNwUR8z4BoHrpoqXJ1gEV602nlbFm
+ M6m3+0kAVdztSNrRVBqdoZx4wa8dmKWrulOYdsAwoNOWyYZo1sw/9qhOEWylfuX2HdA61czemd+UwnlT
+ /Gq0GwDZhsjg3MOz2jM13OR/gPFsoRtNwEzrY0zzsfmbE3M6thIjcr8A7AeyRar4iUMAAAAASUVORK5C
+ YII=
+</value>
+ </data>
+ <data name="CopyRuleButton.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 0</value>
+ </data>
+ <data name="CopyRuleButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>32, 24</value>
+ </data>
+ <data name="CopyRuleButton.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="CopyRuleButton.ToolTip" xml:space="preserve">
+ <value>Click to insert a copy of the current rule</value>
+ </data>
+ <data name=">>CopyRuleButton.Name" xml:space="preserve">
+ <value>CopyRuleButton</value>
+ </data>
+ <data name=">>CopyRuleButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>CopyRuleButton.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>CopyRuleButton.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="CreateThemeButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAjNJREFUOE+Nk+tL
+ k1EYwP3iSLp8KPxQVPQHBBYhRUEIFRRSEEpZC2oR2g210A9FXpcyDRmFY+atGVMsGirD6SxXOdPIoQOh
+ JBVMtERnzSut5vnlecFkm2kv/HjO87zv+zvn4ZwTFhb0OB8b6TJV0llWyvvqaoLf/zN35Gnx2BuZ73jL
+ z842BTl2LwrXlLTkZDFttSCa6xWmGsz01GTitunosT/AZkxeXTJqKMJXVaLQX5lJb3se/pnWAMaHntHW
+ UhAqkkv/UZjFgl7LkP42gz35+L21CmKuQWF0pIKPfXolhkjepKXgTb+KuJdMp/k8vnE9YroEMWOipesO
+ po5sbP0m2r/VYek1YrQFtdOkUTN2dB9f1TEMfNAgPHcRXh1VrxNxjFXjmrPS7VtG5pY+w3IrzuJHDETt
+ wH1sO5OfziImrtDUkUDdiB7HfDltC4vLDkLWy7uzliX2vbt4d3gbw+2RiNH96FrjeOHNpcGvxYaOZgoV
+ 5FhS/yuX555cnjofBkqc5nV8cW0ixxVPxWwSZnGDWm4FIGuSsu9J6BzXAnelRhuD0xpBqjuaotmTGEQc
+ pZwLQdYLJmNJfxkbuq2WJwc5YVOhmdhAmthJNlHcJ5p8Digxg92k/N7KheHFiazHVz5gNy1HSBgM5/K8
+ iutiI8lsIZVIJcr80pSK+N7w1U/nqVfrUY+oFEmiP+IvMj/zOZyLdXvWviOnmzYrH0vREnLm//p56QYW
+ t2aQZD2EpjFqxZ7/AEja63tRpW6zAAAAAElFTkSuQmCC
+</value>
+ </data>
+ <data name="CreateThemeButton.Location" type="System.Drawing.Point, System.Drawing">
+ <value>104, 0</value>
+ </data>
+ <data name="CreateThemeButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>32, 24</value>
+ </data>
+ <data name="CreateThemeButton.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="CreateThemeButton.ToolTip" xml:space="preserve">
+ <value>Click to create a theme for the feature</value>
+ </data>
+ <data name=">>CreateThemeButton.Name" xml:space="preserve">
+ <value>CreateThemeButton</value>
+ </data>
+ <data name=">>CreateThemeButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>CreateThemeButton.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>CreateThemeButton.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="MoveRuleDownButton.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="MoveRuleDownButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAZBJREFUOE+Nkk1L
+ AlEUhv19fSyDhDYlBUERUQ4IiUjQRpD6By3auDEGKiREyBhJMFPJ8SvNEZUCTQlLrcWp99QdZxoTB14O
+ zNzzcM4z12b7fhJJlaJRhRTlxhTxDhUJhyOE85YHjYPhJ/XePiYGgGBQtkIAQHO7O9TT6vTpbwAoFUtW
+ iBFQa7xQ4aHOAQBVzWucs4tzbhbRV/kPABj8oFZqbYbBRVVrmn1MAmSyjzwJ1kNNpnK8rkkoqJCIQ8YV
+ nlrv3HBcOiFf3stxKx4+ZwEIiUaAWOHg3kVH3R1yNRy0cTczPQATYO/9tET+rpOk+gqtxud5lakmEPa9
+ SacJAPBEgGhEhURPYlcHrClzPEEodDm6UJAIB63OgCVyo6qRfBum5dgCuVS7DoADvHMHPCNAJHL1C+jz
+ /0ZzIlXmwLqvsU6+jvTjIDtLm9dLfKn0iyQm0Jo9Qir1V06u0qVU8Zm2Yg79L2CFeDlndmCcAPtBkgiA
+ iWqBpLSd9oqLFMjI4x0AgsDuuPjlQ3KebuvfhMQv5TTlyUFPaVgAAAAASUVORK5CYII=
+</value>
+ </data>
+ <data name="MoveRuleDownButton.Location" type="System.Drawing.Point, System.Drawing">
+ <value>544, 0</value>
+ </data>
+ <data name="MoveRuleDownButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>32, 24</value>
+ </data>
+ <data name="MoveRuleDownButton.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="MoveRuleDownButton.ToolTip" xml:space="preserve">
+ <value>Move the selected rule down</value>
+ </data>
+ <data name=">>MoveRuleDownButton.Name" xml:space="preserve">
+ <value>MoveRuleDownButton</value>
+ </data>
+ <data name=">>MoveRuleDownButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>MoveRuleDownButton.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>MoveRuleDownButton.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="MoveRuleUpButton.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="MoveRuleUpButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAahJREFUOE+Nk01L
+ AlEYhf1l7VpEizaBFEEREmFQEGgFQYukTRD9g1atIlEESwmpxEZL0lSUydRG1Ci0ibDsY3Hq3JjRaaaP
+ gcO9c2fe577n3Bmb7fNKnudxfBxDLBY3SFvjSO3vh8H3TRcLX17f0X56+1UHBxH4fAEzhAAWtx5eTWqq
+ HbHGMRI5QvGyCK/Xb4T0Aqr1e8hXNeRlBUqjrc95z901GSBWAEK4K/MhtKLcCRizuFYaoB09i58ALExl
+ ZN1WU31BIlMQdg0AUhkivWoWuBstaIDUjQx/OfQzQAuxF8A5LVxW63DnpuAq2OGPh4U1UwdWgNvms/C9
+ HF/EZmsWKw0HnNIouP4vAJPfutiGR5nAuuqCuzYJZ3YQnuTS3wAWh1JRjJz0Y7Uyjo2HLmAs2gfPzlr3
+ FBgiLTBl+mZxrqCIwAKnh3BJTh3giA5CKuWxu+frAviFfQE6KFdbSGcrQsl0CYnzKyyfzBsAPB3LDPiA
+ KtcehXJFVWglsWACGH6s3g7YBVPWRCBD0zKgBctjJIRia981H5zB3NkwpqUh2AMDCIZCuoUPJ7XmPSyz
+ fF8AAAAASUVORK5CYII=
+</value>
+ </data>
+ <data name="MoveRuleUpButton.Location" type="System.Drawing.Point, System.Drawing">
+ <value>512, 0</value>
+ </data>
+ <data name="MoveRuleUpButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>32, 24</value>
+ </data>
+ <data name="MoveRuleUpButton.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="MoveRuleUpButton.ToolTip" xml:space="preserve">
+ <value>Move the selected rule up</value>
+ </data>
+ <data name=">>MoveRuleUpButton.Name" xml:space="preserve">
+ <value>MoveRuleUpButton</value>
+ </data>
+ <data name=">>MoveRuleUpButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>MoveRuleUpButton.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>MoveRuleUpButton.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name=">>ShowInLegend.Name" xml:space="preserve">
+ <value>ShowInLegend</value>
+ </data>
+ <data name=">>ShowInLegend.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ShowInLegend.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>ShowInLegend.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>593, 24</value>
+ </data>
+ <data name="panel1.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>panel1.Name" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>panel1.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="ShowInLegend.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="ShowInLegend.Location" type="System.Drawing.Point, System.Drawing">
+ <value>176, 6</value>
+ </data>
+ <data name="ShowInLegend.Size" type="System.Drawing.Size, System.Drawing">
+ <value>103, 17</value>
+ </data>
+ <data name="ShowInLegend.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name="ShowInLegend.Text" xml:space="preserve">
+ <value>Show in Legend</value>
+ </data>
+ <data name="ShowInLegend.ToolTip" xml:space="preserve">
+ <value>Check to show in legend (only avalible in LayerDefinition 1.3.0 and above)</value>
+ </data>
+ <data name=">>ShowInLegend.Name" xml:space="preserve">
+ <value>ShowInLegend</value>
+ </data>
+ <data name=">>ShowInLegend.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ShowInLegend.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>ShowInLegend.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="toolTips.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>593, 97</value>
+ </data>
+ <data name=">>toolTips.Name" xml:space="preserve">
+ <value>toolTips</value>
+ </data>
+ <data name=">>toolTips.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ConditionListButtons</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,58 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ public partial class EditorTemplateForm : Form
+ {
+ public EditorTemplateForm()
+ {
+ InitializeComponent();
+ }
+
+ public void RefreshSize()
+ {
+ if (ItemPanel.Controls.Count > 0 && ItemPanel.Controls[0] as UserControl != null)
+ {
+ this.Height = ButtonPanel.Height + ItemPanel.Top + (ItemPanel.Controls[0] as UserControl).AutoScrollMinSize.Height + (8 * 6);
+
+ this.Width = Math.Max(this.Width, (ItemPanel.Controls[0] as UserControl).AutoScrollMinSize.Width + 2 * ItemPanel.Left + (8 * 4));
+ }
+ }
+
+ private void EditorTemplateForm_Load(object sender, EventArgs e)
+ {
+ RefreshSize();
+ }
+
+ private void OKBtn_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+ }
+}
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,87 @@
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ partial class EditorTemplateForm
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditorTemplateForm));
+ this.ButtonPanel = new System.Windows.Forms.Panel();
+ this.CancelBtn = new System.Windows.Forms.Button();
+ this.OKBtn = new System.Windows.Forms.Button();
+ this.ItemPanel = new System.Windows.Forms.Panel();
+ this.ButtonPanel.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // ButtonPanel
+ //
+ this.ButtonPanel.Controls.Add(this.CancelBtn);
+ this.ButtonPanel.Controls.Add(this.OKBtn);
+ resources.ApplyResources(this.ButtonPanel, "ButtonPanel");
+ this.ButtonPanel.Name = "ButtonPanel";
+ //
+ // CancelBtn
+ //
+ resources.ApplyResources(this.CancelBtn, "CancelBtn");
+ this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.CancelBtn.Name = "CancelBtn";
+ this.CancelBtn.UseVisualStyleBackColor = true;
+ //
+ // OKBtn
+ //
+ resources.ApplyResources(this.OKBtn, "OKBtn");
+ this.OKBtn.Name = "OKBtn";
+ this.OKBtn.UseVisualStyleBackColor = true;
+ this.OKBtn.Click += new System.EventHandler(this.OKBtn_Click);
+ //
+ // ItemPanel
+ //
+ resources.ApplyResources(this.ItemPanel, "ItemPanel");
+ this.ItemPanel.Name = "ItemPanel";
+ //
+ // EditorTemplateForm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.CancelButton = this.CancelBtn;
+ this.Controls.Add(this.ItemPanel);
+ this.Controls.Add(this.ButtonPanel);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
+ this.Name = "EditorTemplateForm";
+ this.Load += new System.EventHandler(this.EditorTemplateForm_Load);
+ this.ButtonPanel.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel ButtonPanel;
+ public System.Windows.Forms.Panel ItemPanel;
+ private System.Windows.Forms.Button CancelBtn;
+ private System.Windows.Forms.Button OKBtn;
+ }
+}
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/EditorTemplateForm.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="CancelBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="CancelBtn.Location" type="System.Drawing.Point, System.Drawing">
+ <value>160, 8</value>
+ </data>
+ <data name="CancelBtn.Size" type="System.Drawing.Size, System.Drawing">
+ <value>64, 24</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="CancelBtn.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="CancelBtn.Text" xml:space="preserve">
+ <value>Cancel</value>
+ </data>
+ <data name=">>CancelBtn.Name" xml:space="preserve">
+ <value>CancelBtn</value>
+ </data>
+ <data name=">>CancelBtn.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>CancelBtn.Parent" xml:space="preserve">
+ <value>ButtonPanel</value>
+ </data>
+ <data name=">>CancelBtn.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="OKBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="OKBtn.Location" type="System.Drawing.Point, System.Drawing">
+ <value>72, 8</value>
+ </data>
+ <data name="OKBtn.Size" type="System.Drawing.Size, System.Drawing">
+ <value>64, 24</value>
+ </data>
+ <data name="OKBtn.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="OKBtn.Text" xml:space="preserve">
+ <value>OK</value>
+ </data>
+ <data name=">>OKBtn.Name" xml:space="preserve">
+ <value>OKBtn</value>
+ </data>
+ <data name=">>OKBtn.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>OKBtn.Parent" xml:space="preserve">
+ <value>ButtonPanel</value>
+ </data>
+ <data name=">>OKBtn.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="ButtonPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Bottom</value>
+ </data>
+ <data name="ButtonPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 232</value>
+ </data>
+ <data name="ButtonPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 41</value>
+ </data>
+ <data name="ButtonPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>ButtonPanel.Name" xml:space="preserve">
+ <value>ButtonPanel</value>
+ </data>
+ <data name=">>ButtonPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ButtonPanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>ButtonPanel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="ItemPanel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="ItemPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 8</value>
+ </data>
+ <data name="ItemPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>280, 224</value>
+ </data>
+ <data name="ItemPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>ItemPanel.Name" xml:space="preserve">
+ <value>ItemPanel</value>
+ </data>
+ <data name=">>ItemPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ItemPanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>ItemPanel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>297, 273</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Edit the style</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>EditorTemplateForm</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,211 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using Maestro.Editors.LayerDefinition.Vector.StyleEditors;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ public partial class ItemStyle : UserControl
+ {
+ private TextSymbolType m_label;
+ private PointSymbolization2DType m_point;
+ private IList<StrokeType> m_line;
+ private AreaSymbolizationFillType m_area;
+
+ private object m_parent;
+
+ private bool isLabel = false;
+ private bool isPoint = false;
+ private bool isLine = false;
+ private bool isArea = false;
+
+ public event EventHandler ItemChanged;
+
+ private VectorLayerEditorCtrl m_owner;
+
+ public VectorLayerEditorCtrl Owner
+ {
+ get { return m_owner; }
+ set { m_owner = value; }
+ }
+
+ public ItemStyle()
+ {
+ InitializeComponent();
+ }
+
+ public void SetItem(object parent, TextSymbolType label)
+ {
+ isLabel = true;
+ SetItemInternal(parent, label);
+ }
+
+ public void SetItem(PointRuleType parent, PointSymbolization2DType point)
+ {
+ isPoint = true;
+ SetItemInternal(parent, point);
+ }
+
+ public void SetItem(LineRuleType parent, IList<StrokeType> line)
+ {
+ isLine = true;
+ SetItemInternal(parent, line);
+ }
+
+ public void SetItem(AreaRuleType parent, AreaSymbolizationFillType area)
+ {
+ isArea = true;
+ SetItemInternal(parent, area);
+ }
+
+ private void SetItemInternal(object parent, object item)
+ {
+ m_parent = parent;
+ m_label = item as TextSymbolType;
+ m_point = item as PointSymbolization2DType;
+ m_line = item as IList<StrokeType>;
+ m_area = item as AreaSymbolizationFillType;
+
+ }
+
+ private void previewPicture_Paint(object sender, PaintEventArgs e)
+ {
+ e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+ Rectangle rect = new Rectangle(0, 0, previewPicture.Width, previewPicture.Height);
+ if (m_label != null)
+ {
+ FeaturePreviewRender.RenderPreviewFont(e.Graphics, rect, m_label);
+ }
+ else if (m_point != null)
+ {
+ if (((PointSymbolization2DType)m_point).Item.GetType() == typeof(MarkSymbolType))
+ FeaturePreviewRender.RenderPreviewPoint(e.Graphics, rect, m_point.Item as MarkSymbolType);
+ else if (((PointSymbolization2DType)m_point).Item.GetType() == typeof(FontSymbolType))
+ FeaturePreviewRender.RenderPreviewFontSymbol(e.Graphics, rect, m_point.Item as FontSymbolType);
+ }
+ else if (m_line != null)
+ {
+ FeaturePreviewRender.RenderPreviewLine(e.Graphics, rect, m_line);
+ }
+ else if (m_area != null)
+ {
+ FeaturePreviewRender.RenderPreviewArea(e.Graphics, rect, m_area);
+ }
+ else
+ FeaturePreviewRender.RenderPreviewFont(e.Graphics, rect, null);
+ }
+
+ private void EditButton_Click(object sender, EventArgs e)
+ {
+ UserControl uc = null;
+ if (isLabel)
+ {
+ uc = new FontStyleEditor(m_owner.Editor, m_owner.Schema, m_owner.FeatureSourceId);
+ ((FontStyleEditor)uc).Item = (TextSymbolType)Utility.DeepCopy(m_label);
+ }
+ else if (isPoint)
+ {
+ uc = new PointFeatureStyleEditor(m_owner.Editor, m_owner.Schema, m_owner.FeatureSourceId);
+ ((PointFeatureStyleEditor)uc).Item = (PointSymbolization2DType)Utility.XmlDeepCopy(m_point);
+ }
+ else if (isLine)
+ {
+ uc = new LineFeatureStyleEditor(m_owner.Editor, m_owner.Schema, m_owner.FeatureSourceId);
+ ((LineFeatureStyleEditor)uc).Item = (IList<StrokeType>)Utility.XmlDeepCopy(m_line);
+ }
+ else if (isArea)
+ {
+ uc = new AreaFeatureStyleEditor(m_owner.Editor, m_owner.Schema, m_owner.FeatureSourceId);
+ ((AreaFeatureStyleEditor)uc).Item = (AreaSymbolizationFillType)Utility.XmlDeepCopy(m_area);
+ }
+
+ if (uc != null)
+ {
+ EditorTemplateForm dlg = new EditorTemplateForm();
+ dlg.ItemPanel.Controls.Add(uc);
+ uc.Dock = DockStyle.Fill;
+ dlg.RefreshSize();
+ if (dlg.ShowDialog(this) == DialogResult.OK)
+ {
+ if (isLabel)
+ {
+ m_label = ((FontStyleEditor)uc).Item;
+ if (m_parent as PointRuleType != null)
+ ((PointRuleType)m_parent).Label = m_label;
+ else if (m_parent as LineRuleType != null)
+ ((LineRuleType)m_parent).Label = m_label;
+ else if (m_parent as AreaRuleType != null)
+ ((AreaRuleType)m_parent).Label = m_label;
+
+ if (ItemChanged != null)
+ ItemChanged(m_label, null);
+ }
+ else if (isPoint)
+ {
+ m_point = ((PointFeatureStyleEditor)uc).Item;
+ ((PointRuleType)m_parent).Item = m_point;
+ if (ItemChanged != null)
+ ItemChanged(m_point, null);
+ }
+ else if (isLine)
+ {
+ m_line = ((LineFeatureStyleEditor)uc).Item;
+ ((LineRuleType)m_parent).Items = (BindingList<StrokeType>)m_line;
+ if (ItemChanged != null)
+ ItemChanged(m_line, null);
+ }
+ else if (isArea)
+ {
+ m_area = ((AreaFeatureStyleEditor)uc).Item;
+ ((AreaRuleType)m_parent).Item = m_area; ;
+ if (ItemChanged != null)
+ ItemChanged(m_area, null);
+ }
+
+ this.Refresh();
+
+ }
+ }
+
+ }
+
+ private void previewPicture_Click(object sender, EventArgs e)
+ {
+ try { Parent.Focus(); }
+ catch {}
+ }
+
+ private void previewPicture_DoubleClick(object sender, EventArgs e)
+ {
+ try { Parent.Focus(); }
+ catch { }
+
+ EditButton_Click(sender, e);
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,72 @@
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ partial class ItemStyle
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemStyle));
+ this.previewPicture = new System.Windows.Forms.PictureBox();
+ this.EditButton = new System.Windows.Forms.Button();
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).BeginInit();
+ this.SuspendLayout();
+ //
+ // previewPicture
+ //
+ this.previewPicture.BackColor = System.Drawing.Color.White;
+ this.previewPicture.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ resources.ApplyResources(this.previewPicture, "previewPicture");
+ this.previewPicture.Name = "previewPicture";
+ this.previewPicture.TabStop = false;
+ this.previewPicture.DoubleClick += new System.EventHandler(this.previewPicture_DoubleClick);
+ this.previewPicture.Click += new System.EventHandler(this.previewPicture_Click);
+ this.previewPicture.Paint += new System.Windows.Forms.PaintEventHandler(this.previewPicture_Paint);
+ //
+ // EditButton
+ //
+ resources.ApplyResources(this.EditButton, "EditButton");
+ this.EditButton.Name = "EditButton";
+ this.EditButton.UseVisualStyleBackColor = true;
+ this.EditButton.Click += new System.EventHandler(this.EditButton_Click);
+ //
+ // ItemStyle
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.previewPicture);
+ this.Controls.Add(this.EditButton);
+ this.Name = "ItemStyle";
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.PictureBox previewPicture;
+ private System.Windows.Forms.Button EditButton;
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ItemStyle.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="previewPicture.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="previewPicture.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="previewPicture.Size" type="System.Drawing.Size, System.Drawing">
+ <value>113, 20</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="previewPicture.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>previewPicture.Name" xml:space="preserve">
+ <value>previewPicture</value>
+ </data>
+ <data name=">>previewPicture.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewPicture.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>previewPicture.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="EditButton.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Right</value>
+ </data>
+ <data name="EditButton.Location" type="System.Drawing.Point, System.Drawing">
+ <value>113, 0</value>
+ </data>
+ <data name="EditButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>24, 20</value>
+ </data>
+ <data name="EditButton.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="EditButton.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>EditButton.Name" xml:space="preserve">
+ <value>EditButton</value>
+ </data>
+ <data name=">>EditButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>EditButton.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>EditButton.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>137, 20</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ItemStyle</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,163 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using System.Threading;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ public partial class ScaleRange : UserControl
+ {
+ private VectorScaleRangeType m_vsc;
+ private bool m_isUpdating = false;
+
+ public event EventHandler ItemChanged;
+
+ private VectorLayerEditorCtrl m_owner;
+
+ public bool HasUnsupportedItems { get { return scaleRangeConditions.HasUnsupportedItems; } }
+
+ public VectorLayerEditorCtrl Owner
+ {
+ get { return m_owner; }
+ set
+ {
+ m_owner = value;
+ scaleRangeConditions.Owner = m_owner;
+ }
+ }
+
+
+ public ScaleRange()
+ {
+ InitializeComponent();
+ }
+
+ public VectorScaleRangeType Item { get { return m_vsc; } }
+
+ public void SetItem(VectorScaleRangeType vsc)
+ {
+ try
+ {
+ m_isUpdating = true;
+ m_vsc = vsc;
+ MaxScale.Text = m_vsc.MaxScaleSpecified ? m_vsc.MaxScale.ToString(Thread.CurrentThread.CurrentUICulture) : Properties.Resources.InfiniteValue;
+ MinScale.Text = m_vsc.MinScaleSpecified ? m_vsc.MinScale.ToString(Thread.CurrentThread.CurrentUICulture) : Properties.Resources.InfiniteValue;
+
+ scaleRangeConditions.SetItem(m_vsc);
+ }
+ finally
+ {
+ m_isUpdating = false;
+ }
+ }
+
+ private void MinScale_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_vsc == null || m_isUpdating)
+ return;
+
+ if (MinScale.SelectedIndex == 0)
+ m_vsc.MinScaleSpecified = false;
+
+ if (ItemChanged != null)
+ ItemChanged(m_vsc, null);
+ }
+
+ private void MaxScale_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_vsc == null || m_isUpdating)
+ return;
+
+ if (MaxScale.SelectedIndex == 0)
+ m_vsc.MaxScaleSpecified = false;
+
+ if (ItemChanged != null)
+ ItemChanged(m_vsc, null);
+ }
+
+ private void MinScale_TextChanged(object sender, EventArgs e)
+ {
+ if (m_vsc == null || m_isUpdating)
+ return;
+
+ double o;
+
+ if (double.TryParse(MinScale.Text, System.Globalization.NumberStyles.Number, System.Threading.Thread.CurrentThread.CurrentUICulture, out o))
+ {
+ m_vsc.MinScaleSpecified = true;
+ m_vsc.MinScale = o;
+ errorProvider.SetError(MinScale, null);
+ }
+ else
+ errorProvider.SetError(MinScale, Properties.Resources.InvalidValueError);
+
+ if (ItemChanged != null)
+ ItemChanged(m_vsc, null);
+ }
+
+ private void MaxScale_TextChanged(object sender, EventArgs e)
+ {
+ if (m_vsc == null || m_isUpdating)
+ return;
+
+ double o;
+
+ if (double.TryParse(MaxScale.Text, System.Globalization.NumberStyles.Number, System.Threading.Thread.CurrentThread.CurrentUICulture, out o))
+ {
+ m_vsc.MaxScaleSpecified = true;
+ m_vsc.MaxScale = o;
+ errorProvider.SetError(MaxScale, null);
+ }
+ else
+ errorProvider.SetError(MaxScale, Properties.Resources.InvalidValueError);
+
+ if (ItemChanged != null)
+ ItemChanged(m_vsc, null);
+ }
+
+ private void scaleRangeConditions_ItemChanged(object sender, EventArgs e)
+ {
+ if (m_vsc == null || m_isUpdating)
+ return;
+
+ if (ItemChanged != null)
+ ItemChanged(m_vsc, null);
+ }
+
+ public int GetPreferedHeight()
+ {
+ return panel2.Height + scaleRangeConditions.GetPreferedHeight();
+ }
+
+ public void ResizeAuto()
+ {
+ scaleRangeConditions.ResizeAuto();
+ this.Height = this.GetPreferedHeight();
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,109 @@
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ partial class ScaleRange
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ScaleRange));
+ this.MinScale = new System.Windows.Forms.ComboBox();
+ this.MaxScale = new System.Windows.Forms.ComboBox();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.scaleRangeConditions = new ScaleRangeConditions();
+ this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
+ this.panel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+ this.SuspendLayout();
+ //
+ // MinScale
+ //
+ this.MinScale.FormattingEnabled = true;
+ this.MinScale.Items.AddRange(new object[] {
+ resources.GetString("MinScale.Items")});
+ resources.ApplyResources(this.MinScale, "MinScale");
+ this.MinScale.Name = "MinScale";
+ this.MinScale.SelectedIndexChanged += new System.EventHandler(this.MinScale_SelectedIndexChanged);
+ this.MinScale.TextChanged += new System.EventHandler(this.MinScale_TextChanged);
+ //
+ // MaxScale
+ //
+ this.MaxScale.FormattingEnabled = true;
+ this.MaxScale.Items.AddRange(new object[] {
+ resources.GetString("MaxScale.Items")});
+ resources.ApplyResources(this.MaxScale, "MaxScale");
+ this.MaxScale.Name = "MaxScale";
+ this.MaxScale.SelectedIndexChanged += new System.EventHandler(this.MaxScale_SelectedIndexChanged);
+ this.MaxScale.TextChanged += new System.EventHandler(this.MaxScale_TextChanged);
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.MinScale);
+ this.panel1.Controls.Add(this.MaxScale);
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Name = "panel1";
+ //
+ // panel2
+ //
+ resources.ApplyResources(this.panel2, "panel2");
+ this.panel2.Name = "panel2";
+ //
+ // scaleRangeConditions
+ //
+ resources.ApplyResources(this.scaleRangeConditions, "scaleRangeConditions");
+ this.scaleRangeConditions.Name = "scaleRangeConditions";
+ this.scaleRangeConditions.Owner = null;
+ this.scaleRangeConditions.ItemChanged += new System.EventHandler(this.scaleRangeConditions_ItemChanged);
+ //
+ // errorProvider
+ //
+ this.errorProvider.ContainerControl = this;
+ //
+ // ScaleRange
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.scaleRangeConditions);
+ this.Controls.Add(this.panel1);
+ this.Controls.Add(this.panel2);
+ this.Name = "ScaleRange";
+ this.panel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private ScaleRangeConditions scaleRangeConditions;
+ private System.Windows.Forms.ComboBox MinScale;
+ private System.Windows.Forms.ComboBox MaxScale;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.ErrorProvider errorProvider;
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRange.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="MinScale.Items" xml:space="preserve">
+ <value>infinite</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="MinScale.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="MinScale.Size" type="System.Drawing.Size, System.Drawing">
+ <value>80, 21</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="MinScale.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>MinScale.Name" xml:space="preserve">
+ <value>MinScale</value>
+ </data>
+ <data name=">>MinScale.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>MinScale.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>MinScale.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="MaxScale.Items" xml:space="preserve">
+ <value>infinite</value>
+ </data>
+ <data name="MaxScale.Location" type="System.Drawing.Point, System.Drawing">
+ <value>80, 0</value>
+ </data>
+ <data name="MaxScale.Size" type="System.Drawing.Size, System.Drawing">
+ <value>80, 21</value>
+ </data>
+ <data name="MaxScale.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name=">>MaxScale.Name" xml:space="preserve">
+ <value>MaxScale</value>
+ </data>
+ <data name=">>MaxScale.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>MaxScale.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>MaxScale.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Left</value>
+ </data>
+ <data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>160, 330</value>
+ </data>
+ <data name="panel1.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name=">>panel1.Name" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>panel1.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Bottom</value>
+ </data>
+ <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 330</value>
+ </data>
+ <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>802, 8</value>
+ </data>
+ <data name="panel2.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>panel2.Name" xml:space="preserve">
+ <value>panel2</value>
+ </data>
+ <data name=">>panel2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>panel2.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="scaleRangeConditions.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="scaleRangeConditions.Location" type="System.Drawing.Point, System.Drawing">
+ <value>160, 0</value>
+ </data>
+ <data name="scaleRangeConditions.Size" type="System.Drawing.Size, System.Drawing">
+ <value>642, 330</value>
+ </data>
+ <data name="scaleRangeConditions.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>scaleRangeConditions.Name" xml:space="preserve">
+ <value>scaleRangeConditions</value>
+ </data>
+ <data name=">>scaleRangeConditions.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ScaleRangeConditions, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>scaleRangeConditions.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>scaleRangeConditions.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>802, 338</value>
+ </data>
+ <data name=">>errorProvider.Name" xml:space="preserve">
+ <value>errorProvider</value>
+ </data>
+ <data name=">>errorProvider.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ErrorProvider, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ScaleRange</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,257 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ public partial class ScaleRangeConditions: UserControl
+ {
+ public event EventHandler ItemChanged;
+
+ private VectorScaleRangeType m_vsc;
+ private bool m_isUpdating = false;
+ private bool m_hasUnsupportedItems = false;
+
+ public bool HasUnsupportedItems { get { return m_hasUnsupportedItems; } }
+
+ private VectorLayerEditorCtrl m_owner;
+
+ public VectorLayerEditorCtrl Owner
+ {
+ get { return m_owner; }
+ set
+ {
+ m_owner = value;
+ pointConditionList.Owner = m_owner;
+ lineConditionList.Owner = m_owner;
+ areaConditionList.Owner = m_owner;
+ }
+ }
+
+ public ScaleRangeConditions()
+ {
+ InitializeComponent();
+ }
+
+ public void SetItem(VectorScaleRangeType vsc)
+ {
+ try
+ {
+ m_isUpdating = true;
+ m_vsc = vsc;
+
+ bool hasPoints = false;
+ bool hasLines = false;
+ bool hasAreas = false;
+ m_hasUnsupportedItems = false;
+ if (m_vsc.Items != null)
+ foreach (object o in m_vsc.Items)
+ {
+ if (o as PointTypeStyleType != null)
+ {
+ hasPoints = true;
+ pointConditionList.SetItem(m_vsc, o as PointTypeStyleType);
+ }
+ else if (o as LineTypeStyleType != null)
+ {
+ hasLines = true;
+ lineConditionList.SetItem(m_vsc, o as LineTypeStyleType);
+ }
+ else if (o as AreaTypeStyleType != null)
+ {
+ hasAreas = true;
+ areaConditionList.SetItem(m_vsc, o as AreaTypeStyleType);
+ }
+ else
+ m_hasUnsupportedItems = true;
+ }
+
+ DisplayPoints.Checked = hasPoints;
+ DisplayLines.Checked = hasLines;
+ DisplayAreas.Checked = hasAreas;
+ }
+ finally
+ {
+ m_isUpdating = false;
+ }
+ }
+
+ private void DisplayPoints_CheckedChanged(object sender, EventArgs e)
+ {
+ pointConditionList.Visible = DisplayPoints.Checked;
+
+ if (DisplayPoints.Checked)
+ {
+ if (m_vsc.Items == null)
+ m_vsc.Items = new BindingList<object>();
+
+ if (DisplayPoints.Tag != null)
+ {
+ m_vsc.PointStyle = (PointTypeStyleType)DisplayPoints.Tag;
+ DisplayPoints.Tag = null;
+ }
+
+ bool hasPoint = m_vsc.PointStyle != null;
+
+ if (!hasPoint)
+ {
+ var pst = ObjectFactory.CreateDefaultPointStyle();
+ m_vsc.PointStyle = pst;
+ pointConditionList.SetItem(m_vsc, pst);
+ }
+
+ pointConditionList.AddRule();
+
+ }
+ else
+ {
+ DisplayPoints.Tag = m_vsc.PointStyle;
+ m_vsc.PointStyle = null;
+ }
+
+ if (!m_isUpdating)
+ SignalItemChanged();
+ }
+
+ private void DisplayLines_CheckedChanged(object sender, EventArgs e)
+ {
+ lineConditionList.Visible = DisplayLines.Checked;
+
+ if (DisplayLines.Checked)
+ {
+ if (m_vsc.Items == null)
+ m_vsc.Items = new BindingList<object>();
+
+ if (DisplayLines.Tag != null)
+ {
+ m_vsc.LineStyle = (LineTypeStyleType)DisplayLines.Tag;
+ DisplayLines.Tag = null;
+ }
+
+ bool hasLine = m_vsc.LineStyle != null;
+
+ if (!hasLine)
+ {
+ var ls = ObjectFactory.CreateDefaultLineStyle();
+ m_vsc.LineStyle = ls;
+ lineConditionList.SetItem(m_vsc, ls);
+ }
+
+ lineConditionList.AddRule();
+ }
+ else
+ {
+ DisplayLines.Tag = m_vsc.LineStyle;
+ m_vsc.LineStyle = null;
+ }
+
+ if (!m_isUpdating)
+ SignalItemChanged();
+ }
+
+ private void DisplayAreas_CheckedChanged(object sender, EventArgs e)
+ {
+ areaConditionList.Visible = DisplayAreas.Checked;
+
+ if (DisplayAreas.Checked)
+ {
+ if (m_vsc.Items == null)
+ m_vsc.Items = new BindingList<object>();
+
+ if (DisplayAreas.Tag != null)
+ {
+ m_vsc.AreaStyle = (AreaTypeStyleType)DisplayAreas.Tag;
+ DisplayAreas.Tag = null;
+ }
+
+ bool hasArea = m_vsc.AreaStyle != null;
+
+ if (!hasArea)
+ {
+ var ast = ObjectFactory.CreateDefaultAreaStyle();
+ m_vsc.AreaStyle = ast;
+ areaConditionList.SetItem(m_vsc, ast);
+ }
+
+ areaConditionList.AddRule();
+ }
+ else
+ {
+ DisplayAreas.Tag = m_vsc.AreaStyle;
+ m_vsc.AreaStyle = null;
+ }
+
+ if (!m_isUpdating)
+ SignalItemChanged();
+ }
+
+ private void SignalItemChanged()
+ {
+ if (ItemChanged != null)
+ ItemChanged(m_vsc, null);
+ }
+
+ private void pointConditionList_ItemChanged(object sender, EventArgs e)
+ {
+ SignalItemChanged();
+ }
+
+ private void lineConditionList_ItemChanged(object sender, EventArgs e)
+ {
+ SignalItemChanged();
+ }
+
+ private void areaConditionList_ItemChanged(object sender, EventArgs e)
+ {
+ SignalItemChanged();
+ }
+
+ public int GetPreferedHeight()
+ {
+ int minHeight = DisplayPoints.Height + DisplayLines.Height + DisplayAreas.Height + splitter1.Height + splitter2.Height;
+
+ if (DisplayPoints.Checked)
+ minHeight += pointConditionList.GetPreferedHeight();
+ if (DisplayLines.Checked)
+ minHeight += lineConditionList.GetPreferedHeight();
+ if (DisplayAreas.Checked)
+ minHeight += areaConditionList.GetPreferedHeight();
+
+ return minHeight;
+ }
+
+ public void ResizeAuto()
+ {
+ pointConditionList.ResizeAuto();
+ lineConditionList.ResizeAuto();
+ areaConditionList.ResizeAuto();
+ this.Height = this.GetPreferedHeight();
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,134 @@
+namespace Maestro.Editors.LayerDefinition.Vector.Scales
+{
+ partial class ScaleRangeConditions
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ScaleRangeConditions));
+ this.DisplayLines = new System.Windows.Forms.CheckBox();
+ this.lineConditionList = new ConditionListButtons();
+ this.DisplayPoints = new System.Windows.Forms.CheckBox();
+ this.pointConditionList = new ConditionListButtons();
+ this.DisplayAreas = new System.Windows.Forms.CheckBox();
+ this.areaConditionList = new ConditionListButtons();
+ this.splitter1 = new System.Windows.Forms.Splitter();
+ this.splitter2 = new System.Windows.Forms.Splitter();
+ this.SuspendLayout();
+ //
+ // DisplayLines
+ //
+ resources.ApplyResources(this.DisplayLines, "DisplayLines");
+ this.DisplayLines.Checked = true;
+ this.DisplayLines.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.DisplayLines.Name = "DisplayLines";
+ this.DisplayLines.UseVisualStyleBackColor = true;
+ this.DisplayLines.CheckedChanged += new System.EventHandler(this.DisplayLines_CheckedChanged);
+ //
+ // lineConditionList
+ //
+ resources.ApplyResources(this.lineConditionList, "lineConditionList");
+ this.lineConditionList.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.lineConditionList.Name = "lineConditionList";
+ this.lineConditionList.Owner = null;
+ this.lineConditionList.ItemChanged += new System.EventHandler(this.lineConditionList_ItemChanged);
+ //
+ // DisplayPoints
+ //
+ resources.ApplyResources(this.DisplayPoints, "DisplayPoints");
+ this.DisplayPoints.Checked = true;
+ this.DisplayPoints.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.DisplayPoints.Name = "DisplayPoints";
+ this.DisplayPoints.UseVisualStyleBackColor = true;
+ this.DisplayPoints.CheckedChanged += new System.EventHandler(this.DisplayPoints_CheckedChanged);
+ //
+ // pointConditionList
+ //
+ resources.ApplyResources(this.pointConditionList, "pointConditionList");
+ this.pointConditionList.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.pointConditionList.Name = "pointConditionList";
+ this.pointConditionList.Owner = null;
+ this.pointConditionList.ItemChanged += new System.EventHandler(this.pointConditionList_ItemChanged);
+ //
+ // DisplayAreas
+ //
+ resources.ApplyResources(this.DisplayAreas, "DisplayAreas");
+ this.DisplayAreas.Checked = true;
+ this.DisplayAreas.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.DisplayAreas.Name = "DisplayAreas";
+ this.DisplayAreas.UseVisualStyleBackColor = true;
+ this.DisplayAreas.CheckedChanged += new System.EventHandler(this.DisplayAreas_CheckedChanged);
+ //
+ // areaConditionList
+ //
+ resources.ApplyResources(this.areaConditionList, "areaConditionList");
+ this.areaConditionList.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.areaConditionList.Name = "areaConditionList";
+ this.areaConditionList.Owner = null;
+ this.areaConditionList.ItemChanged += new System.EventHandler(this.areaConditionList_ItemChanged);
+ //
+ // splitter1
+ //
+ resources.ApplyResources(this.splitter1, "splitter1");
+ this.splitter1.Name = "splitter1";
+ this.splitter1.TabStop = false;
+ //
+ // splitter2
+ //
+ resources.ApplyResources(this.splitter2, "splitter2");
+ this.splitter2.Name = "splitter2";
+ this.splitter2.TabStop = false;
+ //
+ // ScaleRangeConditions
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.areaConditionList);
+ this.Controls.Add(this.DisplayAreas);
+ this.Controls.Add(this.splitter2);
+ this.Controls.Add(this.lineConditionList);
+ this.Controls.Add(this.DisplayLines);
+ this.Controls.Add(this.splitter1);
+ this.Controls.Add(this.pointConditionList);
+ this.Controls.Add(this.DisplayPoints);
+ this.Name = "ScaleRangeConditions";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.CheckBox DisplayLines;
+ private ConditionListButtons lineConditionList;
+ private ConditionListButtons pointConditionList;
+ private System.Windows.Forms.CheckBox DisplayPoints;
+ private ConditionListButtons areaConditionList;
+ private System.Windows.Forms.CheckBox DisplayAreas;
+ private System.Windows.Forms.Splitter splitter1;
+ private System.Windows.Forms.Splitter splitter2;
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeConditions.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,357 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="DisplayLines.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="DisplayLines.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="DisplayLines.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 113</value>
+ </data>
+ <data name="DisplayLines.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 17</value>
+ </data>
+ <data name="DisplayLines.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="DisplayLines.Text" xml:space="preserve">
+ <value>Display lines</value>
+ </data>
+ <data name=">>DisplayLines.Name" xml:space="preserve">
+ <value>DisplayLines</value>
+ </data>
+ <data name=">>DisplayLines.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DisplayLines.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DisplayLines.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="lineConditionList.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lineConditionList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="lineConditionList.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 130</value>
+ </data>
+ <data name="lineConditionList.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 88</value>
+ </data>
+ <data name="lineConditionList.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>lineConditionList.Name" xml:space="preserve">
+ <value>lineConditionList</value>
+ </data>
+ <data name=">>lineConditionList.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ConditionListButtons, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>lineConditionList.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>lineConditionList.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="DisplayPoints.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="DisplayPoints.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="DisplayPoints.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="DisplayPoints.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 17</value>
+ </data>
+ <data name="DisplayPoints.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="DisplayPoints.Text" xml:space="preserve">
+ <value>Display points</value>
+ </data>
+ <data name=">>DisplayPoints.Name" xml:space="preserve">
+ <value>DisplayPoints</value>
+ </data>
+ <data name=">>DisplayPoints.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DisplayPoints.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DisplayPoints.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="pointConditionList.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="pointConditionList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="pointConditionList.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 17</value>
+ </data>
+ <data name="pointConditionList.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 88</value>
+ </data>
+ <data name="pointConditionList.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>pointConditionList.Name" xml:space="preserve">
+ <value>pointConditionList</value>
+ </data>
+ <data name=">>pointConditionList.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ConditionListButtons, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>pointConditionList.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>pointConditionList.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="DisplayAreas.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="DisplayAreas.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="DisplayAreas.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 226</value>
+ </data>
+ <data name="DisplayAreas.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 17</value>
+ </data>
+ <data name="DisplayAreas.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="DisplayAreas.Text" xml:space="preserve">
+ <value>Display areas</value>
+ </data>
+ <data name=">>DisplayAreas.Name" xml:space="preserve">
+ <value>DisplayAreas</value>
+ </data>
+ <data name=">>DisplayAreas.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DisplayAreas.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DisplayAreas.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="areaConditionList.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="areaConditionList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="areaConditionList.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 243</value>
+ </data>
+ <data name="areaConditionList.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 91</value>
+ </data>
+ <data name="areaConditionList.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>areaConditionList.Name" xml:space="preserve">
+ <value>areaConditionList</value>
+ </data>
+ <data name=">>areaConditionList.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ConditionListButtons, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>areaConditionList.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>areaConditionList.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="splitter1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="splitter1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 105</value>
+ </data>
+ <data name="splitter1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 8</value>
+ </data>
+ <data name="splitter1.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name=">>splitter1.Name" xml:space="preserve">
+ <value>splitter1</value>
+ </data>
+ <data name=">>splitter1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Splitter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>splitter1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>splitter1.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="splitter2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="splitter2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 218</value>
+ </data>
+ <data name="splitter2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 8</value>
+ </data>
+ <data name="splitter2.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name=">>splitter2.Name" xml:space="preserve">
+ <value>splitter2</value>
+ </data>
+ <data name=">>splitter2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Splitter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>splitter2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>splitter2.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>597, 334</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ScaleRangeConditions</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,149 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using Maestro.Editors.LayerDefinition.Vector.Scales;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using Maestro.Editors.LayerDefinition;
+
+namespace OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls
+{
+ public partial class ScaleRangeList : UserControl
+ {
+ private VectorLayerDefinitionType m_vldef;
+ public event EventHandler ItemChanged;
+ public event EventHandler SelectionChanged;
+ private VectorScaleRangeType m_selectedItem;
+ private VectorLayerEditorCtrl m_owner;
+
+ public bool HasUnsupportedItems
+ {
+ get
+ {
+ foreach (ScaleRange sr in this.ControlList.Controls)
+ if (sr.HasUnsupportedItems)
+ return true;
+
+ return false;
+ }
+ }
+
+ public VectorLayerEditorCtrl Owner
+ {
+ get { return m_owner; }
+ set
+ {
+ m_owner = value;
+ foreach (ScaleRange sr in this.ControlList.Controls)
+ sr.Owner = m_owner;
+ }
+ }
+
+ public ScaleRangeList()
+ {
+ m_selectedItem = null;
+ InitializeComponent();
+ }
+
+ public VectorLayerDefinitionType Item
+ {
+ get { return m_vldef; }
+ }
+
+ public void SetItem(VectorLayerDefinitionType vldef)
+ {
+ ControlList.Controls.Clear();
+ m_vldef = vldef;
+
+ foreach (VectorScaleRangeType sc in m_vldef.VectorScaleRange)
+ AddScaleRange(sc);
+ }
+
+ public VectorScaleRangeType SelectedItem
+ {
+ get
+ {
+ return m_selectedItem;
+ }
+ }
+
+ public ScaleRange AddScaleRange(VectorScaleRangeType sc)
+ {
+ ScaleRange sr = new ScaleRange();
+ sr.Owner = m_owner;
+ sr.SetItem(sc);
+ sr.Dock = DockStyle.Top;
+ ControlList.Controls.Add(sr);
+ sr.BringToFront();
+ sr.ItemChanged += new EventHandler(Scale_ItemChanged);
+ sr.Enter += new EventHandler(Scale_Enter);
+ sr.Leave += new EventHandler(Scale_Leave);
+ return sr;
+ }
+
+ void Scale_Leave(object sender, EventArgs e)
+ {
+ m_selectedItem = null;
+ if (SelectionChanged != null)
+ SelectionChanged(this, null);
+
+ if (sender as ScaleRange != null)
+ (sender as ScaleRange).BackColor = SystemColors.Control;
+ }
+
+ void Scale_Enter(object sender, EventArgs e)
+ {
+ m_selectedItem = sender as ScaleRange == null ? null : (sender as ScaleRange).Item;
+ if (SelectionChanged != null)
+ SelectionChanged(this, null);
+
+ if (sender as ScaleRange != null)
+ (sender as ScaleRange).BackColor = Color.FromArgb(Math.Min(SystemColors.Control.R + 20, 255), Math.Min(SystemColors.Control.G + 20, 255), Math.Min(SystemColors.Control.B + 20, 255));
+ }
+
+ void Scale_ItemChanged(object sender, EventArgs e)
+ {
+ if (ItemChanged != null)
+ ItemChanged(m_vldef, null);
+ }
+
+ public void RemoveScaleRange(VectorScaleRangeType sc)
+ {
+ foreach(ScaleRange sr in ControlList.Controls)
+ if (sr.Item == sc)
+ {
+ ControlList.Controls.Remove(sr);
+ break;
+ }
+ }
+
+ public void ResizeAuto()
+ {
+ foreach (ScaleRange sr in ControlList.Controls)
+ sr.ResizeAuto();
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,89 @@
+namespace OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls
+{
+ partial class ScaleRangeList
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ScaleRangeList));
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.ControlList = new System.Windows.Forms.Panel();
+ this.panel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.label3);
+ this.panel1.Controls.Add(this.label2);
+ this.panel1.Controls.Add(this.label1);
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Name = "panel1";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // ControlList
+ //
+ resources.ApplyResources(this.ControlList, "ControlList");
+ this.ControlList.Name = "ControlList";
+ //
+ // ScaleRangeList
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.ControlList);
+ this.Controls.Add(this.panel1);
+ this.Name = "ScaleRangeList";
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Panel ControlList;
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Scales/ScaleRangeList.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>160, 8</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>90, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Display properties</value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>80, 8</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>51, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Maximum</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 8</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>48, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Minimum</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>790, 24</value>
+ </data>
+ <data name="panel1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>panel1.Name" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>panel1.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="ControlList.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="ControlList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="ControlList.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 24</value>
+ </data>
+ <data name="ControlList.Size" type="System.Drawing.Size, System.Drawing">
+ <value>790, 377</value>
+ </data>
+ <data name="ControlList.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>ControlList.Name" xml:space="preserve">
+ <value>ControlList</value>
+ </data>
+ <data name=">>ControlList.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ControlList.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>ControlList.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>790, 401</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ScaleRangeList</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,532 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+
+namespace Maestro.Editors.LayerDefinition.Vector.StyleEditors
+{
+ internal static class MaestroLegacyCompatibility
+ {
+
+ }
+
+ /// <summary>
+ /// Summary description for AreaFeatureStyleEditor.
+ /// </summary>
+ public class AreaFeatureStyleEditor : System.Windows.Forms.UserControl
+ {
+ private System.Windows.Forms.ComboBox sizeContextCombo;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.GroupBox previewGroup;
+ private System.Windows.Forms.PictureBox previewPicture;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+ private System.Data.DataSet ComboBoxDataSet;
+ private System.Data.DataTable SizeContextTable;
+ private System.Data.DataColumn dataColumn3;
+ private System.Data.DataColumn dataColumn4;
+ private System.Data.DataTable UnitsTable;
+ private System.Data.DataColumn dataColumn5;
+ private System.Data.DataColumn dataColumn6;
+
+ private AreaSymbolizationFillType m_item;
+ private FillStyleEditor fillStyleEditor;
+ private LineStyleEditor lineStyleEditor;
+ private System.Windows.Forms.ComboBox sizeUnitsCombo;
+ private bool m_inUpdate = false;
+
+ private FillType previousFill = null;
+ private StrokeType previousStroke = null;
+
+ public event EventHandler Changed;
+
+ private IEditorService m_editor;
+ private FeatureSourceDescription.FeatureSourceSchema m_schema;
+ private string m_featureSource;
+ private string m_providername;
+
+ public AreaFeatureStyleEditor(IEditorService editor, FeatureSourceDescription.FeatureSourceSchema schema, string featureSource)
+ : this()
+ {
+ m_editor = editor;
+ m_schema = schema;
+
+ var fs = (FeatureSourceType)m_editor.ResourceService.GetResource(featureSource);
+
+ m_providername = fs.Provider;
+ m_featureSource = featureSource;
+ }
+
+ private AreaFeatureStyleEditor()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+ using (System.IO.StringReader sr = new System.IO.StringReader(Properties.Resources.GeometryStyleComboDataset))
+ ComboBoxDataSet.ReadXml(sr);
+
+ fillStyleEditor.displayFill.CheckedChanged += new EventHandler(displayFill_CheckedChanged);
+ fillStyleEditor.fillCombo.SelectedIndexChanged += new EventHandler(fillCombo_SelectedIndexChanged);
+ fillStyleEditor.foregroundColor.CurrentColorChanged += new EventHandler(foregroundColor_CurrentColorChanged);
+ fillStyleEditor.backgroundColor.CurrentColorChanged += new EventHandler(backgroundColor_CurrentColorChanged);
+
+ lineStyleEditor.displayLine.CheckedChanged += new EventHandler(displayLine_CheckedChanged);
+ lineStyleEditor.thicknessCombo.SelectedIndexChanged += new EventHandler(thicknessCombo_SelectedIndexChanged);
+ lineStyleEditor.thicknessCombo.TextChanged += new EventHandler(thicknessCombo_TextChanged);
+ lineStyleEditor.colorCombo.CurrentColorChanged += new EventHandler(colorCombo_CurrentColorChanged);
+ lineStyleEditor.fillCombo.SelectedIndexChanged += new EventHandler(fillCombo_Line_SelectedIndexChanged);
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AreaFeatureStyleEditor));
+ this.fillStyleEditor = new FillStyleEditor();
+ this.lineStyleEditor = new LineStyleEditor();
+ this.sizeUnitsCombo = new System.Windows.Forms.ComboBox();
+ this.UnitsTable = new System.Data.DataTable();
+ this.dataColumn5 = new System.Data.DataColumn();
+ this.dataColumn6 = new System.Data.DataColumn();
+ this.sizeContextCombo = new System.Windows.Forms.ComboBox();
+ this.SizeContextTable = new System.Data.DataTable();
+ this.dataColumn3 = new System.Data.DataColumn();
+ this.dataColumn4 = new System.Data.DataColumn();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.previewGroup = new System.Windows.Forms.GroupBox();
+ this.previewPicture = new System.Windows.Forms.PictureBox();
+ this.ComboBoxDataSet = new System.Data.DataSet();
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.previewGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).BeginInit();
+ this.SuspendLayout();
+ //
+ // fillStyleEditor
+ //
+ resources.ApplyResources(this.fillStyleEditor, "fillStyleEditor");
+ this.fillStyleEditor.Name = "fillStyleEditor";
+ //
+ // lineStyleEditor
+ //
+ resources.ApplyResources(this.lineStyleEditor, "lineStyleEditor");
+ this.lineStyleEditor.Name = "lineStyleEditor";
+ //
+ // sizeUnitsCombo
+ //
+ resources.ApplyResources(this.sizeUnitsCombo, "sizeUnitsCombo");
+ this.sizeUnitsCombo.DataSource = this.UnitsTable;
+ this.sizeUnitsCombo.DisplayMember = "Display";
+ this.sizeUnitsCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.sizeUnitsCombo.Name = "sizeUnitsCombo";
+ this.sizeUnitsCombo.ValueMember = "Value";
+ this.sizeUnitsCombo.SelectedIndexChanged += new System.EventHandler(this.sizeUnitsCombo_SelectedIndexChanged);
+ //
+ // UnitsTable
+ //
+ this.UnitsTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn5,
+ this.dataColumn6});
+ this.UnitsTable.TableName = "Units";
+ //
+ // dataColumn5
+ //
+ this.dataColumn5.Caption = "Display";
+ this.dataColumn5.ColumnName = "Display";
+ //
+ // dataColumn6
+ //
+ this.dataColumn6.Caption = "Value";
+ this.dataColumn6.ColumnName = "Value";
+ //
+ // sizeContextCombo
+ //
+ resources.ApplyResources(this.sizeContextCombo, "sizeContextCombo");
+ this.sizeContextCombo.DataSource = this.SizeContextTable;
+ this.sizeContextCombo.DisplayMember = "Display";
+ this.sizeContextCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.sizeContextCombo.Name = "sizeContextCombo";
+ this.sizeContextCombo.ValueMember = "Value";
+ this.sizeContextCombo.SelectedIndexChanged += new System.EventHandler(this.sizeContextCombo_SelectedIndexChanged);
+ //
+ // SizeContextTable
+ //
+ this.SizeContextTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn3,
+ this.dataColumn4});
+ this.SizeContextTable.TableName = "SizeContext";
+ //
+ // dataColumn3
+ //
+ this.dataColumn3.Caption = "Display";
+ this.dataColumn3.ColumnName = "Display";
+ //
+ // dataColumn4
+ //
+ this.dataColumn4.Caption = "Value";
+ this.dataColumn4.ColumnName = "Value";
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // groupBox1
+ //
+ resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Controls.Add(this.sizeUnitsCombo);
+ this.groupBox1.Controls.Add(this.sizeContextCombo);
+ this.groupBox1.Controls.Add(this.label4);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.lineStyleEditor);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // groupBox2
+ //
+ resources.ApplyResources(this.groupBox2, "groupBox2");
+ this.groupBox2.Controls.Add(this.fillStyleEditor);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.TabStop = false;
+ //
+ // previewGroup
+ //
+ resources.ApplyResources(this.previewGroup, "previewGroup");
+ this.previewGroup.Controls.Add(this.previewPicture);
+ this.previewGroup.Name = "previewGroup";
+ this.previewGroup.TabStop = false;
+ //
+ // previewPicture
+ //
+ resources.ApplyResources(this.previewPicture, "previewPicture");
+ this.previewPicture.BackColor = System.Drawing.Color.White;
+ this.previewPicture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.previewPicture.Name = "previewPicture";
+ this.previewPicture.TabStop = false;
+ this.previewPicture.Paint += new System.Windows.Forms.PaintEventHandler(this.previewPicture_Paint);
+ //
+ // ComboBoxDataSet
+ //
+ this.ComboBoxDataSet.DataSetName = "ComboBoxDataSet";
+ this.ComboBoxDataSet.Locale = new System.Globalization.CultureInfo("da-DK");
+ this.ComboBoxDataSet.Tables.AddRange(new System.Data.DataTable[] {
+ this.SizeContextTable,
+ this.UnitsTable});
+ //
+ // AreaFeatureStyleEditor
+ //
+ resources.ApplyResources(this, "$this");
+ this.Controls.Add(this.previewGroup);
+ this.Controls.Add(this.groupBox2);
+ this.Controls.Add(this.groupBox1);
+ this.Name = "AreaFeatureStyleEditor";
+ this.Load += new System.EventHandler(this.AreaFeatureStyleEditor_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox2.ResumeLayout(false);
+ this.previewGroup.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void AreaFeatureStyleEditor_Load(object sender, System.EventArgs e)
+ {
+ //UpdateDisplay();
+ }
+
+ private void UpdateDisplay()
+ {
+ if (m_inUpdate)
+ return;
+
+ try
+ {
+ m_inUpdate = true;
+
+ if (m_item == null)
+ {
+ fillStyleEditor.displayFill.Checked = false;
+ lineStyleEditor.displayLine.Checked = false;
+ return;
+ }
+
+ fillStyleEditor.displayFill.Checked = m_item.Fill != null;
+ if (m_item.Fill != null)
+ {
+ fillStyleEditor.foregroundColor.CurrentColor = Utility.ParseHTMLColor(m_item.Fill.ForegroundColor);
+ fillStyleEditor.backgroundColor.CurrentColor = Utility.ParseHTMLColor(m_item.Fill.BackgroundColor);
+
+ fillStyleEditor.fillCombo.SelectedValue = m_item.Fill.FillPattern;
+ if (fillStyleEditor.fillCombo.SelectedItem == null && fillStyleEditor.fillCombo.Items.Count > 0)
+ fillStyleEditor.fillCombo.SelectedIndex = fillStyleEditor.fillCombo.FindString(m_item.Fill.FillPattern);
+ }
+
+ lineStyleEditor.displayLine.Checked = m_item.Stroke != null;
+ if (m_item.Stroke != null)
+ {
+ sizeUnitsCombo.SelectedValue = m_item.Stroke.Unit.ToString();
+ //sizeContextCombo.SelectedValue = m_item.Stroke.SizeContext.ToString();
+ if (!string.IsNullOrEmpty(m_item.Stroke.Color))
+ lineStyleEditor.colorCombo.CurrentColor = Utility.ParseHTMLColor(m_item.Stroke.Color);
+ lineStyleEditor.fillCombo.SelectedIndex = lineStyleEditor.fillCombo.FindString(m_item.Stroke.LineStyle);
+ lineStyleEditor.thicknessCombo.Text = m_item.Stroke.Thickness;
+ }
+
+ previewPicture.Refresh();
+ }
+ finally
+ {
+ m_inUpdate = false;
+ }
+ }
+
+ private void previewPicture_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+ FeaturePreviewRender.RenderPreviewArea(e.Graphics, new Rectangle(1, 1, previewPicture.Width - 4, previewPicture.Height - 4), m_item);
+ }
+
+ public AreaSymbolizationFillType Item
+ {
+ get { return m_item; }
+ set
+ {
+ m_item = value;
+ UpdateDisplay();
+ }
+ }
+
+ private void fillCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ m_item.Fill.FillPattern = fillStyleEditor.fillCombo.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void displayFill_CheckedChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (fillStyleEditor.displayFill.Checked)
+ m_item.Fill = previousFill == null ? ObjectFactory.CreateDefaultFill() : previousFill;
+ else
+ {
+ if (m_item.Fill != null)
+ previousFill = m_item.Fill;
+ m_item.Fill = null;
+ }
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void foregroundColor_CurrentColorChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ m_item.Fill.ForegroundColor = Utility.SerializeHTMLColor(fillStyleEditor.foregroundColor.CurrentColor, true);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void backgroundColor_CurrentColorChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ m_item.Fill.BackgroundColor = Utility.SerializeHTMLColor(fillStyleEditor.backgroundColor.CurrentColor, true);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void displayLine_CheckedChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (lineStyleEditor.displayLine.Checked)
+ m_item.Stroke = previousStroke == null ? ObjectFactory.CreateDefaultStroke() : previousStroke;
+ else
+ {
+ if (m_item.Stroke != null)
+ previousStroke = m_item.Stroke;
+ m_item.Stroke = null;
+ }
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void colorCombo_CurrentColorChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ m_item.Stroke.Color = Utility.SerializeHTMLColor(lineStyleEditor.colorCombo.CurrentColor, true);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void fillCombo_Line_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ //TODO: Validate
+ m_item.Stroke.LineStyle = lineStyleEditor.fillCombo.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void thicknessCombo_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || lineStyleEditor.thicknessCombo.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ m_item.Stroke.Thickness = lineStyleEditor.thicknessCombo.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void thicknessCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || lineStyleEditor.thicknessCombo.SelectedIndex != lineStyleEditor.thicknessCombo.Items.Count - 1)
+ return;
+
+ string current = null;
+ current = m_item.Stroke.Thickness;
+
+ string expr = null;
+ if (current != null)
+ {
+ expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+ }
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), lineStyleEditor.thicknessCombo, current, expr != null);
+ }
+
+ internal void SetupForTheming()
+ {
+ fillStyleEditor.foregroundColor.Enabled =
+ fillStyleEditor.lblForeground.Enabled =
+ fillStyleEditor.displayFill.Enabled =
+ false;
+ }
+
+ public delegate void UpdateComboTextFromSelectChangedDelegate(ComboBox owner, string text, bool userChange);
+
+ private void UpdateComboTextFromSelectChanged(ComboBox owner, string text, bool userChange)
+ {
+ try
+ {
+ if (!userChange)
+ m_inUpdate = true;
+ owner.SelectedIndex = -1;
+
+ //HACK: Odd bug, don't remove
+ if (owner.SelectedIndex != -1)
+ owner.SelectedIndex = -1;
+
+ owner.Text = text;
+ }
+ finally
+ {
+ if (!userChange)
+ m_inUpdate = false;
+ }
+ }
+
+ private void sizeContextCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || m_item.Stroke == null)
+ return;
+
+ //m_item.Stroke.SizeContext = (SizeContextType)Enum.Parse(typeof(SizeContextType), (string)sizeContextCombo.SelectedValue);
+ }
+
+ private void sizeUnitsCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || m_item.Stroke == null)
+ return;
+
+ m_item.Stroke.Unit = (LengthUnitType)Enum.Parse(typeof(LengthUnitType), (string)sizeUnitsCombo.SelectedValue);
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/AreaFeatureStyleEditor.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,447 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="fillStyleEditor.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="fillStyleEditor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 16</value>
+ </data>
+ <data name="fillStyleEditor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>274, 144</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="fillStyleEditor.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>fillStyleEditor.Name" xml:space="preserve">
+ <value>fillStyleEditor</value>
+ </data>
+ <data name=">>fillStyleEditor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.FillStyleEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4480, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>fillStyleEditor.Parent" xml:space="preserve">
+ <value>groupBox2</value>
+ </data>
+ <data name=">>fillStyleEditor.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="lineStyleEditor.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="lineStyleEditor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 16</value>
+ </data>
+ <data name="lineStyleEditor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>274, 136</value>
+ </data>
+ <data name="lineStyleEditor.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>lineStyleEditor.Name" xml:space="preserve">
+ <value>lineStyleEditor</value>
+ </data>
+ <data name=">>lineStyleEditor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.LineStyleEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4480, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>lineStyleEditor.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>lineStyleEditor.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="sizeUnitsCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="sizeUnitsCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 184</value>
+ </data>
+ <data name="sizeUnitsCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>154, 21</value>
+ </data>
+ <data name="sizeUnitsCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name=">>sizeUnitsCombo.Name" xml:space="preserve">
+ <value>sizeUnitsCombo</value>
+ </data>
+ <data name=">>sizeUnitsCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sizeUnitsCombo.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>sizeUnitsCombo.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="sizeContextCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="sizeContextCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>136, 152</value>
+ </data>
+ <data name="sizeContextCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>154, 21</value>
+ </data>
+ <data name="sizeContextCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name=">>sizeContextCombo.Name" xml:space="preserve">
+ <value>sizeContextCombo</value>
+ </data>
+ <data name=">>sizeContextCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sizeContextCombo.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>sizeContextCombo.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 184</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 16</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>Units</value>
+ </data>
+ <data name=">>label4.Name" xml:space="preserve">
+ <value>label4</value>
+ </data>
+ <data name=">>label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label4.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label4.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 152</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 16</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Size context</value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 176</value>
+ </data>
+ <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>298, 208</value>
+ </data>
+ <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name="groupBox1.Text" xml:space="preserve">
+ <value>Edge style</value>
+ </data>
+ <data name=">>groupBox1.Name" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>groupBox1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox1.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="groupBox2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>298, 168</value>
+ </data>
+ <data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="groupBox2.Text" xml:space="preserve">
+ <value>Fill style</value>
+ </data>
+ <data name=">>groupBox2.Name" xml:space="preserve">
+ <value>groupBox2</value>
+ </data>
+ <data name=">>groupBox2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox2.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="previewGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name=">>previewPicture.Name" xml:space="preserve">
+ <value>previewPicture</value>
+ </data>
+ <data name=">>previewPicture.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewPicture.Parent" xml:space="preserve">
+ <value>previewGroup</value>
+ </data>
+ <data name=">>previewPicture.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="previewGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 392</value>
+ </data>
+ <data name="previewGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>298, 48</value>
+ </data>
+ <data name="previewGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>19</value>
+ </data>
+ <data name="previewGroup.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name=">>previewGroup.Name" xml:space="preserve">
+ <value>previewGroup</value>
+ </data>
+ <data name=">>previewGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>previewGroup.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="previewPicture.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="previewPicture.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="previewPicture.Size" type="System.Drawing.Size, System.Drawing">
+ <value>282, 24</value>
+ </data>
+ <data name="previewPicture.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>previewPicture.Name" xml:space="preserve">
+ <value>previewPicture</value>
+ </data>
+ <data name=">>previewPicture.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewPicture.Parent" xml:space="preserve">
+ <value>previewGroup</value>
+ </data>
+ <data name=">>previewPicture.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="ComboBoxDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="$this.AutoScrollMinSize" type="System.Drawing.Size, System.Drawing">
+ <value>300, 440</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>300, 440</value>
+ </data>
+ <data name=">>UnitsTable.Name" xml:space="preserve">
+ <value>UnitsTable</value>
+ </data>
+ <data name=">>UnitsTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn5.Name" xml:space="preserve">
+ <value>dataColumn5</value>
+ </data>
+ <data name=">>dataColumn5.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn6.Name" xml:space="preserve">
+ <value>dataColumn6</value>
+ </data>
+ <data name=">>dataColumn6.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>SizeContextTable.Name" xml:space="preserve">
+ <value>SizeContextTable</value>
+ </data>
+ <data name=">>SizeContextTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn3.Name" xml:space="preserve">
+ <value>dataColumn3</value>
+ </data>
+ <data name=">>dataColumn3.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn4.Name" xml:space="preserve">
+ <value>dataColumn4</value>
+ </data>
+ <data name=">>dataColumn4.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Name" xml:space="preserve">
+ <value>ComboBoxDataSet</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Type" xml:space="preserve">
+ <value>System.Data.DataSet, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>AreaFeatureStyleEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,185 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+using Maestro.Editors.Common;
+
+namespace Maestro.Editors.LayerDefinition.Vector.StyleEditors
+{
+ /// <summary>
+ /// Summary description for FillStyleEditor.
+ /// </summary>
+ public class FillStyleEditor : System.Windows.Forms.UserControl
+ {
+ public ImageStylePicker fillCombo;
+
+ public System.Windows.Forms.CheckBox displayFill;
+ private System.Windows.Forms.Label lblBackground;
+ public Label lblForeground;
+ private System.Windows.Forms.Label lblFill;
+ public ColorComboWithTransparency foregroundColor;
+ public Label lblForegroundTransparency;
+ public ColorComboWithTransparency backgroundColor;
+ public Label lblBackgroundTransparency;
+
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public FillStyleEditor()
+ {
+ // This call is required by the Windows.Forms Form Designer.
+ InitializeComponent();
+
+ fillCombo.Items.Clear();
+ fillCombo.Items.AddRange(FeaturePreviewRender.FillImages);
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Component Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FillStyleEditor));
+ this.lblBackground = new System.Windows.Forms.Label();
+ this.lblForeground = new System.Windows.Forms.Label();
+ this.lblFill = new System.Windows.Forms.Label();
+ this.fillCombo = new ImageStylePicker();
+ this.displayFill = new System.Windows.Forms.CheckBox();
+ this.foregroundColor = new ColorComboWithTransparency();
+ this.lblForegroundTransparency = new System.Windows.Forms.Label();
+ this.backgroundColor = new ColorComboWithTransparency();
+ this.lblBackgroundTransparency = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // lblBackground
+ //
+ resources.ApplyResources(this.lblBackground, "lblBackground");
+ this.lblBackground.Name = "lblBackground";
+ //
+ // lblForeground
+ //
+ resources.ApplyResources(this.lblForeground, "lblForeground");
+ this.lblForeground.Name = "lblForeground";
+ //
+ // lblFill
+ //
+ resources.ApplyResources(this.lblFill, "lblFill");
+ this.lblFill.Name = "lblFill";
+ //
+ // fillCombo
+ //
+ resources.ApplyResources(this.fillCombo, "fillCombo");
+ this.fillCombo.DisplayMember = "Name";
+ this.fillCombo.Name = "fillCombo";
+ this.fillCombo.TextWidth = 50;
+ this.fillCombo.ValueMember = "Name";
+ //
+ // displayFill
+ //
+ this.displayFill.Checked = true;
+ this.displayFill.CheckState = System.Windows.Forms.CheckState.Checked;
+ resources.ApplyResources(this.displayFill, "displayFill");
+ this.displayFill.Name = "displayFill";
+ this.displayFill.CheckedChanged += new System.EventHandler(this.displayFill_CheckedChanged);
+ //
+ // foregroundColor
+ //
+ resources.ApplyResources(this.foregroundColor, "foregroundColor");
+ this.foregroundColor.CurrentColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.foregroundColor.Name = "foregroundColor";
+ //
+ // lblForegroundTransparency
+ //
+ resources.ApplyResources(this.lblForegroundTransparency, "lblForegroundTransparency");
+ this.lblForegroundTransparency.Name = "lblForegroundTransparency";
+ //
+ // backgroundColor
+ //
+ resources.ApplyResources(this.backgroundColor, "backgroundColor");
+ this.backgroundColor.CurrentColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.backgroundColor.Name = "backgroundColor";
+ //
+ // lblBackgroundTransparency
+ //
+ resources.ApplyResources(this.lblBackgroundTransparency, "lblBackgroundTransparency");
+ this.lblBackgroundTransparency.Name = "lblBackgroundTransparency";
+ //
+ // FillStyleEditor
+ //
+ this.Controls.Add(this.lblBackgroundTransparency);
+ this.Controls.Add(this.backgroundColor);
+ this.Controls.Add(this.lblForegroundTransparency);
+ this.Controls.Add(this.foregroundColor);
+ this.Controls.Add(this.displayFill);
+ this.Controls.Add(this.fillCombo);
+ this.Controls.Add(this.lblBackground);
+ this.Controls.Add(this.lblForeground);
+ this.Controls.Add(this.lblFill);
+ this.Name = "FillStyleEditor";
+ resources.ApplyResources(this, "$this");
+ this.Load += new System.EventHandler(this.FillStyleEditor_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+ #endregion
+
+ private void FillStyleEditor_Load(object sender, System.EventArgs e)
+ {
+ }
+
+ private void displayFill_CheckedChanged(object sender, System.EventArgs e)
+ {
+ lblFill.Enabled =
+ lblForeground.Enabled =
+ lblBackground.Enabled =
+ lblForegroundTransparency.Enabled =
+ lblBackgroundTransparency.Enabled =
+ fillCombo.Enabled =
+ foregroundColor.Enabled =
+ backgroundColor.Enabled =
+ displayFill.Checked;
+ }
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FillStyleEditor.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="lblBackground.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="lblBackground.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 104</value>
+ </data>
+ <data name="lblBackground.Size" type="System.Drawing.Size, System.Drawing">
+ <value>91, 13</value>
+ </data>
+ <data name="lblBackground.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="lblBackground.Text" xml:space="preserve">
+ <value>Background color</value>
+ </data>
+ <data name=">>lblBackground.Name" xml:space="preserve">
+ <value>lblBackground</value>
+ </data>
+ <data name=">>lblBackground.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblBackground.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>lblBackground.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="lblForeground.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblForeground.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 48</value>
+ </data>
+ <data name="lblForeground.Size" type="System.Drawing.Size, System.Drawing">
+ <value>87, 13</value>
+ </data>
+ <data name="lblForeground.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="lblForeground.Text" xml:space="preserve">
+ <value>Foreground color</value>
+ </data>
+ <data name=">>lblForeground.Name" xml:space="preserve">
+ <value>lblForeground</value>
+ </data>
+ <data name=">>lblForeground.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblForeground.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>lblForeground.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="lblFill.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblFill.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 24</value>
+ </data>
+ <data name="lblFill.Size" type="System.Drawing.Size, System.Drawing">
+ <value>55, 13</value>
+ </data>
+ <data name="lblFill.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="lblFill.Text" xml:space="preserve">
+ <value>Fill pattern</value>
+ </data>
+ <data name=">>lblFill.Name" xml:space="preserve">
+ <value>lblFill</value>
+ </data>
+ <data name=">>lblFill.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblFill.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>lblFill.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="fillCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="fillCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 16</value>
+ </data>
+ <data name="fillCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>184, 21</value>
+ </data>
+ <data name="fillCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name=">>fillCombo.Name" xml:space="preserve">
+ <value>fillCombo</value>
+ </data>
+ <data name=">>fillCombo.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ImageStylePicker, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4358, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>fillCombo.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>fillCombo.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="displayFill.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="displayFill.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="displayFill.Size" type="System.Drawing.Size, System.Drawing">
+ <value>168, 16</value>
+ </data>
+ <data name="displayFill.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name="displayFill.Text" xml:space="preserve">
+ <value>Display fill</value>
+ </data>
+ <data name=">>displayFill.Name" xml:space="preserve">
+ <value>displayFill</value>
+ </data>
+ <data name=">>displayFill.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>displayFill.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>displayFill.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="foregroundColor.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="foregroundColor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 40</value>
+ </data>
+ <data name="foregroundColor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>184, 49</value>
+ </data>
+ <data name="foregroundColor.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name=">>foregroundColor.Name" xml:space="preserve">
+ <value>foregroundColor</value>
+ </data>
+ <data name=">>foregroundColor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboWithTransparency, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4358, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>foregroundColor.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>foregroundColor.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="lblForegroundTransparency.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblForegroundTransparency.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="lblForegroundTransparency.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 72</value>
+ </data>
+ <data name="lblForegroundTransparency.Size" type="System.Drawing.Size, System.Drawing">
+ <value>72, 13</value>
+ </data>
+ <data name="lblForegroundTransparency.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="lblForegroundTransparency.Text" xml:space="preserve">
+ <value>Transparency</value>
+ </data>
+ <data name=">>lblForegroundTransparency.Name" xml:space="preserve">
+ <value>lblForegroundTransparency</value>
+ </data>
+ <data name=">>lblForegroundTransparency.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblForegroundTransparency.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>lblForegroundTransparency.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="backgroundColor.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="backgroundColor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 96</value>
+ </data>
+ <data name="backgroundColor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>184, 49</value>
+ </data>
+ <data name="backgroundColor.TabIndex" type="System.Int32, mscorlib">
+ <value>16</value>
+ </data>
+ <data name=">>backgroundColor.Name" xml:space="preserve">
+ <value>backgroundColor</value>
+ </data>
+ <data name=">>backgroundColor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboWithTransparency, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4358, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>backgroundColor.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>backgroundColor.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="lblBackgroundTransparency.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblBackgroundTransparency.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="lblBackgroundTransparency.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 128</value>
+ </data>
+ <data name="lblBackgroundTransparency.Size" type="System.Drawing.Size, System.Drawing">
+ <value>72, 13</value>
+ </data>
+ <data name="lblBackgroundTransparency.TabIndex" type="System.Int32, mscorlib">
+ <value>17</value>
+ </data>
+ <data name="lblBackgroundTransparency.Text" xml:space="preserve">
+ <value>Transparency</value>
+ </data>
+ <data name=">>lblBackgroundTransparency.Name" xml:space="preserve">
+ <value>lblBackgroundTransparency</value>
+ </data>
+ <data name=">>lblBackgroundTransparency.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblBackgroundTransparency.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>lblBackgroundTransparency.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>304, 150</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>FillStyleEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,1044 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using Maestro.Editors.Common;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+
+namespace Maestro.Editors.LayerDefinition.Vector.StyleEditors
+{
+ /// <summary>
+ /// Summary description for FontStyleEditor.
+ /// </summary>
+ public class FontStyleEditor : System.Windows.Forms.UserControl
+ {
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Panel panel1;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.GroupBox fontGroup;
+ private System.Windows.Forms.GroupBox colorGroup;
+ private System.Windows.Forms.GroupBox alignmentGroup;
+ private System.Windows.Forms.PictureBox previewPicture;
+ private System.Windows.Forms.ComboBox sizeCombo;
+ private System.Windows.Forms.ComboBox unitsCombo;
+ private System.Windows.Forms.ComboBox sizeContextCombo;
+ private System.Windows.Forms.ComboBox fontCombo;
+ private System.Windows.Forms.ComboBox propertyCombo;
+ private System.Windows.Forms.CheckBox underlineCheck;
+ private System.Windows.Forms.CheckBox italicCheck;
+ private System.Windows.Forms.CheckBox boldCheck;
+ private System.Windows.Forms.ComboBox backgroundTypeCombo;
+ private System.Windows.Forms.ComboBox rotationCombo;
+ internal System.Windows.Forms.ComboBox verticalCombo;
+ internal System.Windows.Forms.ComboBox horizontalCombo;
+ private System.Windows.Forms.GroupBox previewGroup;
+ private System.Data.DataSet ComboBoxDataSet;
+ private System.Data.DataColumn dataColumn1;
+ private System.Data.DataColumn dataColumn2;
+ private System.Data.DataTable SizeContextTable;
+ private System.Data.DataColumn dataColumn3;
+ private System.Data.DataColumn dataColumn4;
+ private System.Data.DataTable UnitsTable;
+ private System.Data.DataColumn dataColumn5;
+ private System.Data.DataColumn dataColumn6;
+ private System.Data.DataTable RotationTable;
+ private System.Data.DataColumn dataColumn7;
+ private System.Data.DataColumn dataColumn8;
+ private System.Data.DataTable BackgroundTypeTable;
+ private System.Data.DataColumn dataColumn9;
+ private System.Data.DataColumn dataColumn10;
+ private System.Data.DataTable HorizontalTable;
+ private System.Data.DataColumn dataColumn11;
+ private System.Data.DataColumn dataColumn12;
+ private System.Data.DataTable VerticalTable;
+ private System.Data.DataColumn dataColumn13;
+ private System.Data.DataColumn dataColumn14;
+ private System.Data.DataTable FontTable;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ private TextSymbolType m_item;
+ internal System.Windows.Forms.Label verticalLabel;
+ internal System.Windows.Forms.Label horizontalLabel;
+ private CheckBox DisplayLabel;
+ private ColorComboWithTransparency textColor;
+ private Label label12;
+ private Label label11;
+ private ColorComboWithTransparency backgroundColor;
+ private bool m_inUpdate = false;
+
+ public event EventHandler Changed;
+
+ private IEditorService m_editor;
+ private FeatureSourceDescription.FeatureSourceSchema m_schema;
+ private string m_featureSource;
+ private string m_providername;
+
+ public FontStyleEditor(IEditorService editor, FeatureSourceDescription.FeatureSourceSchema schema, string featureSource)
+ : this()
+ {
+ m_editor = editor;
+ m_schema = schema;
+
+ var fs = (FeatureSourceType)editor.ResourceService.GetResource(featureSource);
+
+ m_providername = fs.Provider;
+ m_featureSource = featureSource;
+
+ propertyCombo.Items.Clear();
+ foreach (FeatureSetColumn col in m_schema.Columns)
+ if (col.Type != Utility.GeometryType && col.Type != Utility.RasterType)
+ propertyCombo.Items.Add(col.Name);
+ propertyCombo.Items.Add(Properties.Resources.ExpressionItem);
+
+ fontCombo.Items.Clear();
+ foreach (FontFamily f in new System.Drawing.Text.InstalledFontCollection().Families)
+ fontCombo.Items.Add(f.Name);
+
+ }
+
+ private FontStyleEditor()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ using(System.IO.StringReader sr = new System.IO.StringReader(Properties.Resources.GeometryStyleComboDataset))
+ ComboBoxDataSet.ReadXml(sr);
+ }
+
+
+ private void UpdateDisplay()
+ {
+ if (m_inUpdate)
+ return;
+ try
+ {
+ m_inUpdate = true;
+
+ if (m_item == null)
+ {
+ DisplayLabel.Checked = false;
+ return;
+ }
+ else
+ DisplayLabel.Checked = true;
+
+ propertyCombo.Text = m_item.Text;
+ propertyCombo.SelectedItem = m_item.Text;
+ if (m_item.FontName != null)
+ fontCombo.Text = m_item.FontName;
+ sizeContextCombo.SelectedValue = m_item.SizeContext.ToString();
+ unitsCombo.SelectedValue = m_item.Unit.ToString();
+ if (m_item.SizeX == null)
+ sizeCombo.Text = "";
+ else
+ sizeCombo.Text = m_item.SizeX.ToString();
+
+ boldCheck.Checked = m_item.Bold == "true";
+ italicCheck.Checked = m_item.Italic == "true";
+ underlineCheck.Checked = m_item.Underlined == "true";
+ textColor.CurrentColor = Utility.ParseHTMLColor(m_item.ForegroundColor);
+ backgroundColor.CurrentColor = Utility.ParseHTMLColor(m_item.BackgroundColor);
+ backgroundTypeCombo.SelectedValue = m_item.BackgroundStyle.ToString();
+ rotationCombo.SelectedIndex = -1;
+ rotationCombo.Text = m_item.Rotation;
+ if (m_item.HorizontalAlignment != null)
+ {
+ horizontalCombo.SelectedValue = m_item.HorizontalAlignment;
+ if (horizontalCombo.SelectedValue == null)
+ {
+ horizontalCombo.SelectedIndex = -1;
+ horizontalCombo.Text = m_item.HorizontalAlignment;
+ }
+ }
+
+ if (m_item.VerticalAlignment != null)
+ {
+ verticalCombo.SelectedValue = m_item.VerticalAlignment;
+ if (verticalCombo.SelectedValue == null)
+ {
+ verticalCombo.SelectedIndex = -1;
+ verticalCombo.Text = m_item.VerticalAlignment;
+ }
+ }
+ }
+ finally
+ {
+ m_inUpdate = false;
+ }
+ }
+
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FontStyleEditor));
+ this.fontGroup = new System.Windows.Forms.GroupBox();
+ this.sizeCombo = new System.Windows.Forms.ComboBox();
+ this.unitsCombo = new System.Windows.Forms.ComboBox();
+ this.UnitsTable = new System.Data.DataTable();
+ this.dataColumn5 = new System.Data.DataColumn();
+ this.dataColumn6 = new System.Data.DataColumn();
+ this.sizeContextCombo = new System.Windows.Forms.ComboBox();
+ this.SizeContextTable = new System.Data.DataTable();
+ this.dataColumn3 = new System.Data.DataColumn();
+ this.dataColumn4 = new System.Data.DataColumn();
+ this.fontCombo = new System.Windows.Forms.ComboBox();
+ this.propertyCombo = new System.Windows.Forms.ComboBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.underlineCheck = new System.Windows.Forms.CheckBox();
+ this.italicCheck = new System.Windows.Forms.CheckBox();
+ this.boldCheck = new System.Windows.Forms.CheckBox();
+ this.FontTable = new System.Data.DataTable();
+ this.dataColumn1 = new System.Data.DataColumn();
+ this.dataColumn2 = new System.Data.DataColumn();
+ this.colorGroup = new System.Windows.Forms.GroupBox();
+ this.label12 = new System.Windows.Forms.Label();
+ this.label11 = new System.Windows.Forms.Label();
+ this.backgroundColor = new ColorComboWithTransparency();
+ this.textColor = new ColorComboWithTransparency();
+ this.backgroundTypeCombo = new System.Windows.Forms.ComboBox();
+ this.BackgroundTypeTable = new System.Data.DataTable();
+ this.dataColumn9 = new System.Data.DataColumn();
+ this.dataColumn10 = new System.Data.DataColumn();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label8 = new System.Windows.Forms.Label();
+ this.label9 = new System.Windows.Forms.Label();
+ this.alignmentGroup = new System.Windows.Forms.GroupBox();
+ this.rotationCombo = new System.Windows.Forms.ComboBox();
+ this.RotationTable = new System.Data.DataTable();
+ this.dataColumn7 = new System.Data.DataColumn();
+ this.dataColumn8 = new System.Data.DataColumn();
+ this.verticalCombo = new System.Windows.Forms.ComboBox();
+ this.VerticalTable = new System.Data.DataTable();
+ this.dataColumn13 = new System.Data.DataColumn();
+ this.dataColumn14 = new System.Data.DataColumn();
+ this.horizontalCombo = new System.Windows.Forms.ComboBox();
+ this.HorizontalTable = new System.Data.DataTable();
+ this.dataColumn11 = new System.Data.DataColumn();
+ this.dataColumn12 = new System.Data.DataColumn();
+ this.label10 = new System.Windows.Forms.Label();
+ this.verticalLabel = new System.Windows.Forms.Label();
+ this.horizontalLabel = new System.Windows.Forms.Label();
+ this.previewGroup = new System.Windows.Forms.GroupBox();
+ this.previewPicture = new System.Windows.Forms.PictureBox();
+ this.ComboBoxDataSet = new System.Data.DataSet();
+ this.DisplayLabel = new System.Windows.Forms.CheckBox();
+ this.fontGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).BeginInit();
+ this.panel1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.FontTable)).BeginInit();
+ this.colorGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.BackgroundTypeTable)).BeginInit();
+ this.alignmentGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.RotationTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.VerticalTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.HorizontalTable)).BeginInit();
+ this.previewGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).BeginInit();
+ this.SuspendLayout();
+ //
+ // fontGroup
+ //
+ resources.ApplyResources(this.fontGroup, "fontGroup");
+ this.fontGroup.Controls.Add(this.sizeCombo);
+ this.fontGroup.Controls.Add(this.unitsCombo);
+ this.fontGroup.Controls.Add(this.sizeContextCombo);
+ this.fontGroup.Controls.Add(this.fontCombo);
+ this.fontGroup.Controls.Add(this.propertyCombo);
+ this.fontGroup.Controls.Add(this.label6);
+ this.fontGroup.Controls.Add(this.label5);
+ this.fontGroup.Controls.Add(this.label4);
+ this.fontGroup.Controls.Add(this.label3);
+ this.fontGroup.Controls.Add(this.label2);
+ this.fontGroup.Controls.Add(this.label1);
+ this.fontGroup.Controls.Add(this.panel1);
+ this.fontGroup.Name = "fontGroup";
+ this.fontGroup.TabStop = false;
+ this.fontGroup.Enter += new System.EventHandler(this.fontGroup_Enter);
+ //
+ // sizeCombo
+ //
+ resources.ApplyResources(this.sizeCombo, "sizeCombo");
+ this.sizeCombo.Items.AddRange(new object[] {
+ resources.GetString("sizeCombo.Items")});
+ this.sizeCombo.Name = "sizeCombo";
+ this.sizeCombo.SelectedIndexChanged += new System.EventHandler(this.sizeCombo_SelectedIndexChanged);
+ this.sizeCombo.TextChanged += new System.EventHandler(this.sizeCombo_TextChanged);
+ //
+ // unitsCombo
+ //
+ resources.ApplyResources(this.unitsCombo, "unitsCombo");
+ this.unitsCombo.DataSource = this.UnitsTable;
+ this.unitsCombo.DisplayMember = "Display";
+ this.unitsCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.unitsCombo.Name = "unitsCombo";
+ this.unitsCombo.ValueMember = "Value";
+ this.unitsCombo.SelectedIndexChanged += new System.EventHandler(this.unitsCombo_SelectedIndexChanged);
+ //
+ // UnitsTable
+ //
+ this.UnitsTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn5,
+ this.dataColumn6});
+ this.UnitsTable.TableName = "Units";
+ //
+ // dataColumn5
+ //
+ this.dataColumn5.Caption = "Display";
+ this.dataColumn5.ColumnName = "Display";
+ //
+ // dataColumn6
+ //
+ this.dataColumn6.Caption = "Value";
+ this.dataColumn6.ColumnName = "Value";
+ //
+ // sizeContextCombo
+ //
+ resources.ApplyResources(this.sizeContextCombo, "sizeContextCombo");
+ this.sizeContextCombo.DataSource = this.SizeContextTable;
+ this.sizeContextCombo.DisplayMember = "Display";
+ this.sizeContextCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.sizeContextCombo.Name = "sizeContextCombo";
+ this.sizeContextCombo.ValueMember = "Value";
+ this.sizeContextCombo.SelectedIndexChanged += new System.EventHandler(this.sizeContextCombo_SelectedIndexChanged);
+ //
+ // SizeContextTable
+ //
+ this.SizeContextTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn3,
+ this.dataColumn4});
+ this.SizeContextTable.TableName = "SizeContext";
+ //
+ // dataColumn3
+ //
+ this.dataColumn3.Caption = "Display";
+ this.dataColumn3.ColumnName = "Display";
+ //
+ // dataColumn4
+ //
+ this.dataColumn4.Caption = "Value";
+ this.dataColumn4.ColumnName = "Value";
+ //
+ // fontCombo
+ //
+ resources.ApplyResources(this.fontCombo, "fontCombo");
+ this.fontCombo.Name = "fontCombo";
+ this.fontCombo.SelectedIndexChanged += new System.EventHandler(this.fontCombo_SelectedIndexChanged);
+ this.fontCombo.TextChanged += new System.EventHandler(this.fontCombo_TextChanged);
+ //
+ // propertyCombo
+ //
+ resources.ApplyResources(this.propertyCombo, "propertyCombo");
+ this.propertyCombo.Name = "propertyCombo";
+ this.propertyCombo.SelectedIndexChanged += new System.EventHandler(this.propertyCombo_SelectedIndexChanged);
+ this.propertyCombo.TextChanged += new System.EventHandler(this.propertyCombo_TextChanged);
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.Name = "label5";
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // panel1
+ //
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Controls.Add(this.underlineCheck);
+ this.panel1.Controls.Add(this.italicCheck);
+ this.panel1.Controls.Add(this.boldCheck);
+ this.panel1.Name = "panel1";
+ //
+ // underlineCheck
+ //
+ resources.ApplyResources(this.underlineCheck, "underlineCheck");
+ this.underlineCheck.Name = "underlineCheck";
+ this.underlineCheck.CheckedChanged += new System.EventHandler(this.underlineCheck_CheckedChanged);
+ //
+ // italicCheck
+ //
+ resources.ApplyResources(this.italicCheck, "italicCheck");
+ this.italicCheck.Name = "italicCheck";
+ this.italicCheck.CheckedChanged += new System.EventHandler(this.italicCheck_CheckedChanged);
+ //
+ // boldCheck
+ //
+ resources.ApplyResources(this.boldCheck, "boldCheck");
+ this.boldCheck.Name = "boldCheck";
+ this.boldCheck.CheckedChanged += new System.EventHandler(this.boldCheck_CheckedChanged);
+ //
+ // FontTable
+ //
+ this.FontTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn1,
+ this.dataColumn2});
+ this.FontTable.TableName = "Font";
+ //
+ // dataColumn1
+ //
+ this.dataColumn1.Caption = "Display";
+ this.dataColumn1.ColumnName = "Display";
+ //
+ // dataColumn2
+ //
+ this.dataColumn2.Caption = "Value";
+ this.dataColumn2.ColumnName = "Value";
+ //
+ // colorGroup
+ //
+ resources.ApplyResources(this.colorGroup, "colorGroup");
+ this.colorGroup.Controls.Add(this.label12);
+ this.colorGroup.Controls.Add(this.label11);
+ this.colorGroup.Controls.Add(this.backgroundColor);
+ this.colorGroup.Controls.Add(this.textColor);
+ this.colorGroup.Controls.Add(this.backgroundTypeCombo);
+ this.colorGroup.Controls.Add(this.label7);
+ this.colorGroup.Controls.Add(this.label8);
+ this.colorGroup.Controls.Add(this.label9);
+ this.colorGroup.Name = "colorGroup";
+ this.colorGroup.TabStop = false;
+ //
+ // label12
+ //
+ resources.ApplyResources(this.label12, "label12");
+ this.label12.Name = "label12";
+ //
+ // label11
+ //
+ resources.ApplyResources(this.label11, "label11");
+ this.label11.Name = "label11";
+ //
+ // backgroundColor
+ //
+ resources.ApplyResources(this.backgroundColor, "backgroundColor");
+ this.backgroundColor.CurrentColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.backgroundColor.Name = "backgroundColor";
+ this.backgroundColor.CurrentColorChanged += new System.EventHandler(this.backgroundColor_SelectedIndexChanged);
+ //
+ // textColor
+ //
+ resources.ApplyResources(this.textColor, "textColor");
+ this.textColor.CurrentColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.textColor.Name = "textColor";
+ this.textColor.CurrentColorChanged += new System.EventHandler(this.textColor_SelectedIndexChanged);
+ //
+ // backgroundTypeCombo
+ //
+ resources.ApplyResources(this.backgroundTypeCombo, "backgroundTypeCombo");
+ this.backgroundTypeCombo.DataSource = this.BackgroundTypeTable;
+ this.backgroundTypeCombo.DisplayMember = "Display";
+ this.backgroundTypeCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.backgroundTypeCombo.Name = "backgroundTypeCombo";
+ this.backgroundTypeCombo.ValueMember = "Value";
+ this.backgroundTypeCombo.SelectedIndexChanged += new System.EventHandler(this.backgroundTypeCombo_SelectedIndexChanged);
+ //
+ // BackgroundTypeTable
+ //
+ this.BackgroundTypeTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn9,
+ this.dataColumn10});
+ this.BackgroundTypeTable.TableName = "BackgroundType";
+ //
+ // dataColumn9
+ //
+ this.dataColumn9.ColumnName = "Display";
+ //
+ // dataColumn10
+ //
+ this.dataColumn10.ColumnName = "Value";
+ //
+ // label7
+ //
+ resources.ApplyResources(this.label7, "label7");
+ this.label7.Name = "label7";
+ //
+ // label8
+ //
+ resources.ApplyResources(this.label8, "label8");
+ this.label8.Name = "label8";
+ //
+ // label9
+ //
+ resources.ApplyResources(this.label9, "label9");
+ this.label9.Name = "label9";
+ //
+ // alignmentGroup
+ //
+ resources.ApplyResources(this.alignmentGroup, "alignmentGroup");
+ this.alignmentGroup.Controls.Add(this.rotationCombo);
+ this.alignmentGroup.Controls.Add(this.verticalCombo);
+ this.alignmentGroup.Controls.Add(this.horizontalCombo);
+ this.alignmentGroup.Controls.Add(this.label10);
+ this.alignmentGroup.Controls.Add(this.verticalLabel);
+ this.alignmentGroup.Controls.Add(this.horizontalLabel);
+ this.alignmentGroup.Name = "alignmentGroup";
+ this.alignmentGroup.TabStop = false;
+ //
+ // rotationCombo
+ //
+ resources.ApplyResources(this.rotationCombo, "rotationCombo");
+ this.rotationCombo.DataSource = this.RotationTable;
+ this.rotationCombo.DisplayMember = "Display";
+ this.rotationCombo.Name = "rotationCombo";
+ this.rotationCombo.ValueMember = "Value";
+ this.rotationCombo.SelectedIndexChanged += new System.EventHandler(this.rotationCombo_SelectedIndexChanged);
+ this.rotationCombo.TextChanged += new System.EventHandler(this.rotationCombo_TextChanged);
+ //
+ // RotationTable
+ //
+ this.RotationTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn7,
+ this.dataColumn8});
+ this.RotationTable.TableName = "Rotation";
+ //
+ // dataColumn7
+ //
+ this.dataColumn7.Caption = "Display";
+ this.dataColumn7.ColumnName = "Display";
+ //
+ // dataColumn8
+ //
+ this.dataColumn8.Caption = "Value";
+ this.dataColumn8.ColumnName = "Value";
+ //
+ // verticalCombo
+ //
+ resources.ApplyResources(this.verticalCombo, "verticalCombo");
+ this.verticalCombo.DataSource = this.VerticalTable;
+ this.verticalCombo.DisplayMember = "Display";
+ this.verticalCombo.Name = "verticalCombo";
+ this.verticalCombo.ValueMember = "Value";
+ this.verticalCombo.SelectedIndexChanged += new System.EventHandler(this.verticalCombo_SelectedIndexChanged);
+ this.verticalCombo.TextChanged += new System.EventHandler(this.verticalCombo_TextChanged);
+ //
+ // VerticalTable
+ //
+ this.VerticalTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn13,
+ this.dataColumn14});
+ this.VerticalTable.TableName = "Vertical";
+ //
+ // dataColumn13
+ //
+ this.dataColumn13.ColumnName = "Display";
+ //
+ // dataColumn14
+ //
+ this.dataColumn14.ColumnName = "Value";
+ //
+ // horizontalCombo
+ //
+ resources.ApplyResources(this.horizontalCombo, "horizontalCombo");
+ this.horizontalCombo.DataSource = this.HorizontalTable;
+ this.horizontalCombo.DisplayMember = "Display";
+ this.horizontalCombo.Name = "horizontalCombo";
+ this.horizontalCombo.ValueMember = "Value";
+ this.horizontalCombo.SelectedIndexChanged += new System.EventHandler(this.horizontalCombo_SelectedIndexChanged);
+ this.horizontalCombo.TextChanged += new System.EventHandler(this.horizontalCombo_TextChanged);
+ //
+ // HorizontalTable
+ //
+ this.HorizontalTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn11,
+ this.dataColumn12});
+ this.HorizontalTable.TableName = "Horizontal";
+ //
+ // dataColumn11
+ //
+ this.dataColumn11.ColumnName = "Display";
+ //
+ // dataColumn12
+ //
+ this.dataColumn12.ColumnName = "Value";
+ //
+ // label10
+ //
+ resources.ApplyResources(this.label10, "label10");
+ this.label10.Name = "label10";
+ //
+ // verticalLabel
+ //
+ resources.ApplyResources(this.verticalLabel, "verticalLabel");
+ this.verticalLabel.Name = "verticalLabel";
+ //
+ // horizontalLabel
+ //
+ resources.ApplyResources(this.horizontalLabel, "horizontalLabel");
+ this.horizontalLabel.Name = "horizontalLabel";
+ //
+ // previewGroup
+ //
+ resources.ApplyResources(this.previewGroup, "previewGroup");
+ this.previewGroup.Controls.Add(this.previewPicture);
+ this.previewGroup.Name = "previewGroup";
+ this.previewGroup.TabStop = false;
+ //
+ // previewPicture
+ //
+ resources.ApplyResources(this.previewPicture, "previewPicture");
+ this.previewPicture.BackColor = System.Drawing.Color.White;
+ this.previewPicture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.previewPicture.Name = "previewPicture";
+ this.previewPicture.TabStop = false;
+ this.previewPicture.Paint += new System.Windows.Forms.PaintEventHandler(this.previewPicture_Paint);
+ //
+ // ComboBoxDataSet
+ //
+ this.ComboBoxDataSet.DataSetName = "ComboBoxDataSet";
+ this.ComboBoxDataSet.Locale = new System.Globalization.CultureInfo("da-DK");
+ this.ComboBoxDataSet.Tables.AddRange(new System.Data.DataTable[] {
+ this.FontTable,
+ this.SizeContextTable,
+ this.UnitsTable,
+ this.RotationTable,
+ this.BackgroundTypeTable,
+ this.HorizontalTable,
+ this.VerticalTable});
+ //
+ // DisplayLabel
+ //
+ resources.ApplyResources(this.DisplayLabel, "DisplayLabel");
+ this.DisplayLabel.Checked = true;
+ this.DisplayLabel.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.DisplayLabel.Name = "DisplayLabel";
+ this.DisplayLabel.UseVisualStyleBackColor = true;
+ this.DisplayLabel.CheckedChanged += new System.EventHandler(this.DisplayLabel_CheckedChanged);
+ //
+ // FontStyleEditor
+ //
+ resources.ApplyResources(this, "$this");
+ this.Controls.Add(this.DisplayLabel);
+ this.Controls.Add(this.previewGroup);
+ this.Controls.Add(this.colorGroup);
+ this.Controls.Add(this.fontGroup);
+ this.Controls.Add(this.alignmentGroup);
+ this.Name = "FontStyleEditor";
+ this.fontGroup.ResumeLayout(false);
+ this.fontGroup.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).EndInit();
+ this.panel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.FontTable)).EndInit();
+ this.colorGroup.ResumeLayout(false);
+ this.colorGroup.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.BackgroundTypeTable)).EndInit();
+ this.alignmentGroup.ResumeLayout(false);
+ this.alignmentGroup.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.RotationTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.VerticalTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.HorizontalTable)).EndInit();
+ this.previewGroup.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+ #endregion
+
+
+ private void propertyCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (propertyCombo.SelectedIndex == propertyCombo.Items.Count - 1)
+ {
+ string current = m_item.Text;
+ string expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), propertyCombo, current, expr != null);
+ }
+ }
+
+ private void fontCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.FontName = (string)fontCombo.Text;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void sizeContextCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.SizeContext = (SizeContextType)Enum.Parse(typeof(SizeContextType), (string)sizeContextCombo.SelectedValue);
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void unitsCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.Unit = (LengthUnitType)Enum.Parse(typeof(LengthUnitType), (string)unitsCombo.SelectedValue);
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void sizeCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (sizeCombo.SelectedIndex == sizeCombo.Items.Count - 1)
+ {
+ string current = m_item.SizeX;
+ string expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), sizeCombo, current, expr != null);
+ }
+ }
+
+ private void boldCheck_CheckedChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.Bold = boldCheck.Checked ? "true" : null;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void italicCheck_CheckedChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.Italic = italicCheck.Checked ? "true" : null;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void underlineCheck_CheckedChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.Underlined = underlineCheck.Checked ? "true" : null;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void textColor_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.ForegroundColor = Utility.SerializeHTMLColor(textColor.CurrentColor, true);
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void backgroundColor_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.BackgroundColor = Utility.SerializeHTMLColor(backgroundColor.CurrentColor, true);
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void backgroundTypeCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ m_item.BackgroundStyle = (BackgroundStyleType)Enum.Parse(typeof(BackgroundStyleType), (string)backgroundTypeCombo.SelectedValue);
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void horizontalCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (horizontalCombo.SelectedIndex == horizontalCombo.Items.Count - 1)
+ {
+ string current = m_item.HorizontalAlignment;
+ string expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), horizontalCombo, current, expr != null);
+ }
+ else if (horizontalCombo.SelectedIndex != -1)
+ {
+ m_item.HorizontalAlignment = (string)horizontalCombo.SelectedValue;
+ }
+ }
+
+ private void verticalCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (verticalCombo.SelectedIndex == verticalCombo.Items.Count - 1)
+ {
+ string current = m_item.VerticalAlignment;
+ string expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), verticalCombo, current, expr != null);
+ }
+ else if (verticalCombo.SelectedIndex != -1)
+ {
+ m_item.VerticalAlignment = (string)verticalCombo.SelectedValue;
+ }
+ }
+
+ private void rotationCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (rotationCombo.SelectedIndex == rotationCombo.Items.Count - 1)
+ {
+ string current = m_item.Rotation;
+ string expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), rotationCombo, current, expr != null);
+ }
+ else if (rotationCombo.SelectedIndex != -1)
+ {
+ m_item.Rotation = (string)rotationCombo.SelectedValue;
+ }
+ }
+
+ private void previewPicture_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+ FeaturePreviewRender.RenderPreviewFont(e.Graphics, new Rectangle(1, 1, previewPicture.Width - 2, previewPicture.Height - 2), m_item);
+ }
+
+ private void fontGroup_Enter(object sender, System.EventArgs e)
+ {
+
+ }
+
+ private void propertyCombo_TextChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate || propertyCombo.SelectedIndex == propertyCombo.Items.Count - 1)
+ return;
+
+ m_item.Text = propertyCombo.Text;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ public TextSymbolType Item
+ {
+ get { return m_item; }
+ set
+ {
+ m_item = value;
+ UpdateDisplay();
+ }
+ }
+
+ private void DisplayLabel_CheckedChanged(object sender, EventArgs e)
+ {
+ foreach (Control c in this.Controls)
+ c.Enabled = c == DisplayLabel || DisplayLabel.Checked;
+
+ if (m_inUpdate)
+ return;
+
+ if (DisplayLabel.Checked)
+ {
+ if (DisplayLabel.Tag as TextSymbolType != null)
+ this.Item = DisplayLabel.Tag as TextSymbolType;
+ if (m_item == null)
+ this.Item = ObjectFactory.CreateDefaultTextSymbol();
+ }
+ else
+ {
+ DisplayLabel.Tag = m_item;
+ this.Item = null;
+ }
+
+ }
+
+ private void sizeCombo_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || sizeCombo.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ m_item.SizeX = m_item.SizeY = sizeCombo.Text;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void fontCombo_TextChanged(object sender, EventArgs e)
+ {
+ fontCombo_SelectedIndexChanged(sender, e);
+ }
+
+
+ public delegate void UpdateComboTextFromSelectChangedDelegate(ComboBox owner, string text, bool userChange);
+
+ private void UpdateComboTextFromSelectChanged(ComboBox owner, string text, bool userChange)
+ {
+ try
+ {
+ if (!userChange)
+ m_inUpdate = true;
+ owner.SelectedIndex = -1;
+
+ //HACK: Odd bug, don't remove
+ if (owner.SelectedIndex != -1)
+ owner.SelectedIndex = -1;
+
+ owner.Text = text;
+ }
+ finally
+ {
+ if (!userChange)
+ m_inUpdate = false;
+ }
+ }
+
+ private void horizontalCombo_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || horizontalCombo.SelectedIndex != -1)
+ return;
+
+ m_item.HorizontalAlignment = (string)horizontalCombo.Text;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void verticalCombo_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || verticalCombo.SelectedIndex != -1)
+ return;
+
+ m_item.VerticalAlignment = (string)verticalCombo.Text;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void rotationCombo_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || rotationCombo.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ m_item.Rotation = rotationCombo.Text;
+ previewPicture.Refresh();
+
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/FontStyleEditor.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,1218 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="fontGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="sizeCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="sizeCombo.Items" xml:space="preserve">
+ <value>Expression...</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="sizeCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 144</value>
+ </data>
+ <data name="sizeCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="sizeCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>sizeCombo.Name" xml:space="preserve">
+ <value>sizeCombo</value>
+ </data>
+ <data name=">>sizeCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sizeCombo.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>sizeCombo.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="unitsCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="unitsCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 112</value>
+ </data>
+ <data name="unitsCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="unitsCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>unitsCombo.Name" xml:space="preserve">
+ <value>unitsCombo</value>
+ </data>
+ <data name=">>unitsCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>unitsCombo.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>unitsCombo.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="sizeContextCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="sizeContextCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 80</value>
+ </data>
+ <data name="sizeContextCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="sizeContextCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name=">>sizeContextCombo.Name" xml:space="preserve">
+ <value>sizeContextCombo</value>
+ </data>
+ <data name=">>sizeContextCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sizeContextCombo.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>sizeContextCombo.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="fontCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="fontCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 48</value>
+ </data>
+ <data name="fontCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="fontCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name=">>fontCombo.Name" xml:space="preserve">
+ <value>fontCombo</value>
+ </data>
+ <data name=">>fontCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>fontCombo.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>fontCombo.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="propertyCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="propertyCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 16</value>
+ </data>
+ <data name="propertyCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="propertyCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name=">>propertyCombo.Name" xml:space="preserve">
+ <value>propertyCombo</value>
+ </data>
+ <data name=">>propertyCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>propertyCombo.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>propertyCombo.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="label6.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 176</value>
+ </data>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>30, 13</value>
+ </data>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label6.Text" xml:space="preserve">
+ <value>Style</value>
+ </data>
+ <data name=">>label6.Name" xml:space="preserve">
+ <value>label6</value>
+ </data>
+ <data name=">>label6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label6.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>label6.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 144</value>
+ </data>
+ <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>27, 13</value>
+ </data>
+ <data name="label5.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="label5.Text" xml:space="preserve">
+ <value>Size</value>
+ </data>
+ <data name=">>label5.Name" xml:space="preserve">
+ <value>label5</value>
+ </data>
+ <data name=">>label5.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label5.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>label5.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label4.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 112</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>31, 13</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>Units</value>
+ </data>
+ <data name=">>label4.Name" xml:space="preserve">
+ <value>label4</value>
+ </data>
+ <data name=">>label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label4.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>label4.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 80</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Size context</value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 48</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>28, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Font</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>9</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>46, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Property</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>10</value>
+ </data>
+ <data name="panel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="underlineCheck.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
+ <value>Button</value>
+ </data>
+ <data name="underlineCheck.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="underlineCheck.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Arial, 8.25pt, style=Underline</value>
+ </data>
+ <data name="underlineCheck.Location" type="System.Drawing.Point, System.Drawing">
+ <value>64, 0</value>
+ </data>
+ <data name="underlineCheck.Size" type="System.Drawing.Size, System.Drawing">
+ <value>24, 24</value>
+ </data>
+ <data name="underlineCheck.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="underlineCheck.Text" xml:space="preserve">
+ <value>U</value>
+ </data>
+ <data name="underlineCheck.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleCenter</value>
+ </data>
+ <data name=">>underlineCheck.Name" xml:space="preserve">
+ <value>underlineCheck</value>
+ </data>
+ <data name=">>underlineCheck.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>underlineCheck.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>underlineCheck.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="italicCheck.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
+ <value>Button</value>
+ </data>
+ <data name="italicCheck.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="italicCheck.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Arial, 8.25pt, style=Italic</value>
+ </data>
+ <data name="italicCheck.Location" type="System.Drawing.Point, System.Drawing">
+ <value>32, 0</value>
+ </data>
+ <data name="italicCheck.Size" type="System.Drawing.Size, System.Drawing">
+ <value>24, 24</value>
+ </data>
+ <data name="italicCheck.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="italicCheck.Text" xml:space="preserve">
+ <value>I</value>
+ </data>
+ <data name="italicCheck.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleCenter</value>
+ </data>
+ <data name=">>italicCheck.Name" xml:space="preserve">
+ <value>italicCheck</value>
+ </data>
+ <data name=">>italicCheck.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>italicCheck.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>italicCheck.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="boldCheck.Appearance" type="System.Windows.Forms.Appearance, System.Windows.Forms">
+ <value>Button</value>
+ </data>
+ <data name="boldCheck.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="boldCheck.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Arial, 8.25pt, style=Bold</value>
+ </data>
+ <data name="boldCheck.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="boldCheck.Size" type="System.Drawing.Size, System.Drawing">
+ <value>24, 24</value>
+ </data>
+ <data name="boldCheck.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="boldCheck.Text" xml:space="preserve">
+ <value>B</value>
+ </data>
+ <data name="boldCheck.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleCenter</value>
+ </data>
+ <data name=">>boldCheck.Name" xml:space="preserve">
+ <value>boldCheck</value>
+ </data>
+ <data name=">>boldCheck.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>boldCheck.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>boldCheck.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 176</value>
+ </data>
+ <data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 24</value>
+ </data>
+ <data name="panel1.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name=">>panel1.Name" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel1.Parent" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>panel1.ZOrder" xml:space="preserve">
+ <value>11</value>
+ </data>
+ <data name="fontGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 24</value>
+ </data>
+ <data name="fontGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>296, 208</value>
+ </data>
+ <data name="fontGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name="fontGroup.Text" xml:space="preserve">
+ <value>Font</value>
+ </data>
+ <data name=">>fontGroup.Name" xml:space="preserve">
+ <value>fontGroup</value>
+ </data>
+ <data name=">>fontGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>fontGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>fontGroup.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="colorGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="label12.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label12.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label12.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 96</value>
+ </data>
+ <data name="label12.Size" type="System.Drawing.Size, System.Drawing">
+ <value>72, 13</value>
+ </data>
+ <data name="label12.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="label12.Text" xml:space="preserve">
+ <value>Transparency</value>
+ </data>
+ <data name=">>label12.Name" xml:space="preserve">
+ <value>label12</value>
+ </data>
+ <data name=">>label12.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label12.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>label12.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="label11.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label11.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label11.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 40</value>
+ </data>
+ <data name="label11.Size" type="System.Drawing.Size, System.Drawing">
+ <value>72, 13</value>
+ </data>
+ <data name="label11.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name="label11.Text" xml:space="preserve">
+ <value>Transparency</value>
+ </data>
+ <data name=">>label11.Name" xml:space="preserve">
+ <value>label11</value>
+ </data>
+ <data name=">>label11.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label11.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>label11.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="backgroundColor.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="backgroundColor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 72</value>
+ </data>
+ <data name="backgroundColor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 49</value>
+ </data>
+ <data name="backgroundColor.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name=">>backgroundColor.Name" xml:space="preserve">
+ <value>backgroundColor</value>
+ </data>
+ <data name=">>backgroundColor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboWithTransparency, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>backgroundColor.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>backgroundColor.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="textColor.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="textColor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 16</value>
+ </data>
+ <data name="textColor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 49</value>
+ </data>
+ <data name="textColor.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name=">>textColor.Name" xml:space="preserve">
+ <value>textColor</value>
+ </data>
+ <data name=">>textColor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboWithTransparency, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>textColor.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>textColor.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="backgroundTypeCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="backgroundTypeCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 128</value>
+ </data>
+ <data name="backgroundTypeCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="backgroundTypeCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name=">>backgroundTypeCombo.Name" xml:space="preserve">
+ <value>backgroundTypeCombo</value>
+ </data>
+ <data name=">>backgroundTypeCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>backgroundTypeCombo.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>backgroundTypeCombo.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="label7.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 130</value>
+ </data>
+ <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 13</value>
+ </data>
+ <data name="label7.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label7.Text" xml:space="preserve">
+ <value>Background type</value>
+ </data>
+ <data name=">>label7.Name" xml:space="preserve">
+ <value>label7</value>
+ </data>
+ <data name=">>label7.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label7.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>label7.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="label8.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label8.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 72</value>
+ </data>
+ <data name="label8.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 13</value>
+ </data>
+ <data name="label8.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="label8.Text" xml:space="preserve">
+ <value>Background</value>
+ </data>
+ <data name=">>label8.Name" xml:space="preserve">
+ <value>label8</value>
+ </data>
+ <data name=">>label8.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label8.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>label8.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label9.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label9.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="label9.Size" type="System.Drawing.Size, System.Drawing">
+ <value>28, 13</value>
+ </data>
+ <data name="label9.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label9.Text" xml:space="preserve">
+ <value>Text</value>
+ </data>
+ <data name=">>label9.Name" xml:space="preserve">
+ <value>label9</value>
+ </data>
+ <data name=">>label9.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label9.Parent" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>label9.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="colorGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 240</value>
+ </data>
+ <data name="colorGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>296, 160</value>
+ </data>
+ <data name="colorGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name="colorGroup.Text" xml:space="preserve">
+ <value>Colors</value>
+ </data>
+ <data name=">>colorGroup.Name" xml:space="preserve">
+ <value>colorGroup</value>
+ </data>
+ <data name=">>colorGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>colorGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>colorGroup.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="alignmentGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="rotationCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="rotationCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 78</value>
+ </data>
+ <data name="rotationCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="rotationCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name=">>rotationCombo.Name" xml:space="preserve">
+ <value>rotationCombo</value>
+ </data>
+ <data name=">>rotationCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>rotationCombo.Parent" xml:space="preserve">
+ <value>alignmentGroup</value>
+ </data>
+ <data name=">>rotationCombo.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="verticalCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="verticalCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 46</value>
+ </data>
+ <data name="verticalCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="verticalCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>verticalCombo.Name" xml:space="preserve">
+ <value>verticalCombo</value>
+ </data>
+ <data name=">>verticalCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>verticalCombo.Parent" xml:space="preserve">
+ <value>alignmentGroup</value>
+ </data>
+ <data name=">>verticalCombo.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="horizontalCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="horizontalCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 14</value>
+ </data>
+ <data name="horizontalCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 21</value>
+ </data>
+ <data name="horizontalCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>horizontalCombo.Name" xml:space="preserve">
+ <value>horizontalCombo</value>
+ </data>
+ <data name=">>horizontalCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>horizontalCombo.Parent" xml:space="preserve">
+ <value>alignmentGroup</value>
+ </data>
+ <data name=">>horizontalCombo.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="label10.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label10.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 80</value>
+ </data>
+ <data name="label10.Size" type="System.Drawing.Size, System.Drawing">
+ <value>47, 13</value>
+ </data>
+ <data name="label10.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label10.Text" xml:space="preserve">
+ <value>Rotation</value>
+ </data>
+ <data name=">>label10.Name" xml:space="preserve">
+ <value>label10</value>
+ </data>
+ <data name=">>label10.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label10.Parent" xml:space="preserve">
+ <value>alignmentGroup</value>
+ </data>
+ <data name=">>label10.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="verticalLabel.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="verticalLabel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 48</value>
+ </data>
+ <data name="verticalLabel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>42, 13</value>
+ </data>
+ <data name="verticalLabel.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="verticalLabel.Text" xml:space="preserve">
+ <value>Vertical</value>
+ </data>
+ <data name=">>verticalLabel.Name" xml:space="preserve">
+ <value>verticalLabel</value>
+ </data>
+ <data name=">>verticalLabel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>verticalLabel.Parent" xml:space="preserve">
+ <value>alignmentGroup</value>
+ </data>
+ <data name=">>verticalLabel.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="horizontalLabel.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="horizontalLabel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="horizontalLabel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>54, 13</value>
+ </data>
+ <data name="horizontalLabel.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="horizontalLabel.Text" xml:space="preserve">
+ <value>Horizontal</value>
+ </data>
+ <data name=">>horizontalLabel.Name" xml:space="preserve">
+ <value>horizontalLabel</value>
+ </data>
+ <data name=">>horizontalLabel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>horizontalLabel.Parent" xml:space="preserve">
+ <value>alignmentGroup</value>
+ </data>
+ <data name=">>horizontalLabel.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="alignmentGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 408</value>
+ </data>
+ <data name="alignmentGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>296, 112</value>
+ </data>
+ <data name="alignmentGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="alignmentGroup.Text" xml:space="preserve">
+ <value>Alignment</value>
+ </data>
+ <data name=">>alignmentGroup.Name" xml:space="preserve">
+ <value>alignmentGroup</value>
+ </data>
+ <data name=">>alignmentGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>alignmentGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>alignmentGroup.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="previewGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="previewPicture.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="previewPicture.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="previewPicture.Size" type="System.Drawing.Size, System.Drawing">
+ <value>280, 24</value>
+ </data>
+ <data name="previewPicture.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>previewPicture.Name" xml:space="preserve">
+ <value>previewPicture</value>
+ </data>
+ <data name=">>previewPicture.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewPicture.Parent" xml:space="preserve">
+ <value>previewGroup</value>
+ </data>
+ <data name=">>previewPicture.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="previewGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 528</value>
+ </data>
+ <data name="previewGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>296, 48</value>
+ </data>
+ <data name="previewGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>16</value>
+ </data>
+ <data name="previewGroup.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name=">>previewGroup.Name" xml:space="preserve">
+ <value>previewGroup</value>
+ </data>
+ <data name=">>previewGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>previewGroup.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="ComboBoxDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <data name="DisplayLabel.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="DisplayLabel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="DisplayLabel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>126, 17</value>
+ </data>
+ <data name="DisplayLabel.TabIndex" type="System.Int32, mscorlib">
+ <value>17</value>
+ </data>
+ <data name="DisplayLabel.Text" xml:space="preserve">
+ <value>Display feature labels</value>
+ </data>
+ <data name=">>DisplayLabel.Name" xml:space="preserve">
+ <value>DisplayLabel</value>
+ </data>
+ <data name=">>DisplayLabel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DisplayLabel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DisplayLabel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="$this.AutoScrollMinSize" type="System.Drawing.Size, System.Drawing">
+ <value>296, 576</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>296, 576</value>
+ </data>
+ <data name=">>UnitsTable.Name" xml:space="preserve">
+ <value>UnitsTable</value>
+ </data>
+ <data name=">>UnitsTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn5.Name" xml:space="preserve">
+ <value>dataColumn5</value>
+ </data>
+ <data name=">>dataColumn5.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn6.Name" xml:space="preserve">
+ <value>dataColumn6</value>
+ </data>
+ <data name=">>dataColumn6.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>SizeContextTable.Name" xml:space="preserve">
+ <value>SizeContextTable</value>
+ </data>
+ <data name=">>SizeContextTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn3.Name" xml:space="preserve">
+ <value>dataColumn3</value>
+ </data>
+ <data name=">>dataColumn3.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn4.Name" xml:space="preserve">
+ <value>dataColumn4</value>
+ </data>
+ <data name=">>dataColumn4.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>FontTable.Name" xml:space="preserve">
+ <value>FontTable</value>
+ </data>
+ <data name=">>FontTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn1.Name" xml:space="preserve">
+ <value>dataColumn1</value>
+ </data>
+ <data name=">>dataColumn1.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn2.Name" xml:space="preserve">
+ <value>dataColumn2</value>
+ </data>
+ <data name=">>dataColumn2.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>BackgroundTypeTable.Name" xml:space="preserve">
+ <value>BackgroundTypeTable</value>
+ </data>
+ <data name=">>BackgroundTypeTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn9.Name" xml:space="preserve">
+ <value>dataColumn9</value>
+ </data>
+ <data name=">>dataColumn9.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn10.Name" xml:space="preserve">
+ <value>dataColumn10</value>
+ </data>
+ <data name=">>dataColumn10.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>RotationTable.Name" xml:space="preserve">
+ <value>RotationTable</value>
+ </data>
+ <data name=">>RotationTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn7.Name" xml:space="preserve">
+ <value>dataColumn7</value>
+ </data>
+ <data name=">>dataColumn7.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn8.Name" xml:space="preserve">
+ <value>dataColumn8</value>
+ </data>
+ <data name=">>dataColumn8.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>VerticalTable.Name" xml:space="preserve">
+ <value>VerticalTable</value>
+ </data>
+ <data name=">>VerticalTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn13.Name" xml:space="preserve">
+ <value>dataColumn13</value>
+ </data>
+ <data name=">>dataColumn13.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn14.Name" xml:space="preserve">
+ <value>dataColumn14</value>
+ </data>
+ <data name=">>dataColumn14.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>HorizontalTable.Name" xml:space="preserve">
+ <value>HorizontalTable</value>
+ </data>
+ <data name=">>HorizontalTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn11.Name" xml:space="preserve">
+ <value>dataColumn11</value>
+ </data>
+ <data name=">>dataColumn11.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn12.Name" xml:space="preserve">
+ <value>dataColumn12</value>
+ </data>
+ <data name=">>dataColumn12.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Name" xml:space="preserve">
+ <value>ComboBoxDataSet</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Type" xml:space="preserve">
+ <value>System.Data.DataSet, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>FontStyleEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,670 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Collections.Generic;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using Maestro.Editors.Common;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+
+namespace Maestro.Editors.LayerDefinition.Vector.StyleEditors
+{
+ /// <summary>
+ /// Summary description for LineFeatureStyleEditor.
+ /// </summary>
+ public class LineFeatureStyleEditor : System.Windows.Forms.UserControl
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+ private System.Windows.Forms.GroupBox CompositeGroup;
+ private System.Windows.Forms.Panel AdvancedPanel;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.PictureBox previewPicture;
+ private System.Windows.Forms.CheckBox applyLineStyle;
+ private System.Windows.Forms.CheckBox compositeLines;
+ private System.Windows.Forms.ListBox lineStyles;
+ private System.Windows.Forms.Panel propertyPanel;
+ private System.Windows.Forms.ComboBox sizeUnitsCombo;
+ private System.Windows.Forms.ComboBox sizeContextCombo;
+ private LineStyleEditor lineStyleEditor;
+
+ private IList<StrokeType> m_item = null;
+ private System.Windows.Forms.Panel compositePanel;
+ private System.Windows.Forms.GroupBox lineGroup;
+ private System.Windows.Forms.GroupBox sizeGroup;
+ private System.Windows.Forms.GroupBox previewGroup;
+ private System.Data.DataSet ComboBoxDataSet;
+ private System.Data.DataTable SizeContextTable;
+ private System.Data.DataColumn dataColumn3;
+ private System.Data.DataColumn dataColumn4;
+ private System.Data.DataTable UnitsTable;
+ private System.Data.DataColumn dataColumn5;
+ private System.Data.DataColumn dataColumn6;
+ private bool m_inUpdate = false;
+ private ToolStrip toolStrip1;
+ private ToolStripButton AddStyleButton;
+ private ToolStripButton RemoveStyleButton;
+
+ public event EventHandler Changed;
+
+ private IEditorService m_editor;
+ private FeatureSourceDescription.FeatureSourceSchema m_schema;
+ private string m_featureSource;
+ private string m_providername;
+
+ public LineFeatureStyleEditor(IEditorService editor, FeatureSourceDescription.FeatureSourceSchema schema, string featureSource)
+ : this()
+ {
+ m_editor = editor;
+ m_schema = schema;
+
+ var fs = (FeatureSourceType)editor.ResourceService.GetResource(featureSource);
+
+ m_providername = fs.Provider;
+ m_featureSource = featureSource;
+ }
+
+ private LineFeatureStyleEditor()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+ using (System.IO.StringReader sr = new System.IO.StringReader(Properties.Resources.GeometryStyleComboDataset))
+ ComboBoxDataSet.ReadXml(sr);
+
+ lineStyleEditor.displayLine.Visible = false;
+ lineStyleEditor.thicknessCombo.SelectedIndexChanged += new EventHandler(thicknessCombo_SelectedIndexChanged);
+ lineStyleEditor.thicknessCombo.TextChanged += new EventHandler(thicknessCombo_TextChanged);
+ lineStyleEditor.colorCombo.CurrentColorChanged += new EventHandler(colorCombo_CurrentValueChanged);
+ lineStyleEditor.fillCombo.SelectedIndexChanged += new EventHandler(fillCombo_SelectedIndexChanged);
+ }
+
+ public void UpdateDisplay()
+ {
+ try
+ {
+ m_inUpdate = true;
+ applyLineStyle.Checked = (m_item != null && m_item.Count != 0);
+
+ lineStyles.Items.Clear();
+ if (applyLineStyle.Checked)
+ foreach(StrokeType st in m_item)
+ lineStyles.Items.Add(st);
+
+ compositeLines.Checked = lineStyles.Items.Count > 1;
+ if (lineStyles.Items.Count > 0)
+ lineStyles.SelectedIndex = 0;
+
+ UpdateDisplayForSelected();
+
+ }
+ finally
+ {
+ m_inUpdate = false;
+ }
+
+ }
+
+ private void UpdateDisplayForSelected()
+ {
+ bool prevUpdate = m_inUpdate;
+ try
+ {
+ m_inUpdate = true;
+ StrokeType st = this.CurrentStrokeType;
+ sizeGroup.Enabled =
+ lineGroup.Enabled =
+ previewGroup.Enabled =
+ st != null;
+
+ RemoveStyleButton.Enabled = st != null && m_item.Count > 1;
+
+ if (st != null)
+ {
+ sizeUnitsCombo.SelectedValue = st.Unit.ToString();
+
+ //sizeContextCombo.SelectedValue = st.SizeContext.ToString();
+
+ if (st.Color == null)
+ lineStyleEditor.colorCombo.CurrentColor = Color.Black;
+ else
+ lineStyleEditor.colorCombo.CurrentColor = Utility.ParseHTMLColor(st.Color);
+
+ foreach(object i in lineStyleEditor.fillCombo.Items)
+ if (i as ImageStylePicker.NamedImage != null && (i as ImageStylePicker.NamedImage).Name == st.LineStyle)
+ {
+ lineStyleEditor.fillCombo.SelectedItem = i;
+ break;
+ }
+
+ lineStyleEditor.thicknessCombo.Text = st.Thickness;
+ }
+ previewPicture.Refresh();
+ }
+ finally
+ {
+ m_inUpdate = prevUpdate;
+ }
+
+ }
+
+ private StrokeType CurrentStrokeType
+ {
+ get
+ {
+ if (lineStyles.Items.Count == 0)
+ return null;
+ else if (lineStyles.Items.Count == 1 || lineStyles.SelectedIndex <= 0)
+ return (StrokeType)lineStyles.Items[0];
+ else
+ return (StrokeType)lineStyles.SelectedItem;
+ }
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LineFeatureStyleEditor));
+ this.applyLineStyle = new System.Windows.Forms.CheckBox();
+ this.compositeLines = new System.Windows.Forms.CheckBox();
+ this.CompositeGroup = new System.Windows.Forms.GroupBox();
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.AddStyleButton = new System.Windows.Forms.ToolStripButton();
+ this.RemoveStyleButton = new System.Windows.Forms.ToolStripButton();
+ this.lineStyles = new System.Windows.Forms.ListBox();
+ this.AdvancedPanel = new System.Windows.Forms.Panel();
+ this.compositePanel = new System.Windows.Forms.Panel();
+ this.propertyPanel = new System.Windows.Forms.Panel();
+ this.lineGroup = new System.Windows.Forms.GroupBox();
+ this.lineStyleEditor = new LineStyleEditor();
+ this.sizeGroup = new System.Windows.Forms.GroupBox();
+ this.sizeUnitsCombo = new System.Windows.Forms.ComboBox();
+ this.UnitsTable = new System.Data.DataTable();
+ this.dataColumn5 = new System.Data.DataColumn();
+ this.dataColumn6 = new System.Data.DataColumn();
+ this.sizeContextCombo = new System.Windows.Forms.ComboBox();
+ this.SizeContextTable = new System.Data.DataTable();
+ this.dataColumn3 = new System.Data.DataColumn();
+ this.dataColumn4 = new System.Data.DataColumn();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.previewGroup = new System.Windows.Forms.GroupBox();
+ this.previewPicture = new System.Windows.Forms.PictureBox();
+ this.ComboBoxDataSet = new System.Data.DataSet();
+ this.CompositeGroup.SuspendLayout();
+ this.toolStrip1.SuspendLayout();
+ this.AdvancedPanel.SuspendLayout();
+ this.compositePanel.SuspendLayout();
+ this.propertyPanel.SuspendLayout();
+ this.lineGroup.SuspendLayout();
+ this.sizeGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).BeginInit();
+ this.previewGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).BeginInit();
+ this.SuspendLayout();
+ //
+ // applyLineStyle
+ //
+ this.applyLineStyle.Checked = true;
+ this.applyLineStyle.CheckState = System.Windows.Forms.CheckState.Checked;
+ resources.ApplyResources(this.applyLineStyle, "applyLineStyle");
+ this.applyLineStyle.Name = "applyLineStyle";
+ this.applyLineStyle.CheckedChanged += new System.EventHandler(this.applyLineStyle_CheckedChanged);
+ //
+ // compositeLines
+ //
+ this.compositeLines.Checked = true;
+ this.compositeLines.CheckState = System.Windows.Forms.CheckState.Checked;
+ resources.ApplyResources(this.compositeLines, "compositeLines");
+ this.compositeLines.Name = "compositeLines";
+ this.compositeLines.CheckedChanged += new System.EventHandler(this.compositeLines_CheckedChanged);
+ //
+ // CompositeGroup
+ //
+ this.CompositeGroup.Controls.Add(this.toolStrip1);
+ this.CompositeGroup.Controls.Add(this.lineStyles);
+ resources.ApplyResources(this.CompositeGroup, "CompositeGroup");
+ this.CompositeGroup.Name = "CompositeGroup";
+ this.CompositeGroup.TabStop = false;
+ //
+ // toolStrip1
+ //
+ this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.AddStyleButton,
+ this.RemoveStyleButton});
+ resources.ApplyResources(this.toolStrip1, "toolStrip1");
+ this.toolStrip1.Name = "toolStrip1";
+ this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+ //
+ // AddStyleButton
+ //
+ this.AddStyleButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ resources.ApplyResources(this.AddStyleButton, "AddStyleButton");
+ this.AddStyleButton.Name = "AddStyleButton";
+ this.AddStyleButton.Click += new System.EventHandler(this.AddStyleButton_Click);
+ //
+ // RemoveStyleButton
+ //
+ this.RemoveStyleButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+ resources.ApplyResources(this.RemoveStyleButton, "RemoveStyleButton");
+ this.RemoveStyleButton.Name = "RemoveStyleButton";
+ this.RemoveStyleButton.Click += new System.EventHandler(this.RemoveStyleButton_Click);
+ //
+ // lineStyles
+ //
+ resources.ApplyResources(this.lineStyles, "lineStyles");
+ this.lineStyles.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
+ this.lineStyles.Name = "lineStyles";
+ this.lineStyles.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.lineStyles_DrawItem);
+ this.lineStyles.SelectedIndexChanged += new System.EventHandler(this.lineStyles_SelectedIndexChanged);
+ //
+ // AdvancedPanel
+ //
+ this.AdvancedPanel.Controls.Add(this.compositeLines);
+ this.AdvancedPanel.Controls.Add(this.applyLineStyle);
+ resources.ApplyResources(this.AdvancedPanel, "AdvancedPanel");
+ this.AdvancedPanel.Name = "AdvancedPanel";
+ //
+ // compositePanel
+ //
+ this.compositePanel.Controls.Add(this.CompositeGroup);
+ resources.ApplyResources(this.compositePanel, "compositePanel");
+ this.compositePanel.Name = "compositePanel";
+ //
+ // propertyPanel
+ //
+ this.propertyPanel.Controls.Add(this.lineGroup);
+ this.propertyPanel.Controls.Add(this.sizeGroup);
+ resources.ApplyResources(this.propertyPanel, "propertyPanel");
+ this.propertyPanel.Name = "propertyPanel";
+ //
+ // lineGroup
+ //
+ this.lineGroup.Controls.Add(this.lineStyleEditor);
+ resources.ApplyResources(this.lineGroup, "lineGroup");
+ this.lineGroup.Name = "lineGroup";
+ this.lineGroup.TabStop = false;
+ //
+ // lineStyleEditor
+ //
+ resources.ApplyResources(this.lineStyleEditor, "lineStyleEditor");
+ this.lineStyleEditor.Name = "lineStyleEditor";
+ //
+ // sizeGroup
+ //
+ this.sizeGroup.Controls.Add(this.sizeUnitsCombo);
+ this.sizeGroup.Controls.Add(this.sizeContextCombo);
+ this.sizeGroup.Controls.Add(this.label3);
+ this.sizeGroup.Controls.Add(this.label2);
+ resources.ApplyResources(this.sizeGroup, "sizeGroup");
+ this.sizeGroup.Name = "sizeGroup";
+ this.sizeGroup.TabStop = false;
+ //
+ // sizeUnitsCombo
+ //
+ resources.ApplyResources(this.sizeUnitsCombo, "sizeUnitsCombo");
+ this.sizeUnitsCombo.DataSource = this.UnitsTable;
+ this.sizeUnitsCombo.DisplayMember = "Display";
+ this.sizeUnitsCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.sizeUnitsCombo.Name = "sizeUnitsCombo";
+ this.sizeUnitsCombo.ValueMember = "Value";
+ this.sizeUnitsCombo.SelectedIndexChanged += new System.EventHandler(this.sizeUnitsCombo_SelectedIndexChanged);
+ //
+ // UnitsTable
+ //
+ this.UnitsTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn5,
+ this.dataColumn6});
+ this.UnitsTable.TableName = "Units";
+ //
+ // dataColumn5
+ //
+ this.dataColumn5.Caption = "Display";
+ this.dataColumn5.ColumnName = "Display";
+ //
+ // dataColumn6
+ //
+ this.dataColumn6.Caption = "Value";
+ this.dataColumn6.ColumnName = "Value";
+ //
+ // sizeContextCombo
+ //
+ resources.ApplyResources(this.sizeContextCombo, "sizeContextCombo");
+ this.sizeContextCombo.DataSource = this.SizeContextTable;
+ this.sizeContextCombo.DisplayMember = "Display";
+ this.sizeContextCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.sizeContextCombo.Name = "sizeContextCombo";
+ this.sizeContextCombo.ValueMember = "Value";
+ this.sizeContextCombo.SelectedIndexChanged += new System.EventHandler(this.sizeContextCombo_SelectedIndexChanged);
+ //
+ // SizeContextTable
+ //
+ this.SizeContextTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn3,
+ this.dataColumn4});
+ this.SizeContextTable.TableName = "SizeContext";
+ //
+ // dataColumn3
+ //
+ this.dataColumn3.Caption = "Display";
+ this.dataColumn3.ColumnName = "Display";
+ //
+ // dataColumn4
+ //
+ this.dataColumn4.Caption = "Value";
+ this.dataColumn4.ColumnName = "Value";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // previewGroup
+ //
+ this.previewGroup.Controls.Add(this.previewPicture);
+ resources.ApplyResources(this.previewGroup, "previewGroup");
+ this.previewGroup.Name = "previewGroup";
+ this.previewGroup.TabStop = false;
+ //
+ // previewPicture
+ //
+ resources.ApplyResources(this.previewPicture, "previewPicture");
+ this.previewPicture.BackColor = System.Drawing.Color.White;
+ this.previewPicture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.previewPicture.Name = "previewPicture";
+ this.previewPicture.TabStop = false;
+ this.previewPicture.Paint += new System.Windows.Forms.PaintEventHandler(this.previewPicture_Paint);
+ //
+ // ComboBoxDataSet
+ //
+ this.ComboBoxDataSet.DataSetName = "ComboBoxDataSet";
+ this.ComboBoxDataSet.Locale = new System.Globalization.CultureInfo("da-DK");
+ this.ComboBoxDataSet.Tables.AddRange(new System.Data.DataTable[] {
+ this.SizeContextTable,
+ this.UnitsTable});
+ //
+ // LineFeatureStyleEditor
+ //
+ resources.ApplyResources(this, "$this");
+ this.Controls.Add(this.previewGroup);
+ this.Controls.Add(this.propertyPanel);
+ this.Controls.Add(this.compositePanel);
+ this.Controls.Add(this.AdvancedPanel);
+ this.Name = "LineFeatureStyleEditor";
+ this.CompositeGroup.ResumeLayout(false);
+ this.CompositeGroup.PerformLayout();
+ this.toolStrip1.ResumeLayout(false);
+ this.toolStrip1.PerformLayout();
+ this.AdvancedPanel.ResumeLayout(false);
+ this.compositePanel.ResumeLayout(false);
+ this.propertyPanel.ResumeLayout(false);
+ this.lineGroup.ResumeLayout(false);
+ this.sizeGroup.ResumeLayout(false);
+ this.sizeGroup.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).EndInit();
+ this.previewGroup.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+
+ private void lineStyles_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ UpdateDisplayForSelected();
+ }
+
+ private void sizeContextCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+ //this.CurrentStrokeType.SizeContext = (SizeContextType)Enum.Parse(typeof(SizeContextType), (string)sizeContextCombo.SelectedValue);
+ previewPicture.Refresh();
+ lineStyles.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void sizeUnitsCombo_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate || this.CurrentStrokeType == null)
+ return;
+ this.CurrentStrokeType.Unit = (LengthUnitType)Enum.Parse(typeof(LengthUnitType), (string)sizeUnitsCombo.SelectedValue);
+ previewPicture.Refresh();
+ lineStyles.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ public IList<StrokeType> Item
+ {
+ get { return m_item; }
+ set
+ {
+ m_item = value;
+ UpdateDisplay();
+ }
+ }
+
+ private void thicknessCombo_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || lineStyleEditor.thicknessCombo.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ this.CurrentStrokeType.Thickness = lineStyleEditor.thicknessCombo.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void thicknessCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || lineStyleEditor.thicknessCombo.SelectedIndex != lineStyleEditor.thicknessCombo.Items.Count - 1)
+ return;
+
+ string current = this.CurrentStrokeType.Thickness;
+ string expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), lineStyleEditor.thicknessCombo, current, expr != null);
+ }
+
+ private void colorCombo_CurrentValueChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || this.CurrentStrokeType == null)
+ return;
+ this.CurrentStrokeType.Color = Utility.SerializeHTMLColor(lineStyleEditor.colorCombo.CurrentColor, true);
+ previewPicture.Refresh();
+ lineStyles.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void fillCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || this.CurrentStrokeType == null)
+ return;
+
+ if (lineStyleEditor.fillCombo.SelectedItem as ImageStylePicker.NamedImage != null)
+ this.CurrentStrokeType.LineStyle = (lineStyleEditor.fillCombo.SelectedItem as ImageStylePicker.NamedImage).Name;
+ previewPicture.Refresh();
+ lineStyles.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void applyLineStyle_CheckedChanged(object sender, System.EventArgs e)
+ {
+ compositePanel.Enabled =
+ compositeLines.Enabled =
+ sizeGroup.Enabled =
+ lineGroup.Enabled =
+ previewGroup.Enabled =
+ applyLineStyle.Checked;
+
+ if (!m_inUpdate)
+ {
+ if (!applyLineStyle.Checked)
+ {
+ applyLineStyle.Tag = m_item;
+ m_item = new BindingList<StrokeType>();
+ }
+ else
+ {
+ m_item = applyLineStyle.Tag as IList<StrokeType>;
+
+ if (m_item == null)
+ m_item = new BindingList<StrokeType>();
+
+ if (m_item.Count == 0)
+ m_item.Add(ObjectFactory.CreateDefaultStroke());
+
+ UpdateDisplay();
+ }
+ }
+ }
+
+ private void compositeLines_CheckedChanged(object sender, System.EventArgs e)
+ {
+ if (compositePanel.Visible && !compositeLines.Checked)
+ this.AutoScrollMinSize = new Size(this.AutoScrollMinSize.Width, this.AutoScrollMinSize.Height - compositePanel.Height);
+ else if (!compositePanel.Visible && compositeLines.Checked)
+ this.AutoScrollMinSize = new Size(this.AutoScrollMinSize.Width, this.AutoScrollMinSize.Height + compositePanel.Height);
+
+ compositePanel.Visible = compositeLines.Checked;
+
+ if (m_inUpdate)
+ return;
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void previewPicture_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+ FeaturePreviewRender.RenderPreviewLine(e.Graphics, new Rectangle(1, 1, previewPicture.Width - 2, previewPicture.Height - 2), m_item);
+ }
+
+ private void lineStyles_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
+ {
+ e.DrawBackground();
+ if ((e.State & DrawItemState.Focus) != 0)
+ e.DrawFocusRectangle();
+
+ if (e.Index >= 0 && e.Index < lineStyles.Items.Count)
+ {
+ var col = new BindingList<StrokeType>();
+ col.Add((StrokeType) lineStyles.Items[e.Index]);
+ FeaturePreviewRender.RenderPreviewLine(e.Graphics, new Rectangle(e.Bounds.Left + 1, e.Bounds.Top + 1, e.Bounds.Width - 2, e.Bounds.Height - 2), col);
+ }
+ }
+
+ private void RemoveStyleButton_Click(object sender, EventArgs e)
+ {
+ for(int i = 0; i < m_item.Count; i++)
+ if (m_item[i] == this.CurrentStrokeType)
+ {
+ m_item.RemoveAt(i);
+ UpdateDisplay();
+ break;
+ }
+
+ }
+
+ private void AddStyleButton_Click(object sender, EventArgs e)
+ {
+ m_item.Add(ObjectFactory.CreateDefaultStroke());
+ UpdateDisplay();
+ lineStyles.SelectedIndex = lineStyles.Items.Count - 1;
+ }
+
+ internal void SetupForTheming()
+ {
+ lineStyleEditor.colorCombo.Enabled =
+ lineStyleEditor.lblColor.Enabled =
+ AdvancedPanel.Enabled =
+ false;
+ }
+
+ public delegate void UpdateComboTextFromSelectChangedDelegate(ComboBox owner, string text, bool userChange);
+
+ private void UpdateComboTextFromSelectChanged(ComboBox owner, string text, bool userChange)
+ {
+ try
+ {
+ if (!userChange)
+ m_inUpdate = true;
+ owner.SelectedIndex = -1;
+
+ //HACK: Odd bug, don't remove
+ if (owner.SelectedIndex != -1)
+ owner.SelectedIndex = -1;
+
+ owner.Text = text;
+ }
+ finally
+ {
+ if (!userChange)
+ m_inUpdate = false;
+ }
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineFeatureStyleEditor.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,678 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="applyLineStyle.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="applyLineStyle.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="applyLineStyle.Size" type="System.Drawing.Size, System.Drawing">
+ <value>176, 16</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="applyLineStyle.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="applyLineStyle.Text" xml:space="preserve">
+ <value>Apply line style</value>
+ </data>
+ <data name=">>applyLineStyle.Name" xml:space="preserve">
+ <value>applyLineStyle</value>
+ </data>
+ <data name=">>applyLineStyle.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>applyLineStyle.Parent" xml:space="preserve">
+ <value>AdvancedPanel</value>
+ </data>
+ <data name=">>applyLineStyle.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="compositeLines.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="compositeLines.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 24</value>
+ </data>
+ <data name="compositeLines.Size" type="System.Drawing.Size, System.Drawing">
+ <value>272, 16</value>
+ </data>
+ <data name="compositeLines.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="compositeLines.Text" xml:space="preserve">
+ <value>Use composite lines</value>
+ </data>
+ <data name=">>compositeLines.Name" xml:space="preserve">
+ <value>compositeLines</value>
+ </data>
+ <data name=">>compositeLines.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>compositeLines.Parent" xml:space="preserve">
+ <value>AdvancedPanel</value>
+ </data>
+ <data name=">>compositeLines.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>3, 16</value>
+ </metadata>
+ <data name="AddStyleButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPfZLfS1NhHMb9VxwpCRGWF6VJpBBRhN1EV2I3
+ 4sbpykWFRZZJGEFKugILnP0QJ+FYGtTFXLR2QMYs2fK4UeqOs4GyqRx0asEefV47y+M59cID7+F838/7
+ fZ73W1S0syJfFASDMmR53FL8R/n9AbDetHgwn89jbf3Xf0WA1/vWDCGAh7OrWwZpOQ2Zlc0/2kAg8AlK
+ QjVD9gLmfy4j8WNBFKrptcKe3z7faEGGTqwAhGRWNsB8CJ1TlwSMWSTVtDGPfwF48Gs0UbBFOxOT08Ku
+ IVBSN7d+i0LdAm+jhf2AcPSbNUAPcS+Ae1qIfZ9B9/unuDZ0HU73VYSUsLkDK8BiJgfPmBdnXLW4G7qJ
+ Z1NP8GiiAxdf18HRY//7nLSgA/TkaYHtVnZWwClLuB9rhZKewmD8JVoizajtr7IGsG0+GdXu6UDVQDns
+ 4w1oCUvIalkBuBJuxLl3NbjQc3oXonfAlHVAVFHh6JNQ4SmDnAyKw5xWDhf3dv9lHHpwYBfACaMFvvvs
+ fBaTsTkh54sbODJQKm7vjbdjNbeMj6kRdMXu4OzoSWHP0AH9U7MLmpBP/ozDLhvqQqVwxMuwqKXgTt7C
+ pchBHBsswe03reYO2AXT18Wi6lfFkKaL4U7Xo23mBM5/sOHUw+PGEGmD4oTt173nbSKwym4bah4fheRq
+ wvCITwC2AbpY3noXadHQAAAAAElFTkSuQmCC
+</value>
+ </data>
+ <data name="AddStyleButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="AddStyleButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="RemoveStyleButton.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="RemoveStyleButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH0SURBVDhPfZPfS1NhHMb9XwQRFIQ0iALBm91MUSLEsCtv
+ xIwof4AXw0GtQU2U6EJYXRVCEOqJijhsHPTIgSn+wsliMLUjUyynljq32dyTz3t4546bHvjwvudwvs/5
+ Ps/7PWVl59f8YgS6bsAwQjbkM65EVQPg+0UXC9OZfzhOnl5LMKjh66RSLEIBFu/9yeRJHKRgkRbPuNe0
+ aUSiJiYmPttFCgU2t/YRjcUFLOLKIqIoX/LYREoJsIBizIfr+uaeEJvSQ/hpboN28llc1cGvxAkWln8U
+ 2EqLe9q1CTBhhkivhRa4X1qJ2nJhRyUFZIhSgBbM7WNhIRZZQ8jvx4zbhe8uF2Kz88UdXBaQIRrjCrR7
+ Tuz4nuHowzvsj45gqaMNn552X2RAC1KAX5WnEF5Yheq8jb/ufpy9eYmc/7VYU14XwncdpQVoQR6b6vNh
+ o7Ee2YFHyL1yIzfssRjsxW57E4L3my0R2QGHRgqsREyoPU+w47iFA11DMrFr43f/QwTu1FgCnDBa4ODw
+ vJfDGwIGZjpu4MjTh5P3IxZj57wdEh3Qnq0D+ifr8UNBSDUwV1+DVGstcl11ebIPbgph44W7uAN2wQGS
+ 6N7nCDuqkeyoRPZxOTKdFYi3VENxNthDpA3CCbvMR68H39qaEGioEm3zCOVf+R87WeXQgnPczgAAAABJ
+ RU5ErkJggg==
+</value>
+ </data>
+ <data name="RemoveStyleButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="RemoveStyleButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>3, 16</value>
+ </data>
+ <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>291, 25</value>
+ </data>
+ <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>toolStrip1.Name" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStrip1.Parent" xml:space="preserve">
+ <value>CompositeGroup</value>
+ </data>
+ <data name=">>toolStrip1.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="lineStyles.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="lineStyles.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 56</value>
+ </data>
+ <data name="lineStyles.Size" type="System.Drawing.Size, System.Drawing">
+ <value>265, 95</value>
+ </data>
+ <data name="lineStyles.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>lineStyles.Name" xml:space="preserve">
+ <value>lineStyles</value>
+ </data>
+ <data name=">>lineStyles.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lineStyles.Parent" xml:space="preserve">
+ <value>CompositeGroup</value>
+ </data>
+ <data name=">>lineStyles.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="CompositeGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="CompositeGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="CompositeGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 160</value>
+ </data>
+ <data name="CompositeGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="CompositeGroup.Text" xml:space="preserve">
+ <value>Composite line</value>
+ </data>
+ <data name=">>CompositeGroup.Name" xml:space="preserve">
+ <value>CompositeGroup</value>
+ </data>
+ <data name=">>CompositeGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>CompositeGroup.Parent" xml:space="preserve">
+ <value>compositePanel</value>
+ </data>
+ <data name=">>CompositeGroup.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="AdvancedPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="AdvancedPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="AdvancedPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 48</value>
+ </data>
+ <data name="AdvancedPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name=">>AdvancedPanel.Name" xml:space="preserve">
+ <value>AdvancedPanel</value>
+ </data>
+ <data name=">>AdvancedPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>AdvancedPanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>AdvancedPanel.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="compositePanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="compositePanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 48</value>
+ </data>
+ <data name="compositePanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 160</value>
+ </data>
+ <data name="compositePanel.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>compositePanel.Name" xml:space="preserve">
+ <value>compositePanel</value>
+ </data>
+ <data name=">>compositePanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>compositePanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>compositePanel.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="lineStyleEditor.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="lineStyleEditor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>3, 16</value>
+ </data>
+ <data name="lineStyleEditor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>291, 133</value>
+ </data>
+ <data name="lineStyleEditor.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>lineStyleEditor.Name" xml:space="preserve">
+ <value>lineStyleEditor</value>
+ </data>
+ <data name=">>lineStyleEditor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.LineStyleEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>lineStyleEditor.Parent" xml:space="preserve">
+ <value>lineGroup</value>
+ </data>
+ <data name=">>lineStyleEditor.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="lineGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="lineGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 80</value>
+ </data>
+ <data name="lineGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 152</value>
+ </data>
+ <data name="lineGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="lineGroup.Text" xml:space="preserve">
+ <value>Line style</value>
+ </data>
+ <data name=">>lineGroup.Name" xml:space="preserve">
+ <value>lineGroup</value>
+ </data>
+ <data name=">>lineGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lineGroup.Parent" xml:space="preserve">
+ <value>propertyPanel</value>
+ </data>
+ <data name=">>lineGroup.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="sizeUnitsCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="sizeUnitsCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 44</value>
+ </data>
+ <data name="sizeUnitsCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>169, 21</value>
+ </data>
+ <data name="sizeUnitsCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name=">>sizeUnitsCombo.Name" xml:space="preserve">
+ <value>sizeUnitsCombo</value>
+ </data>
+ <data name=">>sizeUnitsCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sizeUnitsCombo.Parent" xml:space="preserve">
+ <value>sizeGroup</value>
+ </data>
+ <data name=">>sizeUnitsCombo.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="sizeContextCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="sizeContextCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 12</value>
+ </data>
+ <data name="sizeContextCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>169, 21</value>
+ </data>
+ <data name="sizeContextCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>sizeContextCombo.Name" xml:space="preserve">
+ <value>sizeContextCombo</value>
+ </data>
+ <data name=">>sizeContextCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sizeContextCombo.Parent" xml:space="preserve">
+ <value>sizeGroup</value>
+ </data>
+ <data name=">>sizeContextCombo.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 52</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>52, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Size units</value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>sizeGroup</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 20</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Size context</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>sizeGroup</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="sizeGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="sizeGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="sizeGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 80</value>
+ </data>
+ <data name="sizeGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="sizeGroup.Text" xml:space="preserve">
+ <value>Size</value>
+ </data>
+ <data name=">>sizeGroup.Name" xml:space="preserve">
+ <value>sizeGroup</value>
+ </data>
+ <data name=">>sizeGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>sizeGroup.Parent" xml:space="preserve">
+ <value>propertyPanel</value>
+ </data>
+ <data name=">>sizeGroup.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="propertyPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="propertyPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 208</value>
+ </data>
+ <data name="propertyPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 232</value>
+ </data>
+ <data name="propertyPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name=">>propertyPanel.Name" xml:space="preserve">
+ <value>propertyPanel</value>
+ </data>
+ <data name=">>propertyPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>propertyPanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>propertyPanel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="previewPicture.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="previewPicture.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="previewPicture.Size" type="System.Drawing.Size, System.Drawing">
+ <value>281, 24</value>
+ </data>
+ <data name="previewPicture.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>previewPicture.Name" xml:space="preserve">
+ <value>previewPicture</value>
+ </data>
+ <data name=">>previewPicture.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewPicture.Parent" xml:space="preserve">
+ <value>previewGroup</value>
+ </data>
+ <data name=">>previewPicture.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="previewGroup.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="previewGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 440</value>
+ </data>
+ <data name="previewGroup.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+ <value>3, 12, 3, 3</value>
+ </data>
+ <data name="previewGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 48</value>
+ </data>
+ <data name="previewGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name="previewGroup.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name=">>previewGroup.Name" xml:space="preserve">
+ <value>previewGroup</value>
+ </data>
+ <data name=">>previewGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>previewGroup.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="ComboBoxDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="$this.AutoScrollMinSize" type="System.Drawing.Size, System.Drawing">
+ <value>290, 488</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>297, 488</value>
+ </data>
+ <data name=">>AddStyleButton.Name" xml:space="preserve">
+ <value>AddStyleButton</value>
+ </data>
+ <data name=">>AddStyleButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>RemoveStyleButton.Name" xml:space="preserve">
+ <value>RemoveStyleButton</value>
+ </data>
+ <data name=">>RemoveStyleButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>UnitsTable.Name" xml:space="preserve">
+ <value>UnitsTable</value>
+ </data>
+ <data name=">>UnitsTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn5.Name" xml:space="preserve">
+ <value>dataColumn5</value>
+ </data>
+ <data name=">>dataColumn5.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn6.Name" xml:space="preserve">
+ <value>dataColumn6</value>
+ </data>
+ <data name=">>dataColumn6.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>SizeContextTable.Name" xml:space="preserve">
+ <value>SizeContextTable</value>
+ </data>
+ <data name=">>SizeContextTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn3.Name" xml:space="preserve">
+ <value>dataColumn3</value>
+ </data>
+ <data name=">>dataColumn3.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn4.Name" xml:space="preserve">
+ <value>dataColumn4</value>
+ </data>
+ <data name=">>dataColumn4.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Name" xml:space="preserve">
+ <value>ComboBoxDataSet</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Type" xml:space="preserve">
+ <value>System.Data.DataSet, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>LineFeatureStyleEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,180 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+using Maestro.Editors.Common;
+
+namespace Maestro.Editors.LayerDefinition.Vector.StyleEditors
+{
+ /// <summary>
+ /// Summary description for LineStyleEditor.
+ /// </summary>
+ public class LineStyleEditor : System.Windows.Forms.UserControl
+ {
+ public ImageStylePicker fillCombo;
+ public Label lblColor;
+ private System.Windows.Forms.Label lblThickness;
+ private System.Windows.Forms.Label lblFill;
+ public System.Windows.Forms.CheckBox displayLine;
+ private System.Windows.Forms.Panel panel1;
+ private Label label1;
+ public ColorComboWithTransparency colorCombo;
+ public ComboBox thicknessCombo;
+
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public LineStyleEditor()
+ {
+ // This call is required by the Windows.Forms Form Designer.
+ InitializeComponent();
+
+ fillCombo.Items.Clear();
+ fillCombo.Items.AddRange(FeaturePreviewRender.LineStyles);
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Component Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LineStyleEditor));
+ this.fillCombo = new ImageStylePicker();
+ this.lblColor = new System.Windows.Forms.Label();
+ this.lblThickness = new System.Windows.Forms.Label();
+ this.lblFill = new System.Windows.Forms.Label();
+ this.displayLine = new System.Windows.Forms.CheckBox();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.thicknessCombo = new System.Windows.Forms.ComboBox();
+ this.colorCombo = new ColorComboWithTransparency();
+ this.label1 = new System.Windows.Forms.Label();
+ this.panel1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // fillCombo
+ //
+ resources.ApplyResources(this.fillCombo, "fillCombo");
+ this.fillCombo.DisplayMember = "Name";
+ this.fillCombo.Name = "fillCombo";
+ this.fillCombo.TextWidth = 40;
+ this.fillCombo.ValueMember = "Name";
+ //
+ // lblColor
+ //
+ resources.ApplyResources(this.lblColor, "lblColor");
+ this.lblColor.Name = "lblColor";
+ //
+ // lblThickness
+ //
+ resources.ApplyResources(this.lblThickness, "lblThickness");
+ this.lblThickness.Name = "lblThickness";
+ //
+ // lblFill
+ //
+ resources.ApplyResources(this.lblFill, "lblFill");
+ this.lblFill.Name = "lblFill";
+ //
+ // displayLine
+ //
+ this.displayLine.Checked = true;
+ this.displayLine.CheckState = System.Windows.Forms.CheckState.Checked;
+ resources.ApplyResources(this.displayLine, "displayLine");
+ this.displayLine.Name = "displayLine";
+ this.displayLine.CheckedChanged += new System.EventHandler(this.displayLine_CheckedChanged);
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.thicknessCombo);
+ this.panel1.Controls.Add(this.colorCombo);
+ this.panel1.Controls.Add(this.label1);
+ this.panel1.Controls.Add(this.fillCombo);
+ this.panel1.Controls.Add(this.lblColor);
+ this.panel1.Controls.Add(this.lblThickness);
+ this.panel1.Controls.Add(this.lblFill);
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Name = "panel1";
+ //
+ // thicknessCombo
+ //
+ resources.ApplyResources(this.thicknessCombo, "thicknessCombo");
+ this.thicknessCombo.FormattingEnabled = true;
+ this.thicknessCombo.Items.AddRange(new object[] {
+ resources.GetString("thicknessCombo.Items")});
+ this.thicknessCombo.Name = "thicknessCombo";
+ //
+ // colorCombo
+ //
+ resources.ApplyResources(this.colorCombo, "colorCombo");
+ this.colorCombo.CurrentColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.colorCombo.Name = "colorCombo";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // LineStyleEditor
+ //
+ this.Controls.Add(this.panel1);
+ this.Controls.Add(this.displayLine);
+ this.Name = "LineStyleEditor";
+ resources.ApplyResources(this, "$this");
+ this.Load += new System.EventHandler(this.LineStyleEditor_Load);
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void LineStyleEditor_Load(object sender, System.EventArgs e)
+ {
+ }
+
+ private void displayLine_CheckedChanged(object sender, System.EventArgs e)
+ {
+ panel1.Enabled = displayLine.Checked;
+ }
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/LineStyleEditor.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="fillCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="fillCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 0</value>
+ </data>
+ <data name="fillCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>312, 21</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="fillCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>fillCombo.Name" xml:space="preserve">
+ <value>fillCombo</value>
+ </data>
+ <data name=">>fillCombo.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ImageStylePicker, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>fillCombo.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>fillCombo.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="lblColor.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblColor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 64</value>
+ </data>
+ <data name="lblColor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>31, 13</value>
+ </data>
+ <data name="lblColor.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="lblColor.Text" xml:space="preserve">
+ <value>Color</value>
+ </data>
+ <data name=">>lblColor.Name" xml:space="preserve">
+ <value>lblColor</value>
+ </data>
+ <data name=">>lblColor.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblColor.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>lblColor.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="lblThickness.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblThickness.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 32</value>
+ </data>
+ <data name="lblThickness.Size" type="System.Drawing.Size, System.Drawing">
+ <value>56, 13</value>
+ </data>
+ <data name="lblThickness.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="lblThickness.Text" xml:space="preserve">
+ <value>Thickness</value>
+ </data>
+ <data name=">>lblThickness.Name" xml:space="preserve">
+ <value>lblThickness</value>
+ </data>
+ <data name=">>lblThickness.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblThickness.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>lblThickness.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="lblFill.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblFill.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 8</value>
+ </data>
+ <data name="lblFill.Size" type="System.Drawing.Size, System.Drawing">
+ <value>51, 13</value>
+ </data>
+ <data name="lblFill.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="lblFill.Text" xml:space="preserve">
+ <value>Line style</value>
+ </data>
+ <data name=">>lblFill.Name" xml:space="preserve">
+ <value>lblFill</value>
+ </data>
+ <data name=">>lblFill.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblFill.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>lblFill.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="displayLine.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="displayLine.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="displayLine.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="displayLine.Size" type="System.Drawing.Size, System.Drawing">
+ <value>432, 16</value>
+ </data>
+ <data name="displayLine.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name="displayLine.Text" xml:space="preserve">
+ <value>Display edge</value>
+ </data>
+ <data name=">>displayLine.Name" xml:space="preserve">
+ <value>displayLine</value>
+ </data>
+ <data name=">>displayLine.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>displayLine.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>displayLine.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="thicknessCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="thicknessCombo.Items" xml:space="preserve">
+ <value>Expression...</value>
+ </data>
+ <data name="thicknessCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 32</value>
+ </data>
+ <data name="thicknessCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>312, 21</value>
+ </data>
+ <data name="thicknessCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name=">>thicknessCombo.Name" xml:space="preserve">
+ <value>thicknessCombo</value>
+ </data>
+ <data name=">>thicknessCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>thicknessCombo.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>thicknessCombo.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="colorCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="colorCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>120, 64</value>
+ </data>
+ <data name="colorCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>312, 49</value>
+ </data>
+ <data name="colorCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name=">>colorCombo.Name" xml:space="preserve">
+ <value>colorCombo</value>
+ </data>
+ <data name=">>colorCombo.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboWithTransparency, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>colorCombo.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>colorCombo.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 96</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>72, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Transparency</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 16</value>
+ </data>
+ <data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>432, 120</value>
+ </data>
+ <data name="panel1.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name=">>panel1.Name" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>panel1.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>432, 136</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>LineStyleEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,1381 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Data;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using Maestro.Editors.Common;
+using OSGeo.MapGuide.MaestroAPI;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using System.Globalization;
+using OSGeo.MapGuide.ObjectModels;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+
+namespace Maestro.Editors.LayerDefinition.Vector.StyleEditors
+{
+ /// <summary>
+ /// Summary description for PointFeatureStyleEditor.
+ /// </summary>
+ public class PointFeatureStyleEditor : System.Windows.Forms.UserControl
+ {
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.GroupBox groupBox3;
+ private System.Windows.Forms.GroupBox groupBox4;
+ private System.Windows.Forms.PictureBox previewPicture;
+ private System.Data.DataSet ComboBoxDataSet;
+ private System.Data.DataTable SymbolMarkTable;
+ private System.Data.DataColumn dataColumn1;
+ private System.Data.DataColumn dataColumn2;
+ private System.Data.DataTable SizeContextTable;
+ private System.Data.DataColumn dataColumn3;
+ private System.Data.DataColumn dataColumn4;
+ private System.Data.DataTable UnitsTable;
+ private System.Data.DataColumn dataColumn5;
+ private System.Data.DataColumn dataColumn6;
+ private System.Data.DataTable RotationTable;
+ private System.Data.DataColumn dataColumn7;
+ private System.Data.DataColumn dataColumn8;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+ private System.Windows.Forms.ComboBox HeigthText;
+ private System.Windows.Forms.ComboBox WidthText;
+ private System.Windows.Forms.ComboBox SizeUnits;
+ private System.Windows.Forms.ComboBox SizeContext;
+ private System.Windows.Forms.ComboBox Symbol;
+ private LineStyleEditor lineStyleEditor;
+
+ private PointSymbolization2DType m_item;
+ private MarkSymbolType m_lastMark = null;
+ private FontSymbolType m_lastFont = null;
+
+ private bool m_inUpdate = false;
+
+ private FillType previousFill = null;
+ private CheckBox DisplayPoints;
+ private StrokeType previousEdge = null;
+ private GroupBox groupBoxFont;
+ private ComboBox fontCombo;
+ private Label label10;
+ private ComboBox comboBoxCharacter;
+ private GroupBox groupBoxSymbolLocation;
+ private Button button1;
+ private TextBox ReferenceY;
+ private Label label8;
+ private TextBox ReferenceX;
+ private Label label7;
+ private Label label6;
+ private CheckBox MaintainAspectRatio;
+ private ComboBox RotationBox;
+ private Label label9;
+ private FillStyleEditor fillStyleEditor;
+ private Label lblForeground;
+ private Panel panel1;
+ private ToolStrip toolStrip1;
+ private ToolStripButton FontBoldButton;
+ private ToolStripButton FontItalicButton;
+ private ColorComboWithTransparency colorFontForeground;
+ private Label label11;
+ private ToolStripButton FontUnderlineButton;
+
+ public event EventHandler Changed;
+
+ private IEditorService m_editor;
+ private FeatureSourceDescription.FeatureSourceSchema m_schema;
+ private string m_featureSource;
+ private string m_providername;
+
+ public PointFeatureStyleEditor(IEditorService editor, FeatureSourceDescription.FeatureSourceSchema schema, string featureSource)
+ : this()
+ {
+ m_editor = editor;
+ m_schema = schema;
+
+ var fs = (FeatureSourceType)editor.ResourceService.GetResource(featureSource);
+
+ m_providername = fs.Provider;
+ m_featureSource = featureSource;
+ }
+
+ private PointFeatureStyleEditor()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+ using(System.IO.StringReader sr = new System.IO.StringReader(Properties.Resources.GeometryStyleComboDataset))
+ ComboBoxDataSet.ReadXml(sr);
+
+ fontCombo.Items.Clear();
+ foreach (FontFamily f in new System.Drawing.Text.InstalledFontCollection().Families)
+ fontCombo.Items.Add(f.Name);
+
+ colorFontForeground.CurrentColorChanged += new EventHandler(colourFontForeground_CurrentColorChanged);
+
+ fillStyleEditor.displayFill.CheckedChanged += new EventHandler(displayFill_CheckedChanged);
+ fillStyleEditor.fillCombo.SelectedIndexChanged += new EventHandler(fillCombo_SelectedIndexChanged);
+ fillStyleEditor.foregroundColor.CurrentColorChanged += new EventHandler(foregroundColor_CurrentColorChanged);
+ fillStyleEditor.backgroundColor.CurrentColorChanged +=new EventHandler(backgroundColor_CurrentColorChanged);
+
+ lineStyleEditor.displayLine.CheckedChanged +=new EventHandler(displayLine_CheckedChanged);
+ lineStyleEditor.thicknessCombo.SelectedIndexChanged += new EventHandler(thicknessCombo_SelectedIndexChanged);
+ lineStyleEditor.thicknessCombo.TextChanged += new EventHandler(thicknessCombo_TextChanged);
+ lineStyleEditor.colorCombo.CurrentColorChanged +=new EventHandler(colorCombo_CurrentColorChanged);
+ lineStyleEditor.fillCombo.SelectedIndexChanged +=new EventHandler(fillCombo_Line_SelectedIndexChanged);
+
+ m_item = new PointSymbolization2DType();
+ m_item.Item = new MarkSymbolType();
+ }
+
+ private void setUIForMarkSymbol(bool enabled)
+ {
+ groupBoxSymbolLocation.Enabled = enabled;
+ groupBox2.Enabled = enabled;
+ groupBox3.Enabled = enabled;
+
+ groupBoxFont.Enabled = !enabled;
+ }
+
+ private void UpdateDisplay()
+ {
+ if (m_inUpdate)
+ return;
+
+ try
+ {
+ m_inUpdate = true;
+
+ if (m_item == null)
+ {
+ DisplayPoints.Checked = false;
+ return;
+ }
+
+ DisplayPoints.Checked = true;
+
+ if (m_item.Item == null)
+ m_item.Item = new MarkSymbolType();
+
+ // shared values
+ WidthText.Text = m_item.Item.SizeX;
+ HeigthText.Text = m_item.Item.SizeY;
+ RotationBox.SelectedIndex = -1;
+ RotationBox.Text = m_item.Item.Rotation;
+
+ SizeUnits.SelectedValue = m_item.Item.Unit;
+ SizeContext.SelectedValue = m_item.Item.SizeContext.ToString();
+
+ // specifics
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ {
+ MaintainAspectRatio.Checked = m_item.Item.MaintainAspect;
+ double d;
+ if (double.TryParse(m_item.Item.InsertionPointX, NumberStyles.Float, CultureInfo.InvariantCulture, out d))
+ ReferenceX.Text = d.ToString(System.Threading.Thread.CurrentThread.CurrentUICulture);
+ else
+ ReferenceX.Text = m_item.Item.InsertionPointX;
+
+ //if (double.TryParse(m_item.Item.InsertionPointY, NumberStyles.Float, CultureInfo.InvariantCulture, out d))
+ // ReferenceY.Text = d.ToString(System.Threading.Thread.CurrentThread.CurrentUICulture);
+ //else
+ // ReferenceY.Text = m_item.Item.InsertionPointY;
+ ReferenceY.Text = m_item.Item.InsertionPointY.ToString(System.Threading.Thread.CurrentThread.CurrentUICulture);
+
+ MarkSymbolType t = (MarkSymbolType)m_item.Item;
+ Symbol.SelectedValue = t.Shape.ToString();
+
+ fillStyleEditor.displayFill.Checked = t.Fill != null;
+ if (t.Fill != null)
+ {
+ fillStyleEditor.foregroundColor.CurrentColor = Utility.ParseHTMLColor(t.Fill.ForegroundColor);
+ fillStyleEditor.backgroundColor.CurrentColor = Utility.ParseHTMLColor(t.Fill.BackgroundColor);
+ fillStyleEditor.fillCombo.SelectedValue = t.Fill.FillPattern;
+ if (fillStyleEditor.fillCombo.SelectedItem == null && fillStyleEditor.fillCombo.Items.Count > 0)
+ fillStyleEditor.fillCombo.SelectedIndex = fillStyleEditor.fillCombo.FindString(t.Fill.FillPattern);
+ }
+
+ lineStyleEditor.displayLine.Checked = t.Edge != null;
+ if (t.Edge != null)
+ {
+ lineStyleEditor.fillCombo.SelectedValue = t.Edge.LineStyle;
+ if (lineStyleEditor.fillCombo.SelectedItem == null && lineStyleEditor.fillCombo.Items.Count > 0)
+ lineStyleEditor.fillCombo.SelectedIndex = lineStyleEditor.fillCombo.FindString(t.Edge.LineStyle);
+
+ lineStyleEditor.colorCombo.CurrentColor = Utility.ParseHTMLColor(t.Edge.Color);
+ lineStyleEditor.thicknessCombo.Text = t.Edge.Thickness;
+ }
+
+ setUIForMarkSymbol(true);
+ }
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ {
+ FontSymbolType f = (FontSymbolType)m_item.Item;
+
+ // TODO: Dislike this hard coding, but with association from 'Shape' the 'Font...' string cannot be found or set from the Symbol combobox
+ Symbol.SelectedIndex = 6;
+
+ fontCombo.SelectedIndex = fontCombo.FindString(f.FontName);
+ if (string.Compare(fontCombo.Text, f.FontName, true) == 0)
+ fontCombo.Text = f.FontName;
+
+ comboBoxCharacter.SelectedIndex = comboBoxCharacter.FindString(f.Character);
+ if (comboBoxCharacter.Text != f.Character)
+ comboBoxCharacter.Text = f.Character;
+
+ FontBoldButton.Checked = f.Bold && f.BoldSpecified;
+ FontItalicButton.Checked = f.Italic && f.ItalicSpecified;
+ FontUnderlineButton.Checked = f.Underlined && f.UnderlinedSpecified;
+
+ if (string.IsNullOrEmpty(f.ForegroundColor))
+ colorFontForeground.CurrentColor = Color.Black;
+ else
+ colorFontForeground.CurrentColor = Utility.ParseHTMLColor(f.ForegroundColor);
+
+ setUIForMarkSymbol(false);
+ }
+ else
+ //TODO: Fix this
+ MessageBox.Show(this, Properties.Resources.SymbolTypeNotSupported, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ previewPicture.Refresh();
+ }
+ finally
+ {
+ m_inUpdate = false;
+ }
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PointFeatureStyleEditor));
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.RotationBox = new System.Windows.Forms.ComboBox();
+ this.RotationTable = new System.Data.DataTable();
+ this.dataColumn7 = new System.Data.DataColumn();
+ this.dataColumn8 = new System.Data.DataColumn();
+ this.label9 = new System.Windows.Forms.Label();
+ this.HeigthText = new System.Windows.Forms.ComboBox();
+ this.WidthText = new System.Windows.Forms.ComboBox();
+ this.SizeUnits = new System.Windows.Forms.ComboBox();
+ this.UnitsTable = new System.Data.DataTable();
+ this.dataColumn5 = new System.Data.DataColumn();
+ this.dataColumn6 = new System.Data.DataColumn();
+ this.SizeContext = new System.Windows.Forms.ComboBox();
+ this.SizeContextTable = new System.Data.DataTable();
+ this.dataColumn3 = new System.Data.DataColumn();
+ this.dataColumn4 = new System.Data.DataColumn();
+ this.Symbol = new System.Windows.Forms.ComboBox();
+ this.SymbolMarkTable = new System.Data.DataTable();
+ this.dataColumn1 = new System.Data.DataColumn();
+ this.dataColumn2 = new System.Data.DataColumn();
+ this.label5 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.fillStyleEditor = new FillStyleEditor();
+ this.groupBox3 = new System.Windows.Forms.GroupBox();
+ this.lineStyleEditor = new LineStyleEditor();
+ this.groupBox4 = new System.Windows.Forms.GroupBox();
+ this.previewPicture = new System.Windows.Forms.PictureBox();
+ this.ComboBoxDataSet = new System.Data.DataSet();
+ this.DisplayPoints = new System.Windows.Forms.CheckBox();
+ this.groupBoxFont = new System.Windows.Forms.GroupBox();
+ this.label11 = new System.Windows.Forms.Label();
+ this.colorFontForeground = new ColorComboWithTransparency();
+ this.panel1 = new System.Windows.Forms.Panel();
+ this.toolStrip1 = new System.Windows.Forms.ToolStrip();
+ this.FontBoldButton = new System.Windows.Forms.ToolStripButton();
+ this.FontItalicButton = new System.Windows.Forms.ToolStripButton();
+ this.FontUnderlineButton = new System.Windows.Forms.ToolStripButton();
+ this.lblForeground = new System.Windows.Forms.Label();
+ this.comboBoxCharacter = new System.Windows.Forms.ComboBox();
+ this.fontCombo = new System.Windows.Forms.ComboBox();
+ this.label10 = new System.Windows.Forms.Label();
+ this.groupBoxSymbolLocation = new System.Windows.Forms.GroupBox();
+ this.button1 = new System.Windows.Forms.Button();
+ this.ReferenceY = new System.Windows.Forms.TextBox();
+ this.label8 = new System.Windows.Forms.Label();
+ this.ReferenceX = new System.Windows.Forms.TextBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.MaintainAspectRatio = new System.Windows.Forms.CheckBox();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.RotationTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SymbolMarkTable)).BeginInit();
+ this.groupBox2.SuspendLayout();
+ this.groupBox3.SuspendLayout();
+ this.groupBox4.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).BeginInit();
+ this.groupBoxFont.SuspendLayout();
+ this.panel1.SuspendLayout();
+ this.toolStrip1.SuspendLayout();
+ this.groupBoxSymbolLocation.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ resources.ApplyResources(this.groupBox1, "groupBox1");
+ this.groupBox1.Controls.Add(this.RotationBox);
+ this.groupBox1.Controls.Add(this.label9);
+ this.groupBox1.Controls.Add(this.HeigthText);
+ this.groupBox1.Controls.Add(this.WidthText);
+ this.groupBox1.Controls.Add(this.SizeUnits);
+ this.groupBox1.Controls.Add(this.SizeContext);
+ this.groupBox1.Controls.Add(this.Symbol);
+ this.groupBox1.Controls.Add(this.label5);
+ this.groupBox1.Controls.Add(this.label4);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.TabStop = false;
+ //
+ // RotationBox
+ //
+ resources.ApplyResources(this.RotationBox, "RotationBox");
+ this.RotationBox.DataSource = this.RotationTable;
+ this.RotationBox.DisplayMember = "Display";
+ this.RotationBox.Name = "RotationBox";
+ this.RotationBox.ValueMember = "Value";
+ this.RotationBox.SelectedIndexChanged += new System.EventHandler(this.RotationBox_SelectedIndexChanged);
+ this.RotationBox.TextChanged += new System.EventHandler(this.RotationBox_TextChanged);
+ //
+ // RotationTable
+ //
+ this.RotationTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn7,
+ this.dataColumn8});
+ this.RotationTable.TableName = "Rotation";
+ //
+ // dataColumn7
+ //
+ this.dataColumn7.Caption = "Display";
+ this.dataColumn7.ColumnName = "Display";
+ //
+ // dataColumn8
+ //
+ this.dataColumn8.Caption = "Value";
+ this.dataColumn8.ColumnName = "Value";
+ //
+ // label9
+ //
+ resources.ApplyResources(this.label9, "label9");
+ this.label9.Name = "label9";
+ //
+ // HeigthText
+ //
+ resources.ApplyResources(this.HeigthText, "HeigthText");
+ this.HeigthText.Items.AddRange(new object[] {
+ resources.GetString("HeigthText.Items")});
+ this.HeigthText.Name = "HeigthText";
+ this.HeigthText.SelectedIndexChanged += new System.EventHandler(this.HeigthText_SelectedIndexChanged);
+ this.HeigthText.TextChanged += new System.EventHandler(this.HeigthText_TextChanged);
+ //
+ // WidthText
+ //
+ resources.ApplyResources(this.WidthText, "WidthText");
+ this.WidthText.Items.AddRange(new object[] {
+ resources.GetString("WidthText.Items")});
+ this.WidthText.Name = "WidthText";
+ this.WidthText.SelectedIndexChanged += new System.EventHandler(this.WidthText_SelectedIndexChanged);
+ this.WidthText.TextChanged += new System.EventHandler(this.WidthText_TextChanged);
+ //
+ // SizeUnits
+ //
+ resources.ApplyResources(this.SizeUnits, "SizeUnits");
+ this.SizeUnits.DataSource = this.UnitsTable;
+ this.SizeUnits.DisplayMember = "Display";
+ this.SizeUnits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.SizeUnits.Name = "SizeUnits";
+ this.SizeUnits.ValueMember = "Value";
+ this.SizeUnits.SelectedIndexChanged += new System.EventHandler(this.SizeUnits_SelectedIndexChanged);
+ //
+ // UnitsTable
+ //
+ this.UnitsTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn5,
+ this.dataColumn6});
+ this.UnitsTable.TableName = "Units";
+ //
+ // dataColumn5
+ //
+ this.dataColumn5.Caption = "Display";
+ this.dataColumn5.ColumnName = "Display";
+ //
+ // dataColumn6
+ //
+ this.dataColumn6.Caption = "Value";
+ this.dataColumn6.ColumnName = "Value";
+ //
+ // SizeContext
+ //
+ resources.ApplyResources(this.SizeContext, "SizeContext");
+ this.SizeContext.DataSource = this.SizeContextTable;
+ this.SizeContext.DisplayMember = "Display";
+ this.SizeContext.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.SizeContext.Name = "SizeContext";
+ this.SizeContext.ValueMember = "Value";
+ this.SizeContext.SelectedIndexChanged += new System.EventHandler(this.SizeContext_SelectedIndexChanged);
+ //
+ // SizeContextTable
+ //
+ this.SizeContextTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn3,
+ this.dataColumn4});
+ this.SizeContextTable.TableName = "SizeContext";
+ //
+ // dataColumn3
+ //
+ this.dataColumn3.Caption = "Display";
+ this.dataColumn3.ColumnName = "Display";
+ //
+ // dataColumn4
+ //
+ this.dataColumn4.Caption = "Value";
+ this.dataColumn4.ColumnName = "Value";
+ //
+ // Symbol
+ //
+ resources.ApplyResources(this.Symbol, "Symbol");
+ this.Symbol.DataSource = this.SymbolMarkTable;
+ this.Symbol.DisplayMember = "Display";
+ this.Symbol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.Symbol.Name = "Symbol";
+ this.Symbol.ValueMember = "Value";
+ this.Symbol.SelectedIndexChanged += new System.EventHandler(this.Symbol_SelectedIndexChanged);
+ //
+ // SymbolMarkTable
+ //
+ this.SymbolMarkTable.Columns.AddRange(new System.Data.DataColumn[] {
+ this.dataColumn1,
+ this.dataColumn2});
+ this.SymbolMarkTable.TableName = "SymbolMark";
+ //
+ // dataColumn1
+ //
+ this.dataColumn1.Caption = "Display";
+ this.dataColumn1.ColumnName = "Display";
+ //
+ // dataColumn2
+ //
+ this.dataColumn2.Caption = "Value";
+ this.dataColumn2.ColumnName = "Value";
+ //
+ // label5
+ //
+ resources.ApplyResources(this.label5, "label5");
+ this.label5.Name = "label5";
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // groupBox2
+ //
+ resources.ApplyResources(this.groupBox2, "groupBox2");
+ this.groupBox2.Controls.Add(this.fillStyleEditor);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.TabStop = false;
+ //
+ // fillStyleEditor
+ //
+ resources.ApplyResources(this.fillStyleEditor, "fillStyleEditor");
+ this.fillStyleEditor.Name = "fillStyleEditor";
+ //
+ // groupBox3
+ //
+ resources.ApplyResources(this.groupBox3, "groupBox3");
+ this.groupBox3.Controls.Add(this.lineStyleEditor);
+ this.groupBox3.Name = "groupBox3";
+ this.groupBox3.TabStop = false;
+ //
+ // lineStyleEditor
+ //
+ resources.ApplyResources(this.lineStyleEditor, "lineStyleEditor");
+ this.lineStyleEditor.Name = "lineStyleEditor";
+ //
+ // groupBox4
+ //
+ resources.ApplyResources(this.groupBox4, "groupBox4");
+ this.groupBox4.Controls.Add(this.previewPicture);
+ this.groupBox4.Name = "groupBox4";
+ this.groupBox4.TabStop = false;
+ //
+ // previewPicture
+ //
+ resources.ApplyResources(this.previewPicture, "previewPicture");
+ this.previewPicture.BackColor = System.Drawing.Color.White;
+ this.previewPicture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.previewPicture.Name = "previewPicture";
+ this.previewPicture.TabStop = false;
+ this.previewPicture.Paint += new System.Windows.Forms.PaintEventHandler(this.previewPicture_Paint);
+ //
+ // ComboBoxDataSet
+ //
+ this.ComboBoxDataSet.DataSetName = "ComboBoxDataSet";
+ this.ComboBoxDataSet.Locale = new System.Globalization.CultureInfo("da-DK");
+ this.ComboBoxDataSet.Tables.AddRange(new System.Data.DataTable[] {
+ this.SymbolMarkTable,
+ this.SizeContextTable,
+ this.UnitsTable,
+ this.RotationTable});
+ //
+ // DisplayPoints
+ //
+ resources.ApplyResources(this.DisplayPoints, "DisplayPoints");
+ this.DisplayPoints.Checked = true;
+ this.DisplayPoints.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.DisplayPoints.Name = "DisplayPoints";
+ this.DisplayPoints.UseVisualStyleBackColor = true;
+ this.DisplayPoints.CheckedChanged += new System.EventHandler(this.DisplayPoints_CheckedChanged);
+ //
+ // groupBoxFont
+ //
+ resources.ApplyResources(this.groupBoxFont, "groupBoxFont");
+ this.groupBoxFont.Controls.Add(this.label11);
+ this.groupBoxFont.Controls.Add(this.colorFontForeground);
+ this.groupBoxFont.Controls.Add(this.panel1);
+ this.groupBoxFont.Controls.Add(this.lblForeground);
+ this.groupBoxFont.Controls.Add(this.comboBoxCharacter);
+ this.groupBoxFont.Controls.Add(this.fontCombo);
+ this.groupBoxFont.Controls.Add(this.label10);
+ this.groupBoxFont.Name = "groupBoxFont";
+ this.groupBoxFont.TabStop = false;
+ //
+ // label11
+ //
+ resources.ApplyResources(this.label11, "label11");
+ this.label11.Name = "label11";
+ //
+ // colorFontForeground
+ //
+ resources.ApplyResources(this.colorFontForeground, "colorFontForeground");
+ this.colorFontForeground.CurrentColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
+ this.colorFontForeground.Name = "colorFontForeground";
+ //
+ // panel1
+ //
+ this.panel1.Controls.Add(this.toolStrip1);
+ resources.ApplyResources(this.panel1, "panel1");
+ this.panel1.Name = "panel1";
+ //
+ // toolStrip1
+ //
+ this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
+ this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.FontBoldButton,
+ this.FontItalicButton,
+ this.FontUnderlineButton});
+ resources.ApplyResources(this.toolStrip1, "toolStrip1");
+ this.toolStrip1.Name = "toolStrip1";
+ this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+ //
+ // FontBoldButton
+ //
+ this.FontBoldButton.CheckOnClick = true;
+ this.FontBoldButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+ resources.ApplyResources(this.FontBoldButton, "FontBoldButton");
+ this.FontBoldButton.Name = "FontBoldButton";
+ this.FontBoldButton.Click += new System.EventHandler(this.FontBoldButton_Click);
+ //
+ // FontItalicButton
+ //
+ this.FontItalicButton.CheckOnClick = true;
+ this.FontItalicButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+ resources.ApplyResources(this.FontItalicButton, "FontItalicButton");
+ this.FontItalicButton.Name = "FontItalicButton";
+ this.FontItalicButton.Click += new System.EventHandler(this.FontItalicButton_Click);
+ //
+ // FontUnderlineButton
+ //
+ this.FontUnderlineButton.CheckOnClick = true;
+ this.FontUnderlineButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+ resources.ApplyResources(this.FontUnderlineButton, "FontUnderlineButton");
+ this.FontUnderlineButton.Name = "FontUnderlineButton";
+ this.FontUnderlineButton.Click += new System.EventHandler(this.FontUnderlineButton_Click);
+ //
+ // lblForeground
+ //
+ resources.ApplyResources(this.lblForeground, "lblForeground");
+ this.lblForeground.Name = "lblForeground";
+ //
+ // comboBoxCharacter
+ //
+ resources.ApplyResources(this.comboBoxCharacter, "comboBoxCharacter");
+ this.comboBoxCharacter.DisplayMember = "Display";
+ this.comboBoxCharacter.Name = "comboBoxCharacter";
+ this.comboBoxCharacter.ValueMember = "Value";
+ this.comboBoxCharacter.SelectedIndexChanged += new System.EventHandler(this.comboBoxCharacter_SelectedIndexChanged);
+ this.comboBoxCharacter.TextChanged += new System.EventHandler(this.comboBoxCharacter_TextChanged);
+ //
+ // fontCombo
+ //
+ resources.ApplyResources(this.fontCombo, "fontCombo");
+ this.fontCombo.DisplayMember = "Display";
+ this.fontCombo.Name = "fontCombo";
+ this.fontCombo.ValueMember = "Value";
+ this.fontCombo.SelectedIndexChanged += new System.EventHandler(this.fontCombo_SelectedIndexChanged);
+ //
+ // label10
+ //
+ resources.ApplyResources(this.label10, "label10");
+ this.label10.Name = "label10";
+ //
+ // groupBoxSymbolLocation
+ //
+ resources.ApplyResources(this.groupBoxSymbolLocation, "groupBoxSymbolLocation");
+ this.groupBoxSymbolLocation.Controls.Add(this.button1);
+ this.groupBoxSymbolLocation.Controls.Add(this.ReferenceY);
+ this.groupBoxSymbolLocation.Controls.Add(this.label8);
+ this.groupBoxSymbolLocation.Controls.Add(this.ReferenceX);
+ this.groupBoxSymbolLocation.Controls.Add(this.label7);
+ this.groupBoxSymbolLocation.Controls.Add(this.label6);
+ this.groupBoxSymbolLocation.Controls.Add(this.MaintainAspectRatio);
+ this.groupBoxSymbolLocation.Name = "groupBoxSymbolLocation";
+ this.groupBoxSymbolLocation.TabStop = false;
+ //
+ // button1
+ //
+ resources.ApplyResources(this.button1, "button1");
+ this.button1.Name = "button1";
+ //
+ // ReferenceY
+ //
+ resources.ApplyResources(this.ReferenceY, "ReferenceY");
+ this.ReferenceY.Name = "ReferenceY";
+ //
+ // label8
+ //
+ resources.ApplyResources(this.label8, "label8");
+ this.label8.Name = "label8";
+ //
+ // ReferenceX
+ //
+ resources.ApplyResources(this.ReferenceX, "ReferenceX");
+ this.ReferenceX.Name = "ReferenceX";
+ //
+ // label7
+ //
+ resources.ApplyResources(this.label7, "label7");
+ this.label7.Name = "label7";
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // MaintainAspectRatio
+ //
+ resources.ApplyResources(this.MaintainAspectRatio, "MaintainAspectRatio");
+ this.MaintainAspectRatio.Name = "MaintainAspectRatio";
+ //
+ // PointFeatureStyleEditor
+ //
+ resources.ApplyResources(this, "$this");
+ this.Controls.Add(this.groupBoxSymbolLocation);
+ this.Controls.Add(this.groupBoxFont);
+ this.Controls.Add(this.DisplayPoints);
+ this.Controls.Add(this.groupBox4);
+ this.Controls.Add(this.groupBox2);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.groupBox3);
+ this.Name = "PointFeatureStyleEditor";
+ this.Load += new System.EventHandler(this.PointFeatureStyleEditor_Load);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.RotationTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.UnitsTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SizeContextTable)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.SymbolMarkTable)).EndInit();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox3.ResumeLayout(false);
+ this.groupBox4.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.previewPicture)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.ComboBoxDataSet)).EndInit();
+ this.groupBoxFont.ResumeLayout(false);
+ this.groupBoxFont.PerformLayout();
+ this.panel1.ResumeLayout(false);
+ this.panel1.PerformLayout();
+ this.toolStrip1.ResumeLayout(false);
+ this.toolStrip1.PerformLayout();
+ this.groupBoxSymbolLocation.ResumeLayout(false);
+ this.groupBoxSymbolLocation.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+ #endregion
+
+ private void PointFeatureStyleEditor_Load(object sender, System.EventArgs e)
+ {
+ UpdateDisplay();
+ }
+
+ private void previewPicture_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+ e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+ if (m_item != null && m_item.Item as MarkSymbolType != null)
+ FeaturePreviewRender.RenderPreviewPoint(e.Graphics, new Rectangle(1, 1, previewPicture.Width - 2, previewPicture.Height - 2), (MarkSymbolType)m_item.Item);
+ else if (m_item != null && m_item.Item as FontSymbolType != null)
+ FeaturePreviewRender.RenderPreviewFontSymbol(e.Graphics, new Rectangle(1, 1, previewPicture.Width - 2, previewPicture.Height - 2), (FontSymbolType)m_item.Item);
+ else
+ FeaturePreviewRender.RenderPreviewPoint(e.Graphics, new Rectangle(1, 1, previewPicture.Width - 2, previewPicture.Height - 2), null);
+ }
+
+ private void Symbol_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ bool isSymbol = false;
+ ShapeType selectedShape = ShapeType.Circle;
+
+ // see if need to change symbol type
+ foreach (string s in Enum.GetNames(typeof(ShapeType)))
+ if (string.Compare(s, (string)Symbol.SelectedValue, true) == 0)
+ {
+ selectedShape = (ShapeType)Enum.Parse(typeof(ShapeType), s);
+ isSymbol = true;
+ break;
+ }
+
+ if (m_item.Item is MarkSymbolType)
+ m_lastMark = (MarkSymbolType)m_item.Item;
+ else if (m_item.Item is FontSymbolType)
+ m_lastFont = (FontSymbolType)m_item.Item;
+
+ if (isSymbol)
+ {
+ bool update = m_item.Item != m_lastMark;
+
+ if (m_lastMark == null)
+ m_lastMark = new MarkSymbolType();
+
+ m_lastMark.Shape = selectedShape;
+ m_item.Item = m_lastMark;
+
+ setUIForMarkSymbol(true);
+ if (update)
+ UpdateDisplay();
+ }
+ else if (Symbol.SelectedIndex == 6)
+ {
+ // user wants to change away FROM a valid 'Mark' symbol type
+ // if ("Font..." == Symbol.SelectedText)
+
+ bool update = m_item.Item != m_lastFont;
+
+ if (m_lastFont == null)
+ {
+ m_lastFont = new FontSymbolType();
+ m_lastFont.SizeContext = SizeContextType.DeviceUnits;
+ m_lastFont.Rotation = "0";
+ m_lastFont.SizeX = "10";
+ m_lastFont.SizeY = "10";
+ m_lastFont.Unit = LengthUnitType.Points;
+ }
+
+ m_item.Item = m_lastFont;
+ setUIForMarkSymbol(false);
+ if (update)
+ UpdateDisplay();
+ }
+ else
+ {
+ MessageBox.Show(this, Properties.Resources.SymbolTypeNotSupported, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void SizeContext_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).SizeContext = (SizeContextType)Enum.Parse((typeof(SizeContextType)), (string)SizeContext.SelectedValue);
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ ((FontSymbolType)m_item.Item).SizeContext = (SizeContextType)Enum.Parse((typeof(SizeContextType)), (string)SizeContext.SelectedValue);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void SizeUnits_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).Unit = (LengthUnitType)Enum.Parse(typeof(LengthUnitType), (string)SizeUnits.SelectedValue);
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ ((FontSymbolType)m_item.Item).Unit = (LengthUnitType)Enum.Parse(typeof(LengthUnitType), (string)SizeUnits.SelectedValue);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ public delegate void UpdateComboTextFromSelectChangedDelegate(ComboBox owner, string text, bool userChange);
+
+ private void UpdateComboTextFromSelectChanged(ComboBox owner, string text, bool userChange)
+ {
+ try
+ {
+ if (!userChange)
+ m_inUpdate = true;
+ owner.SelectedIndex = -1;
+
+ //HACK: Odd bug, don't remove
+ if (owner.SelectedIndex != -1)
+ owner.SelectedIndex = -1;
+
+ owner.Text = text;
+ }
+ finally
+ {
+ if (!userChange)
+ m_inUpdate = false;
+ }
+ }
+
+ private void WidthText_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (WidthText.SelectedIndex == WidthText.Items.Count - 1)
+ {
+ string current = null;
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ current = ((MarkSymbolType)m_item.Item).SizeX;
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ current = ((FontSymbolType)m_item.Item).SizeX;
+
+ string expr = null;
+ if (current != null)
+ {
+ expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+ }
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), WidthText, current, expr != null);
+ }
+ }
+
+ private void HeigthText_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (HeigthText.SelectedIndex == HeigthText.Items.Count - 1)
+ {
+ string current = null;
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ current = ((MarkSymbolType)m_item.Item).SizeY;
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ current = ((FontSymbolType)m_item.Item).SizeY;
+
+ string expr = null;
+ if (current != null)
+ {
+ expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+ }
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), HeigthText, current, expr != null);
+ }
+ }
+
+ private void ReferenceX_TextChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ {
+ double d;
+ if (ReferenceX.Text.Trim().Length == 0)
+ ((MarkSymbolType)m_item.Item).InsertionPointY = 0.5;
+ else if (double.TryParse(ReferenceX.Text, System.Globalization.NumberStyles.Float, System.Threading.Thread.CurrentThread.CurrentUICulture, out d) || double.TryParse(ReferenceX.Text, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out d))
+ ((MarkSymbolType)m_item.Item).InsertionPointX = Math.Min(Math.Max(0.0, d), 1.0).ToString(System.Globalization.CultureInfo.InvariantCulture);
+ else
+ ((MarkSymbolType)m_item.Item).InsertionPointX = ReferenceX.Text;
+ }
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void ReferenceY_TextChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ {
+ double d;
+ if (double.TryParse(ReferenceY.Text, System.Globalization.NumberStyles.Float, System.Threading.Thread.CurrentThread.CurrentUICulture, out d) || double.TryParse(ReferenceY.Text, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out d))
+ ((MarkSymbolType)m_item.Item).InsertionPointY = Math.Min(Math.Max(0.0, d), 1.0);
+ else
+ ((MarkSymbolType)m_item.Item).InsertionPointY = 0.5;
+ }
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void RotationBox_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (RotationBox.SelectedIndex == RotationBox.Items.Count - 1)
+ {
+ string current = null;
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ current = ((MarkSymbolType)m_item.Item).Rotation;
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ current = ((FontSymbolType)m_item.Item).Rotation;
+
+ string expr = null;
+ if (current != null)
+ {
+ expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+ }
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), RotationBox, current, expr != null);
+ }
+ else if (RotationBox.SelectedIndex != -1)
+ {
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).Rotation = (string)RotationBox.SelectedValue;
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ ((FontSymbolType)m_item.Item).Rotation = (string)RotationBox.SelectedValue;
+
+ //RotationBox.SelectedIndex = -1;
+ }
+
+ }
+
+ private void displayFill_CheckedChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ if (fillStyleEditor.displayFill.Checked)
+ ((MarkSymbolType) m_item.Item).Fill = previousFill == null ? ObjectFactory.CreateDefaultFill() : previousFill;
+ else
+ {
+ if (((MarkSymbolType) m_item.Item).Fill != null)
+ previousFill = ((MarkSymbolType) m_item.Item).Fill;
+ ((MarkSymbolType) m_item.Item).Fill = null;
+ }
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void displayLine_CheckedChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ if (lineStyleEditor.displayLine.Checked)
+ ((MarkSymbolType) m_item.Item).Edge = previousEdge == null ? ObjectFactory.CreateDefaultStroke() : previousEdge;
+ else
+ {
+ if (((MarkSymbolType) m_item.Item).Edge != null)
+ previousEdge = ((MarkSymbolType) m_item.Item).Edge;
+ ((MarkSymbolType) m_item.Item).Edge = null;
+ }
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void fillCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType) m_item.Item).Fill.FillPattern = fillStyleEditor.fillCombo.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void foregroundColor_CurrentColorChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).Fill.ForegroundColor = Utility.SerializeHTMLColor(fillStyleEditor.foregroundColor.CurrentColor, true);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void backgroundColor_CurrentColorChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).Fill.BackgroundColor = Utility.SerializeHTMLColor(fillStyleEditor.backgroundColor.CurrentColor, true);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+
+ private void thicknessCombo_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || lineStyleEditor.thicknessCombo.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).Edge.Thickness = lineStyleEditor.thicknessCombo.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void thicknessCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || lineStyleEditor.thicknessCombo.SelectedIndex != lineStyleEditor.thicknessCombo.Items.Count - 1)
+ return;
+
+ string current = null;
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ current = ((MarkSymbolType)m_item.Item).Edge.Thickness;
+
+ string expr = null;
+ if (current != null)
+ {
+ expr = m_editor.EditExpression(current, m_schema, m_providername, m_featureSource);
+ if (!string.IsNullOrEmpty(expr))
+ current = expr;
+ }
+
+ //This is required as we cannot update the text from within the SelectedIndexChanged event :(
+ BeginInvoke(new UpdateComboTextFromSelectChangedDelegate(UpdateComboTextFromSelectChanged), lineStyleEditor.thicknessCombo, current, expr != null);
+ }
+
+ private void colorCombo_CurrentColorChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).Edge.Color = Utility.SerializeHTMLColor(lineStyleEditor.colorCombo.CurrentColor, true);
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void fillCombo_Line_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType) m_item.Item).Edge.LineStyle = lineStyleEditor.fillCombo.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void colourFontForeground_CurrentColorChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item.GetType() == typeof(FontSymbolType))
+ ((FontSymbolType)m_item.Item).ForegroundColor = Utility.SerializeHTMLColor(colorFontForeground.CurrentColor, true);
+
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void fontCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ //TODO: Validate
+ if (!(m_item.Item is FontSymbolType))
+ return;
+ ((FontSymbolType)m_item.Item).FontName = fontCombo.Text;
+
+ comboBoxCharacter.Items.Clear();
+ try
+ {
+ comboBoxCharacter.Font = new Font(fontCombo.SelectedText, (float)8.25);
+ }
+ catch
+ {
+ MessageBox.Show(this, string.Format(Properties.Resources.SymbolTypeNotSupported, fontCombo.SelectedText), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ return;
+ }
+
+ // populate with a basic A-Z
+ for (char c = 'A'; c < 'Z'; c++)
+ comboBoxCharacter.Items.Add(c);
+
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void comboBoxCharacter_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ //TODO: Validate
+ if (m_item.Item.GetType() != typeof(FontSymbolType))
+ return;
+ ((FontSymbolType)m_item.Item).Character = comboBoxCharacter.Text;
+
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void comboBoxCharacter_TextChanged(object sender, System.EventArgs e)
+ {
+ comboBoxCharacter_SelectedIndexChanged(sender, e);
+ }
+
+
+ public PointSymbolization2DType Item
+ {
+ get { return m_item; }
+ set
+ {
+ m_item = value;
+ UpdateDisplay();
+ }
+ }
+
+ private void DisplayPoints_CheckedChanged(object sender, EventArgs e)
+ {
+ foreach (Control c in this.Controls)
+ c.Enabled = c == DisplayPoints || DisplayPoints.Checked;
+
+ if (m_inUpdate)
+ return;
+
+ if (DisplayPoints.Checked)
+ {
+ if (DisplayPoints.Tag as PointSymbolization2DType != null)
+ this.Item = DisplayPoints.Tag as PointSymbolization2DType;
+ if (m_item == null)
+ this.Item = new PointSymbolization2DType();
+ }
+ else
+ {
+ DisplayPoints.Tag = m_item;
+ this.Item = null;
+ }
+ }
+
+ private void WidthText_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || WidthText.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).SizeX = WidthText.Text;
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ ((FontSymbolType)m_item.Item).SizeX = WidthText.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void HeigthText_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || HeigthText.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).SizeY = HeigthText.Text;
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ ((FontSymbolType)m_item.Item).SizeY = HeigthText.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void RotationBox_TextChanged(object sender, EventArgs e)
+ {
+ if (m_inUpdate || RotationBox.SelectedIndex != -1)
+ return;
+
+ //TODO: Validate
+ if (m_item.Item.GetType() == typeof(MarkSymbolType))
+ ((MarkSymbolType)m_item.Item).Rotation = RotationBox.Text;
+ else if (m_item.Item.GetType() == typeof(FontSymbolType))
+ ((FontSymbolType)m_item.Item).Rotation = RotationBox.Text;
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void ReferenceY_Leave(object sender, EventArgs e)
+ {
+ //double d;
+ //if (m_item.Item is MarkSymbolType)
+ // if (!double.TryParse(((MarkSymbolType)m_item.Item).InsertionPointY, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out d))
+ // MessageBox.Show(this, Properties.Resources.InsertionPointYError, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+ }
+
+ private void FontBoldButton_Click(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item is FontSymbolType)
+ {
+ ((FontSymbolType)m_item.Item).Bold = FontBoldButton.Checked;
+ ((FontSymbolType)m_item.Item).BoldSpecified = true;
+ }
+
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void FontItalicButton_Click(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item is FontSymbolType)
+ {
+ ((FontSymbolType)m_item.Item).Italic = FontItalicButton.Checked;
+ ((FontSymbolType)m_item.Item).ItalicSpecified = true;
+ }
+
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ private void FontUnderlineButton_Click(object sender, EventArgs e)
+ {
+ if (m_inUpdate)
+ return;
+
+ if (m_item.Item is FontSymbolType)
+ {
+ ((FontSymbolType)m_item.Item).Underlined = FontUnderlineButton.Checked;
+ ((FontSymbolType)m_item.Item).UnderlinedSpecified = true;
+ }
+
+ previewPicture.Refresh();
+ if (Changed != null)
+ Changed(this, new EventArgs());
+ }
+
+ internal void SetupForTheming()
+ {
+ fillStyleEditor.foregroundColor.Enabled =
+ lineStyleEditor.lblColor.Enabled =
+ colorFontForeground.Enabled =
+ lblForeground.Enabled =
+ DisplayPoints.Enabled =
+ fillStyleEditor.displayFill.Enabled =
+ false;
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/PointFeatureStyleEditor.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,1284 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="groupBox1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="RotationBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="RotationBox.Location" type="System.Drawing.Point, System.Drawing">
+ <value>128, 176</value>
+ </data>
+ <data name="RotationBox.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="RotationBox.TabIndex" type="System.Int32, mscorlib">
+ <value>29</value>
+ </data>
+ <data name=">>RotationBox.Name" xml:space="preserve">
+ <value>RotationBox</value>
+ </data>
+ <data name=">>RotationBox.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>RotationBox.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>RotationBox.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="label9.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label9.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 184</value>
+ </data>
+ <data name="label9.Size" type="System.Drawing.Size, System.Drawing">
+ <value>47, 13</value>
+ </data>
+ <data name="label9.TabIndex" type="System.Int32, mscorlib">
+ <value>28</value>
+ </data>
+ <data name="label9.Text" xml:space="preserve">
+ <value>Rotation</value>
+ </data>
+ <data name=">>label9.Name" xml:space="preserve">
+ <value>label9</value>
+ </data>
+ <data name=">>label9.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label9.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label9.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="HeigthText.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="HeigthText.Items" xml:space="preserve">
+ <value>Expression...</value>
+ </data>
+ <data name="HeigthText.Location" type="System.Drawing.Point, System.Drawing">
+ <value>128, 144</value>
+ </data>
+ <data name="HeigthText.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <data name="HeigthText.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>HeigthText.Name" xml:space="preserve">
+ <value>HeigthText</value>
+ </data>
+ <data name=">>HeigthText.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>HeigthText.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>HeigthText.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="WidthText.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="WidthText.Items" xml:space="preserve">
+ <value>Expression...</value>
+ </data>
+ <data name="WidthText.Location" type="System.Drawing.Point, System.Drawing">
+ <value>128, 112</value>
+ </data>
+ <data name="WidthText.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <data name="WidthText.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name=">>WidthText.Name" xml:space="preserve">
+ <value>WidthText</value>
+ </data>
+ <data name=">>WidthText.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>WidthText.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>WidthText.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="SizeUnits.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="SizeUnits.Location" type="System.Drawing.Point, System.Drawing">
+ <value>128, 80</value>
+ </data>
+ <data name="SizeUnits.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <data name="SizeUnits.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name=">>SizeUnits.Name" xml:space="preserve">
+ <value>SizeUnits</value>
+ </data>
+ <data name=">>SizeUnits.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>SizeUnits.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>SizeUnits.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="SizeContext.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="SizeContext.Location" type="System.Drawing.Point, System.Drawing">
+ <value>128, 48</value>
+ </data>
+ <data name="SizeContext.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <data name="SizeContext.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name=">>SizeContext.Name" xml:space="preserve">
+ <value>SizeContext</value>
+ </data>
+ <data name=">>SizeContext.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>SizeContext.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>SizeContext.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="Symbol.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="Symbol.Location" type="System.Drawing.Point, System.Drawing">
+ <value>128, 16</value>
+ </data>
+ <data name="Symbol.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <data name="Symbol.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name=">>Symbol.Name" xml:space="preserve">
+ <value>Symbol</value>
+ </data>
+ <data name=">>Symbol.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>Symbol.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>Symbol.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 152</value>
+ </data>
+ <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>38, 13</value>
+ </data>
+ <data name="label5.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="label5.Text" xml:space="preserve">
+ <value>Height</value>
+ </data>
+ <data name=">>label5.Name" xml:space="preserve">
+ <value>label5</value>
+ </data>
+ <data name=">>label5.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label5.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label5.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="label4.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 120</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>35, 13</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>Width</value>
+ </data>
+ <data name=">>label4.Name" xml:space="preserve">
+ <value>label4</value>
+ </data>
+ <data name=">>label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label4.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label4.ZOrder" xml:space="preserve">
+ <value>8</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 88</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>52, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Size units</value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>9</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 56</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Size context</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>10</value>
+ </data>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 24</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>41, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Symbol</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>11</value>
+ </data>
+ <data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 24</value>
+ </data>
+ <data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>344, 208</value>
+ </data>
+ <data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="groupBox1.Text" xml:space="preserve">
+ <value>Symbol style</value>
+ </data>
+ <data name=">>groupBox1.Name" xml:space="preserve">
+ <value>groupBox1</value>
+ </data>
+ <data name=">>groupBox1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox1.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="groupBox2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="fillStyleEditor.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="fillStyleEditor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>3, 16</value>
+ </data>
+ <data name="fillStyleEditor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>338, 149</value>
+ </data>
+ <data name="fillStyleEditor.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>fillStyleEditor.Name" xml:space="preserve">
+ <value>fillStyleEditor</value>
+ </data>
+ <data name=">>fillStyleEditor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.FillStyleEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>fillStyleEditor.Parent" xml:space="preserve">
+ <value>groupBox2</value>
+ </data>
+ <data name=">>fillStyleEditor.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 440</value>
+ </data>
+ <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>344, 168</value>
+ </data>
+ <data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="groupBox2.Text" xml:space="preserve">
+ <value>Symbol fill</value>
+ </data>
+ <data name=">>groupBox2.Name" xml:space="preserve">
+ <value>groupBox2</value>
+ </data>
+ <data name=">>groupBox2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox2.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="groupBox3.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="lineStyleEditor.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Fill</value>
+ </data>
+ <data name="lineStyleEditor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>3, 16</value>
+ </data>
+ <data name="lineStyleEditor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>338, 133</value>
+ </data>
+ <data name="lineStyleEditor.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>lineStyleEditor.Name" xml:space="preserve">
+ <value>lineStyleEditor</value>
+ </data>
+ <data name=">>lineStyleEditor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.LineStyleEditor, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>lineStyleEditor.Parent" xml:space="preserve">
+ <value>groupBox3</value>
+ </data>
+ <data name=">>lineStyleEditor.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 616</value>
+ </data>
+ <data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>344, 152</value>
+ </data>
+ <data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="groupBox3.Text" xml:space="preserve">
+ <value>Symbol border</value>
+ </data>
+ <data name=">>groupBox3.Name" xml:space="preserve">
+ <value>groupBox3</value>
+ </data>
+ <data name=">>groupBox3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox3.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox3.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="groupBox4.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="previewPicture.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="previewPicture.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="previewPicture.Size" type="System.Drawing.Size, System.Drawing">
+ <value>328, 24</value>
+ </data>
+ <data name="previewPicture.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>previewPicture.Name" xml:space="preserve">
+ <value>previewPicture</value>
+ </data>
+ <data name=">>previewPicture.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>previewPicture.Parent" xml:space="preserve">
+ <value>groupBox4</value>
+ </data>
+ <data name=">>previewPicture.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 776</value>
+ </data>
+ <data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>344, 48</value>
+ </data>
+ <data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="groupBox4.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name=">>groupBox4.Name" xml:space="preserve">
+ <value>groupBox4</value>
+ </data>
+ <data name=">>groupBox4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBox4.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBox4.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <metadata name="ComboBoxDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <data name="DisplayPoints.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="DisplayPoints.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="DisplayPoints.Size" type="System.Drawing.Size, System.Drawing">
+ <value>91, 17</value>
+ </data>
+ <data name="DisplayPoints.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="DisplayPoints.Text" xml:space="preserve">
+ <value>Display points</value>
+ </data>
+ <data name=">>DisplayPoints.Name" xml:space="preserve">
+ <value>DisplayPoints</value>
+ </data>
+ <data name=">>DisplayPoints.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DisplayPoints.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DisplayPoints.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="groupBoxFont.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="label11.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label11.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="label11.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 80</value>
+ </data>
+ <data name="label11.Size" type="System.Drawing.Size, System.Drawing">
+ <value>72, 13</value>
+ </data>
+ <data name="label11.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
+ </data>
+ <data name="label11.Text" xml:space="preserve">
+ <value>Transparency</value>
+ </data>
+ <data name=">>label11.Name" xml:space="preserve">
+ <value>label11</value>
+ </data>
+ <data name=">>label11.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label11.Parent" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>label11.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="colorFontForeground.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="colorFontForeground.Location" type="System.Drawing.Point, System.Drawing">
+ <value>96, 56</value>
+ </data>
+ <data name="colorFontForeground.Size" type="System.Drawing.Size, System.Drawing">
+ <value>136, 48</value>
+ </data>
+ <data name="colorFontForeground.TabIndex" type="System.Int32, mscorlib">
+ <value>14</value>
+ </data>
+ <data name=">>colorFontForeground.Name" xml:space="preserve">
+ <value>colorFontForeground</value>
+ </data>
+ <data name=">>colorFontForeground.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboWithTransparency, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4437, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>colorFontForeground.Parent" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>colorFontForeground.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>0, 0</value>
+ </metadata>
+ <data name="FontBoldButton.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Segoe UI, 9pt, style=Bold</value>
+ </data>
+ <data name="FontBoldButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI
+ ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9
+ HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN
+ rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K
+ TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx
+ oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8
+ 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI
+ xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX
+ LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd
+ KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC
+</value>
+ </data>
+ <data name="FontBoldButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="FontBoldButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="FontBoldButton.Text" xml:space="preserve">
+ <value>B</value>
+ </data>
+ <data name="FontBoldButton.ToolTipText" xml:space="preserve">
+ <value>Set bold font</value>
+ </data>
+ <data name="FontItalicButton.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Segoe UI, 9pt, style=Italic</value>
+ </data>
+ <data name="FontItalicButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI
+ ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9
+ HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN
+ rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K
+ TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx
+ oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8
+ 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI
+ xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX
+ LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd
+ KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC
+</value>
+ </data>
+ <data name="FontItalicButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="FontItalicButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="FontItalicButton.Text" xml:space="preserve">
+ <value>I</value>
+ </data>
+ <data name="FontItalicButton.ToolTipText" xml:space="preserve">
+ <value>Set italic font</value>
+ </data>
+ <data name="FontUnderlineButton.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Segoe UI, 9pt, style=Underline</value>
+ </data>
+ <data name="FontUnderlineButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI
+ ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9
+ HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN
+ rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K
+ TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx
+ oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8
+ 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI
+ xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX
+ LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd
+ KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC
+</value>
+ </data>
+ <data name="FontUnderlineButton.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
+ <value>Magenta</value>
+ </data>
+ <data name="FontUnderlineButton.Size" type="System.Drawing.Size, System.Drawing">
+ <value>23, 22</value>
+ </data>
+ <data name="FontUnderlineButton.Text" xml:space="preserve">
+ <value>U</value>
+ </data>
+ <data name="FontUnderlineButton.ToolTipText" xml:space="preserve">
+ <value>Set underlined font</value>
+ </data>
+ <data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 25</value>
+ </data>
+ <data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="toolStrip1.Text" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Name" xml:space="preserve">
+ <value>toolStrip1</value>
+ </data>
+ <data name=">>toolStrip1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>toolStrip1.Parent" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>toolStrip1.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>248, 56</value>
+ </data>
+ <data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 24</value>
+ </data>
+ <data name="panel1.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
+ </data>
+ <data name=">>panel1.Name" xml:space="preserve">
+ <value>panel1</value>
+ </data>
+ <data name=">>panel1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel1.Parent" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>panel1.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="lblForeground.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="lblForeground.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 56</value>
+ </data>
+ <data name="lblForeground.Size" type="System.Drawing.Size, System.Drawing">
+ <value>31, 13</value>
+ </data>
+ <data name="lblForeground.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="lblForeground.Text" xml:space="preserve">
+ <value>Color</value>
+ </data>
+ <data name=">>lblForeground.Name" xml:space="preserve">
+ <value>lblForeground</value>
+ </data>
+ <data name=">>lblForeground.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>lblForeground.Parent" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>lblForeground.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="comboBoxCharacter.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Right</value>
+ </data>
+ <data name="comboBoxCharacter.Location" type="System.Drawing.Point, System.Drawing">
+ <value>248, 24</value>
+ </data>
+ <data name="comboBoxCharacter.MaxLength" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="comboBoxCharacter.Size" type="System.Drawing.Size, System.Drawing">
+ <value>80, 21</value>
+ </data>
+ <data name="comboBoxCharacter.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>comboBoxCharacter.Name" xml:space="preserve">
+ <value>comboBoxCharacter</value>
+ </data>
+ <data name=">>comboBoxCharacter.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>comboBoxCharacter.Parent" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>comboBoxCharacter.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="fontCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="fontCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>96, 24</value>
+ </data>
+ <data name="fontCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>136, 21</value>
+ </data>
+ <data name="fontCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>fontCombo.Name" xml:space="preserve">
+ <value>fontCombo</value>
+ </data>
+ <data name=">>fontCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>fontCombo.Parent" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>fontCombo.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="label10.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label10.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 32</value>
+ </data>
+ <data name="label10.Size" type="System.Drawing.Size, System.Drawing">
+ <value>28, 13</value>
+ </data>
+ <data name="label10.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="label10.Text" xml:space="preserve">
+ <value>Font</value>
+ </data>
+ <data name=">>label10.Name" xml:space="preserve">
+ <value>label10</value>
+ </data>
+ <data name=">>label10.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label10.Parent" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>label10.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="groupBoxFont.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 240</value>
+ </data>
+ <data name="groupBoxFont.Size" type="System.Drawing.Size, System.Drawing">
+ <value>344, 112</value>
+ </data>
+ <data name="groupBoxFont.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name="groupBoxFont.Text" xml:space="preserve">
+ <value>Font style</value>
+ </data>
+ <data name=">>groupBoxFont.Name" xml:space="preserve">
+ <value>groupBoxFont</value>
+ </data>
+ <data name=">>groupBoxFont.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBoxFont.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBoxFont.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="groupBoxSymbolLocation.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="button1.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="button1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>284, 40</value>
+ </data>
+ <data name="button1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>24, 24</value>
+ </data>
+ <data name="button1.TabIndex" type="System.Int32, mscorlib">
+ <value>25</value>
+ </data>
+ <data name="button1.Text" xml:space="preserve">
+ <value>...</value>
+ </data>
+ <data name=">>button1.Name" xml:space="preserve">
+ <value>button1</value>
+ </data>
+ <data name=">>button1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>button1.Parent" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>button1.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="ReferenceY.Location" type="System.Drawing.Point, System.Drawing">
+ <value>228, 40</value>
+ </data>
+ <data name="ReferenceY.Size" type="System.Drawing.Size, System.Drawing">
+ <value>48, 20</value>
+ </data>
+ <data name="ReferenceY.TabIndex" type="System.Int32, mscorlib">
+ <value>24</value>
+ </data>
+ <data name=">>ReferenceY.Name" xml:space="preserve">
+ <value>ReferenceY</value>
+ </data>
+ <data name=">>ReferenceY.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ReferenceY.Parent" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>ReferenceY.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label8.Location" type="System.Drawing.Point, System.Drawing">
+ <value>212, 40</value>
+ </data>
+ <data name="label8.Size" type="System.Drawing.Size, System.Drawing">
+ <value>16, 16</value>
+ </data>
+ <data name="label8.TabIndex" type="System.Int32, mscorlib">
+ <value>23</value>
+ </data>
+ <data name="label8.Text" xml:space="preserve">
+ <value>Y</value>
+ </data>
+ <data name=">>label8.Name" xml:space="preserve">
+ <value>label8</value>
+ </data>
+ <data name=">>label8.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label8.Parent" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>label8.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="ReferenceX.Location" type="System.Drawing.Point, System.Drawing">
+ <value>140, 40</value>
+ </data>
+ <data name="ReferenceX.Size" type="System.Drawing.Size, System.Drawing">
+ <value>48, 20</value>
+ </data>
+ <data name="ReferenceX.TabIndex" type="System.Int32, mscorlib">
+ <value>22</value>
+ </data>
+ <data name=">>ReferenceX.Name" xml:space="preserve">
+ <value>ReferenceX</value>
+ </data>
+ <data name=">>ReferenceX.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ReferenceX.Parent" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>ReferenceX.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
+ <value>124, 40</value>
+ </data>
+ <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
+ <value>16, 16</value>
+ </data>
+ <data name="label7.TabIndex" type="System.Int32, mscorlib">
+ <value>21</value>
+ </data>
+ <data name="label7.Text" xml:space="preserve">
+ <value>X</value>
+ </data>
+ <data name=">>label7.Name" xml:space="preserve">
+ <value>label7</value>
+ </data>
+ <data name=">>label7.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label7.Parent" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>label7.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="label6.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 40</value>
+ </data>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>83, 13</value>
+ </data>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>20</value>
+ </data>
+ <data name="label6.Text" xml:space="preserve">
+ <value>Reference point</value>
+ </data>
+ <data name=">>label6.Name" xml:space="preserve">
+ <value>label6</value>
+ </data>
+ <data name=">>label6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label6.Parent" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>label6.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="MaintainAspectRatio.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="MaintainAspectRatio.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
+ <value>System</value>
+ </data>
+ <data name="MaintainAspectRatio.Location" type="System.Drawing.Point, System.Drawing">
+ <value>124, 16</value>
+ </data>
+ <data name="MaintainAspectRatio.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 16</value>
+ </data>
+ <data name="MaintainAspectRatio.TabIndex" type="System.Int32, mscorlib">
+ <value>19</value>
+ </data>
+ <data name="MaintainAspectRatio.Text" xml:space="preserve">
+ <value>Maintain aspect ratio</value>
+ </data>
+ <data name=">>MaintainAspectRatio.Name" xml:space="preserve">
+ <value>MaintainAspectRatio</value>
+ </data>
+ <data name=">>MaintainAspectRatio.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>MaintainAspectRatio.Parent" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>MaintainAspectRatio.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="groupBoxSymbolLocation.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 360</value>
+ </data>
+ <data name="groupBoxSymbolLocation.Size" type="System.Drawing.Size, System.Drawing">
+ <value>344, 72</value>
+ </data>
+ <data name="groupBoxSymbolLocation.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name="groupBoxSymbolLocation.Text" xml:space="preserve">
+ <value>Symbol location</value>
+ </data>
+ <data name=">>groupBoxSymbolLocation.Name" xml:space="preserve">
+ <value>groupBoxSymbolLocation</value>
+ </data>
+ <data name=">>groupBoxSymbolLocation.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>groupBoxSymbolLocation.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>groupBoxSymbolLocation.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScroll" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="$this.AutoScrollMinSize" type="System.Drawing.Size, System.Drawing">
+ <value>344, 824</value>
+ </data>
+ <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
+ <value>344, 824</value>
+ </data>
+ <data name=">>RotationTable.Name" xml:space="preserve">
+ <value>RotationTable</value>
+ </data>
+ <data name=">>RotationTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn7.Name" xml:space="preserve">
+ <value>dataColumn7</value>
+ </data>
+ <data name=">>dataColumn7.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn8.Name" xml:space="preserve">
+ <value>dataColumn8</value>
+ </data>
+ <data name=">>dataColumn8.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>UnitsTable.Name" xml:space="preserve">
+ <value>UnitsTable</value>
+ </data>
+ <data name=">>UnitsTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn5.Name" xml:space="preserve">
+ <value>dataColumn5</value>
+ </data>
+ <data name=">>dataColumn5.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn6.Name" xml:space="preserve">
+ <value>dataColumn6</value>
+ </data>
+ <data name=">>dataColumn6.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>SizeContextTable.Name" xml:space="preserve">
+ <value>SizeContextTable</value>
+ </data>
+ <data name=">>SizeContextTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn3.Name" xml:space="preserve">
+ <value>dataColumn3</value>
+ </data>
+ <data name=">>dataColumn3.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn4.Name" xml:space="preserve">
+ <value>dataColumn4</value>
+ </data>
+ <data name=">>dataColumn4.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>SymbolMarkTable.Name" xml:space="preserve">
+ <value>SymbolMarkTable</value>
+ </data>
+ <data name=">>SymbolMarkTable.Type" xml:space="preserve">
+ <value>System.Data.DataTable, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn1.Name" xml:space="preserve">
+ <value>dataColumn1</value>
+ </data>
+ <data name=">>dataColumn1.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>dataColumn2.Name" xml:space="preserve">
+ <value>dataColumn2</value>
+ </data>
+ <data name=">>dataColumn2.Type" xml:space="preserve">
+ <value>System.Data.DataColumn, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Name" xml:space="preserve">
+ <value>ComboBoxDataSet</value>
+ </data>
+ <data name=">>ComboBoxDataSet.Type" xml:space="preserve">
+ <value>System.Data.DataSet, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>FontBoldButton.Name" xml:space="preserve">
+ <value>FontBoldButton</value>
+ </data>
+ <data name=">>FontBoldButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>FontItalicButton.Name" xml:space="preserve">
+ <value>FontItalicButton</value>
+ </data>
+ <data name=">>FontItalicButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>FontUnderlineButton.Name" xml:space="preserve">
+ <value>FontUnderlineButton</value>
+ </data>
+ <data name=">>FontUnderlineButton.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>PointFeatureStyleEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,80 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+
+namespace Maestro.Editors.LayerDefinition.Vector.StyleEditors
+{
+ /// <summary>
+ /// Summary description for ScaleRangeEditor.
+ /// </summary>
+ public class ScaleRangeEditor : System.Windows.Forms.UserControl
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public ScaleRangeEditor()
+ {
+ // This call is required by the Windows.Forms Form Designer.
+ InitializeComponent();
+
+ // TODO: Add any initialization after the InitializeComponent call
+
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Component Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.SuspendLayout();
+ //
+ // ScaleRangeEditor
+ //
+ this.Name = "ScaleRangeEditor";
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/StyleEditors/ScaleRangeEditor.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ScaleRangeEditor</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Copied: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ColorBrewer.cs (from rev 5035, trunk/Tools/Maestro/Maestro/ResourceEditors/ColorBrewer.cs)
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ColorBrewer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ColorBrewer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,297 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Thematics
+{
+ /// <summary>
+ /// Represents a ColorBrewer color set
+ /// </summary>
+ public class ColorBrewer
+ {
+ private string m_name;
+ private string m_type;
+ private List<System.Drawing.Color> m_colors;
+
+ /// <summary>
+ /// Gets the name of the ColorBrewer set
+ /// </summary>
+ public string Name { get { return m_name; } }
+ /// <summary>
+ /// Gets the assigned type for the ColorBrewer set
+ /// </summary>
+ public string Type { get { return m_type; } }
+ /// <summary>
+ /// Gets the ordered list of colors to use
+ /// </summary>
+ public List<System.Drawing.Color> Colors { get { return m_colors; } }
+
+ /// <summary>
+ /// Constructs a new ColorBrewer instance
+ /// </summary>
+ /// <param name="name">The name of the set</param>
+ /// <param name="type">The set type</param>
+ /// <param name="colors">The colors in the set</param>
+ public ColorBrewer(string name, string type, List<System.Drawing.Color> colors)
+ {
+ m_name = name;
+ m_type = type;
+ m_colors = colors;
+ }
+
+ /// <summary>
+ /// Parses a CSV file for ColorBrewer setup, uses double quotes for text delimiter, and comma for record delimiter
+ /// </summary>
+ /// <param name="filename">The name of the file to parse</param>
+ /// <returns>A list of parsed ColorBrewer sets</returns>
+ public static List<ColorBrewer> ParseCSV(string filename)
+ {
+ return ParseCSV(filename, '"', ',');
+ }
+
+ /// <summary>
+ /// Parses a CSV file for ColorBrewer setup
+ /// </summary>
+ /// <param name="filename">The name of the file to parse</param>
+ /// <param name="recordDelimiter">The character used to delimit the records</param>
+ /// <param name="textDelimiter">The character used to enclose strings</param>
+ /// <returns>A list of parsed ColorBrewer sets</returns>
+ public static List<ColorBrewer> ParseCSV(string filename, char textDelimiter, char recordDelimiter)
+ {
+ using (System.IO.StreamReader sr = new System.IO.StreamReader(filename, System.Text.Encoding.UTF8, true))
+ {
+ List<ColorBrewer> result = new List<ColorBrewer>();
+ Dictionary<string, int> columns = new Dictionary<string, int>();
+ List<string> colnames = TokenizeLine(sr.ReadLine(), recordDelimiter, textDelimiter);
+
+ for (int i = 0; i < colnames.Count; i++)
+ colnames[i] = colnames[i].ToLower();
+
+ columns.Add("ColorName", colnames.IndexOf("colorname"));
+ columns.Add("NumOfColors", colnames.IndexOf("numofcolors"));
+ columns.Add("Type", colnames.IndexOf("type"));
+ columns.Add("CritVal", colnames.IndexOf("critval"));
+ columns.Add("ColorNum", colnames.IndexOf("colornum"));
+ columns.Add("ColorLetter", colnames.IndexOf("colorletter"));
+ columns.Add("R", colnames.IndexOf("r"));
+ columns.Add("G", colnames.IndexOf("g"));
+ columns.Add("B", colnames.IndexOf("b"));
+ columns.Add("SchemeType", colnames.IndexOf("schemetype"));
+
+ if (columns["ColorName"] < 0)
+ throw new Exception(string.Format(Properties.Resources.MissingColumnError, "ColorName"));
+ if (columns["Type"] < 0)
+ throw new Exception(string.Format(Properties.Resources.MissingColumnError, "Type"));
+ if (columns["NumOfColors"] < 0)
+ throw new Exception(string.Format(Properties.Resources.MissingColumnError, "NumOfColors"));
+ if (columns["R"] < 0)
+ throw new Exception(string.Format(Properties.Resources.MissingColumnError, "R"));
+ if (columns["G"] < 0)
+ throw new Exception(string.Format(Properties.Resources.MissingColumnError, "G"));
+ if (columns["B"] < 0)
+ throw new Exception(string.Format(Properties.Resources.MissingColumnError, "B"));
+
+ while (!sr.EndOfStream)
+ {
+ string line = sr.ReadLine();
+ List<string> values = TokenizeLine(line, recordDelimiter, textDelimiter);
+
+ if (values.Count != columns.Count)
+ throw new Exception(string.Format(Properties.Resources.InvalidFieldCountError, line));
+
+ string colorName = values[columns["ColorName"]];
+ string type = values[columns["Type"]];
+
+ if (string.IsNullOrEmpty(colorName) || string.IsNullOrEmpty(type))
+ continue; //Assume comment
+
+ int colorCount;
+ if (!int.TryParse(values[columns["NumOfColors"]], out colorCount))
+ continue; //Assume comment
+
+ List<System.Drawing.Color> colors = new List<System.Drawing.Color>();
+
+ while (!sr.EndOfStream && colorCount > 0)
+ {
+ if (!string.IsNullOrEmpty(line))
+ {
+ values = TokenizeLine(line, recordDelimiter, textDelimiter);
+ if (values.Count != colnames.Count)
+ throw new Exception(string.Format(Properties.Resources.InvalidRecordCountError, line));
+
+ byte r, g, b;
+ if (!byte.TryParse(values[columns["R"]], out r))
+ throw new Exception(string.Format(Properties.Resources.InvalidColorComponent, "R", values[columns["R"]], line));
+ if (!byte.TryParse(values[columns["G"]], out g))
+ throw new Exception(string.Format(Properties.Resources.InvalidColorComponent, "G", values[columns["G"]], line));
+ if (!byte.TryParse(values[columns["B"]], out b))
+ throw new Exception(string.Format(Properties.Resources.InvalidColorComponent, "B", values[columns["B"]], line));
+
+ colors.Add(System.Drawing.Color.FromArgb(r, g, b));
+ colorCount--;
+ }
+
+ if (colorCount > 0)
+ line = sr.ReadLine();
+ }
+
+ if (colorCount != 0)
+ throw new Exception(string.Format(Properties.Resources.ColorCountError, colorCount, line));
+
+ result.Add(new ColorBrewer(colorName, type, colors));
+ }
+
+ return result;
+ }
+ }
+
+ /// <summary>
+ /// Splits a line into record fields, and removes text delimiters
+ /// </summary>
+ /// <param name="line">The line to tokenize</param>
+ /// <param name="recordDelimiter">The character used to delimit the records</param>
+ /// <param name="textDelimiter">The character used to enclose strings</param>
+ /// <returns>A list of records</returns>
+ private static List<string> TokenizeLine(string line, char recordDelimiter, char textDelimiter)
+ {
+ if (string.IsNullOrEmpty(line))
+ return new List<string>();
+
+ bool inQuotes = false;
+ int startIndex = 0;
+ List<string> records = new List<string>();
+
+ for (int i = 0; i < line.Length; i++)
+ if (line[i] == textDelimiter)
+ inQuotes = !inQuotes;
+ else if (!inQuotes && line[i] == recordDelimiter)
+ {
+ string rec = line.Substring(startIndex, i - startIndex);
+ if (rec.StartsWith(textDelimiter.ToString()) && rec.EndsWith(textDelimiter.ToString()))
+ rec = rec.Substring(1, rec.Length - 2);
+ records.Add(rec);
+ startIndex = i+1;
+ }
+
+ if (startIndex <= line.Length)
+ {
+ string rec = line.Substring(startIndex);
+ if (rec.StartsWith(textDelimiter.ToString()) && rec.EndsWith(textDelimiter.ToString()))
+ rec = rec.Substring(1, rec.Length - 2);
+
+ records.Add(rec);
+ }
+
+ return records;
+ }
+
+ /// <summary>
+ /// Returns the objects string representation
+ /// </summary>
+ /// <returns>The string the represents the object</returns>
+ public override string ToString()
+ {
+ return m_name + " - " + DisplayType;
+ }
+
+ /// <summary>
+ /// Gets a display friendly version of the display type
+ /// </summary>
+ public string DisplayType
+ {
+ get
+ {
+ switch (m_type)
+ {
+ case "qual":
+ return Properties.Resources.QualitativeName;
+ case "seq":
+ return Properties.Resources.SequentialName;
+ case "div":
+ return Properties.Resources.DivergingName;
+ default:
+ return m_type;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Helper class to display ColorBrewer items in a list or combobox
+ /// </summary>
+ public class ColorBrewerListItem
+ {
+ /// <summary>
+ /// Indicates what type of string to use
+ /// </summary>
+ public enum DisplayMode
+ {
+ /// <summary>
+ /// Displays "Group - Name"
+ /// </summary>
+ Full,
+ /// <summary>
+ /// Just display the group
+ /// </summary>
+ Type,
+ /// <summary>
+ /// Just display the set name
+ /// </summary>
+ Set
+ }
+
+ /// <summary>
+ /// A reference to the set
+ /// </summary>
+ private ColorBrewer m_set;
+
+ /// <summary>
+ /// The current display mode
+ /// </summary>
+ private DisplayMode m_mode;
+
+ /// <summary>
+ /// Gets the ColorBrewer set
+ /// </summary>
+ public ColorBrewer Set { get { return m_set; } }
+
+ public ColorBrewerListItem(ColorBrewer set, DisplayMode mode)
+ {
+ m_set = set;
+ m_mode = mode;
+ }
+
+ /// <summary>
+ /// Returns a display version of the item
+ /// </summary>
+ /// <returns></returns>
+ public override string ToString()
+ {
+ if (m_mode == DisplayMode.Type)
+ return m_set.DisplayType;
+ else if (m_mode == DisplayMode.Set)
+ return m_set.Name;
+ else
+ return m_set.ToString();
+ }
+ }
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,849 @@
+#region Disclaimer / License
+// Copyright (C) 2009, Kenneth Skovhede
+// http://www.hexad.dk, opensource at hexad.dk
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+//
+#endregion
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using OSGeo.MapGuide.MaestroAPI;
+using Maestro.Editors.Common;
+using Ldf = OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.MaestroAPI.Exceptions;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+using Maestro.Editors.LayerDefinition.Vector.StyleEditors;
+using Maestro.Editors.LayerDefinition.Vector.Scales;
+using System.IO;
+
+namespace Maestro.Editors.LayerDefinition.Vector.Thematics
+{
+ public partial class ThemeCreator : Form
+ {
+ private const int PREVIEW_ITEM_BOX_WIDTH = 20;
+ private const int PREVIEW_ITEM_BOX_SPACING = 10;
+
+ private static List<ColorBrewer> m_colorBrewer;
+
+ private IEditorService m_editor;
+ private ILayerDefinition m_layer;
+ private FeatureSourceDescription.FeatureSourceSchema m_schema;
+ private Dictionary<object, long> m_values;
+ private Type m_dataType;
+
+ private object m_ruleCollection;
+ private object m_defaultItem;
+
+ private static readonly Type[] NUMERIC_TYPES = null;
+
+ private bool m_isUpdating = false;
+
+ private class RuleItem
+ {
+ public string Label;
+ public string Filter;
+ public Color Color;
+
+ public RuleItem(string Filter, string Label, Color Color)
+ {
+ this.Filter = Filter;
+ this.Label = Label;
+ this.Color = Color;
+ }
+ }
+
+ static ThemeCreator ()
+ {
+ NUMERIC_TYPES = new Type[] { typeof(byte), typeof(int), typeof(float), typeof(double) };
+ }
+
+ public ThemeCreator(IEditorService editor, ILayerDefinition layer, FeatureSourceDescription.FeatureSourceSchema schema, object ruleCollection)
+ : this()
+ {
+ m_editor = editor;
+ m_layer = layer;
+ m_schema = schema;
+ m_ruleCollection = ruleCollection;
+
+ ColorBrewerColorSet.SetCustomRender(new CustomCombo.RenderCustomItem(DrawColorSetPreview));
+ }
+
+ private bool DrawColorSetPreview(DrawItemEventArgs args, object o)
+ {
+ if (o is ColorBrewer.ColorBrewerListItem)
+ {
+ ColorBrewer cb = (o as ColorBrewer.ColorBrewerListItem).Set;
+ int maxItems = (args.Bounds.Width - 2) / 10;
+ int items = Math.Min(maxItems, cb.Colors.Count);
+
+ //Make odd number if there are too many
+ if (maxItems < cb.Colors.Count && items % 2 == 0)
+ items--;
+
+ int itemWidth = args.Bounds.Width / items;
+ int leftOffset = (args.Bounds.Width - (itemWidth * items)) / 2;
+
+ args.DrawBackground();
+
+ for (int i = 0; i < items; i++)
+ {
+ Rectangle area = new Rectangle(args.Bounds.Left + leftOffset + (i * itemWidth), args.Bounds.Top + 1, itemWidth, args.Bounds.Height - 3); ;
+
+ if (maxItems < cb.Colors.Count && i == items / 2)
+ {
+ RectangleF areaF = new RectangleF(area.X, area.Y, area.Width, area.Height);
+ System.Drawing.StringFormat sf = new StringFormat();
+ sf.Alignment = StringAlignment.Center;
+ using (Brush b = new SolidBrush(ColorBrewerColorSet.ForeColor))
+ args.Graphics.DrawString("...", ColorBrewerColorSet.Font, b, areaF, sf);
+ }
+ else
+ {
+ Color c = i < (items / 2) ? cb.Colors[i] : cb.Colors[cb.Colors.Count - (items - i)];
+ using (Brush b = new SolidBrush(c))
+ args.Graphics.FillRectangle(b, area);
+ args.Graphics.DrawRectangle(Pens.Black, area);
+ }
+
+ }
+
+ if (args.State == DrawItemState.Selected)
+ args.DrawFocusRectangle();
+
+ return true;
+ }
+ else
+ return false;
+ }
+
+
+ private ThemeCreator()
+ {
+ InitializeComponent();
+
+ GradientFromColor.ResetColors();
+ GradientToColor.ResetColors();
+
+ if (m_colorBrewer == null)
+ m_colorBrewer = ColorBrewer.ParseCSV(GetCsvPath());
+ }
+
+ private string GetCsvPath()
+ {
+ //First test root app path. If not there, try to write a copy from
+ //our embedded resource copy. If that fails, write to a temp file
+ //and return that path
+
+ string path = System.IO.Path.Combine(Application.StartupPath, "ColorBrewer.csv");
+ if (!File.Exists(path))
+ {
+ string content = Properties.Resources.ColorBrewer;
+ try
+ {
+ File.WriteAllText(path, content);
+ }
+ catch
+ {
+ path = Path.GetTempFileName();
+ File.WriteAllText(path, content);
+ }
+ }
+ return path;
+ }
+
+ private void ThemeCreator_Load(object sender, EventArgs e)
+ {
+ GradientFromColor.CurrentColor = Color.Red;
+ GradientToColor.CurrentColor = Color.Green;
+
+ ColumnCombo.Items.Clear();
+ ColumnCombo.Items.Add(Properties.Resources.SelectColumnPlaceholder);
+ ColumnCombo.SelectedIndex = 0;
+
+ foreach (FeatureSetColumn col in m_schema.Columns)
+ if (col.Type == typeof(string) || Array.IndexOf<Type>(NUMERIC_TYPES, col.Type) >= 0)
+ ColumnCombo.Items.Add(col.Name);
+ }
+
+ private void ColumnCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (ColumnCombo.SelectedIndex == 0)
+ {
+ //Dummy item selected, just disable the form
+ RuleCountPanel.Enabled =
+ GroupPanel.Enabled =
+ DisplayGroup.Enabled =
+ PreviewGroup.Enabled =
+ OKBtn.Enabled =
+ false;
+
+ }
+ else
+ {
+ DisplayGroup.Enabled =
+ PreviewGroup.Enabled =
+ OKBtn.Enabled =
+ true;
+
+ m_values = new Dictionary<object, long>();
+
+ FeatureSetColumn col = null;
+
+ foreach (FeatureSetColumn c in m_schema.Columns)
+ if (c.Name == ColumnCombo.Text)
+ {
+ col = c;
+ break;
+ }
+
+ //Not really possible
+ if (col == null)
+ throw new Exception(Properties.Resources.InvalidColumnNameError);
+
+ string filter = null; //Attempt raw reading initially
+ Exception rawEx = null; //Original exception
+ bool retry = true;
+
+ while (retry)
+ {
+ retry = false;
+ try
+ {
+ IVectorLayerDefinition vl = (IVectorLayerDefinition)m_layer.SubLayer;
+ using (FeatureSetReader rd = m_editor.FeatureService.QueryFeatureSource(vl.FeatureSourceID, m_schema.Fullname, filter, new string[] { col.Name }))
+ {
+ while (rd.Read() && m_values.Count < 100000) //No more than 100.000 records in memory
+ {
+ if (!rd.Row.IsValueNull(col.Name))
+ {
+ object value = rd.Row[col.Name];
+ if (!m_values.ContainsKey(value))
+ m_values.Add(value, 0);
+
+ m_values[value]++;
+ }
+ }
+ }
+
+ rawEx = null; //Clear error
+
+ }
+ catch (Exception ex)
+ {
+ rawEx = ex;
+ if (filter == null && ex.Message.IndexOf("MgNullPropertyValueException") >= 0) //Known issue
+ {
+ retry = true;
+ filter = "NOT " + col.Name + " NULL";
+ }
+ }
+ }
+
+ if (rawEx != null)
+ {
+ MessageBox.Show(this, string.Format(Properties.Resources.DataReadError, rawEx.Message), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ ColumnCombo.SelectedIndex = 0;
+ return;
+ }
+
+ if (m_values.Count == 0)
+ {
+ MessageBox.Show(this, Properties.Resources.ColumnHasNoValidDataError, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ ColumnCombo.SelectedIndex = 0;
+ return;
+ }
+
+ m_dataType = col.Type;
+
+ if (Array.IndexOf<Type>(NUMERIC_TYPES, col.Type) >= 0)
+ {
+ if (m_values.Count >= 100000)
+ MessageBox.Show(this, string.Format(Properties.Resources.TooMuchDataWarning, 100000), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ GroupPanel.Enabled = true;
+ RuleCountPanel.Enabled = true;
+ RuleCount.Minimum = 3;
+
+ if (m_values.Count <= 9)
+ {
+ AggregateCombo.SelectedIndex = AggregateCombo.Items.Count - 1;
+ AggregateCombo_SelectedIndexChanged(sender, e);
+
+ RefreshColorBrewerSet();
+ }
+ else
+ {
+ RuleCount.Value = 6;
+ if (!GradientColors.Checked)
+ ColorBrewerColors.Checked = true;
+
+ if (AggregateCombo.SelectedIndex < 0)
+ AggregateCombo.SelectedIndex = 0;
+ if (AggregateCombo.SelectedIndex == AggregateCombo.Items.Count - 1)
+ AggregateCombo.SelectedIndex = 0;
+ }
+
+ }
+ else //String type
+ {
+ if (m_values.Count > 100)
+ {
+ MessageBox.Show(this, string.Format(Properties.Resources.TooManyValuesError, 100), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ ColumnCombo.SelectedIndex = 0;
+ return;
+ }
+
+ RuleCountPanel.Enabled =
+ GroupPanel.Enabled =
+ false;
+
+ RuleCount.Minimum = 0;
+
+ //Select "Individual"
+ AggregateCombo.SelectedIndex = AggregateCombo.Items.Count - 1;
+ RuleCount.Value = m_values.Count;
+ GradientColors.Checked = true;
+
+ DisplayGroup.Enabled =
+ PreviewGroup.Enabled =
+ OKBtn.Enabled =
+ true;
+ }
+
+ RefreshColorBrewerSet();
+ RefreshPreview();
+ }
+ }
+
+ private void RefreshColorBrewerSet()
+ {
+ try
+ {
+ m_isUpdating = true;
+ string prevType = ColorBrewerDataType.Text;
+ ColorBrewerDataType.Items.Clear();
+
+ foreach (ColorBrewer cb in m_colorBrewer)
+ if (cb.Colors.Count == RuleCount.Value)
+ if (ColorBrewerDataType.FindString(cb.DisplayType) < 0)
+ ColorBrewerDataType.Items.Add(cb.DisplayType);
+
+ if (ColorBrewerDataType.FindString(prevType) >= 0)
+ ColorBrewerDataType.SelectedIndex = ColorBrewerDataType.FindString(prevType);
+ else if (ColorBrewerDataType.Items.Count > 0)
+ ColorBrewerDataType.SelectedIndex = 0;
+
+ if (ColorBrewerDataType.Items.Count == 0)
+ {
+ GradientColors.Checked = true;
+ ColorBrewerColors.Enabled = ColorBrewerLabel.Enabled = ColorBrewerPanel.Enabled = false;
+ }
+ else
+ {
+ ColorBrewerColors.Enabled = ColorBrewerLabel.Enabled = ColorBrewerPanel.Enabled = true;
+ if (!GradientColors.Checked)
+ ColorBrewerColors.Checked = true;
+ }
+ }
+ finally
+ {
+ m_isUpdating = false;
+ }
+ }
+
+ private List<RuleItem> CalculateRuleSet()
+ {
+ Color[] colors = BuildColorSet(false);
+ List<RuleItem> result = new List<RuleItem>();
+
+ if (AggregateCombo.SelectedIndex == 0 || AggregateCombo.SelectedIndex == 1 || AggregateCombo.SelectedIndex == 2)
+ {
+ double min = double.MaxValue;
+ double max = double.MinValue;
+ double mean = 0;
+ long count = 0;
+ foreach (KeyValuePair<object, long> entry in m_values)
+ {
+ double value = Convert.ToDouble(entry.Key);
+ min = Math.Min(value, min);
+ max = Math.Max(value, max);
+ mean += value * entry.Value;
+ count += entry.Value;
+ }
+
+ mean /= count;
+
+ if (AggregateCombo.SelectedIndex == 0) //Equal
+ {
+ double chunksize = (max - min) / colors.Length;
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" <= {1}", ColumnCombo.Text, FormatValue(chunksize + min)),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.LessThanLabel, FormatValue(chunksize + min)),
+ colors[0]));
+
+ for (int i = 1; i < colors.Length - 1; i++)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1} AND \"{0}\" <= {2}", ColumnCombo.Text, FormatValue(min + (i * chunksize)), FormatValue(min + ((i + 1) * chunksize))),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.BetweenLabel, FormatValue(min + (i * chunksize)), FormatValue(min + ((i + 1) * chunksize))),
+ colors[i]));
+
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1}", ColumnCombo.Text, FormatValue(max - chunksize)),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.MoreThanLabel, FormatValue(max - chunksize)),
+ colors[colors.Length - 1]));
+ }
+ else if (AggregateCombo.SelectedIndex == 1) //Standard Deviation
+ {
+ double dev = 0;
+ foreach (KeyValuePair<object, long> entry in m_values)
+ dev += ((Convert.ToDouble(entry.Key) - mean) * (Convert.ToDouble(entry.Key) - mean)) * entry.Value;
+
+ dev /= count;
+ dev = Math.Sqrt(dev);
+
+ double span = (dev * (colors.Length / 2));
+ double lower = mean < span ? span - mean : mean - span;
+
+ if (colors.Length % 2 == 1)
+ lower += dev / 2; //The middle item goes half an alpha to each side
+
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" < {1}", ColumnCombo.Text, FormatValue(lower + dev)),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.LessThanLabel, FormatValue(lower + dev)),
+ colors[0]));
+
+ for (int i = 1; i < colors.Length - 1; i++)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" >= {1} AND \"{0}\" < {2}", ColumnCombo.Text, FormatValue(lower + (i * dev)), FormatValue(lower + ((i + 1) * dev))),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.BetweenLabel, FormatValue(lower + (i * dev)), FormatValue(lower + ((i + 1) * dev))),
+ colors[i]));
+
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" >= {1}", ColumnCombo.Text, FormatValue(lower + (dev * (colors.Length - 1)))),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.MoreThanLabel, FormatValue(lower + (dev * (colors.Length - 1)))),
+ colors[colors.Length - 1]));
+
+ }
+ else if (AggregateCombo.SelectedIndex == 2) //Quantile
+ {
+ SortedDictionary<double, long> sort = new SortedDictionary<double, long>();
+ foreach (KeyValuePair<object, long> entry in m_values)
+ sort.Add(Convert.ToDouble(entry.Key), entry.Value);
+
+ double step = (1.0 / colors.Length) * count;
+ List<double> separators = new List<double>();
+ for(int i = 1; i < colors.Length; i++)
+ {
+ long limit = (long)Math.Round(step * i);
+ long cc = 0;
+ double item = double.NaN;
+
+ foreach(KeyValuePair<double, long> entry in sort)
+ {
+ item = entry.Key;
+ cc += entry.Value;
+ if (cc >= limit)
+ break;
+ }
+
+ separators.Add(item);
+ }
+
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" <= {1}", ColumnCombo.Text, FormatValue(separators[0])),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.LessThanLabel, FormatValue(separators[0])),
+ colors[0]));
+
+ for (int i = 1; i < colors.Length - 1; i++)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1} AND \"{0}\" <= {2}", ColumnCombo.Text, FormatValue(separators[i - 1]), FormatValue(separators[i])),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.BetweenLabel, FormatValue(separators[i - 1]), FormatValue(separators[i])),
+ colors[i]));
+
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" > {1}", ColumnCombo.Text, FormatValue(separators[separators.Count - 1])),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, Properties.Resources.MoreThanLabel, FormatValue(separators[separators.Count - 1])),
+ colors[colors.Length - 1]));
+ }
+ }
+ else if (AggregateCombo.SelectedIndex == 3) //Individual
+ {
+ List<object> items = new List<object>(m_values.Keys);
+ items.Sort(); //Handles types correctly
+
+ for (int i = 0; i < colors.Length; i++)
+ if (items[i] is string)
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = '{1}'", ColumnCombo.Text, items[i]),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", items[i]),
+ colors[i]));
+ else
+ result.Add(new RuleItem(
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "\"{0}\" = {1}", ColumnCombo.Text, items[i]),
+ string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", items[i]),
+ colors[i]));
+
+ }
+
+
+ return result;
+ }
+
+ private string FormatValue(double value)
+ {
+ if (m_dataType == typeof(double) || m_dataType == typeof(float))
+ return string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", value);
+ else
+ return string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}", (long)Math.Round(value));
+ }
+
+ /// <summary>
+ /// Redraws the preview image
+ /// </summary>
+ private void RefreshPreview()
+ {
+ //TODO: More efficitent to use the "onpaint" event
+ Bitmap bmp = new Bitmap(PreviewPicture.Width, PreviewPicture.Height);
+ using (Graphics g = Graphics.FromImage(bmp))
+ {
+
+ List<Color?> colors = new List<Color?>();
+ Color[] actualColors = BuildColorSet(true);
+ if (actualColors.Length > 0)
+ {
+
+ int num_boxes = (bmp.Width - PREVIEW_ITEM_BOX_SPACING) / (PREVIEW_ITEM_BOX_WIDTH + PREVIEW_ITEM_BOX_SPACING);
+ if (actualColors.Length > num_boxes)
+ {
+ if (num_boxes % 2 == 0)
+ num_boxes--;
+
+ int real = ((num_boxes - 1) / 2);
+ for (int i = 0; i < actualColors.Length; i++)
+ if (i < real || (actualColors.Length - i) <= real)
+ colors.Add(actualColors[i]);
+
+ colors.Insert(real, null);
+ }
+ else
+ {
+ for (int i = 0; i < actualColors.Length; i++)
+ colors.Add(actualColors[i]);
+ num_boxes = colors.Count;
+ }
+
+ int spacing = ((bmp.Width - PREVIEW_ITEM_BOX_SPACING) - (PREVIEW_ITEM_BOX_WIDTH * num_boxes)) / num_boxes;
+ int fullwidth = (spacing * (num_boxes - 1)) + (PREVIEW_ITEM_BOX_WIDTH * num_boxes);
+ int x = (bmp.Width - fullwidth) / 2;
+
+ int topy = bmp.Height / 4;
+ int height = topy * 2;
+
+
+ foreach (Color? c in colors)
+ {
+ if (!c.HasValue)
+ g.DrawString("...", new Font(FontFamily.GenericSansSerif, 12), Brushes.Black, x, topy);
+ else
+ {
+ g.DrawRectangle(Pens.Black, x, topy, PREVIEW_ITEM_BOX_WIDTH, height);
+ using (Brush b = new SolidBrush(c.Value))
+ g.FillRectangle(b, x, topy, PREVIEW_ITEM_BOX_WIDTH, height);
+ }
+ x += spacing + PREVIEW_ITEM_BOX_WIDTH;
+ }
+ }
+ }
+
+ System.Drawing.Image prevImage = PreviewPicture.Image;
+ PreviewPicture.Image = bmp;
+ if (prevImage != null)
+ prevImage.Dispose();
+ }
+
+ /// <summary>
+ /// Constructs the list of colors, based on the current selection
+ /// </summary>
+ /// <param name="forPreview">A value indicating if the color set is for preview use, which will put an upper limit on the number of generated colors</param>
+ /// <returns>A list of colors matching the user selection</returns>
+ private Color[] BuildColorSet(bool forPreview)
+ {
+ Color[] res = new Color[forPreview ? Math.Min((int)RuleCount.Value, 100) : (AggregateCombo.SelectedIndex == AggregateCombo.Items.Count - 1 ? m_values.Count : (int)RuleCount.Value)];
+
+ if (GradientColors.Checked)
+ {
+ double stepR, stepG, stepB;
+ stepR = (GradientToColor.CurrentColor.R - GradientFromColor.CurrentColor.R) / (double)res.Length;
+ stepG = (GradientToColor.CurrentColor.G - GradientFromColor.CurrentColor.G) / (double)res.Length;
+ stepB = (GradientToColor.CurrentColor.B - GradientFromColor.CurrentColor.B) / (double)res.Length;
+
+ Color startColor = GradientFromColor.CurrentColor;
+
+ for (int i = 0; i < res.Length; i++)
+ res[i] = Color.FromArgb(
+ Math.Min(255, Math.Max(0, (int)(startColor.R + Math.Round(i * stepR)))),
+ Math.Min(255, Math.Max(0, (int)(startColor.G + Math.Round(i * stepG)))),
+ Math.Min(255, Math.Max(0, (int)(startColor.B + Math.Round(i * stepB))))
+ );
+
+ }
+ else
+ {
+ if (ColorBrewerColorSet.SelectedItem == null)
+ return new Color[0];
+
+ ColorBrewer c = ((ColorBrewer.ColorBrewerListItem)ColorBrewerColorSet.SelectedItem).Set;
+ if (c == null)
+ return new Color[0];
+
+ for (int i = 0; i < res.Length; i++)
+ res[i] = c.Colors[i];
+ }
+
+ return res;
+ }
+
+ private void RuleCount_ValueChanged(object sender, EventArgs e)
+ {
+ RefreshColorBrewerSet();
+ RefreshPreview();
+ }
+
+ private void AggregateCombo_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (AggregateCombo.SelectedIndex == AggregateCombo.Items.Count - 1)
+ {
+ if (m_values.Count > 100)
+ {
+ MessageBox.Show(this, string.Format(Properties.Resources.TooManyIndiviualValuesError, 100), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ AggregateCombo.SelectedIndex = 0;
+ return;
+ }
+
+ RuleCount.Value = Math.Max(m_values.Count, RuleCount.Minimum);
+ if (!GradientColors.Checked && ColorBrewerColors.Enabled)
+ ColorBrewerColors.Checked = true;
+ else
+ GradientColors.Checked = true;
+
+ RuleCountPanel.Enabled = false;
+ RuleCount.Minimum = 0;
+ }
+ else if (AggregateCombo.Enabled)
+ {
+ RuleCountPanel.Enabled = true;
+ RuleCount.Minimum = 3;
+ }
+
+
+ RefreshPreview();
+ }
+
+ private void GradientColors_CheckedChanged(object sender, EventArgs e)
+ {
+ RefreshPreview();
+ }
+
+ private void ColorBrewerColors_CheckedChanged(object sender, EventArgs e)
+ {
+ RefreshPreview();
+ }
+
+ private void ColorBrewerColorSet_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (!m_isUpdating && ColorBrewerColorSet.SelectedIndex >= 0)
+ ColorBrewerColors.Checked = true;
+
+ RefreshPreview();
+ }
+
+ private void OKBtn_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ List<RuleItem> rules = CalculateRuleSet();
+
+ if (rules.Count > 1000)
+ {
+ if (MessageBox.Show(this, Properties.Resources.TooManyRulesWarning, Application.ProductName, MessageBoxButtons.YesNoCancel) != DialogResult.Yes)
+ return;
+ }
+
+ if (m_ruleCollection is PointTypeStyleType)
+ {
+ PointTypeStyleType col = m_ruleCollection as PointTypeStyleType;
+
+ if (OverwriteRules.Checked)
+ col.PointRule.Clear();
+
+ foreach (RuleItem entry in rules)
+ {
+ PointRuleType r = ObjectFactory.CreatePointRule();
+ r.Filter = entry.Filter;
+ r.LegendLabel = entry.Label;
+ if (r.Item.Item is MarkSymbolType)
+ {
+ ((MarkSymbolType)r.Item.Item).Fill.ForegroundColor = Utility.SerializeHTMLColor(entry.Color, true);
+ }
+ else if (r.Item.Item is FontSymbolType)
+ {
+ ((FontSymbolType)r.Item.Item).ForegroundColor = Utility.SerializeHTMLColor(entry.Color, true);
+ }
+
+ col.PointRule.Add(r);
+ }
+ }
+ else if (m_ruleCollection is LineTypeStyleType)
+ {
+ LineTypeStyleType col = m_ruleCollection as LineTypeStyleType;
+
+ if (OverwriteRules.Checked)
+ col.LineRule.Clear();
+
+ foreach (RuleItem entry in rules)
+ {
+ LineRuleType l = ObjectFactory.CreateLineRule();
+ l.Filter = entry.Filter;
+ l.LegendLabel = entry.Label;
+ l.Items[0].Color = Utility.SerializeHTMLColor(entry.Color, true);
+
+ col.LineRule.Add(l);
+ }
+ }
+ else if (m_ruleCollection is AreaTypeStyleType)
+ {
+ AreaTypeStyleType col = m_ruleCollection as AreaTypeStyleType;
+
+ if (OverwriteRules.Checked)
+ col.AreaRule.Clear();
+
+ foreach (RuleItem entry in rules)
+ {
+ AreaRuleType r = ObjectFactory.CreateAreaRule();
+ r.Filter = entry.Filter;
+ r.LegendLabel = entry.Label;
+ r.Item.Fill.ForegroundColor = Utility.SerializeHTMLColor(entry.Color, true);
+ col.AreaRule.Add(r);
+ }
+ }
+
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+ catch(Exception ex)
+ {
+ string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
+ //m_editor.SetLastException(ex);
+ MessageBox.Show(this, string.Format(Properties.Resources.GenericError, msg), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void CancelBtn_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.Cancel;
+ this.Close();
+ }
+
+ private void GradientFromColor_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (!m_isUpdating)
+ GradientColors.Checked = true;
+ RefreshPreview();
+ }
+
+ private void GradientToColor_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ if (!m_isUpdating)
+ GradientColors.Checked = true;
+ RefreshPreview();
+ }
+
+ private void ChangeBaseStyleBtn_Click(object sender, EventArgs e)
+ {
+ IVectorLayerDefinition vl = (IVectorLayerDefinition)m_layer.SubLayer;
+ UserControl uc = null;
+ if (m_ruleCollection is PointTypeStyleType)
+ {
+ uc = new PointFeatureStyleEditor(m_editor, m_schema, vl.FeatureSourceID);
+ ((PointFeatureStyleEditor)uc).Item = (PointSymbolization2DType)Utility.XmlDeepCopy(m_defaultItem);
+ ((PointFeatureStyleEditor)uc).SetupForTheming();
+ }
+ else if (m_ruleCollection is LineTypeStyleType)
+ {
+ uc = new LineFeatureStyleEditor(m_editor, m_schema, vl.FeatureSourceID);
+ var rule = ObjectFactory.CreateLineRule();
+ ((LineFeatureStyleEditor)uc).Item = rule.Items;
+ ((LineFeatureStyleEditor)uc).SetupForTheming();
+ }
+ else if (m_ruleCollection is AreaTypeStyleType)
+ {
+ uc = new AreaFeatureStyleEditor(m_editor, m_schema, vl.FeatureSourceID);
+ ((AreaFeatureStyleEditor)uc).Item = (AreaSymbolizationFillType)Utility.XmlDeepCopy(m_defaultItem);
+ ((AreaFeatureStyleEditor)uc).SetupForTheming();
+ }
+
+ if (uc != null)
+ {
+ EditorTemplateForm dlg = new EditorTemplateForm();
+ dlg.ItemPanel.Controls.Add(uc);
+ uc.Dock = DockStyle.Fill;
+ dlg.RefreshSize();
+
+ if (dlg.ShowDialog(this) == DialogResult.OK)
+ {
+ if (m_ruleCollection is PointTypeStyleType)
+ m_defaultItem = ((PointFeatureStyleEditor)uc).Item;
+ else if (m_ruleCollection is LineTypeStyleType)
+ m_defaultItem = ((LineFeatureStyleEditor)uc).Item;
+ else if (m_ruleCollection is AreaTypeStyleType)
+ m_defaultItem = ((AreaFeatureStyleEditor)uc).Item;
+ }
+ }
+
+ }
+
+ private void ColorBrewerDataType_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ string prevSet = ColorBrewerColorSet.Text;
+ ColorBrewerColorSet.Items.Clear();
+
+ foreach (ColorBrewer cb in m_colorBrewer)
+ if (cb.Colors.Count == RuleCount.Value && cb.DisplayType == ColorBrewerDataType.Text)
+ ColorBrewerColorSet.Items.Add(new ColorBrewer.ColorBrewerListItem(cb, ColorBrewer.ColorBrewerListItem.DisplayMode.Set));
+
+ if (ColorBrewerColorSet.FindString(prevSet) >= 0)
+ ColorBrewerColorSet.SelectedIndex = ColorBrewerColorSet.FindString(prevSet);
+ else if (ColorBrewerColorSet.Items.Count > 0)
+ ColorBrewerColorSet.SelectedIndex = 0;
+
+ if (!m_isUpdating)
+ ColorBrewerColors.Checked = true;
+
+ RefreshPreview();
+ }
+
+ private void ColorBrewerLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ m_editor.OpenUrl("http://colorbrewer.org/");
+ }
+
+ }
+}
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,367 @@
+using Maestro.Editors.Common;
+namespace Maestro.Editors.LayerDefinition.Vector.Thematics
+{
+ partial class ThemeCreator
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ThemeCreator));
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.AggregateLabel = new System.Windows.Forms.Label();
+ this.OverwriteRules = new System.Windows.Forms.RadioButton();
+ this.AppendRules = new System.Windows.Forms.RadioButton();
+ this.ColumnCombo = new System.Windows.Forms.ComboBox();
+ this.RuleCount = new System.Windows.Forms.NumericUpDown();
+ this.AggregateCombo = new System.Windows.Forms.ComboBox();
+ this.DataGroup = new System.Windows.Forms.GroupBox();
+ this.GroupPanel = new System.Windows.Forms.Panel();
+ this.RuleCountPanel = new System.Windows.Forms.Panel();
+ this.DisplayGroup = new System.Windows.Forms.GroupBox();
+ this.ColorBrewerPanel = new System.Windows.Forms.Panel();
+ this.label3 = new System.Windows.Forms.Label();
+ this.ColorBrewerDataType = new System.Windows.Forms.ComboBox();
+ this.ColorBrewerColorSet = new CustomCombo();
+ this.ColorBrewerLabel = new System.Windows.Forms.LinkLabel();
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.GradientToColor = new ColorComboBox();
+ this.GradientFromColor = new ColorComboBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.ChangeBaseStyleBtn = new System.Windows.Forms.Button();
+ this.ColorBrewerColors = new System.Windows.Forms.RadioButton();
+ this.GradientColors = new System.Windows.Forms.RadioButton();
+ this.PreviewGroup = new System.Windows.Forms.GroupBox();
+ this.PreviewPicture = new System.Windows.Forms.PictureBox();
+ this.ButtonPanel = new System.Windows.Forms.Panel();
+ this.CancelBtn = new System.Windows.Forms.Button();
+ this.OKBtn = new System.Windows.Forms.Button();
+ this.colorComboBox1 = new ColorComboBox();
+ ((System.ComponentModel.ISupportInitialize)(this.RuleCount)).BeginInit();
+ this.DataGroup.SuspendLayout();
+ this.GroupPanel.SuspendLayout();
+ this.RuleCountPanel.SuspendLayout();
+ this.DisplayGroup.SuspendLayout();
+ this.ColorBrewerPanel.SuspendLayout();
+ this.panel2.SuspendLayout();
+ this.PreviewGroup.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.PreviewPicture)).BeginInit();
+ this.ButtonPanel.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // AggregateLabel
+ //
+ resources.ApplyResources(this.AggregateLabel, "AggregateLabel");
+ this.AggregateLabel.Name = "AggregateLabel";
+ //
+ // OverwriteRules
+ //
+ resources.ApplyResources(this.OverwriteRules, "OverwriteRules");
+ this.OverwriteRules.Checked = true;
+ this.OverwriteRules.Name = "OverwriteRules";
+ this.OverwriteRules.TabStop = true;
+ this.OverwriteRules.UseVisualStyleBackColor = true;
+ //
+ // AppendRules
+ //
+ resources.ApplyResources(this.AppendRules, "AppendRules");
+ this.AppendRules.Name = "AppendRules";
+ this.AppendRules.UseVisualStyleBackColor = true;
+ //
+ // ColumnCombo
+ //
+ resources.ApplyResources(this.ColumnCombo, "ColumnCombo");
+ this.ColumnCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.ColumnCombo.FormattingEnabled = true;
+ this.ColumnCombo.Name = "ColumnCombo";
+ this.ColumnCombo.SelectedIndexChanged += new System.EventHandler(this.ColumnCombo_SelectedIndexChanged);
+ //
+ // RuleCount
+ //
+ resources.ApplyResources(this.RuleCount, "RuleCount");
+ this.RuleCount.Minimum = new decimal(new int[] {
+ 3,
+ 0,
+ 0,
+ 0});
+ this.RuleCount.Name = "RuleCount";
+ this.RuleCount.Value = new decimal(new int[] {
+ 3,
+ 0,
+ 0,
+ 0});
+ this.RuleCount.ValueChanged += new System.EventHandler(this.RuleCount_ValueChanged);
+ //
+ // AggregateCombo
+ //
+ resources.ApplyResources(this.AggregateCombo, "AggregateCombo");
+ this.AggregateCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.AggregateCombo.FormattingEnabled = true;
+ this.AggregateCombo.Items.AddRange(new object[] {
+ resources.GetString("AggregateCombo.Items"),
+ resources.GetString("AggregateCombo.Items1"),
+ resources.GetString("AggregateCombo.Items2"),
+ resources.GetString("AggregateCombo.Items3")});
+ this.AggregateCombo.Name = "AggregateCombo";
+ this.AggregateCombo.SelectedIndexChanged += new System.EventHandler(this.AggregateCombo_SelectedIndexChanged);
+ //
+ // DataGroup
+ //
+ resources.ApplyResources(this.DataGroup, "DataGroup");
+ this.DataGroup.Controls.Add(this.GroupPanel);
+ this.DataGroup.Controls.Add(this.RuleCountPanel);
+ this.DataGroup.Controls.Add(this.ColumnCombo);
+ this.DataGroup.Controls.Add(this.AppendRules);
+ this.DataGroup.Controls.Add(this.OverwriteRules);
+ this.DataGroup.Controls.Add(this.label1);
+ this.DataGroup.Name = "DataGroup";
+ this.DataGroup.TabStop = false;
+ //
+ // GroupPanel
+ //
+ this.GroupPanel.Controls.Add(this.AggregateLabel);
+ this.GroupPanel.Controls.Add(this.AggregateCombo);
+ resources.ApplyResources(this.GroupPanel, "GroupPanel");
+ this.GroupPanel.Name = "GroupPanel";
+ //
+ // RuleCountPanel
+ //
+ resources.ApplyResources(this.RuleCountPanel, "RuleCountPanel");
+ this.RuleCountPanel.Controls.Add(this.RuleCount);
+ this.RuleCountPanel.Controls.Add(this.label2);
+ this.RuleCountPanel.Name = "RuleCountPanel";
+ //
+ // DisplayGroup
+ //
+ resources.ApplyResources(this.DisplayGroup, "DisplayGroup");
+ this.DisplayGroup.Controls.Add(this.ColorBrewerPanel);
+ this.DisplayGroup.Controls.Add(this.ColorBrewerLabel);
+ this.DisplayGroup.Controls.Add(this.panel2);
+ this.DisplayGroup.Controls.Add(this.ChangeBaseStyleBtn);
+ this.DisplayGroup.Controls.Add(this.ColorBrewerColors);
+ this.DisplayGroup.Controls.Add(this.GradientColors);
+ this.DisplayGroup.Name = "DisplayGroup";
+ this.DisplayGroup.TabStop = false;
+ //
+ // ColorBrewerPanel
+ //
+ this.ColorBrewerPanel.Controls.Add(this.label3);
+ this.ColorBrewerPanel.Controls.Add(this.ColorBrewerDataType);
+ this.ColorBrewerPanel.Controls.Add(this.ColorBrewerColorSet);
+ resources.ApplyResources(this.ColorBrewerPanel, "ColorBrewerPanel");
+ this.ColorBrewerPanel.Name = "ColorBrewerPanel";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // ColorBrewerDataType
+ //
+ this.ColorBrewerDataType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.ColorBrewerDataType.FormattingEnabled = true;
+ resources.ApplyResources(this.ColorBrewerDataType, "ColorBrewerDataType");
+ this.ColorBrewerDataType.Name = "ColorBrewerDataType";
+ this.ColorBrewerDataType.SelectedIndexChanged += new System.EventHandler(this.ColorBrewerDataType_SelectedIndexChanged);
+ //
+ // ColorBrewerColorSet
+ //
+ this.ColorBrewerColorSet.DropDownWidth = 150;
+ this.ColorBrewerColorSet.FormattingEnabled = true;
+ resources.ApplyResources(this.ColorBrewerColorSet, "ColorBrewerColorSet");
+ this.ColorBrewerColorSet.Name = "ColorBrewerColorSet";
+ this.ColorBrewerColorSet.SelectedIndexChanged += new System.EventHandler(this.ColorBrewerColorSet_SelectedIndexChanged);
+ //
+ // ColorBrewerLabel
+ //
+ resources.ApplyResources(this.ColorBrewerLabel, "ColorBrewerLabel");
+ this.ColorBrewerLabel.Name = "ColorBrewerLabel";
+ this.ColorBrewerLabel.TabStop = true;
+ this.ColorBrewerLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.ColorBrewerLabel_LinkClicked);
+ //
+ // panel2
+ //
+ this.panel2.Controls.Add(this.GradientToColor);
+ this.panel2.Controls.Add(this.GradientFromColor);
+ this.panel2.Controls.Add(this.label4);
+ resources.ApplyResources(this.panel2, "panel2");
+ this.panel2.Name = "panel2";
+ //
+ // GradientToColor
+ //
+ this.GradientToColor.FormattingEnabled = true;
+ resources.ApplyResources(this.GradientToColor, "GradientToColor");
+ this.GradientToColor.Name = "GradientToColor";
+ this.GradientToColor.SelectedIndexChanged += new System.EventHandler(this.GradientToColor_SelectedIndexChanged);
+ //
+ // GradientFromColor
+ //
+ this.GradientFromColor.FormattingEnabled = true;
+ resources.ApplyResources(this.GradientFromColor, "GradientFromColor");
+ this.GradientFromColor.Name = "GradientFromColor";
+ this.GradientFromColor.SelectedIndexChanged += new System.EventHandler(this.GradientFromColor_SelectedIndexChanged);
+ //
+ // label4
+ //
+ resources.ApplyResources(this.label4, "label4");
+ this.label4.Name = "label4";
+ //
+ // ChangeBaseStyleBtn
+ //
+ resources.ApplyResources(this.ChangeBaseStyleBtn, "ChangeBaseStyleBtn");
+ this.ChangeBaseStyleBtn.Name = "ChangeBaseStyleBtn";
+ this.ChangeBaseStyleBtn.UseVisualStyleBackColor = true;
+ this.ChangeBaseStyleBtn.Click += new System.EventHandler(this.ChangeBaseStyleBtn_Click);
+ //
+ // ColorBrewerColors
+ //
+ resources.ApplyResources(this.ColorBrewerColors, "ColorBrewerColors");
+ this.ColorBrewerColors.Name = "ColorBrewerColors";
+ this.ColorBrewerColors.TabStop = true;
+ this.ColorBrewerColors.UseVisualStyleBackColor = true;
+ this.ColorBrewerColors.CheckedChanged += new System.EventHandler(this.ColorBrewerColors_CheckedChanged);
+ //
+ // GradientColors
+ //
+ resources.ApplyResources(this.GradientColors, "GradientColors");
+ this.GradientColors.Name = "GradientColors";
+ this.GradientColors.TabStop = true;
+ this.GradientColors.UseVisualStyleBackColor = true;
+ this.GradientColors.CheckedChanged += new System.EventHandler(this.GradientColors_CheckedChanged);
+ //
+ // PreviewGroup
+ //
+ resources.ApplyResources(this.PreviewGroup, "PreviewGroup");
+ this.PreviewGroup.Controls.Add(this.PreviewPicture);
+ this.PreviewGroup.Name = "PreviewGroup";
+ this.PreviewGroup.TabStop = false;
+ //
+ // PreviewPicture
+ //
+ resources.ApplyResources(this.PreviewPicture, "PreviewPicture");
+ this.PreviewPicture.Name = "PreviewPicture";
+ this.PreviewPicture.TabStop = false;
+ //
+ // ButtonPanel
+ //
+ this.ButtonPanel.Controls.Add(this.CancelBtn);
+ this.ButtonPanel.Controls.Add(this.OKBtn);
+ resources.ApplyResources(this.ButtonPanel, "ButtonPanel");
+ this.ButtonPanel.Name = "ButtonPanel";
+ //
+ // CancelBtn
+ //
+ resources.ApplyResources(this.CancelBtn, "CancelBtn");
+ this.CancelBtn.Name = "CancelBtn";
+ this.CancelBtn.UseVisualStyleBackColor = true;
+ this.CancelBtn.Click += new System.EventHandler(this.CancelBtn_Click);
+ //
+ // OKBtn
+ //
+ resources.ApplyResources(this.OKBtn, "OKBtn");
+ this.OKBtn.Name = "OKBtn";
+ this.OKBtn.UseVisualStyleBackColor = true;
+ this.OKBtn.Click += new System.EventHandler(this.OKBtn_Click);
+ //
+ // colorComboBox1
+ //
+ resources.ApplyResources(this.colorComboBox1, "colorComboBox1");
+ this.colorComboBox1.Name = "colorComboBox1";
+ //
+ // ThemeCreator
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.ButtonPanel);
+ this.Controls.Add(this.PreviewGroup);
+ this.Controls.Add(this.DisplayGroup);
+ this.Controls.Add(this.DataGroup);
+ this.Name = "ThemeCreator";
+ this.Load += new System.EventHandler(this.ThemeCreator_Load);
+ ((System.ComponentModel.ISupportInitialize)(this.RuleCount)).EndInit();
+ this.DataGroup.ResumeLayout(false);
+ this.DataGroup.PerformLayout();
+ this.GroupPanel.ResumeLayout(false);
+ this.GroupPanel.PerformLayout();
+ this.RuleCountPanel.ResumeLayout(false);
+ this.RuleCountPanel.PerformLayout();
+ this.DisplayGroup.ResumeLayout(false);
+ this.DisplayGroup.PerformLayout();
+ this.ColorBrewerPanel.ResumeLayout(false);
+ this.ColorBrewerPanel.PerformLayout();
+ this.panel2.ResumeLayout(false);
+ this.panel2.PerformLayout();
+ this.PreviewGroup.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.PreviewPicture)).EndInit();
+ this.ButtonPanel.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label AggregateLabel;
+ private System.Windows.Forms.RadioButton OverwriteRules;
+ private System.Windows.Forms.RadioButton AppendRules;
+ private System.Windows.Forms.ComboBox ColumnCombo;
+ private System.Windows.Forms.NumericUpDown RuleCount;
+ private System.Windows.Forms.ComboBox AggregateCombo;
+ private System.Windows.Forms.GroupBox DataGroup;
+ private System.Windows.Forms.GroupBox DisplayGroup;
+ private System.Windows.Forms.GroupBox PreviewGroup;
+ private System.Windows.Forms.Panel ButtonPanel;
+ private System.Windows.Forms.Button CancelBtn;
+ private System.Windows.Forms.Button OKBtn;
+ private System.Windows.Forms.Panel panel2;
+ private System.Windows.Forms.Button ChangeBaseStyleBtn;
+ private System.Windows.Forms.RadioButton ColorBrewerColors;
+ private System.Windows.Forms.RadioButton GradientColors;
+ private CustomCombo ColorBrewerColorSet;
+ private System.Windows.Forms.Label label4;
+ private ColorComboBox colorComboBox1;
+ private System.Windows.Forms.Panel RuleCountPanel;
+ private ColorComboBox GradientToColor;
+ private ColorComboBox GradientFromColor;
+ private System.Windows.Forms.PictureBox PreviewPicture;
+ private System.Windows.Forms.Panel GroupPanel;
+ private System.Windows.Forms.Panel ColorBrewerPanel;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.ComboBox ColorBrewerDataType;
+ private System.Windows.Forms.LinkLabel ColorBrewerLabel;
+ }
+}
\ No newline at end of file
Added: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/Thematics/ThemeCreator.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,882 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>42, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Column</value>
+ </data>
+ <data name=">>label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name=">>label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label1.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>label1.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>56, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Rulecount</value>
+ </data>
+ <data name=">>label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name=">>label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label2.Parent" xml:space="preserve">
+ <value>RuleCountPanel</value>
+ </data>
+ <data name=">>label2.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="AggregateLabel.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="AggregateLabel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="AggregateLabel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>74, 13</value>
+ </data>
+ <data name="AggregateLabel.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="AggregateLabel.Text" xml:space="preserve">
+ <value>Group method</value>
+ </data>
+ <data name=">>AggregateLabel.Name" xml:space="preserve">
+ <value>AggregateLabel</value>
+ </data>
+ <data name=">>AggregateLabel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>AggregateLabel.Parent" xml:space="preserve">
+ <value>GroupPanel</value>
+ </data>
+ <data name=">>AggregateLabel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="OverwriteRules.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="OverwriteRules.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 88</value>
+ </data>
+ <data name="OverwriteRules.Size" type="System.Drawing.Size, System.Drawing">
+ <value>133, 17</value>
+ </data>
+ <data name="OverwriteRules.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="OverwriteRules.Text" xml:space="preserve">
+ <value>Overwrite existing rules</value>
+ </data>
+ <data name=">>OverwriteRules.Name" xml:space="preserve">
+ <value>OverwriteRules</value>
+ </data>
+ <data name=">>OverwriteRules.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>OverwriteRules.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>OverwriteRules.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="AppendRules.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="AppendRules.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 112</value>
+ </data>
+ <data name="AppendRules.Size" type="System.Drawing.Size, System.Drawing">
+ <value>87, 17</value>
+ </data>
+ <data name="AppendRules.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="AppendRules.Text" xml:space="preserve">
+ <value>Append rules</value>
+ </data>
+ <data name=">>AppendRules.Name" xml:space="preserve">
+ <value>AppendRules</value>
+ </data>
+ <data name=">>AppendRules.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>AppendRules.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>AppendRules.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="ColumnCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="ColumnCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>104, 16</value>
+ </data>
+ <data name="ColumnCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <data name="ColumnCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name=">>ColumnCombo.Name" xml:space="preserve">
+ <value>ColumnCombo</value>
+ </data>
+ <data name=">>ColumnCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ColumnCombo.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>ColumnCombo.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="RuleCount.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="RuleCount.Location" type="System.Drawing.Point, System.Drawing">
+ <value>96, 0</value>
+ </data>
+ <data name="RuleCount.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 20</value>
+ </data>
+ <data name="RuleCount.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name=">>RuleCount.Name" xml:space="preserve">
+ <value>RuleCount</value>
+ </data>
+ <data name=">>RuleCount.Type" xml:space="preserve">
+ <value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>RuleCount.Parent" xml:space="preserve">
+ <value>RuleCountPanel</value>
+ </data>
+ <data name=">>RuleCount.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="AggregateCombo.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="AggregateCombo.Items" xml:space="preserve">
+ <value>Equal</value>
+ </data>
+ <data name="AggregateCombo.Items1" xml:space="preserve">
+ <value>Standard Deviation</value>
+ </data>
+ <data name="AggregateCombo.Items2" xml:space="preserve">
+ <value>Quantile</value>
+ </data>
+ <data name="AggregateCombo.Items3" xml:space="preserve">
+ <value>Individual</value>
+ </data>
+ <data name="AggregateCombo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>96, 0</value>
+ </data>
+ <data name="AggregateCombo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>208, 21</value>
+ </data>
+ <data name="AggregateCombo.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name=">>AggregateCombo.Name" xml:space="preserve">
+ <value>AggregateCombo</value>
+ </data>
+ <data name=">>AggregateCombo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>AggregateCombo.Parent" xml:space="preserve">
+ <value>GroupPanel</value>
+ </data>
+ <data name=">>AggregateCombo.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="DataGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="GroupPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 40</value>
+ </data>
+ <data name="GroupPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>304, 24</value>
+ </data>
+ <data name="GroupPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name=">>GroupPanel.Name" xml:space="preserve">
+ <value>GroupPanel</value>
+ </data>
+ <data name=">>GroupPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>GroupPanel.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>GroupPanel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="RuleCountPanel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="RuleCountPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 64</value>
+ </data>
+ <data name="RuleCountPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>304, 24</value>
+ </data>
+ <data name="RuleCountPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>RuleCountPanel.Name" xml:space="preserve">
+ <value>RuleCountPanel</value>
+ </data>
+ <data name=">>RuleCountPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>RuleCountPanel.Parent" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>RuleCountPanel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="DataGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 8</value>
+ </data>
+ <data name="DataGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>320, 136</value>
+ </data>
+ <data name="DataGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name="DataGroup.Text" xml:space="preserve">
+ <value>Data setup</value>
+ </data>
+ <data name=">>DataGroup.Name" xml:space="preserve">
+ <value>DataGroup</value>
+ </data>
+ <data name=">>DataGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DataGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DataGroup.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="DisplayGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>90, 3</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>16, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>-></value>
+ </data>
+ <data name=">>label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name=">>label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label3.Parent" xml:space="preserve">
+ <value>ColorBrewerPanel</value>
+ </data>
+ <data name=">>label3.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="ColorBrewerDataType.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="ColorBrewerDataType.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 21</value>
+ </data>
+ <data name="ColorBrewerDataType.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name=">>ColorBrewerDataType.Name" xml:space="preserve">
+ <value>ColorBrewerDataType</value>
+ </data>
+ <data name=">>ColorBrewerDataType.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ColorBrewerDataType.Parent" xml:space="preserve">
+ <value>ColorBrewerPanel</value>
+ </data>
+ <data name=">>ColorBrewerDataType.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="ColorBrewerColorSet.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 0</value>
+ </data>
+ <data name="ColorBrewerColorSet.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 21</value>
+ </data>
+ <data name="ColorBrewerColorSet.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name=">>ColorBrewerColorSet.Name" xml:space="preserve">
+ <value>ColorBrewerColorSet</value>
+ </data>
+ <data name=">>ColorBrewerColorSet.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.CustomCombo, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>ColorBrewerColorSet.Parent" xml:space="preserve">
+ <value>ColorBrewerPanel</value>
+ </data>
+ <data name=">>ColorBrewerColorSet.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="ColorBrewerPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 48</value>
+ </data>
+ <data name="ColorBrewerPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>200, 24</value>
+ </data>
+ <data name="ColorBrewerPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name=">>ColorBrewerPanel.Name" xml:space="preserve">
+ <value>ColorBrewerPanel</value>
+ </data>
+ <data name=">>ColorBrewerPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ColorBrewerPanel.Parent" xml:space="preserve">
+ <value>DisplayGroup</value>
+ </data>
+ <data name=">>ColorBrewerPanel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="ColorBrewerLabel.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="ColorBrewerLabel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>33, 48</value>
+ </data>
+ <data name="ColorBrewerLabel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>64, 13</value>
+ </data>
+ <data name="ColorBrewerLabel.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="ColorBrewerLabel.Text" xml:space="preserve">
+ <value>ColorBrewer</value>
+ </data>
+ <data name=">>ColorBrewerLabel.Name" xml:space="preserve">
+ <value>ColorBrewerLabel</value>
+ </data>
+ <data name=">>ColorBrewerLabel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ColorBrewerLabel.Parent" xml:space="preserve">
+ <value>DisplayGroup</value>
+ </data>
+ <data name=">>ColorBrewerLabel.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="GradientToColor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 0</value>
+ </data>
+ <data name="GradientToColor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 21</value>
+ </data>
+ <data name="GradientToColor.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name=">>GradientToColor.Name" xml:space="preserve">
+ <value>GradientToColor</value>
+ </data>
+ <data name=">>GradientToColor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboBox, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>GradientToColor.Parent" xml:space="preserve">
+ <value>panel2</value>
+ </data>
+ <data name=">>GradientToColor.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="GradientFromColor.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="GradientFromColor.Size" type="System.Drawing.Size, System.Drawing">
+ <value>88, 21</value>
+ </data>
+ <data name="GradientFromColor.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name=">>GradientFromColor.Name" xml:space="preserve">
+ <value>GradientFromColor</value>
+ </data>
+ <data name=">>GradientFromColor.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboBox, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <data name=">>GradientFromColor.Parent" xml:space="preserve">
+ <value>panel2</value>
+ </data>
+ <data name=">>GradientFromColor.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="label4.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>90, 4</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>16, 13</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>-></value>
+ </data>
+ <data name=">>label4.Name" xml:space="preserve">
+ <value>label4</value>
+ </data>
+ <data name=">>label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>label4.Parent" xml:space="preserve">
+ <value>panel2</value>
+ </data>
+ <data name=">>label4.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>112, 24</value>
+ </data>
+ <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>200, 24</value>
+ </data>
+ <data name="panel2.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name=">>panel2.Name" xml:space="preserve">
+ <value>panel2</value>
+ </data>
+ <data name=">>panel2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>panel2.Parent" xml:space="preserve">
+ <value>DisplayGroup</value>
+ </data>
+ <data name=">>panel2.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="ChangeBaseStyleBtn.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 80</value>
+ </data>
+ <data name="ChangeBaseStyleBtn.Size" type="System.Drawing.Size, System.Drawing">
+ <value>112, 23</value>
+ </data>
+ <data name="ChangeBaseStyleBtn.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="ChangeBaseStyleBtn.Text" xml:space="preserve">
+ <value>Change base style</value>
+ </data>
+ <data name=">>ChangeBaseStyleBtn.Name" xml:space="preserve">
+ <value>ChangeBaseStyleBtn</value>
+ </data>
+ <data name=">>ChangeBaseStyleBtn.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ChangeBaseStyleBtn.Parent" xml:space="preserve">
+ <value>DisplayGroup</value>
+ </data>
+ <data name=">>ChangeBaseStyleBtn.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="ColorBrewerColors.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="ColorBrewerColors.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 48</value>
+ </data>
+ <data name="ColorBrewerColors.Size" type="System.Drawing.Size, System.Drawing">
+ <value>14, 13</value>
+ </data>
+ <data name="ColorBrewerColors.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name=">>ColorBrewerColors.Name" xml:space="preserve">
+ <value>ColorBrewerColors</value>
+ </data>
+ <data name=">>ColorBrewerColors.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ColorBrewerColors.Parent" xml:space="preserve">
+ <value>DisplayGroup</value>
+ </data>
+ <data name=">>ColorBrewerColors.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="GradientColors.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="GradientColors.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 24</value>
+ </data>
+ <data name="GradientColors.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 17</value>
+ </data>
+ <data name="GradientColors.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="GradientColors.Text" xml:space="preserve">
+ <value>Gradient</value>
+ </data>
+ <data name=">>GradientColors.Name" xml:space="preserve">
+ <value>GradientColors</value>
+ </data>
+ <data name=">>GradientColors.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>GradientColors.Parent" xml:space="preserve">
+ <value>DisplayGroup</value>
+ </data>
+ <data name=">>GradientColors.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="DisplayGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 152</value>
+ </data>
+ <data name="DisplayGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>320, 112</value>
+ </data>
+ <data name="DisplayGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
+ </data>
+ <data name="DisplayGroup.Text" xml:space="preserve">
+ <value>Display setup</value>
+ </data>
+ <data name=">>DisplayGroup.Name" xml:space="preserve">
+ <value>DisplayGroup</value>
+ </data>
+ <data name=">>DisplayGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>DisplayGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>DisplayGroup.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="PreviewGroup.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Left, Right</value>
+ </data>
+ <data name="PreviewPicture.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 16</value>
+ </data>
+ <data name="PreviewPicture.Size" type="System.Drawing.Size, System.Drawing">
+ <value>304, 24</value>
+ </data>
+ <data name="PreviewPicture.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>PreviewPicture.Name" xml:space="preserve">
+ <value>PreviewPicture</value>
+ </data>
+ <data name=">>PreviewPicture.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>PreviewPicture.Parent" xml:space="preserve">
+ <value>PreviewGroup</value>
+ </data>
+ <data name=">>PreviewPicture.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="PreviewGroup.Location" type="System.Drawing.Point, System.Drawing">
+ <value>8, 272</value>
+ </data>
+ <data name="PreviewGroup.Size" type="System.Drawing.Size, System.Drawing">
+ <value>320, 48</value>
+ </data>
+ <data name="PreviewGroup.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="PreviewGroup.Text" xml:space="preserve">
+ <value>Preview</value>
+ </data>
+ <data name=">>PreviewGroup.Name" xml:space="preserve">
+ <value>PreviewGroup</value>
+ </data>
+ <data name=">>PreviewGroup.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>PreviewGroup.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>PreviewGroup.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="CancelBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="CancelBtn.Location" type="System.Drawing.Point, System.Drawing">
+ <value>176, 7</value>
+ </data>
+ <data name="CancelBtn.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="CancelBtn.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="CancelBtn.Text" xml:space="preserve">
+ <value>Cancel</value>
+ </data>
+ <data name=">>CancelBtn.Name" xml:space="preserve">
+ <value>CancelBtn</value>
+ </data>
+ <data name=">>CancelBtn.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>CancelBtn.Parent" xml:space="preserve">
+ <value>ButtonPanel</value>
+ </data>
+ <data name=">>CancelBtn.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="OKBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top</value>
+ </data>
+ <data name="OKBtn.Location" type="System.Drawing.Point, System.Drawing">
+ <value>88, 8</value>
+ </data>
+ <data name="OKBtn.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
+ </data>
+ <data name="OKBtn.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="OKBtn.Text" xml:space="preserve">
+ <value>OK</value>
+ </data>
+ <data name=">>OKBtn.Name" xml:space="preserve">
+ <value>OKBtn</value>
+ </data>
+ <data name=">>OKBtn.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>OKBtn.Parent" xml:space="preserve">
+ <value>ButtonPanel</value>
+ </data>
+ <data name=">>OKBtn.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="ButtonPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Bottom</value>
+ </data>
+ <data name="ButtonPanel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 327</value>
+ </data>
+ <data name="ButtonPanel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>333, 36</value>
+ </data>
+ <data name="ButtonPanel.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name=">>ButtonPanel.Name" xml:space="preserve">
+ <value>ButtonPanel</value>
+ </data>
+ <data name=">>ButtonPanel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name=">>ButtonPanel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name=">>ButtonPanel.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="colorComboBox1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
+ </data>
+ <data name="colorComboBox1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>121, 21</value>
+ </data>
+ <data name="colorComboBox1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name=">>colorComboBox1.Name" xml:space="preserve">
+ <value>colorComboBox1</value>
+ </data>
+ <data name=">>colorComboBox1.Type" xml:space="preserve">
+ <value>OSGeo.MapGuide.Maestro.ResourceEditors.GeometryStyleEditors.ColorComboBox, OSGeo.MapGuide.Maestro.ResourceEditors, Version=1.1.0.4347, Culture=neutral, PublicKeyToken=null</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>333, 363</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Theme Creator</value>
+ </data>
+ <data name=">>$this.Name" xml:space="preserve">
+ <value>ThemeCreator</value>
+ </data>
+ <data name=">>$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+</root>
\ No newline at end of file
Modified: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerSettingsSectionCtrl.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -123,8 +123,13 @@
}
}
- private FeatureSourceDescription.FeatureSourceSchema GetSelectedClass()
+ internal string FeatureSourceID
{
+ get { return txtFeatureSource.Text; }
+ }
+
+ internal FeatureSourceDescription.FeatureSourceSchema GetSelectedClass()
+ {
if (cmbSchema.SelectedItem != null)
{
foreach (var schema in _cachedDesc.Schemas)
Modified: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.Designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -34,14 +34,14 @@
this.btnDuplicate = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.btnSort = new System.Windows.Forms.ToolStripButton();
- this.scaleRangeListCtrl1 = new Maestro.Editors.LayerDefinition.Scales.ScaleRangeListCtrl();
+ this.scaleRangeList = new OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ScaleRangeList();
this.contentPanel.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// contentPanel
//
- this.contentPanel.Controls.Add(this.scaleRangeListCtrl1);
+ this.contentPanel.Controls.Add(this.scaleRangeList);
this.contentPanel.Controls.Add(this.toolStrip1);
//
// toolStrip1
@@ -63,26 +63,29 @@
this.btnAdd.Image = global::Maestro.Editors.Properties.Resources.plus_circle;
this.btnAdd.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnAdd.Name = "btnAdd";
- this.btnAdd.Size = new System.Drawing.Size(46, 22);
+ this.btnAdd.Size = new System.Drawing.Size(49, 22);
this.btnAdd.Text = "Add";
this.btnAdd.ToolTipText = "Add a scale range";
+ this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
//
// btnDelete
//
this.btnDelete.Image = global::Maestro.Editors.Properties.Resources.minus_circle;
this.btnDelete.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnDelete.Name = "btnDelete";
- this.btnDelete.Size = new System.Drawing.Size(58, 22);
+ this.btnDelete.Size = new System.Drawing.Size(60, 22);
this.btnDelete.Text = "Delete";
this.btnDelete.ToolTipText = "Delete selected scale range";
+ this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
//
// btnDuplicate
//
this.btnDuplicate.Image = global::Maestro.Editors.Properties.Resources.document_copy;
this.btnDuplicate.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnDuplicate.Name = "btnDuplicate";
- this.btnDuplicate.Size = new System.Drawing.Size(71, 22);
+ this.btnDuplicate.Size = new System.Drawing.Size(77, 22);
this.btnDuplicate.Text = "Duplicate";
+ this.btnDuplicate.Click += new System.EventHandler(this.btnDuplicate_Click);
//
// toolStripSeparator1
//
@@ -94,17 +97,21 @@
this.btnSort.Image = global::Maestro.Editors.Properties.Resources.sort_number;
this.btnSort.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnSort.Name = "btnSort";
- this.btnSort.Size = new System.Drawing.Size(47, 22);
+ this.btnSort.Size = new System.Drawing.Size(48, 22);
this.btnSort.Text = "Sort";
this.btnSort.ToolTipText = "Sort the sacle ranges by display range";
+ this.btnSort.Click += new System.EventHandler(this.btnSort_Click);
//
- // scaleRangeListCtrl1
+ // scaleRangeList
//
- this.scaleRangeListCtrl1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.scaleRangeListCtrl1.Location = new System.Drawing.Point(0, 25);
- this.scaleRangeListCtrl1.Name = "scaleRangeListCtrl1";
- this.scaleRangeListCtrl1.Size = new System.Drawing.Size(449, 267);
- this.scaleRangeListCtrl1.TabIndex = 1;
+ this.scaleRangeList.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.scaleRangeList.Location = new System.Drawing.Point(0, 25);
+ this.scaleRangeList.Name = "scaleRangeList";
+ this.scaleRangeList.Owner = null;
+ this.scaleRangeList.Size = new System.Drawing.Size(449, 267);
+ this.scaleRangeList.TabIndex = 1;
+ this.scaleRangeList.SelectionChanged += new System.EventHandler(this.scaleRangeList_SelectionChanged);
+ this.scaleRangeList.ItemChanged += new System.EventHandler(this.scaleRangeList_ItemChanged);
//
// VectorLayerStyleSectionCtrl
//
@@ -123,7 +130,7 @@
#endregion
private System.Windows.Forms.ToolStrip toolStrip1;
- private Maestro.Editors.LayerDefinition.Scales.ScaleRangeListCtrl scaleRangeListCtrl1;
+ private OSGeo.MapGuide.Maestro.ResourceEditors.LayerEditorControls.ScaleControls.ScaleRangeList scaleRangeList;
private System.Windows.Forms.ToolStripButton btnAdd;
private System.Windows.Forms.ToolStripButton btnDelete;
private System.Windows.Forms.ToolStripButton btnDuplicate;
Modified: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/Vector/VectorLayerStyleSectionCtrl.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -25,6 +25,9 @@
using System.Text;
using System.Windows.Forms;
using Maestro.Shared.UI;
+using OSGeo.MapGuide.MaestroAPI.ObjectModels;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using System.Collections;
namespace Maestro.Editors.LayerDefinition.Vector
{
@@ -36,11 +39,147 @@
InitializeComponent();
}
+ private VectorLayerDefinitionType _vl;
+ private IEditorService _edsvc;
+
public void Bind(IEditorService service)
{
- throw new NotImplementedException();
+ _edsvc = service;
+ _edsvc.RegisterCustomNotifier(this);
+ _vl = (VectorLayerDefinitionType)((ILayerDefinition)service.GetEditedResource()).SubLayer;
+
+ scaleRangeList.SetItem(_vl);
+ scaleRangeList.ResizeAuto();
+
+ EvaluateCommands();
}
+ public VectorLayerEditorCtrl Owner
+ {
+ set { scaleRangeList.Owner = value; }
+ }
+
+ private void OnResourceChanged()
+ {
+ var handler = this.ResourceChanged;
+ if (handler != null)
+ handler(this, EventArgs.Empty);
+ }
+
public event EventHandler ResourceChanged;
+
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ AddScaleRange(ObjectFactory.CreateVectorScaleRange());
+ }
+
+ private void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (scaleRangeList.SelectedItem == null)
+ return;
+ VectorScaleRangeType vsc = scaleRangeList.SelectedItem;
+ scaleRangeList.RemoveScaleRange(scaleRangeList.SelectedItem);
+ _vl.VectorScaleRange.Remove(scaleRangeList.SelectedItem);
+
+ _edsvc.HasChanged();
+ }
+
+ private void btnDuplicate_Click(object sender, EventArgs e)
+ {
+ if (scaleRangeList.SelectedItem == null)
+ return;
+
+ AddScaleRange(scaleRangeList.SelectedItem.Clone());
+ }
+
+ private void btnSort_Click(object sender, EventArgs e)
+ {
+ if (_vl == null)
+ return;
+
+ if (_vl.VectorScaleRange == null || _vl.VectorScaleRange.Count == 0)
+ return;
+
+ List<VectorScaleRangeType> ranges = new List<VectorScaleRangeType>();
+ foreach (VectorScaleRangeType sc in _vl.VectorScaleRange)
+ ranges.Add(sc);
+ ranges.Sort(new ScaleRangeSorter());
+
+ _vl.VectorScaleRange.Clear();
+ foreach (VectorScaleRangeType sc in ranges)
+ _vl.VectorScaleRange.Add(sc);
+
+ //Refresh display
+ scaleRangeList.SetItem(_vl);
+ scaleRangeList.ResizeAuto();
+
+ _edsvc.HasChanged();
+ }
+
+ /// <summary>
+ /// Sort helper used to sort the scale ranges
+ /// </summary>
+ private class ScaleRangeSorter : IComparer, IComparer<VectorScaleRangeType>
+ {
+ public int Compare(object x, object y)
+ {
+ if (x is VectorScaleRangeType && y is VectorScaleRangeType)
+ {
+ VectorScaleRangeType vx = (VectorScaleRangeType)x;
+ VectorScaleRangeType vy = (VectorScaleRangeType)y;
+
+ double minX = vx.MinScaleSpecified ? vx.MinScale : 0;
+ double maxX = vx.MaxScaleSpecified ? vx.MaxScale : double.MaxValue;
+ double minY = vy.MinScaleSpecified ? vy.MinScale : 0;
+ double maxY = vy.MaxScaleSpecified ? vy.MaxScale : double.MaxValue;
+
+ if (minX == minY)
+ if (maxX == maxY)
+ return 0;
+ else
+ return maxX > maxY ? 1 : -1;
+ else
+ return minX > minY ? 1 : -1;
+ }
+ else
+ return 0;
+ }
+
+ public int Compare(VectorScaleRangeType x, VectorScaleRangeType y)
+ {
+ return this.Compare((object)x, (object)y);
+ }
+ }
+
+ private void AddScaleRange(VectorScaleRangeType vsc)
+ {
+ if (_vl == null)
+ return;
+
+ _vl.VectorScaleRange.Add(vsc);
+ Control c = scaleRangeList.AddScaleRange(vsc);
+ scaleRangeList.ResizeAuto();
+ _edsvc.HasChanged();
+
+ try { c.Focus(); }
+ catch { }
+ }
+
+ private void scaleRangeList_ItemChanged(object sender, EventArgs e)
+ {
+ scaleRangeList.ResizeAuto();
+ _edsvc.HasChanged();
+ }
+
+ private void scaleRangeList_SelectionChanged(object sender, EventArgs e)
+ {
+ EvaluateCommands();
+ }
+
+ private void EvaluateCommands()
+ {
+ btnDelete.Enabled = btnDuplicate.Enabled = scaleRangeList.SelectedItem != null;
+ btnSort.Enabled = _vl.VectorScaleRange.Count > 1;
+ }
}
}
Modified: sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/LayerDefinition/VectorLayerEditorCtrl.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -5,6 +5,9 @@
using System.Data;
using System.Text;
using System.Windows.Forms;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+using OSGeo.MapGuide.ObjectModels.FeatureSource;
+using OSGeo.MapGuide.MaestroAPI;
namespace Maestro.Editors.LayerDefinition
{
@@ -15,13 +18,58 @@
InitializeComponent();
}
+ private IEditorService _edsvc;
+ private IVectorLayerDefinition _vl;
+
public override void Bind(IEditorService service)
{
+ _edsvc = service;
+ _vl = (IVectorLayerDefinition)((ILayerDefinition)service.GetEditedResource()).SubLayer;
+
service.RegisterCustomNotifier(this);
- resSettings.ResourceChanged += (sender, e) => { OnResourceChanged(); };
resSettings.Bind(service);
- layerProperties.ResourceChanged += (sender, e) => { OnResourceChanged(); };
layerProperties.Bind(service);
+
+ layerStyles.Owner = this;
+ layerStyles.Bind(service);
+
}
+
+ internal IEditorService Editor
+ {
+ get { return _edsvc; }
+ }
+
+ internal string EditExpression(string expr)
+ {
+ var fs = (FeatureSourceType)_edsvc.ResourceService.GetResource(_vl.FeatureSourceID);
+
+ return _edsvc.EditExpression(expr, fs.GetClass(_vl.FullQualifiedClassName), fs.Provider, _vl.FeatureSourceID);
+ }
+
+ internal void UpdateDisplay()
+ {
+
+ }
+
+ internal void HasChanged()
+ {
+ _edsvc.HasChanged();
+ }
+
+ internal void SetLastException(Exception ex)
+ {
+
+ }
+
+ internal FeatureSourceDescription.FeatureSourceSchema Schema
+ {
+ get { return resSettings.GetSelectedClass(); }
+ }
+
+ internal string FeatureSourceId
+ {
+ get { return resSettings.FeatureSourceID; }
+ }
}
}
Modified: sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/Maestro.Editors.csproj 2010-07-23 12:38:06 UTC (rev 5050)
@@ -79,6 +79,9 @@
<Compile Include="Common\ExpressionEditor.designer.cs">
<DependentUpon>ExpressionEditor.cs</DependentUpon>
</Compile>
+ <Compile Include="Common\ImageStylePicker.cs">
+ <SubType>Component</SubType>
+ </Compile>
<Compile Include="Common\ResourceDataCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -258,54 +261,89 @@
<Compile Include="LayerDefinition\LayerPropertiesSectionCtrl.Designer.cs">
<DependentUpon>LayerPropertiesSectionCtrl.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\Scales\ConditionCtrl.cs">
+ <Compile Include="LayerDefinition\VectorLayerEditorCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\Scales\ConditionCtrl.Designer.cs">
- <DependentUpon>ConditionCtrl.cs</DependentUpon>
+ <Compile Include="LayerDefinition\VectorLayerEditorCtrl.Designer.cs">
+ <DependentUpon>VectorLayerEditorCtrl.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\Scales\ItemStyleCtrl.cs">
+ <Compile Include="LayerDefinition\Vector\FeaturePreviewRender.cs" />
+ <Compile Include="LayerDefinition\Vector\Scales\Condition.cs">
<SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\Scales\ItemStyleCtrl.Designer.cs">
- <DependentUpon>ItemStyleCtrl.cs</DependentUpon>
+ <Compile Include="LayerDefinition\Vector\Scales\Condition.designer.cs">
+ <DependentUpon>Condition.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeConditionsCtrl.cs">
+ <Compile Include="LayerDefinition\Vector\Scales\ConditionList.cs">
<SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeConditionsCtrl.Designer.cs">
- <DependentUpon>ScaleRangeConditionsCtrl.cs</DependentUpon>
+ <Compile Include="LayerDefinition\Vector\Scales\ConditionList.designer.cs">
+ <DependentUpon>ConditionList.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeCtrl.cs">
+ <Compile Include="LayerDefinition\Vector\Scales\ConditionListButtons.cs">
<SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeCtrl.Designer.cs">
- <DependentUpon>ScaleRangeCtrl.cs</DependentUpon>
+ <Compile Include="LayerDefinition\Vector\Scales\ConditionListButtons.designer.cs">
+ <DependentUpon>ConditionListButtons.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeGeometryStyleCtrl.cs">
+ <Compile Include="LayerDefinition\Vector\Scales\EditorTemplateForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\Scales\EditorTemplateForm.designer.cs">
+ <DependentUpon>EditorTemplateForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\Scales\ItemStyle.cs">
<SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeGeometryStyleCtrl.Designer.cs">
- <DependentUpon>ScaleRangeGeometryStyleCtrl.cs</DependentUpon>
+ <Compile Include="LayerDefinition\Vector\Scales\ItemStyle.designer.cs">
+ <DependentUpon>ItemStyle.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeListCtrl.cs">
+ <Compile Include="LayerDefinition\Vector\Scales\ScaleRange.cs">
<SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\Scales\ScaleRangeListCtrl.Designer.cs">
- <DependentUpon>ScaleRangeListCtrl.cs</DependentUpon>
+ <Compile Include="LayerDefinition\Vector\Scales\ScaleRange.designer.cs">
+ <DependentUpon>ScaleRange.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\Thematics\ThemeDialog.cs">
- <SubType>Form</SubType>
+ <Compile Include="LayerDefinition\Vector\Scales\ScaleRangeConditions.cs">
+ <SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\Thematics\ThemeDialog.Designer.cs">
- <DependentUpon>ThemeDialog.cs</DependentUpon>
+ <Compile Include="LayerDefinition\Vector\Scales\ScaleRangeConditions.designer.cs">
+ <DependentUpon>ScaleRangeConditions.cs</DependentUpon>
</Compile>
- <Compile Include="LayerDefinition\VectorLayerEditorCtrl.cs">
+ <Compile Include="LayerDefinition\Vector\Scales\ScaleRangeList.cs">
<SubType>UserControl</SubType>
</Compile>
- <Compile Include="LayerDefinition\VectorLayerEditorCtrl.Designer.cs">
- <DependentUpon>VectorLayerEditorCtrl.cs</DependentUpon>
+ <Compile Include="LayerDefinition\Vector\Scales\ScaleRangeList.designer.cs">
+ <DependentUpon>ScaleRangeList.cs</DependentUpon>
</Compile>
+ <Compile Include="LayerDefinition\Vector\StyleEditors\AreaFeatureStyleEditor.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\StyleEditors\FillStyleEditor.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\StyleEditors\FontStyleEditor.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\StyleEditors\LineFeatureStyleEditor.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\StyleEditors\LineStyleEditor.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\StyleEditors\PointFeatureStyleEditor.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\StyleEditors\ScaleRangeEditor.cs">
+ <SubType>UserControl</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\Thematics\ColorBrewer.cs" />
+ <Compile Include="LayerDefinition\Vector\Thematics\ThemeCreator.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="LayerDefinition\Vector\Thematics\ThemeCreator.designer.cs">
+ <DependentUpon>ThemeCreator.cs</DependentUpon>
+ </Compile>
<Compile Include="LayerDefinition\Vector\VectorLayerSettingsSectionCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -469,6 +507,9 @@
<DependentUpon>ExpressionEditor.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
+ <EmbeddedResource Include="Common\ImageStylePicker.resx">
+ <DependentUpon>ImageStylePicker.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="Common\ResourceDataCtrl.resx">
<DependentUpon>ResourceDataCtrl.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -585,38 +626,58 @@
<DependentUpon>LayerPropertiesSectionCtrl.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\Scales\ConditionCtrl.resx">
- <DependentUpon>ConditionCtrl.cs</DependentUpon>
+ <EmbeddedResource Include="LayerDefinition\VectorLayerEditorCtrl.resx">
+ <DependentUpon>VectorLayerEditorCtrl.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\Scales\ItemStyleCtrl.resx">
- <DependentUpon>ItemStyleCtrl.cs</DependentUpon>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\Condition.resx">
+ <DependentUpon>Condition.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\Scales\ScaleRangeConditionsCtrl.resx">
- <DependentUpon>ScaleRangeConditionsCtrl.cs</DependentUpon>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\ConditionList.resx">
+ <DependentUpon>ConditionList.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\Scales\ScaleRangeCtrl.resx">
- <DependentUpon>ScaleRangeCtrl.cs</DependentUpon>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\ConditionListButtons.resx">
+ <DependentUpon>ConditionListButtons.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\Scales\ScaleRangeGeometryStyleCtrl.resx">
- <DependentUpon>ScaleRangeGeometryStyleCtrl.cs</DependentUpon>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\EditorTemplateForm.resx">
+ <DependentUpon>EditorTemplateForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\Scales\ScaleRangeListCtrl.resx">
- <DependentUpon>ScaleRangeListCtrl.cs</DependentUpon>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\ItemStyle.resx">
+ <DependentUpon>ItemStyle.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\Thematics\ThemeDialog.resx">
- <DependentUpon>ThemeDialog.cs</DependentUpon>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\ScaleRange.resx">
+ <DependentUpon>ScaleRange.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="LayerDefinition\VectorLayerEditorCtrl.resx">
- <DependentUpon>VectorLayerEditorCtrl.cs</DependentUpon>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\ScaleRangeConditions.resx">
+ <DependentUpon>ScaleRangeConditions.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\Scales\ScaleRangeList.resx">
+ <DependentUpon>ScaleRangeList.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\StyleEditors\AreaFeatureStyleEditor.resx">
+ <DependentUpon>AreaFeatureStyleEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\StyleEditors\FillStyleEditor.resx">
+ <DependentUpon>FillStyleEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\StyleEditors\FontStyleEditor.resx">
+ <DependentUpon>FontStyleEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\StyleEditors\LineFeatureStyleEditor.resx">
+ <DependentUpon>LineFeatureStyleEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\StyleEditors\LineStyleEditor.resx">
+ <DependentUpon>LineStyleEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\StyleEditors\PointFeatureStyleEditor.resx">
+ <DependentUpon>PointFeatureStyleEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\StyleEditors\ScaleRangeEditor.resx">
+ <DependentUpon>ScaleRangeEditor.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="LayerDefinition\Vector\Thematics\ThemeCreator.resx">
+ <DependentUpon>ThemeCreator.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="LayerDefinition\Vector\VectorLayerSettingsSectionCtrl.resx">
<DependentUpon>VectorLayerSettingsSectionCtrl.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -901,9 +962,6 @@
<None Include="Resources\sum.png" />
</ItemGroup>
<ItemGroup>
- <None Include="Resources\function1.png" />
- </ItemGroup>
- <ItemGroup>
<None Include="Resources\funnel.png" />
</ItemGroup>
<ItemGroup>
@@ -913,9 +971,15 @@
<None Include="Resources\ruler.png" />
</ItemGroup>
<ItemGroup>
+ <None Include="Resources\CommandTypesDataset.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Resources\ColorBrewer.csv" />
+ <None Include="Resources\GeometryStyleComboDataset.xml" />
+ </ItemGroup>
+ <ItemGroup>
<Folder Include="DrawingSource\Preview\" />
<Folder Include="FeatureSource\Providers\Rdbms\" />
- <Folder Include="LayerDefinition\Geometry\" />
<Folder Include="LayerDefinition\Raster\" />
<Folder Include="PrintLayout\Logos\" />
<Folder Include="PrintLayout\Text\" />
Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.Designer.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:2.0.50727.3053
+// Runtime Version:2.0.50727.4927
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -144,6 +144,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Between {0} and {1}.
+ /// </summary>
+ internal static string BetweenLabel {
+ get {
+ return ResourceManager.GetString("BetweenLabel", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap block {
get {
object obj = ResourceManager.GetObject("block", resourceCulture);
@@ -159,6 +168,49 @@
}
/// <summary>
+ /// Looks up a localized string similar to "ColorName","NumOfColors","Type","CritVal","ColorNum","ColorLetter","R","G","B","SchemeType"
+ ///"Accent",3,"qual",,1,"A",127,201,127,"Qualitative"
+ ///,,,,2,"B",190,174,212,
+ ///,,,,3,"C",253,192,134,
+ ///"Accent",4,"qual",,1,"A",127,201,127,
+ ///,,,,2,"B",190,174,212,
+ ///,,,,3,"C",253,192,134,
+ ///,,,,4,"D",255,255,153,
+ ///"Accent",5,"qual",,1,"A",127,201,127,
+ ///,,,,2,"B",190,174,212,
+ ///,,,,3,"C",253,192,134,
+ ///,,,,4,"D",255,255,153,
+ ///,,,,5,"E",56,108,176,
+ ///"Accent",6,"qual",,1,"A",127,201,127,
+ ///,,,,2,"B",190,174,212,
+ ///,,,,3,"C",253,192,134,
+ ///,, [rest of string was truncated]";.
+ /// </summary>
+ internal static string ColorBrewer {
+ get {
+ return ResourceManager.GetString("ColorBrewer", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Failed to read {0} color(s) in line {1}.
+ /// </summary>
+ internal static string ColorCountError {
+ get {
+ return ResourceManager.GetString("ColorCountError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The selected column had no non-null values and cannot be used..
+ /// </summary>
+ internal static string ColumnHasNoValidDataError {
+ get {
+ return ResourceManager.GetString("ColumnHasNoValidDataError", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to An error occured while reading column values: {0}.
/// </summary>
internal static string ColumnValueError {
@@ -167,6 +219,33 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to <?xml version="1.0" encoding="utf-8" ?>
+ ///
+ ///<!--
+ /// Note to translators:
+ /// You can only translate <Label>, <ToolTip> and <Description>
+ /// If you translate any of the others, the editor won't work!
+ ///-->
+ ///
+ ///<CommandTypesDataset>
+ /// <Command>
+ /// <Command>About</Command>
+ /// <Label>About</Label>
+ /// <ToolTip>About</ToolTip>
+ /// <Action>About</Action>
+ /// <Description>Display information about this application</Description>
+ /// <Viewers>All</Viewers>
+ /// <Type>Built-In</Type>
+ /// <EnabledIcon></EnabledIcon>
+ /// <D [rest of string was truncated]";.
+ /// </summary>
+ internal static string CommandTypesDataset {
+ get {
+ return ResourceManager.GetString("CommandTypesDataset", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap control {
get {
object obj = ResourceManager.GetObject("control", resourceCulture);
@@ -216,6 +295,24 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Unable to read data from the selected column: {0}.
+ /// </summary>
+ internal static string DataReadError {
+ get {
+ return ResourceManager.GetString("DataReadError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Diverging.
+ /// </summary>
+ internal static string DivergingName {
+ get {
+ return ResourceManager.GetString("DivergingName", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap document__minus {
get {
object obj = ResourceManager.GetObject("document--minus", resourceCulture);
@@ -265,6 +362,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to None.
+ /// </summary>
+ internal static string EmptyText {
+ get {
+ return ResourceManager.GetString("EmptyText", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap exclamation {
get {
object obj = ResourceManager.GetObject("exclamation", resourceCulture);
@@ -273,6 +379,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Expression....
+ /// </summary>
+ internal static string ExpressionItem {
+ get {
+ return ResourceManager.GetString("ExpressionItem", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Extended class based on: {0}.
/// </summary>
internal static string ExtendedClassTooltip {
@@ -347,6 +462,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Cannot Preview Font "{0}".
+ /// </summary>
+ internal static string FontPreviewError {
+ get {
+ return ResourceManager.GetString("FontPreviewError", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap function {
get {
object obj = ResourceManager.GetObject("function", resourceCulture);
@@ -372,6 +496,47 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to An error occured: {0}.
+ /// </summary>
+ internal static string GenericError {
+ get {
+ return ResourceManager.GetString("GenericError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to <?xml version="1.0" standalone="yes"?>
+ ///<ComboBoxDataSet>
+ /// <SymbolMark>
+ /// <Display>Square</Display>
+ /// <Value>Square</Value>
+ /// </SymbolMark>
+ /// <SymbolMark>
+ /// <Display>Circle</Display>
+ /// <Value>Circle</Value>
+ /// </SymbolMark>
+ /// <SymbolMark>
+ /// <Display>Triangle</Display>
+ /// <Value>Triangle</Value>
+ /// </SymbolMark>
+ /// <SymbolMark>
+ /// <Display>Star</Display>
+ /// <Value>Star</Value>
+ /// </SymbolMark>
+ /// <SymbolMark>
+ /// <Display>Cross</Display>
+ /// <Value>Cross</Value>
+ /// </SymbolMark>
+ /// <SymbolMark>
+ /// <Display>X - [rest of string was truncated]";.
+ /// </summary>
+ internal static string GeometryStyleComboDataset {
+ get {
+ return ResourceManager.GetString("GeometryStyleComboDataset", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap globe__arrow {
get {
object obj = ResourceManager.GetObject("globe--arrow", resourceCulture);
@@ -417,6 +582,51 @@
}
/// <summary>
+ /// Looks up a localized string similar to You have entered a non-numeric value in the Reference Y field. Due to a bug in MapGuide, this will likely give an error when saving..
+ /// </summary>
+ internal static string InsertionPointYError {
+ get {
+ return ResourceManager.GetString("InsertionPointYError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Invalid {0} color component {1} in line {2}.
+ /// </summary>
+ internal static string InvalidColorComponent {
+ get {
+ return ResourceManager.GetString("InvalidColorComponent", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Invalid column name.
+ /// </summary>
+ internal static string InvalidColumnNameError {
+ get {
+ return ResourceManager.GetString("InvalidColumnNameError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Invalid field count in line {0}.
+ /// </summary>
+ internal static string InvalidFieldCountError {
+ get {
+ return ResourceManager.GetString("InvalidFieldCountError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Invalid record count in line {0}.
+ /// </summary>
+ internal static string InvalidRecordCountError {
+ get {
+ return ResourceManager.GetString("InvalidRecordCountError", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Invalid value.
/// </summary>
internal static string InvalidValueError {
@@ -460,6 +670,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Less than {0}.
+ /// </summary>
+ internal static string LessThanLabel {
+ get {
+ return ResourceManager.GetString("LessThanLabel", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap magnifier {
get {
object obj = ResourceManager.GetObject("magnifier", resourceCulture);
@@ -482,6 +701,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to Missing column "{0}".
+ /// </summary>
+ internal static string MissingColumnError {
+ get {
+ return ResourceManager.GetString("MissingColumnError", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to More colors....
/// </summary>
internal static string MoreColorsName {
@@ -491,6 +719,15 @@
}
/// <summary>
+ /// Looks up a localized string similar to More than {0}.
+ /// </summary>
+ internal static string MoreThanLabel {
+ get {
+ return ResourceManager.GetString("MoreThanLabel", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to No values found in selected column.
/// </summary>
internal static string NoColumnValuesError {
@@ -523,6 +760,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Qualitative.
+ /// </summary>
+ internal static string QualitativeName {
+ get {
+ return ResourceManager.GetString("QualitativeName", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap ruler {
get {
object obj = ResourceManager.GetObject("ruler", resourceCulture);
@@ -544,6 +790,24 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to <Select column>.
+ /// </summary>
+ internal static string SelectColumnPlaceholder {
+ get {
+ return ResourceManager.GetString("SelectColumnPlaceholder", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Sequential.
+ /// </summary>
+ internal static string SequentialName {
+ get {
+ return ResourceManager.GetString("SequentialName", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap server {
get {
object obj = ResourceManager.GetObject("server", resourceCulture);
@@ -600,6 +864,15 @@
}
}
+ /// <summary>
+ /// Looks up a localized string similar to Only symbols of type "Mark" and "Font" are currently supported.
+ /// </summary>
+ internal static string SymbolTypeNotSupported {
+ get {
+ return ResourceManager.GetString("SymbolTypeNotSupported", resourceCulture);
+ }
+ }
+
internal static System.Drawing.Bitmap table {
get {
object obj = ResourceManager.GetObject("table", resourceCulture);
@@ -647,6 +920,44 @@
}
/// <summary>
+ /// Looks up a localized string similar to The selected column contains more than {0} different values, and thus cannot be used for theming with individual values.
+ /// </summary>
+ internal static string TooManyIndiviualValuesError {
+ get {
+ return ResourceManager.GetString("TooManyIndiviualValuesError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to You are creating a large number of rules, this will likely result in Maestro becoming unresponsive.
+ ///Do you want to continue?.
+ /// </summary>
+ internal static string TooManyRulesWarning {
+ get {
+ return ResourceManager.GetString("TooManyRulesWarning", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The selected column contains more than {0} different values, and thus cannot be used for theming.
+ /// </summary>
+ internal static string TooManyValuesError {
+ get {
+ return ResourceManager.GetString("TooManyValuesError", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to The selected column contains more than {0} different values.
+ ///The calculated averages only accounts for the first {0} distinct values..
+ /// </summary>
+ internal static string TooMuchDataWarning {
+ get {
+ return ResourceManager.GetString("TooMuchDataWarning", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Transparent.
/// </summary>
internal static string TransparentName {
Modified: sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/Maestro.Editors/Properties/Resources.resx 2010-07-23 12:38:06 UTC (rev 5050)
@@ -385,4 +385,118 @@
<data name="ExtendedClassTooltip" xml:space="preserve">
<value>Extended class based on: {0}</value>
</data>
+ <data name="CommandTypesDataset" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\CommandTypesDataset.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
+ </data>
+ <data name="GeometryStyleComboDataset" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\GeometryStyleComboDataset.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+ </data>
+ <data name="ExpressionItem" xml:space="preserve">
+ <value>Expression...</value>
+ <comment>A value displayed in the combobox to activate the expression builder</comment>
+ </data>
+ <data name="EmptyText" xml:space="preserve">
+ <value>None</value>
+ <comment>The text used for rendering examples with no text data</comment>
+ </data>
+ <data name="ColorCountError" xml:space="preserve">
+ <value>Failed to read {0} color(s) in line {1}</value>
+ <comment>An error message that is displayed if the expected color count does not match the actual count</comment>
+ </data>
+ <data name="DivergingName" xml:space="preserve">
+ <value>Diverging</value>
+ <comment>A display name for the Diverging data type</comment>
+ </data>
+ <data name="InvalidColorComponent" xml:space="preserve">
+ <value>Invalid {0} color component {1} in line {2}</value>
+ <comment>An error message that is displayed if a color component is outside the [0-255] range.
+{0} is the color component, eg. R, G or B
+{1} is the value read
+{2} is the line where the error was encountered</comment>
+ </data>
+ <data name="InvalidFieldCountError" xml:space="preserve">
+ <value>Invalid field count in line {0}</value>
+ <comment>An error message that is displayed if the file has an invalid field count</comment>
+ </data>
+ <data name="InvalidRecordCountError" xml:space="preserve">
+ <value>Invalid record count in line {0}</value>
+ <comment>An error message that is displayed if the file has an invalid error count</comment>
+ </data>
+ <data name="MissingColumnError" xml:space="preserve">
+ <value>Missing column "{0}"</value>
+ <comment>An error message that is displayed if the file is missing a required column</comment>
+ </data>
+ <data name="QualitativeName" xml:space="preserve">
+ <value>Qualitative</value>
+ <comment>A display name for the Qualitative data type</comment>
+ </data>
+ <data name="SequentialName" xml:space="preserve">
+ <value>Sequential</value>
+ <comment>A display name for the Sequential data type</comment>
+ </data>
+ <data name="BetweenLabel" xml:space="preserve">
+ <value>Between {0} and {1}</value>
+ <comment>The label used for all "between" values in the graduated theme set</comment>
+ </data>
+ <data name="ColumnHasNoValidDataError" xml:space="preserve">
+ <value>The selected column had no non-null values and cannot be used.</value>
+ <comment>An error message that is displayed if the user selects a column with no valid data</comment>
+ </data>
+ <data name="DataReadError" xml:space="preserve">
+ <value>Unable to read data from the selected column: {0}</value>
+ <comment>An error message that is displayed when the column read fails</comment>
+ </data>
+ <data name="GenericError" xml:space="preserve">
+ <value>An error occured: {0}</value>
+ <comment>An error message that is displayed when an unexpected error occurs</comment>
+ </data>
+ <data name="InvalidColumnNameError" xml:space="preserve">
+ <value>Invalid column name</value>
+ <comment>An error message that is displayed when the column selected does not exist</comment>
+ </data>
+ <data name="LessThanLabel" xml:space="preserve">
+ <value>Less than {0}</value>
+ <comment>The label used for the lowest value in the graduated theme set</comment>
+ </data>
+ <data name="MoreThanLabel" xml:space="preserve">
+ <value>More than {0}</value>
+ <comment>The label used for the highest value in the graduated theme set</comment>
+ </data>
+ <data name="SelectColumnPlaceholder" xml:space="preserve">
+ <value><Select column></value>
+ <comment>A placeholder message displayed when the user has not yet selected a column</comment>
+ </data>
+ <data name="TooManyIndiviualValuesError" xml:space="preserve">
+ <value>The selected column contains more than {0} different values, and thus cannot be used for theming with individual values</value>
+ <comment>An error message that is displayed if the selected column has too many distinct values</comment>
+ </data>
+ <data name="TooManyRulesWarning" xml:space="preserve">
+ <value>You are creating a large number of rules, this will likely result in Maestro becoming unresponsive.
+Do you want to continue?</value>
+ <comment>A warning message that is displayed if the user has selected options that will generate a very large number of rules</comment>
+ </data>
+ <data name="TooManyValuesError" xml:space="preserve">
+ <value>The selected column contains more than {0} different values, and thus cannot be used for theming</value>
+ <comment>An error message that is displayed if the selected column has too many distinct values</comment>
+ </data>
+ <data name="TooMuchDataWarning" xml:space="preserve">
+ <value>The selected column contains more than {0} different values.
+The calculated averages only accounts for the first {0} distinct values.</value>
+ <comment>A warning message that is displayed if the dataset is too large</comment>
+ </data>
+ <data name="FontPreviewError" xml:space="preserve">
+ <value>Cannot Preview Font "{0}"</value>
+ <comment>An error message that is displayed when the rendering fails, using the specified font</comment>
+ </data>
+ <data name="InsertionPointYError" xml:space="preserve">
+ <value>You have entered a non-numeric value in the Reference Y field. Due to a bug in MapGuide, this will likely give an error when saving.</value>
+ <comment>An error message that is displayed if the user attempts to use an expression as the InsertionPointY value (caused by an xsd bug in MapGuide)</comment>
+ </data>
+ <data name="SymbolTypeNotSupported" xml:space="preserve">
+ <value>Only symbols of type "Mark" and "Font" are currently supported</value>
+ <comment>A message that is displayed when the user attempts to modify an item with an unsupported type</comment>
+ </data>
+ <data name="ColorBrewer" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\Resources\ColorBrewer.csv;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
+ </data>
</root>
\ No newline at end of file
Copied: sandbox/maestro-3.0/Maestro.Editors/Resources/ColorBrewer.csv (from rev 5035, trunk/Tools/Maestro/Maestro/ResourceEditors/ColorBrewer.csv)
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Resources/ColorBrewer.csv (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Resources/ColorBrewer.csv 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,1713 @@
+"ColorName","NumOfColors","Type","CritVal","ColorNum","ColorLetter","R","G","B","SchemeType"
+"Accent",3,"qual",,1,"A",127,201,127,"Qualitative"
+,,,,2,"B",190,174,212,
+,,,,3,"C",253,192,134,
+"Accent",4,"qual",,1,"A",127,201,127,
+,,,,2,"B",190,174,212,
+,,,,3,"C",253,192,134,
+,,,,4,"D",255,255,153,
+"Accent",5,"qual",,1,"A",127,201,127,
+,,,,2,"B",190,174,212,
+,,,,3,"C",253,192,134,
+,,,,4,"D",255,255,153,
+,,,,5,"E",56,108,176,
+"Accent",6,"qual",,1,"A",127,201,127,
+,,,,2,"B",190,174,212,
+,,,,3,"C",253,192,134,
+,,,,4,"D",255,255,153,
+,,,,5,"E",56,108,176,
+,,,,6,"F",240,2,127,
+"Accent",7,"qual",,1,"A",127,201,127,
+,,,,2,"B",190,174,212,
+,,,,3,"C",253,192,134,
+,,,,4,"D",255,255,153,
+,,,,5,"E",56,108,176,
+,,,,6,"F",240,2,127,
+,,,,7,"G",191,91,23,
+"Accent",8,"qual",,1,"A",127,201,127,
+,,,,2,"B",190,174,212,
+,,,,3,"C",253,192,134,
+,,,,4,"D",255,255,153,
+,,,,5,"E",56,108,176,
+,,,,6,"F",240,2,127,
+,,,,7,"G",191,91,23,
+,,,,8,"H",102,102,102,
+"Blues",3,"seq",,1,"C",222,235,247,"Sequential"
+,,,,2,"F",158,202,225,
+,,,,3,"I",49,130,189,
+"Blues",4,"seq",,1,"B",239,243,255,
+,,,,2,"E",189,215,231,
+,,,,3,"G",107,174,214,
+,,,,4,"J",33,113,181,
+"Blues",5,"seq",,1,"B",239,243,255,
+,,,,2,"E",189,215,231,
+,,,,3,"G",107,174,214,
+,,,,4,"I",49,130,189,
+,,,,5,"K",8,81,156,
+"Blues",6,"seq",,1,"B",239,243,255,
+,,,,2,"D",198,219,239,
+,,,,3,"F",158,202,225,
+,,,,4,"G",107,174,214,
+,,,,5,"I",49,130,189,
+,,,,6,"K",8,81,156,
+"Blues",7,"seq",,1,"B",239,243,255,
+,,,,2,"D",198,219,239,
+,,,,3,"F",158,202,225,
+,,,,4,"G",107,174,214,
+,,,,5,"H",66,146,198,
+,,,,6,"J",33,113,181,
+,,,,7,"L",8,69,148,
+"Blues",8,"seq",,1,"A",247,251,255,
+,,,,2,"C",222,235,247,
+,,,,3,"D",198,219,239,
+,,,,4,"F",158,202,225,
+,,,,5,"G",107,174,214,
+,,,,6,"H",66,146,198,
+,,,,7,"J",33,113,181,
+,,,,8,"L",8,69,148,
+"Blues",9,"seq",,1,"A",247,251,255,
+,,,,2,"C",222,235,247,
+,,,,3,"D",198,219,239,
+,,,,4,"F",158,202,225,
+,,,,5,"G",107,174,214,
+,,,,6,"H",66,146,198,
+,,,,7,"J",33,113,181,
+,,,,8,"K",8,81,156,
+,,,,9,"M",8,48,107,
+"BrBG",3,"div",2,1,"E",216,179,101,"Diverging"
+,,,,2,"H",245,245,245,
+,,,,3,"K",90,180,172,
+"BrBG",4,"div","2,5",1,"C",166,97,26,
+,,,,2,"F",223,194,125,
+,,,,3,"J",128,205,193,
+,,,,4,"M",1,133,113,
+"BrBG",5,"div",3,1,"C",166,97,26,
+,,,,2,"F",223,194,125,
+,,,,3,"H",245,245,245,
+,,,,4,"J",128,205,193,
+,,,,5,"M",1,133,113,
+"BrBG",6,"div","3,5",1,"B",140,81,10,
+,,,,2,"E",216,179,101,
+,,,,3,"G",246,232,195,
+,,,,4,"I",199,234,229,
+,,,,5,"K",90,180,172,
+,,,,6,"N",1,102,94,
+"BrBG",7,"div",4,1,"B",140,81,10,
+,,,,2,"E",216,179,101,
+,,,,3,"G",246,232,195,
+,,,,4,"H",245,245,245,
+,,,,5,"I",199,234,229,
+,,,,6,"K",90,180,172,
+,,,,7,"N",1,102,94,
+"BrBG",8,"div","4,5",1,"B",140,81,10,
+,,,,2,"D",191,129,45,
+,,,,3,"F",223,194,125,
+,,,,4,"G",246,232,195,
+,,,,5,"I",199,234,229,
+,,,,6,"J",128,205,193,
+,,,,7,"L",53,151,143,
+,,,,8,"N",1,102,94,
+"BrBG",9,"div",5,1,"B",140,81,10,
+,,,,2,"D",191,129,45,
+,,,,3,"F",223,194,125,
+,,,,4,"G",246,232,195,
+,,,,5,"H",245,245,245,
+,,,,6,"I",199,234,229,
+,,,,7,"J",128,205,193,
+,,,,8,"L",53,151,143,
+,,,,9,"N",1,102,94,
+"BrBG",10,"div","5,5",1,"A",84,48,5,
+,,,,2,"B",140,81,10,
+,,,,3,"D",191,129,45,
+,,,,4,"F",223,194,125,
+,,,,5,"G",246,232,195,
+,,,,6,"I",199,234,229,
+,,,,7,"J",128,205,193,
+,,,,8,"L",53,151,143,
+,,,,9,"N",1,102,94,
+,,,,10,"O",0,60,48,
+"BrBG",11,"div",6,1,"A",84,48,5,
+,,,,2,"B",140,81,10,
+,,,,3,"D",191,129,45,
+,,,,4,"F",223,194,125,
+,,,,5,"G",246,232,195,
+,,,,6,"H",245,245,245,
+,,,,7,"I",199,234,229,
+,,,,8,"J",128,205,193,
+,,,,9,"L",53,151,143,
+,,,,10,"N",1,102,94,
+,,,,11,"O",0,60,48,
+"BuGn",3,"seq",,1,"C",229,245,249,"Sequential"
+,,,,2,"F",153,216,201,
+,,,,3,"I",44,162,95,
+"BuGn",4,"seq",,1,"B",237,248,251,
+,,,,2,"E",178,226,226,
+,,,,3,"G",102,194,164,
+,,,,4,"J",35,139,69,
+"BuGn",5,"seq",,1,"B",237,248,251,
+,,,,2,"E",178,226,226,
+,,,,3,"G",102,194,164,
+,,,,4,"I",44,162,95,
+,,,,5,"K",0,109,44,
+"BuGn",6,"seq",,1,"B",237,248,251,
+,,,,2,"D",204,236,230,
+,,,,3,"F",153,216,201,
+,,,,4,"G",102,194,164,
+,,,,5,"I",44,162,95,
+,,,,6,"K",0,109,44,
+"BuGn",7,"seq",,1,"B",237,248,251,
+,,,,2,"D",204,236,230,
+,,,,3,"F",153,216,201,
+,,,,4,"G",102,194,164,
+,,,,5,"H",65,174,118,
+,,,,6,"J",35,139,69,
+,,,,7,"L",0,88,36,
+"BuGn",8,"seq",,1,"A",247,252,253,
+,,,,2,"C",229,245,249,
+,,,,3,"D",204,236,230,
+,,,,4,"F",153,216,201,
+,,,,5,"G",102,194,164,
+,,,,6,"H",65,174,118,
+,,,,7,"J",35,139,69,
+,,,,8,"L",0,88,36,
+"BuGn",9,"seq",,1,"A",247,252,253,
+,,,,2,"C",229,245,249,
+,,,,3,"D",204,236,230,
+,,,,4,"F",153,216,201,
+,,,,5,"G",102,194,164,
+,,,,6,"H",65,174,118,
+,,,,7,"J",35,139,69,
+,,,,8,"K",0,109,44,
+,,,,9,"M",0,68,27,
+"BuPu",3,"seq",,1,"C",224,236,244,"Sequential"
+,,,,2,"F",158,188,218,
+,,,,3,"I",136,86,167,
+"BuPu",4,"seq",,1,"B",237,248,251,
+,,,,2,"E",179,205,227,
+,,,,3,"G",140,150,198,
+,,,,4,"J",136,65,157,
+"BuPu",5,"seq",,1,"B",237,248,251,
+,,,,2,"E",179,205,227,
+,,,,3,"G",140,150,198,
+,,,,4,"I",136,86,167,
+,,,,5,"K",129,15,124,
+"BuPu",6,"seq",,1,"B",237,248,251,
+,,,,2,"D",191,211,230,
+,,,,3,"F",158,188,218,
+,,,,4,"G",140,150,198,
+,,,,5,"I",136,86,167,
+,,,,6,"K",129,15,124,
+"BuPu",7,"seq",,1,"B",237,248,251,
+,,,,2,"D",191,211,230,
+,,,,3,"F",158,188,218,
+,,,,4,"G",140,150,198,
+,,,,5,"H",140,107,177,
+,,,,6,"J",136,65,157,
+,,,,7,"L",110,1,107,
+"BuPu",8,"seq",,1,"A",247,252,253,
+,,,,2,"C",224,236,244,
+,,,,3,"D",191,211,230,
+,,,,4,"F",158,188,218,
+,,,,5,"G",140,150,198,
+,,,,6,"H",140,107,177,
+,,,,7,"J",136,65,157,
+,,,,8,"L",110,1,107,
+"BuPu",9,"seq",,1,"A",247,252,253,
+,,,,2,"C",224,236,244,
+,,,,3,"D",191,211,230,
+,,,,4,"F",158,188,218,
+,,,,5,"G",140,150,198,
+,,,,6,"H",140,107,177,
+,,,,7,"J",136,65,157,
+,,,,8,"K",129,15,124,
+,,,,9,"M",77,0,75,
+"Dark2",3,"qual",,1,"A",27,158,119,"Qualitative"
+,,,,2,"B",217,95,2,
+,,,,3,"C",117,112,179,
+"Dark2",4,"qual",,1,"A",27,158,119,
+,,,,2,"B",217,95,2,
+,,,,3,"C",117,112,179,
+,,,,4,"D",231,41,138,
+"Dark2",5,"qual",,1,"A",27,158,119,
+,,,,2,"B",217,95,2,
+,,,,3,"C",117,112,179,
+,,,,4,"D",231,41,138,
+,,,,5,"E",102,166,30,
+"Dark2",6,"qual",,1,"A",27,158,119,
+,,,,2,"B",217,95,2,
+,,,,3,"C",117,112,179,
+,,,,4,"D",231,41,138,
+,,,,5,"E",102,166,30,
+,,,,6,"F",230,171,2,
+"Dark2",7,"qual",,1,"A",27,158,119,
+,,,,2,"B",217,95,2,
+,,,,3,"C",117,112,179,
+,,,,4,"D",231,41,138,
+,,,,5,"E",102,166,30,
+,,,,6,"F",230,171,2,
+,,,,7,"G",166,118,29,
+"Dark2",8,"qual",,1,"A",27,158,119,
+,,,,2,"B",217,95,2,
+,,,,3,"C",117,112,179,
+,,,,4,"D",231,41,138,
+,,,,5,"E",102,166,30,
+,,,,6,"F",230,171,2,
+,,,,7,"G",166,118,29,
+,,,,8,"H",102,102,102,
+"GnBu",3,"seq",,1,"C",224,243,219,"Sequential"
+,,,,2,"F",168,221,181,
+,,,,3,"I",67,162,202,
+"GnBu",4,"seq",,1,"B",240,249,232,
+,,,,2,"E",186,228,188,
+,,,,3,"G",123,204,196,
+,,,,4,"J",43,140,190,
+"GnBu",5,"seq",,1,"B",240,249,232,
+,,,,2,"E",186,228,188,
+,,,,3,"G",123,204,196,
+,,,,4,"I",67,162,202,
+,,,,5,"K",8,104,172,
+"GnBu",6,"seq",,1,"B",240,249,232,
+,,,,2,"D",204,235,197,
+,,,,3,"F",168,221,181,
+,,,,4,"G",123,204,196,
+,,,,5,"I",67,162,202,
+,,,,6,"K",8,104,172,
+"GnBu",7,"seq",,1,"B",240,249,232,
+,,,,2,"D",204,235,197,
+,,,,3,"F",168,221,181,
+,,,,4,"G",123,204,196,
+,,,,5,"H",78,179,211,
+,,,,6,"J",43,140,190,
+,,,,7,"L",8,88,158,
+"GnBu",8,"seq",,1,"A",247,252,240,
+,,,,2,"C",224,243,219,
+,,,,3,"D",204,235,197,
+,,,,4,"F",168,221,181,
+,,,,5,"G",123,204,196,
+,,,,6,"H",78,179,211,
+,,,,7,"J",43,140,190,
+,,,,8,"L",8,88,158,
+"GnBu",9,"seq",,1,"A",247,252,240,
+,,,,2,"C",224,243,219,
+,,,,3,"D",204,235,197,
+,,,,4,"F",168,221,181,
+,,,,5,"G",123,204,196,
+,,,,6,"H",78,179,211,
+,,,,7,"J",43,140,190,
+,,,,8,"K",8,104,172,
+,,,,9,"M",8,64,129,
+"Greens",3,"seq",,1,"C",229,245,224,"Sequential"
+,,,,2,"F",161,217,155,
+,,,,3,"I",49,163,84,
+"Greens",4,"seq",,1,"B",237,248,233,
+,,,,2,"E",186,228,179,
+,,,,3,"G",116,196,118,
+,,,,4,"J",35,139,69,
+"Greens",5,"seq",,1,"B",237,248,233,
+,,,,2,"E",186,228,179,
+,,,,3,"G",116,196,118,
+,,,,4,"I",49,163,84,
+,,,,5,"K",0,109,44,
+"Greens",6,"seq",,1,"B",237,248,233,
+,,,,2,"D",199,233,192,
+,,,,3,"F",161,217,155,
+,,,,4,"G",116,196,118,
+,,,,5,"I",49,163,84,
+,,,,6,"K",0,109,44,
+"Greens",7,"seq",,1,"B",237,248,233,
+,,,,2,"D",199,233,192,
+,,,,3,"F",161,217,155,
+,,,,4,"G",116,196,118,
+,,,,5,"H",65,171,93,
+,,,,6,"J",35,139,69,
+,,,,7,"L",0,90,50,
+"Greens",8,"seq",,1,"A",247,252,245,
+,,,,2,"C",229,245,224,
+,,,,3,"D",199,233,192,
+,,,,4,"F",161,217,155,
+,,,,5,"G",116,196,118,
+,,,,6,"H",65,171,93,
+,,,,7,"J",35,139,69,
+,,,,8,"L",0,90,50,
+"Greens",9,"seq",,1,"A",247,252,245,
+,,,,2,"C",229,245,224,
+,,,,3,"D",199,233,192,
+,,,,4,"F",161,217,155,
+,,,,5,"G",116,196,118,
+,,,,6,"H",65,171,93,
+,,,,7,"J",35,139,69,
+,,,,8,"K",0,109,44,
+,,,,9,"M",0,68,27,
+"Greys",3,"seq",,1,"C",240,240,240,"Sequential"
+,,,,2,"F",189,189,189,
+,,,,3,"I",99,99,99,
+"Greys",4,"seq",,1,"B",247,247,247,
+,,,,2,"E",204,204,204,
+,,,,3,"G",150,150,150,
+,,,,4,"J",82,82,82,
+"Greys",5,"seq",,1,"B",247,247,247,
+,,,,2,"E",204,204,204,
+,,,,3,"G",150,150,150,
+,,,,4,"I",99,99,99,
+,,,,5,"K",37,37,37,
+"Greys",6,"seq",,1,"B",247,247,247,
+,,,,2,"D",217,217,217,
+,,,,3,"F",189,189,189,
+,,,,4,"G",150,150,150,
+,,,,5,"I",99,99,99,
+,,,,6,"K",37,37,37,
+"Greys",7,"seq",,1,"B",247,247,247,
+,,,,2,"D",217,217,217,
+,,,,3,"F",189,189,189,
+,,,,4,"G",150,150,150,
+,,,,5,"H",115,115,115,
+,,,,6,"J",82,82,82,
+,,,,7,"L",37,37,37,
+"Greys",8,"seq",,1,"A",255,255,255,
+,,,,2,"C",240,240,240,
+,,,,3,"D",217,217,217,
+,,,,4,"F",189,189,189,
+,,,,5,"G",150,150,150,
+,,,,6,"H",115,115,115,
+,,,,7,"J",82,82,82,
+,,,,8,"L",37,37,37,
+"Greys",9,"seq",,1,"A",255,255,255,
+,,,,2,"C",240,240,240,
+,,,,3,"D",217,217,217,
+,,,,4,"F",189,189,189,
+,,,,5,"G",150,150,150,
+,,,,6,"H",115,115,115,
+,,,,7,"J",82,82,82,
+,,,,8,"K",37,37,37,
+,,,,9,"M",0,0,0,
+"Oranges",3,"seq",,1,"C",254,230,206,"Sequential"
+,,,,2,"F",253,174,107,
+,,,,3,"I",230,85,13,
+"Oranges",4,"seq",,1,"B",254,237,222,
+,,,,2,"E",253,190,133,
+,,,,3,"G",253,141,60,
+,,,,4,"J",217,71,1,
+"Oranges",5,"seq",,1,"B",254,237,222,
+,,,,2,"E",253,190,133,
+,,,,3,"G",253,141,60,
+,,,,4,"I",230,85,13,
+,,,,5,"K",166,54,3,
+"Oranges",6,"seq",,1,"B",254,237,222,
+,,,,2,"D",253,208,162,
+,,,,3,"F",253,174,107,
+,,,,4,"G",253,141,60,
+,,,,5,"I",230,85,13,
+,,,,6,"K",166,54,3,
+"Oranges",7,"seq",,1,"B",254,237,222,
+,,,,2,"D",253,208,162,
+,,,,3,"F",253,174,107,
+,,,,4,"G",253,141,60,
+,,,,5,"H",241,105,19,
+,,,,6,"J",217,72,1,
+,,,,7,"L",140,45,4,
+"Oranges",8,"seq",,1,"A",255,245,235,
+,,,,2,"C",254,230,206,
+,,,,3,"D",253,208,162,
+,,,,4,"F",253,174,107,
+,,,,5,"G",253,141,60,
+,,,,6,"H",241,105,19,
+,,,,7,"J",217,72,1,
+,,,,8,"L",140,45,4,
+"Oranges",9,"seq",,1,"A",255,245,235,
+,,,,2,"C",254,230,206,
+,,,,3,"D",253,208,162,
+,,,,4,"F",253,174,107,
+,,,,5,"G",253,141,60,
+,,,,6,"H",241,105,19,
+,,,,7,"J",217,72,1,
+,,,,8,"K",166,54,3,
+,,,,9,"M",127,39,4,
+"OrRd",3,"seq",,1,"C",254,232,200,"Sequential"
+,,,,2,"F",253,187,132,
+,,,,3,"I",227,74,51,
+"OrRd",4,"seq",,1,"B",254,240,217,
+,,,,2,"E",253,204,138,
+,,,,3,"G",252,141,89,
+,,,,4,"J",215,48,31,
+"OrRd",5,"seq",,1,"B",254,240,217,
+,,,,2,"E",253,204,138,
+,,,,3,"G",252,141,89,
+,,,,4,"I",227,74,51,
+,,,,5,"K",179,0,0,
+"OrRd",6,"seq",,1,"B",254,240,217,
+,,,,2,"D",253,212,158,
+,,,,3,"F",253,187,132,
+,,,,4,"G",252,141,89,
+,,,,5,"I",227,74,51,
+,,,,6,"K",179,0,0,
+"OrRd",7,"seq",,1,"B",254,240,217,
+,,,,2,"D",253,212,158,
+,,,,3,"F",253,187,132,
+,,,,4,"G",252,141,89,
+,,,,5,"H",239,101,72,
+,,,,6,"J",215,48,31,
+,,,,7,"L",153,0,0,
+"OrRd",8,"seq",,1,"A",255,247,236,
+,,,,2,"C",254,232,200,
+,,,,3,"D",253,212,158,
+,,,,4,"F",253,187,132,
+,,,,5,"G",252,141,89,
+,,,,6,"H",239,101,72,
+,,,,7,"J",215,48,31,
+,,,,8,"L",153,0,0,
+"OrRd",9,"seq",,1,"A",255,247,236,
+,,,,2,"C",254,232,200,
+,,,,3,"D",253,212,158,
+,,,,4,"F",253,187,132,
+,,,,5,"G",252,141,89,
+,,,,6,"H",239,101,72,
+,,,,7,"J",215,48,31,
+,,,,8,"K",179,0,0,
+,,,,9,"M",127,0,0,
+"Paired",3,"qual",,1,"A",166,206,227,"Qualitative"
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+"Paired",4,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+"Paired",5,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+"Paired",6,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+,,,,6,"F",227,26,28,
+"Paired",7,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+,,,,6,"F",227,26,28,
+,,,,7,"G",253,191,111,
+"Paired",8,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+,,,,6,"F",227,26,28,
+,,,,7,"G",253,191,111,
+,,,,8,"H",255,127,0,
+"Paired",9,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+,,,,6,"F",227,26,28,
+,,,,7,"G",253,191,111,
+,,,,8,"H",255,127,0,
+,,,,9,"I",202,178,214,
+"Paired",10,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+,,,,6,"F",227,26,28,
+,,,,7,"G",253,191,111,
+,,,,8,"H",255,127,0,
+,,,,9,"I",202,178,214,
+,,,,10,"J",106,61,154,
+"Paired",11,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+,,,,6,"F",227,26,28,
+,,,,7,"G",253,191,111,
+,,,,8,"H",255,127,0,
+,,,,9,"I",202,178,214,
+,,,,10,"J",106,61,154,
+,,,,11,"K",255,255,153,
+"Paired",12,"qual",,1,"A",166,206,227,
+,,,,2,"B",31,120,180,
+,,,,3,"C",178,223,138,
+,,,,4,"D",51,160,44,
+,,,,5,"E",251,154,153,
+,,,,6,"F",227,26,28,
+,,,,7,"G",253,191,111,
+,,,,8,"H",255,127,0,
+,,,,9,"I",202,178,214,
+,,,,10,"J",106,61,154,
+,,,,11,"K",255,255,153,
+,,,,12,"L",177,89,40,
+"Pastel1",3,"qual",,1,"A",251,180,174,"Qualitative"
+,,,,2,"B",179,205,227,
+,,,,3,"C",204,235,197,
+"Pastel1",4,"qual",,1,"A",251,180,174,
+,,,,2,"B",179,205,227,
+,,,,3,"C",204,235,197,
+,,,,4,"D",222,203,228,
+"Pastel1",5,"qual",,1,"A",251,180,174,
+,,,,2,"B",179,205,227,
+,,,,3,"C",204,235,197,
+,,,,4,"D",222,203,228,
+,,,,5,"E",254,217,166,
+"Pastel1",6,"qual",,1,"A",251,180,174,
+,,,,2,"B",179,205,227,
+,,,,3,"C",204,235,197,
+,,,,4,"D",222,203,228,
+,,,,5,"E",254,217,166,
+,,,,6,"F",255,255,204,
+"Pastel1",7,"qual",,1,"A",251,180,174,
+,,,,2,"B",179,205,227,
+,,,,3,"C",204,235,197,
+,,,,4,"D",222,203,228,
+,,,,5,"E",254,217,166,
+,,,,6,"F",255,255,204,
+,,,,7,"G",229,216,189,
+"Pastel1",8,"qual",,1,"A",251,180,174,
+,,,,2,"B",179,205,227,
+,,,,3,"C",204,235,197,
+,,,,4,"D",222,203,228,
+,,,,5,"E",254,217,166,
+,,,,6,"F",255,255,204,
+,,,,7,"G",229,216,189,
+,,,,8,"H",253,218,236,
+"Pastel1",9,"qual",,1,"A",251,180,174,
+,,,,2,"B",179,205,227,
+,,,,3,"C",204,235,197,
+,,,,4,"D",222,203,228,
+,,,,5,"E",254,217,166,
+,,,,6,"F",255,255,204,
+,,,,7,"G",229,216,189,
+,,,,8,"H",253,218,236,
+,,,,9,"I",242,242,242,
+"Pastel2",3,"qual",,1,"A",179,226,205,"Qualitative"
+,,,,2,"B",253,205,172,
+,,,,3,"C",203,213,232,
+"Pastel2",4,"qual",,1,"A",179,226,205,
+,,,,2,"B",253,205,172,
+,,,,3,"C",203,213,232,
+,,,,4,"D",244,202,228,
+"Pastel2",5,"qual",,1,"A",179,226,205,
+,,,,2,"B",253,205,172,
+,,,,3,"C",203,213,232,
+,,,,4,"D",244,202,228,
+,,,,5,"E",230,245,201,
+"Pastel2",6,"qual",,1,"A",179,226,205,
+,,,,2,"B",253,205,172,
+,,,,3,"C",203,213,232,
+,,,,4,"D",244,202,228,
+,,,,5,"E",230,245,201,
+,,,,6,"F",255,242,174,
+"Pastel2",7,"qual",,1,"A",179,226,205,
+,,,,2,"B",253,205,172,
+,,,,3,"C",203,213,232,
+,,,,4,"D",244,202,228,
+,,,,5,"E",230,245,201,
+,,,,6,"F",255,242,174,
+,,,,7,"G",241,226,204,
+"Pastel2",8,"qual",,1,"A",179,226,205,
+,,,,2,"B",253,205,172,
+,,,,3,"C",203,213,232,
+,,,,4,"D",244,202,228,
+,,,,5,"E",230,245,201,
+,,,,6,"F",255,242,174,
+,,,,7,"G",241,226,204,
+,,,,8,"H",204,204,204,
+"PiYG",3,"div",2,1,"E",233,163,201,"Diverging"
+,,,,2,"H",247,247,247,
+,,,,3,"K",161,215,106,
+"PiYG",4,"div","2,5",1,"C",208,28,139,
+,,,,2,"F",241,182,218,
+,,,,3,"J",184,225,134,
+,,,,4,"M",77,172,38,
+"PiYG",5,"div",3,1,"C",208,28,139,
+,,,,2,"F",241,182,218,
+,,,,3,"H",247,247,247,
+,,,,4,"J",184,225,134,
+,,,,5,"M",77,172,38,
+"PiYG",6,"div","3,5",1,"B",197,27,125,
+,,,,2,"E",233,163,201,
+,,,,3,"G",253,224,239,
+,,,,4,"I",230,245,208,
+,,,,5,"K",161,215,106,
+,,,,6,"N",77,146,33,
+"PiYG",7,"div",4,1,"B",197,27,125,
+,,,,2,"E",233,163,201,
+,,,,3,"G",253,224,239,
+,,,,4,"H",247,247,247,
+,,,,5,"I",230,245,208,
+,,,,6,"K",161,215,106,
+,,,,7,"N",77,146,33,
+"PiYG",8,"div","4,5",1,"B",197,27,125,
+,,,,2,"D",222,119,174,
+,,,,3,"F",241,182,218,
+,,,,4,"G",253,224,239,
+,,,,5,"I",230,245,208,
+,,,,6,"J",184,225,134,
+,,,,7,"L",127,188,65,
+,,,,8,"N",77,146,33,
+"PiYG",9,"div",5,1,"B",197,27,125,
+,,,,2,"D",222,119,174,
+,,,,3,"F",241,182,218,
+,,,,4,"G",253,224,239,
+,,,,5,"H",247,247,247,
+,,,,6,"I",230,245,208,
+,,,,7,"J",184,225,134,
+,,,,8,"L",127,188,65,
+,,,,9,"N",77,146,33,
+"PiYG",10,"div","5,5",1,"A",142,1,82,
+,,,,2,"B",197,27,125,
+,,,,3,"D",222,119,174,
+,,,,4,"F",241,182,218,
+,,,,5,"G",253,224,239,
+,,,,6,"I",230,245,208,
+,,,,7,"J",184,225,134,
+,,,,8,"L",127,188,65,
+,,,,9,"N",77,146,33,
+,,,,10,"O",39,100,25,
+"PiYG",11,"div",6,1,"A",142,1,82,
+,,,,2,"B",197,27,125,
+,,,,3,"D",222,119,174,
+,,,,4,"F",241,182,218,
+,,,,5,"G",253,224,239,
+,,,,6,"H",247,247,247,
+,,,,7,"I",230,245,208,
+,,,,8,"J",184,225,134,
+,,,,9,"L",127,188,65,
+,,,,10,"N",77,146,33,
+,,,,11,"O",39,100,25,
+"PRGn",3,"div",2,1,"E",175,141,195,"Diverging"
+,,,,2,"H",247,247,247,
+,,,,3,"K",127,191,123,
+"PRGn",4,"div","2,5",1,"C",123,50,148,
+,,,,2,"F",194,165,207,
+,,,,3,"J",166,219,160,
+,,,,4,"M",0,136,55,
+"PRGn",5,"div",3,1,"C",123,50,148,
+,,,,2,"F",194,165,207,
+,,,,3,"H",247,247,247,
+,,,,4,"J",166,219,160,
+,,,,5,"M",0,136,55,
+"PRGn",6,"div","3,5",1,"B",118,42,131,
+,,,,2,"E",175,141,195,
+,,,,3,"G",231,212,232,
+,,,,4,"I",217,240,211,
+,,,,5,"K",127,191,123,
+,,,,6,"N",27,120,55,
+"PRGn",7,"div",4,1,"B",118,42,131,
+,,,,2,"E",175,141,195,
+,,,,3,"G",231,212,232,
+,,,,4,"H",247,247,247,
+,,,,5,"I",217,240,211,
+,,,,6,"K",127,191,123,
+,,,,7,"N",27,120,55,
+"PRGn",8,"div","4,5",1,"B",118,42,131,
+,,,,2,"D",153,112,171,
+,,,,3,"F",194,165,207,
+,,,,4,"G",231,212,232,
+,,,,5,"I",217,240,211,
+,,,,6,"J",166,219,160,
+,,,,7,"L",90,174,97,
+,,,,8,"N",27,120,55,
+"PRGn",9,"div",5,1,"B",118,42,131,
+,,,,2,"D",153,112,171,
+,,,,3,"F",194,165,207,
+,,,,4,"G",231,212,232,
+,,,,5,"H",247,247,247,
+,,,,6,"I",217,240,211,
+,,,,7,"J",166,219,160,
+,,,,8,"L",90,174,97,
+,,,,9,"N",27,120,55,
+"PRGn",10,"div","5,5",1,"A",64,0,75,
+,,,,2,"B",118,42,131,
+,,,,3,"D",153,112,171,
+,,,,4,"F",194,165,207,
+,,,,5,"G",231,212,232,
+,,,,6,"I",217,240,211,
+,,,,7,"J",166,219,160,
+,,,,8,"L",90,174,97,
+,,,,9,"N",27,120,55,
+,,,,10,"O",0,68,27,
+"PRGn",11,"div",6,1,"A",64,0,75,
+,,,,2,"B",118,42,131,
+,,,,3,"D",153,112,171,
+,,,,4,"F",194,165,207,
+,,,,5,"G",231,212,232,
+,,,,6,"H",247,247,247,
+,,,,7,"I",217,240,211,
+,,,,8,"J",166,219,160,
+,,,,9,"L",90,174,97,
+,,,,10,"N",27,120,55,
+,,,,11,"O",0,68,27,
+"PuBu",3,"seq",,1,"C",236,231,242,"Sequential"
+,,,,2,"F",166,189,219,
+,,,,3,"I",43,140,190,
+"PuBu",4,"seq",,1,"B",241,238,246,
+,,,,2,"E",189,201,225,
+,,,,3,"G",116,169,207,
+,,,,4,"J",5,112,176,
+"PuBu",5,"seq",,1,"B",241,238,246,
+,,,,2,"E",189,201,225,
+,,,,3,"G",116,169,207,
+,,,,4,"I",43,140,190,
+,,,,5,"K",4,90,141,
+"PuBu",6,"seq",,1,"B",241,238,246,
+,,,,2,"D",208,209,230,
+,,,,3,"F",166,189,219,
+,,,,4,"G",116,169,207,
+,,,,5,"I",43,140,190,
+,,,,6,"K",4,90,141,
+"PuBu",7,"seq",,1,"B",241,238,246,
+,,,,2,"D",208,209,230,
+,,,,3,"F",166,189,219,
+,,,,4,"G",116,169,207,
+,,,,5,"H",54,144,192,
+,,,,6,"J",5,112,176,
+,,,,7,"L",3,78,123,
+"PuBu",8,"seq",,1,"A",255,247,251,
+,,,,2,"C",236,231,242,
+,,,,3,"D",208,209,230,
+,,,,4,"F",166,189,219,
+,,,,5,"G",116,169,207,
+,,,,6,"H",54,144,192,
+,,,,7,"J",5,112,176,
+,,,,8,"L",3,78,123,
+"PuBu",9,"seq",,1,"A",255,247,251,
+,,,,2,"C",236,231,242,
+,,,,3,"D",208,209,230,
+,,,,4,"F",166,189,219,
+,,,,5,"G",116,169,207,
+,,,,6,"H",54,144,192,
+,,,,7,"J",5,112,176,
+,,,,8,"K",4,90,141,
+,,,,9,"M",2,56,88,
+"PuBuGn",3,"seq",,1,"C",236,226,240,"Sequential"
+,,,,2,"F",166,189,219,
+,,,,3,"I",28,144,153,
+"PuBuGn",4,"seq",,1,"B",246,239,247,
+,,,,2,"E",189,201,225,
+,,,,3,"G",103,169,207,
+,,,,4,"J",2,129,138,
+"PuBuGn",5,"seq",,1,"B",246,239,247,
+,,,,2,"E",189,201,225,
+,,,,3,"G",103,169,207,
+,,,,4,"I",28,144,153,
+,,,,5,"K",1,108,89,
+"PuBuGn",6,"seq",,1,"B",246,239,247,
+,,,,2,"D",208,209,230,
+,,,,3,"F",166,189,219,
+,,,,4,"G",103,169,207,
+,,,,5,"I",28,144,153,
+,,,,6,"K",1,108,89,
+"PuBuGn",7,"seq",,1,"B",246,239,247,
+,,,,2,"D",208,209,230,
+,,,,3,"F",166,189,219,
+,,,,4,"G",103,169,207,
+,,,,5,"H",54,144,192,
+,,,,6,"J",2,129,138,
+,,,,7,"L",1,100,80,
+"PuBuGn",8,"seq",,1,"A",255,247,251,
+,,,,2,"C",236,226,240,
+,,,,3,"D",208,209,230,
+,,,,4,"F",166,189,219,
+,,,,5,"G",103,169,207,
+,,,,6,"H",54,144,192,
+,,,,7,"J",2,129,138,
+,,,,8,"L",1,100,80,
+"PuBuGn",9,"seq",,1,"A",255,247,251,
+,,,,2,"C",236,226,240,
+,,,,3,"D",208,209,230,
+,,,,4,"F",166,189,219,
+,,,,5,"G",103,169,207,
+,,,,6,"H",54,144,192,
+,,,,7,"J",2,129,138,
+,,,,8,"K",1,108,89,
+,,,,9,"M",1,70,54,
+"PuOr",3,"div",2,1,"E",241,163,64,"Diverging"
+,,,,2,"H",247,247,247,
+,,,,3,"K",153,142,195,
+"PuOr",4,"div","2,5",1,"C",230,97,1,
+,,,,2,"F",253,184,99,
+,,,,3,"J",178,171,210,
+,,,,4,"M",94,60,153,
+"PuOr",5,"div",3,1,"C",230,97,1,
+,,,,2,"F",253,184,99,
+,,,,3,"H",247,247,247,
+,,,,4,"J",178,171,210,
+,,,,5,"M",94,60,153,
+"PuOr",6,"div","3,5",1,"B",179,88,6,
+,,,,2,"E",241,163,64,
+,,,,3,"G",254,224,182,
+,,,,4,"I",216,218,235,
+,,,,5,"K",153,142,195,
+,,,,6,"N",84,39,136,
+"PuOr",7,"div",4,1,"B",179,88,6,
+,,,,2,"E",241,163,64,
+,,,,3,"G",254,224,182,
+,,,,4,"H",247,247,247,
+,,,,5,"I",216,218,235,
+,,,,6,"K",153,142,195,
+,,,,7,"N",84,39,136,
+"PuOr",8,"div","4,5",1,"B",179,88,6,
+,,,,2,"D",224,130,20,
+,,,,3,"F",253,184,99,
+,,,,4,"G",254,224,182,
+,,,,5,"I",216,218,235,
+,,,,6,"J",178,171,210,
+,,,,7,"L",128,115,172,
+,,,,8,"N",84,39,136,
+"PuOr",9,"div",5,1,"B",179,88,6,
+,,,,2,"D",224,130,20,
+,,,,3,"F",253,184,99,
+,,,,4,"G",254,224,182,
+,,,,5,"H",247,247,247,
+,,,,6,"I",216,218,235,
+,,,,7,"J",178,171,210,
+,,,,8,"L",128,115,172,
+,,,,9,"N",84,39,136,
+"PuOr",10,"div","5,5",1,"A",127,59,8,
+,,,,2,"B",179,88,6,
+,,,,3,"D",224,130,20,
+,,,,4,"F",253,184,99,
+,,,,5,"G",254,224,182,
+,,,,6,"I",216,218,235,
+,,,,7,"J",178,171,210,
+,,,,8,"L",128,115,172,
+,,,,9,"N",84,39,136,
+,,,,10,"O",45,0,75,
+"PuOr",11,"div",6,1,"A",127,59,8,
+,,,,2,"B",179,88,6,
+,,,,3,"D",224,130,20,
+,,,,4,"F",253,184,99,
+,,,,5,"G",254,224,182,
+,,,,6,"H",247,247,247,
+,,,,7,"I",216,218,235,
+,,,,8,"J",178,171,210,
+,,,,9,"L",128,115,172,
+,,,,10,"N",84,39,136,
+,,,,11,"O",45,0,75,
+"PuRd",3,"seq",,1,"C",231,225,239,"Sequential"
+,,,,2,"F",201,148,199,
+,,,,3,"I",221,28,119,
+"PuRd",4,"seq",,1,"B",241,238,246,
+,,,,2,"E",215,181,216,
+,,,,3,"G",223,101,176,
+,,,,4,"J",206,18,86,
+"PuRd",5,"seq",,1,"B",241,238,246,
+,,,,2,"E",215,181,216,
+,,,,3,"G",223,101,176,
+,,,,4,"I",221,28,119,
+,,,,5,"K",152,0,67,
+"PuRd",6,"seq",,1,"B",241,238,246,
+,,,,2,"D",212,185,218,
+,,,,3,"F",201,148,199,
+,,,,4,"G",223,101,176,
+,,,,5,"I",221,28,119,
+,,,,6,"K",152,0,67,
+"PuRd",7,"seq",,1,"B",241,238,246,
+,,,,2,"D",212,185,218,
+,,,,3,"F",201,148,199,
+,,,,4,"G",223,101,176,
+,,,,5,"H",231,41,138,
+,,,,6,"J",206,18,86,
+,,,,7,"L",145,0,63,
+"PuRd",8,"seq",,1,"A",247,244,249,
+,,,,2,"C",231,225,239,
+,,,,3,"D",212,185,218,
+,,,,4,"F",201,148,199,
+,,,,5,"G",223,101,176,
+,,,,6,"H",231,41,138,
+,,,,7,"J",206,18,86,
+,,,,8,"L",145,0,63,
+"PuRd",9,"seq",,1,"A",247,244,249,
+,,,,2,"C",231,225,239,
+,,,,3,"D",212,185,218,
+,,,,4,"F",201,148,199,
+,,,,5,"G",223,101,176,
+,,,,6,"H",231,41,138,
+,,,,7,"J",206,18,86,
+,,,,8,"K",152,0,67,
+,,,,9,"M",103,0,31,
+"Purples",3,"seq",,1,"C",239,237,245,"Sequential"
+,,,,2,"F",188,189,220,
+,,,,3,"I",117,107,177,
+"Purples",4,"seq",,1,"B",242,240,247,
+,,,,2,"E",203,201,226,
+,,,,3,"G",158,154,200,
+,,,,4,"J",106,81,163,
+"Purples",5,"seq",,1,"B",242,240,247,
+,,,,2,"E",203,201,226,
+,,,,3,"G",158,154,200,
+,,,,4,"I",117,107,177,
+,,,,5,"K",84,39,143,
+"Purples",6,"seq",,1,"B",242,240,247,
+,,,,2,"D",218,218,235,
+,,,,3,"F",188,189,220,
+,,,,4,"G",158,154,200,
+,,,,5,"I",117,107,177,
+,,,,6,"K",84,39,143,
+"Purples",7,"seq",,1,"B",242,240,247,
+,,,,2,"D",218,218,235,
+,,,,3,"F",188,189,220,
+,,,,4,"G",158,154,200,
+,,,,5,"H",128,125,186,
+,,,,6,"J",106,81,163,
+,,,,7,"L",74,20,134,
+"Purples",8,"seq",,1,"A",252,251,253,
+,,,,2,"C",239,237,245,
+,,,,3,"D",218,218,235,
+,,,,4,"F",188,189,220,
+,,,,5,"G",158,154,200,
+,,,,6,"H",128,125,186,
+,,,,7,"J",106,81,163,
+,,,,8,"L",74,20,134,
+"Purples",9,"seq",,1,"A",252,251,253,
+,,,,2,"C",239,237,245,
+,,,,3,"D",218,218,235,
+,,,,4,"F",188,189,220,
+,,,,5,"G",158,154,200,
+,,,,6,"H",128,125,186,
+,,,,7,"J",106,81,163,
+,,,,8,"K",84,39,143,
+,,,,9,"M",63,0,125,
+"RdBu",3,"div",2,1,"E",239,138,98,"Diverging"
+,,,,2,"H",247,247,247,
+,,,,3,"K",103,169,207,
+"RdBu",4,"div","2,5",1,"C",202,0,32,
+,,,,2,"F",244,165,130,
+,,,,3,"J",146,197,222,
+,,,,4,"M",5,113,176,
+"RdBu",5,"div",3,1,"C",202,0,32,
+,,,,2,"F",244,165,130,
+,,,,3,"H",247,247,247,
+,,,,4,"J",146,197,222,
+,,,,5,"M",5,113,176,
+"RdBu",6,"div","3,5",1,"B",178,24,43,
+,,,,2,"E",239,138,98,
+,,,,3,"G",253,219,199,
+,,,,4,"I",209,229,240,
+,,,,5,"K",103,169,207,
+,,,,6,"N",33,102,172,
+"RdBu",7,"div",4,1,"B",178,24,43,
+,,,,2,"E",239,138,98,
+,,,,3,"G",253,219,199,
+,,,,4,"H",247,247,247,
+,,,,5,"I",209,229,240,
+,,,,6,"K",103,169,207,
+,,,,7,"N",33,102,172,
+"RdBu",8,"div","4,5",1,"B",178,24,43,
+,,,,2,"D",214,96,77,
+,,,,3,"F",244,165,130,
+,,,,4,"G",253,219,199,
+,,,,5,"I",209,229,240,
+,,,,6,"J",146,197,222,
+,,,,7,"L",67,147,195,
+,,,,8,"N",33,102,172,
+"RdBu",9,"div",5,1,"B",178,24,43,
+,,,,2,"D",214,96,77,
+,,,,3,"F",244,165,130,
+,,,,4,"G",253,219,199,
+,,,,5,"H",247,247,247,
+,,,,6,"I",209,229,240,
+,,,,7,"J",146,197,222,
+,,,,8,"L",67,147,195,
+,,,,9,"N",33,102,172,
+"RdBu",10,"div","5,5",1,"A",103,0,31,
+,,,,2,"B",178,24,43,
+,,,,3,"D",214,96,77,
+,,,,4,"F",244,165,130,
+,,,,5,"G",253,219,199,
+,,,,6,"I",209,229,240,
+,,,,7,"J",146,197,222,
+,,,,8,"L",67,147,195,
+,,,,9,"N",33,102,172,
+,,,,10,"O",5,48,97,
+"RdBu",11,"div",6,1,"A",103,0,31,
+,,,,2,"B",178,24,43,
+,,,,3,"D",214,96,77,
+,,,,4,"F",244,165,130,
+,,,,5,"G",253,219,199,
+,,,,6,"H",247,247,247,
+,,,,7,"I",209,229,240,
+,,,,8,"J",146,197,222,
+,,,,9,"L",67,147,195,
+,,,,10,"N",33,102,172,
+,,,,11,"O",5,48,97,
+"RdGy",3,"div",2,1,"E",239,138,98,"Diverging"
+,,,,2,"H",255,255,255,
+,,,,3,"K",153,153,153,
+"RdGy",4,"div","2,5",1,"C",202,0,32,
+,,,,2,"F",244,165,130,
+,,,,3,"J",186,186,186,
+,,,,4,"M",64,64,64,
+"RdGy",5,"div",3,1,"C",202,0,32,
+,,,,2,"F",244,165,130,
+,,,,3,"H",255,255,255,
+,,,,4,"J",186,186,186,
+,,,,5,"M",64,64,64,
+"RdGy",6,"div","3,5",1,"B",178,24,43,
+,,,,2,"E",239,138,98,
+,,,,3,"G",253,219,199,
+,,,,4,"I",224,224,224,
+,,,,5,"K",153,153,153,
+,,,,6,"N",77,77,77,
+"RdGy",7,"div",4,1,"B",178,24,43,
+,,,,2,"E",239,138,98,
+,,,,3,"G",253,219,199,
+,,,,4,"H",255,255,255,
+,,,,5,"I",224,224,224,
+,,,,6,"K",153,153,153,
+,,,,7,"N",77,77,77,
+"RdGy",8,"div","4,5",1,"B",178,24,43,
+,,,,2,"D",214,96,77,
+,,,,3,"F",244,165,130,
+,,,,4,"G",253,219,199,
+,,,,5,"I",224,224,224,
+,,,,6,"J",186,186,186,
+,,,,7,"L",135,135,135,
+,,,,8,"N",77,77,77,
+"RdGy",9,"div",5,1,"B",178,24,43,
+,,,,2,"D",214,96,77,
+,,,,3,"F",244,165,130,
+,,,,4,"G",253,219,199,
+,,,,5,"H",255,255,255,
+,,,,6,"I",224,224,224,
+,,,,7,"J",186,186,186,
+,,,,8,"L",135,135,135,
+,,,,9,"N",77,77,77,
+"RdGy",10,"div","5,5",1,"A",103,0,31,
+,,,,2,"B",178,24,43,
+,,,,3,"D",214,96,77,
+,,,,4,"F",244,165,130,
+,,,,5,"G",253,219,199,
+,,,,6,"I",224,224,224,
+,,,,7,"J",186,186,186,
+,,,,8,"L",135,135,135,
+,,,,9,"N",77,77,77,
+,,,,10,"O",26,26,26,
+"RdGy",11,"div",6,1,"A",103,0,31,
+,,,,2,"B",178,24,43,
+,,,,3,"D",214,96,77,
+,,,,4,"F",244,165,130,
+,,,,5,"G",253,219,199,
+,,,,6,"H",255,255,255,
+,,,,7,"I",224,224,224,
+,,,,8,"J",186,186,186,
+,,,,9,"L",135,135,135,
+,,,,10,"N",77,77,77,
+,,,,11,"O",26,26,26,
+"RdPu",3,"seq",,1,"C",253,224,221,"Sequential"
+,,,,2,"F",250,159,181,
+,,,,3,"I",197,27,138,
+"RdPu",4,"seq",,1,"B",254,235,226,
+,,,,2,"E",251,180,185,
+,,,,3,"G",247,104,161,
+,,,,4,"J",174,1,126,
+"RdPu",5,"seq",,1,"B",254,235,226,
+,,,,2,"E",251,180,185,
+,,,,3,"G",247,104,161,
+,,,,4,"I",197,27,138,
+,,,,5,"K",122,1,119,
+"RdPu",6,"seq",,1,"B",254,235,226,
+,,,,2,"D",252,197,192,
+,,,,3,"F",250,159,181,
+,,,,4,"G",247,104,161,
+,,,,5,"I",197,27,138,
+,,,,6,"K",122,1,119,
+"RdPu",7,"seq",,1,"B",254,235,226,
+,,,,2,"D",252,197,192,
+,,,,3,"F",250,159,181,
+,,,,4,"G",247,104,161,
+,,,,5,"H",221,52,151,
+,,,,6,"J",174,1,126,
+,,,,7,"L",122,1,119,
+"RdPu",8,"seq",,1,"A",255,247,243,
+,,,,2,"C",253,224,221,
+,,,,3,"D",252,197,192,
+,,,,4,"F",250,159,181,
+,,,,5,"G",247,104,161,
+,,,,6,"H",221,52,151,
+,,,,7,"J",174,1,126,
+,,,,8,"L",122,1,119,
+"RdPu",9,"seq",,1,"A",255,247,243,
+,,,,2,"C",253,224,221,
+,,,,3,"D",252,197,192,
+,,,,4,"F",250,159,181,
+,,,,5,"G",247,104,161,
+,,,,6,"H",221,52,151,
+,,,,7,"J",174,1,126,
+,,,,8,"K",122,1,119,
+,,,,9,"M",73,0,106,
+"Reds",3,"seq",,1,"C",254,224,210,"Sequential"
+,,,,2,"F",252,146,114,
+,,,,3,"I",222,45,38,
+"Reds",4,"seq",,1,"B",254,229,217,
+,,,,2,"E",252,174,145,
+,,,,3,"G",251,106,74,
+,,,,4,"J",203,24,29,
+"Reds",5,"seq",,1,"B",254,229,217,
+,,,,2,"E",252,174,145,
+,,,,3,"G",251,106,74,
+,,,,4,"I",222,45,38,
+,,,,5,"K",165,15,21,
+"Reds",6,"seq",,1,"B",254,229,217,
+,,,,2,"D",252,187,161,
+,,,,3,"F",252,146,114,
+,,,,4,"G",251,106,74,
+,,,,5,"I",222,45,38,
+,,,,6,"K",165,15,21,
+"Reds",7,"seq",,1,"B",254,229,217,
+,,,,2,"D",252,187,161,
+,,,,3,"F",252,146,114,
+,,,,4,"G",251,106,74,
+,,,,5,"H",239,59,44,
+,,,,6,"J",203,24,29,
+,,,,7,"L",153,0,13,
+"Reds",8,"seq",,1,"A",255,245,240,
+,,,,2,"C",254,224,210,
+,,,,3,"D",252,187,161,
+,,,,4,"F",252,146,114,
+,,,,5,"G",251,106,74,
+,,,,6,"H",239,59,44,
+,,,,7,"J",203,24,29,
+,,,,8,"L",153,0,13,
+"Reds",9,"seq",,1,"A",255,245,240,
+,,,,2,"C",254,224,210,
+,,,,3,"D",252,187,161,
+,,,,4,"F",252,146,114,
+,,,,5,"G",251,106,74,
+,,,,6,"H",239,59,44,
+,,,,7,"J",203,24,29,
+,,,,8,"K",165,15,21,
+,,,,9,"M",103,0,13,
+"RdYlBu",3,"div",2,1,"E",252,141,89,"Diverging"
+,,,,2,"H",255,255,191,
+,,,,3,"K",145,191,219,
+"RdYlBu",4,"div","2,5",1,"C",215,25,28,
+,,,,2,"F",253,174,97,
+,,,,3,"J",171,217,233,
+,,,,4,"M",44,123,182,
+"RdYlBu",5,"div",3,1,"C",215,25,28,
+,,,,2,"F",253,174,97,
+,,,,3,"H",255,255,191,
+,,,,4,"J",171,217,233,
+,,,,5,"M",44,123,182,
+"RdYlBu",6,"div","3,5",1,"B",215,48,39,
+,,,,2,"E",252,141,89,
+,,,,3,"G",254,224,144,
+,,,,4,"I",224,243,248,
+,,,,5,"K",145,191,219,
+,,,,6,"N",69,117,180,
+"RdYlBu",7,"div",4,1,"B",215,48,39,
+,,,,2,"E",252,141,89,
+,,,,3,"G",254,224,144,
+,,,,4,"H",255,255,191,
+,,,,5,"I",224,243,248,
+,,,,6,"K",145,191,219,
+,,,,7,"N",69,117,180,
+"RdYlBu",8,"div","4,5",1,"B",215,48,39,
+,,,,2,"D",244,109,67,
+,,,,3,"F",253,174,97,
+,,,,4,"G",254,224,144,
+,,,,5,"I",224,243,248,
+,,,,6,"J",171,217,233,
+,,,,7,"L",116,173,209,
+,,,,8,"N",69,117,180,
+"RdYlBu",9,"div",5,1,"B",215,48,39,
+,,,,2,"D",244,109,67,
+,,,,3,"F",253,174,97,
+,,,,4,"G",254,224,144,
+,,,,5,"H",255,255,191,
+,,,,6,"I",224,243,248,
+,,,,7,"J",171,217,233,
+,,,,8,"L",116,173,209,
+,,,,9,"N",69,117,180,
+"RdYlBu",10,"div","5,5",1,"A",165,0,38,
+,,,,2,"B",215,48,39,
+,,,,3,"D",244,109,67,
+,,,,4,"F",253,174,97,
+,,,,5,"G",254,224,144,
+,,,,6,"I",224,243,248,
+,,,,7,"J",171,217,233,
+,,,,8,"L",116,173,209,
+,,,,9,"N",69,117,180,
+,,,,10,"O",49,54,149,
+"RdYlBu",11,"div",6,1,"A",165,0,38,
+,,,,2,"B",215,48,39,
+,,,,3,"D",244,109,67,
+,,,,4,"F",253,174,97,
+,,,,5,"G",254,224,144,
+,,,,6,"H",255,255,191,
+,,,,7,"I",224,243,248,
+,,,,8,"J",171,217,233,
+,,,,9,"L",116,173,209,
+,,,,10,"N",69,117,180,
+,,,,11,"O",49,54,149,
+"RdYlGn",3,"div",2,1,"E",252,141,89,"Diverging"
+,,,,2,"H",255,255,191,
+,,,,3,"K",145,207,96,
+"RdYlGn",4,"div","2,5",1,"C",215,25,28,
+,,,,2,"F",253,174,97,
+,,,,3,"J",166,217,106,
+,,,,4,"M",26,150,65,
+"RdYlGn",5,"div",3,1,"C",215,25,28,
+,,,,2,"F",253,174,97,
+,,,,3,"H",255,255,191,
+,,,,4,"J",166,217,106,
+,,,,5,"M",26,150,65,
+"RdYlGn",6,"div","3,5",1,"B",215,48,39,
+,,,,2,"E",252,141,89,
+,,,,3,"G",254,224,139,
+,,,,4,"I",217,239,139,
+,,,,5,"K",145,207,96,
+,,,,6,"N",26,152,80,
+"RdYlGn",7,"div",4,1,"B",215,48,39,
+,,,,2,"E",252,141,89,
+,,,,3,"G",254,224,139,
+,,,,4,"H",255,255,191,
+,,,,5,"I",217,239,139,
+,,,,6,"K",145,207,96,
+,,,,7,"N",26,152,80,
+"RdYlGn",8,"div","4,5",1,"B",215,48,39,
+,,,,2,"D",244,109,67,
+,,,,3,"F",253,174,97,
+,,,,4,"G",254,224,139,
+,,,,5,"I",217,239,139,
+,,,,6,"J",166,217,106,
+,,,,7,"L",102,189,99,
+,,,,8,"N",26,152,80,
+"RdYlGn",9,"div",5,1,"B",215,48,39,
+,,,,2,"D",244,109,67,
+,,,,3,"F",253,174,97,
+,,,,4,"G",254,224,139,
+,,,,5,"H",255,255,191,
+,,,,6,"I",217,239,139,
+,,,,7,"J",166,217,106,
+,,,,8,"L",102,189,99,
+,,,,9,"N",26,152,80,
+"RdYlGn",10,"div","5,5",1,"A",165,0,38,
+,,,,2,"B",215,48,39,
+,,,,3,"D",244,109,67,
+,,,,4,"F",253,174,97,
+,,,,5,"G",254,224,139,
+,,,,6,"I",217,239,139,
+,,,,7,"J",166,217,106,
+,,,,8,"L",102,189,99,
+,,,,9,"N",26,152,80,
+,,,,10,"O",0,104,55,
+"RdYlGn",11,"div",6,1,"A",165,0,38,
+,,,,2,"B",215,48,39,
+,,,,3,"D",244,109,67,
+,,,,4,"F",253,174,97,
+,,,,5,"G",254,224,139,
+,,,,6,"H",255,255,191,
+,,,,7,"I",217,239,139,
+,,,,8,"J",166,217,106,
+,,,,9,"L",102,189,99,
+,,,,10,"N",26,152,80,
+,,,,11,"O",0,104,55,
+"Set1",3,"qual",,1,"A",228,26,28,"Qualitative"
+,,,,2,"B",55,126,184,
+,,,,3,"C",77,175,74,
+"Set1",4,"qual",,1,"A",228,26,28,
+,,,,2,"B",55,126,184,
+,,,,3,"C",77,175,74,
+,,,,4,"D",152,78,163,
+"Set1",5,"qual",,1,"A",228,26,28,
+,,,,2,"B",55,126,184,
+,,,,3,"C",77,175,74,
+,,,,4,"D",152,78,163,
+,,,,5,"E",255,127,0,
+"Set1",6,"qual",,1,"A",228,26,28,
+,,,,2,"B",55,126,184,
+,,,,3,"C",77,175,74,
+,,,,4,"D",152,78,163,
+,,,,5,"E",255,127,0,
+,,,,6,"F",255,255,51,
+"Set1",7,"qual",,1,"A",228,26,28,
+,,,,2,"B",55,126,184,
+,,,,3,"C",77,175,74,
+,,,,4,"D",152,78,163,
+,,,,5,"E",255,127,0,
+,,,,6,"F",255,255,51,
+,,,,7,"G",166,86,40,
+"Set1",8,"qual",,1,"A",228,26,28,
+,,,,2,"B",55,126,184,
+,,,,3,"C",77,175,74,
+,,,,4,"D",152,78,163,
+,,,,5,"E",255,127,0,
+,,,,6,"F",255,255,51,
+,,,,7,"G",166,86,40,
+,,,,8,"H",247,129,191,
+"Set1",9,"qual",,1,"A",228,26,28,
+,,,,2,"B",55,126,184,
+,,,,3,"C",77,175,74,
+,,,,4,"D",152,78,163,
+,,,,5,"E",255,127,0,
+,,,,6,"F",255,255,51,
+,,,,7,"G",166,86,40,
+,,,,8,"H",247,129,191,
+,,,,9,"I",153,153,153,
+"Set2",3,"qual",,1,"A",102,194,165,"Qualitative"
+,,,,2,"B",252,141,98,
+,,,,3,"C",141,160,203,
+"Set2",4,"qual",,1,"A",102,194,165,
+,,,,2,"B",252,141,98,
+,,,,3,"C",141,160,203,
+,,,,4,"D",231,138,195,
+"Set2",5,"qual",,1,"A",102,194,165,
+,,,,2,"B",252,141,98,
+,,,,3,"C",141,160,203,
+,,,,4,"D",231,138,195,
+,,,,5,"E",166,216,84,
+"Set2",6,"qual",,1,"A",102,194,165,
+,,,,2,"B",252,141,98,
+,,,,3,"C",141,160,203,
+,,,,4,"D",231,138,195,
+,,,,5,"E",166,216,84,
+,,,,6,"F",255,217,47,
+"Set2",7,"qual",,1,"A",102,194,165,
+,,,,2,"B",252,141,98,
+,,,,3,"C",141,160,203,
+,,,,4,"D",231,138,195,
+,,,,5,"E",166,216,84,
+,,,,6,"F",255,217,47,
+,,,,7,"G",229,196,148,
+"Set2",8,"qual",,1,"A",102,194,165,
+,,,,2,"B",252,141,98,
+,,,,3,"C",141,160,203,
+,,,,4,"D",231,138,195,
+,,,,5,"E",166,216,84,
+,,,,6,"F",255,217,47,
+,,,,7,"G",229,196,148,
+,,,,8,"H",179,179,179,
+"Set3",3,"qual",,1,"A",141,211,199,"Qualitative"
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+"Set3",4,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+"Set3",5,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+"Set3",6,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+,,,,6,"F",253,180,98,
+"Set3",7,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+,,,,6,"F",253,180,98,
+,,,,7,"G",179,222,105,
+"Set3",8,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+,,,,6,"F",253,180,98,
+,,,,7,"G",179,222,105,
+,,,,8,"H",252,205,229,
+"Set3",9,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+,,,,6,"F",253,180,98,
+,,,,7,"G",179,222,105,
+,,,,8,"H",252,205,229,
+,,,,9,"I",217,217,217,
+"Set3",10,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+,,,,6,"F",253,180,98,
+,,,,7,"G",179,222,105,
+,,,,8,"H",252,205,229,
+,,,,9,"I",217,217,217,
+,,,,10,"J",188,128,189,
+"Set3",11,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+,,,,6,"F",253,180,98,
+,,,,7,"G",179,222,105,
+,,,,8,"H",252,205,229,
+,,,,9,"I",217,217,217,
+,,,,10,"J",188,128,189,
+,,,,11,"K",204,235,197,
+"Set3",12,"qual",,1,"A",141,211,199,
+,,,,2,"B",255,255,179,
+,,,,3,"C",190,186,218,
+,,,,4,"D",251,128,114,
+,,,,5,"E",128,177,211,
+,,,,6,"F",253,180,98,
+,,,,7,"G",179,222,105,
+,,,,8,"H",252,205,229,
+,,,,9,"I",217,217,217,
+,,,,10,"J",188,128,189,
+,,,,11,"K",204,235,197,
+,,,,12,"L",255,237,111,
+"Spectral",3,"div",2,1,"E",252,141,89,"Diverging"
+,,,,2,"H",255,255,191,
+,,,,3,"K",153,213,148,
+"Spectral",4,"div","2,5",1,"C",215,25,28,
+,,,,2,"F",253,174,97,
+,,,,3,"J",171,221,164,
+,,,,4,"M",43,131,186,
+"Spectral",5,"div",3,1,"C",215,25,28,
+,,,,2,"F",253,174,97,
+,,,,3,"H",255,255,191,
+,,,,4,"J",171,221,164,
+,,,,5,"M",43,131,186,
+"Spectral",6,"div","3,5",1,"B",213,62,79,
+,,,,2,"E",252,141,89,
+,,,,3,"G",254,224,139,
+,,,,4,"I",230,245,152,
+,,,,5,"K",153,213,148,
+,,,,6,"N",50,136,189,
+"Spectral",7,"div",4,1,"B",213,62,79,
+,,,,2,"E",252,141,89,
+,,,,3,"G",254,224,139,
+,,,,4,"H",255,255,191,
+,,,,5,"I",230,245,152,
+,,,,6,"K",153,213,148,
+,,,,7,"N",50,136,189,
+"Spectral",8,"div","4,5",1,"B",213,62,79,
+,,,,2,"D",244,109,67,
+,,,,3,"F",253,174,97,
+,,,,4,"G",254,224,139,
+,,,,5,"I",230,245,152,
+,,,,6,"J",171,221,164,
+,,,,7,"L",102,194,165,
+,,,,8,"N",50,136,189,
+"Spectral",9,"div",5,1,"B",213,62,79,
+,,,,2,"D",244,109,67,
+,,,,3,"F",253,174,97,
+,,,,4,"G",254,224,139,
+,,,,5,"H",255,255,191,
+,,,,6,"I",230,245,152,
+,,,,7,"J",171,221,164,
+,,,,8,"L",102,194,165,
+,,,,9,"N",50,136,189,
+"Spectral",10,"div","5,5",1,"A",158,1,66,
+,,,,2,"B",213,62,79,
+,,,,3,"D",244,109,67,
+,,,,4,"F",253,174,97,
+,,,,5,"G",254,224,139,
+,,,,6,"I",230,245,152,
+,,,,7,"J",171,221,164,
+,,,,8,"L",102,194,165,
+,,,,9,"N",50,136,189,
+,,,,10,"O",94,79,162,
+"Spectral",11,"div",6,1,"A",158,1,66,
+,,,,2,"B",213,62,79,
+,,,,3,"D",244,109,67,
+,,,,4,"F",253,174,97,
+,,,,5,"G",254,224,139,
+,,,,6,"H",255,255,191,
+,,,,7,"I",230,245,152,
+,,,,8,"J",171,221,164,
+,,,,9,"L",102,194,165,
+,,,,10,"N",50,136,189,
+,,,,11,"O",94,79,162,
+"YlGn",3,"seq",,1,"C",247,252,185,"Sequential"
+,,,,2,"F",173,221,142,
+,,,,3,"I",49,163,84,
+"YlGn",4,"seq",,1,"B",255,255,204,
+,,,,2,"E",194,230,153,
+,,,,3,"G",120,198,121,
+,,,,4,"J",35,132,67,
+"YlGn",5,"seq",,1,"B",255,255,204,
+,,,,2,"E",194,230,153,
+,,,,3,"G",120,198,121,
+,,,,4,"I",49,163,84,
+,,,,5,"K",0,104,55,
+"YlGn",6,"seq",,1,"B",255,255,204,
+,,,,2,"D",217,240,163,
+,,,,3,"F",173,221,142,
+,,,,4,"G",120,198,121,
+,,,,5,"I",49,163,84,
+,,,,6,"K",0,104,55,
+"YlGn",7,"seq",,1,"B",255,255,204,
+,,,,2,"D",217,240,163,
+,,,,3,"F",173,221,142,
+,,,,4,"G",120,198,121,
+,,,,5,"H",65,171,93,
+,,,,6,"J",35,132,67,
+,,,,7,"L",0,90,50,
+"YlGn",8,"seq",,1,"A",255,255,229,
+,,,,2,"C",247,252,185,
+,,,,3,"D",217,240,163,
+,,,,4,"F",173,221,142,
+,,,,5,"G",120,198,121,
+,,,,6,"H",65,171,93,
+,,,,7,"J",35,132,67,
+,,,,8,"L",0,90,50,
+"YlGn",9,"seq",,1,"A",255,255,229,
+,,,,2,"C",247,252,185,
+,,,,3,"D",217,240,163,
+,,,,4,"F",173,221,142,
+,,,,5,"G",120,198,121,
+,,,,6,"H",65,171,93,
+,,,,7,"J",35,132,67,
+,,,,8,"K",0,104,55,
+,,,,9,"M",0,69,41,
+"YlGnBu",3,"seq",,1,"C",237,248,177,"Sequential"
+,,,,2,"F",127,205,187,
+,,,,3,"I",44,127,184,
+"YlGnBu",4,"seq",,1,"B",255,255,204,
+,,,,2,"E",161,218,180,
+,,,,3,"G",65,182,196,
+,,,,4,"J",34,94,168,
+"YlGnBu",5,"seq",,1,"B",255,255,204,
+,,,,2,"E",161,218,180,
+,,,,3,"G",65,182,196,
+,,,,4,"I",44,127,184,
+,,,,5,"K",37,52,148,
+"YlGnBu",6,"seq",,1,"B",255,255,204,
+,,,,2,"D",199,233,180,
+,,,,3,"F",127,205,187,
+,,,,4,"G",65,182,196,
+,,,,5,"I",44,127,184,
+,,,,6,"K",37,52,148,
+"YlGnBu",7,"seq",,1,"B",255,255,204,
+,,,,2,"D",199,233,180,
+,,,,3,"F",127,205,187,
+,,,,4,"G",65,182,196,
+,,,,5,"H",29,145,192,
+,,,,6,"J",34,94,168,
+,,,,7,"L",12,44,132,
+"YlGnBu",8,"seq",,1,"A",255,255,217,
+,,,,2,"C",237,248,177,
+,,,,3,"D",199,233,180,
+,,,,4,"F",127,205,187,
+,,,,5,"G",65,182,196,
+,,,,6,"H",29,145,192,
+,,,,7,"J",34,94,168,
+,,,,8,"L",12,44,132,
+"YlGnBu",9,"seq",,1,"A",255,255,217,
+,,,,2,"C",237,248,177,
+,,,,3,"D",199,233,180,
+,,,,4,"F",127,205,187,
+,,,,5,"G",65,182,196,
+,,,,6,"H",29,145,192,
+,,,,7,"J",34,94,168,
+,,,,8,"K",37,52,148,
+,,,,9,"M",8,29,88,
+"YlOrBr",3,"seq",,1,"C",255,247,188,"Sequential"
+,,,,2,"F",254,196,79,
+,,,,3,"I",217,95,14,
+"YlOrBr",4,"seq",,1,"B",255,255,212,
+,,,,2,"E",254,217,142,
+,,,,3,"G",254,153,41,
+,,,,4,"J",204,76,2,
+"YlOrBr",5,"seq",,1,"B",255,255,212,
+,,,,2,"E",254,217,142,
+,,,,3,"G",254,153,41,
+,,,,4,"I",217,95,14,
+,,,,5,"K",153,52,4,
+"YlOrBr",6,"seq",,1,"B",255,255,212,
+,,,,2,"D",254,227,145,
+,,,,3,"F",254,196,79,
+,,,,4,"G",254,153,41,
+,,,,5,"I",217,95,14,
+,,,,6,"K",153,52,4,
+"YlOrBr",7,"seq",,1,"B",255,255,212,
+,,,,2,"D",254,227,145,
+,,,,3,"F",254,196,79,
+,,,,4,"G",254,153,41,
+,,,,5,"H",236,112,20,
+,,,,6,"J",204,76,2,
+,,,,7,"L",140,45,4,
+"YlOrBr",8,"seq",,1,"A",255,255,229,
+,,,,2,"C",255,247,188,
+,,,,3,"D",254,227,145,
+,,,,4,"F",254,196,79,
+,,,,5,"G",254,153,41,
+,,,,6,"H",236,112,20,
+,,,,7,"J",204,76,2,
+,,,,8,"L",140,45,4,
+"YlOrBr",9,"seq",,1,"A",255,255,229,
+,,,,2,"C",255,247,188,
+,,,,3,"D",254,227,145,
+,,,,4,"F",254,196,79,
+,,,,5,"G",254,153,41,
+,,,,6,"H",236,112,20,
+,,,,7,"J",204,76,2,
+,,,,8,"K",153,52,4,
+,,,,9,"M",102,37,6,
+"YlOrRd",3,"seq",,1,"C",255,237,160,"Sequential"
+,,,,2,"F",254,178,76,
+,,,,3,"I",240,59,32,
+"YlOrRd",4,"seq",,1,"B",255,255,178,
+,,,,2,"E",254,204,92,
+,,,,3,"G",253,141,60,
+,,,,4,"J",227,26,28,
+"YlOrRd",5,"seq",,1,"B",255,255,178,
+,,,,2,"E",254,204,92,
+,,,,3,"G",253,141,60,
+,,,,4,"I",240,59,32,
+,,,,5,"K",189,0,38,
+"YlOrRd",6,"seq",,1,"B",255,255,178,
+,,,,2,"D",254,217,118,
+,,,,3,"F",254,178,76,
+,,,,4,"G",253,141,60,
+,,,,5,"I",240,59,32,
+,,,,6,"K",189,0,38,
+"YlOrRd",7,"seq",,1,"B",255,255,178,
+,,,,2,"D",254,217,118,
+,,,,3,"F",254,178,76,
+,,,,4,"G",253,141,60,
+,,,,5,"H",252,78,42,
+,,,,6,"J",227,26,28,
+,,,,7,"L",177,0,38,
+"YlOrRd",8,"seq",,1,"A",255,255,204,
+,,,,2,"C",255,237,160,
+,,,,3,"D",254,217,118,
+,,,,4,"F",254,178,76,
+,,,,5,"G",253,141,60,
+,,,,6,"H",252,78,42,
+,,,,7,"J",227,26,28,
+,,,,8,"L",177,0,38,
+"YlOrRd",9,"seq",,1,"A",255,255,204,
+,,,,2,"C",255,237,160,
+,,,,3,"D",254,217,118,
+,,,,4,"F",254,178,76,
+,,,,5,"G",253,141,60,
+,,,,6,"H",252,78,42,
+,,,,7,"J",227,26,28,
+,,,,8,"K",189,0,38,
+,,,,9,"M",128,0,38,
+,,,,,,,,,
+"Apache-Style Software License for ColorBrewer software and ColorBrewer Color Schemes",,,,,,,,,
+,,,,,,,,,
+"Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania State University.",,,,,,,,,
+,,,,,,,,,
+"Licensed under the Apache License, Version 2.0 (the ""License""); you may not use this file except in compliance with the License.",,,,,,,,,
+"You may obtain a copy of the License at",,,,,,,,,
+,,,,,,,,,
+" http://www.apache.org/licenses/LICENSE-2.0",,,,,,,,,
+,,,,,,,,,
+"Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an ""AS IS"" BASIS,",,,,,,,,,
+"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",,,,,,,,,
+"See the License for the specific language governing permissions and limitations under the License.",,,,,,,,,
+,,,,,,,,,
+,,,,,,,,,
+"Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:",,,,,,,,,
+"1. Redistributions as source code must retain the above copyright notice, this list of conditions and the following disclaimer.",,,,,,,,,
+"2. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:",,,,,,,,,
+"This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).",,,,,,,,,
+"Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.",,,,,,,,,
+"4. The name ""ColorBrewer"" must not be used to endorse or promote products derived from this software without prior written permission. ",,,,,,,,,
+"For written permission, please contact Cynthia Brewer at cbrewer at psu.edu.",,,,,,,,,
+"5. Products derived from this software may not be called ""ColorBrewer"", nor may ""ColorBrewer"" appear in their name, without prior written permission of Cynthia Brewer.",,,,,,,,,
Copied: sandbox/maestro-3.0/Maestro.Editors/Resources/CommandTypesDataset.xml (from rev 5035, trunk/Tools/Maestro/Maestro/ResourceEditors/Resources/CommandTypesDataset.xml)
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Resources/CommandTypesDataset.xml (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Resources/CommandTypesDataset.xml 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<!--
+ Note to translators:
+ You can only translate <Label>, <ToolTip> and <Description>
+ If you translate any of the others, the editor won't work!
+-->
+
+<CommandTypesDataset>
+ <Command>
+ <Command>About</Command>
+ <Label>About</Label>
+ <ToolTip>About</ToolTip>
+ <Action>About</Action>
+ <Description>Display information about this application</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon></EnabledIcon>
+ <DisabledIcon></DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Buffer</Command>
+ <Label>Buffer</Label>
+ <ToolTip>Buffer</ToolTip>
+ <Action>Buffer</Action>
+ <Description>Create buffers around the selected features</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_buffer.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_buffer_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Clear Selection</Command>
+ <Label>Clear Selection</Label>
+ <ToolTip>Clear selection</ToolTip>
+ <Action>Clear Selection</Action>
+ <Description>Clear the current selections</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_clearselect.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_clearselect_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Copy Map</Command>
+ <Label>Copy</Label>
+ <ToolTip>Copy</ToolTip>
+ <Action>Copy Map</Action>
+ <Description>Copy current view of map to clipboard</Description>
+ <Viewers>DWF</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_copy.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_copy_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Help</Command>
+ <Label>Help</Label>
+ <ToolTip>Help</ToolTip>
+ <Action>Help</Action>
+ <Description>Launch help for this application</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_help.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_help_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Initial Center and Scale</Command>
+ <Label>Initial Center and Scale</Label>
+ <ToolTip>Initial center and scale</ToolTip>
+ <Action>Restore View</Action>
+ <Description>Zoom to the initial center and scale of the map</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_restorecenter.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_restorecenter_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Initial Map View</Command>
+ <Label>Initial Map View</Label>
+ <ToolTip>Initial map view</ToolTip>
+ <Action>Fit To Window</Action>
+ <Description>Fit the initial view of the map to the window</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_fitwindow.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_fitwindow_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Invoke Script</Command>
+ <Label>Invoke Script</Label>
+ <ToolTip>Invoke script</ToolTip>
+ <Action>Invoke Script</Action>
+ <Description>Invoke a script command</Description>
+ <Viewers>All</Viewers>
+ <Type>Custom</Type>
+ <EnabledIcon>../stdicons/icon_invokescript.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_invokescript_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Invoke URL</Command>
+ <Label>Invoke URL</Label>
+ <ToolTip>Invoke a command by accessing a URL</ToolTip>
+ <Action>Invoke URL</Action>
+ <Description>Invoke a URL command</Description>
+ <Viewers>All</Viewers>
+ <Type>Custom</Type>
+ <EnabledIcon>../stdicons/icon_invokeurl.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_invokeurl_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Measure</Command>
+ <Label>Measure</Label>
+ <ToolTip>Measure</ToolTip>
+ <Action>Measure</Action>
+ <Description>Measure distances on the map</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_measure.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_measure_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Next View</Command>
+ <Label>Next View</Label>
+ <ToolTip>Next View</ToolTip>
+ <Action>Next View</Action>
+ <Description>Buffer</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_zoomnext.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_zoomnext_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Pan</Command>
+ <Label>Pan</Label>
+ <ToolTip>Pan mode</ToolTip>
+ <Action>Pan</Action>
+ <Description>Drag the map to view areas out of range</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_pan.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_pan_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Pan Down</Command>
+ <Label>Pan Down</Label>
+ <ToolTip>Pan down</ToolTip>
+ <Action>Pan Down</Action>
+ <Description>Pan down by a preset increment</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_pandown.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_pandown_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Pan Left</Command>
+ <Label>Pan Left</Label>
+ <ToolTip>Pan left</ToolTip>
+ <Action>Pan Left</Action>
+ <Description>Pan left by a preset increment</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_panleft.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_panleft_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Pan Right</Command>
+ <Label>Pan Right</Label>
+ <ToolTip>Pan right</ToolTip>
+ <Action>Pan Right</Action>
+ <Description>Pan right by a preset increment</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_panright.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_panright_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Pan Up</Command>
+ <Label>Pan Up</Label>
+ <ToolTip>Pan up</ToolTip>
+ <Action>Pan Up</Action>
+ <Description>Pan up by a preset increment</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_panup.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_panup_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Previous View</Command>
+ <Label>Previous View</Label>
+ <ToolTip>Previous view</ToolTip>
+ <Action>Previous View</Action>
+ <Description>Go to previous view</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_zoomprev.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_zoomprev_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Print</Command>
+ <Label>Print</Label>
+ <ToolTip>Print</ToolTip>
+ <Action>Print</Action>
+ <Description>Print with optional layout</Description>
+ <Viewers>DWF</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_print.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_print_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Refresh Map</Command>
+ <Label>Refresh Map</Label>
+ <ToolTip>Refresh map</ToolTip>
+ <Action>Refresh</Action>
+ <Description>Refresh map and reload all layers keeping current center and scale</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_refreshmap.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_refreshmap_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Search</Command>
+ <Label>Search</Label>
+ <ToolTip>Search</ToolTip>
+ <Action>Search</Action>
+ <Description>Perform a search</Description>
+ <Viewers>All</Viewers>
+ <Type>Custom</Type>
+ <EnabledIcon>../stdicons/icon_search.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_search_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Select</Command>
+ <Label>Select</Label>
+ <ToolTip>Select mode</ToolTip>
+ <Action>Select</Action>
+ <Description>Select features by clicking and dragging</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_select.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_select_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Select Polygon</Command>
+ <Label>Select Polygon</Label>
+ <ToolTip>Select polygon</ToolTip>
+ <Action>Select Polygon</Action>
+ <Description>Create a polygon to select all features that fall within</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_selectpolygon.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_selectpolygon_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Select Radius</Command>
+ <Label>Select Radius</Label>
+ <ToolTip>Select radius</ToolTip>
+ <Action>Select Radius</Action>
+ <Description>Click and drag to select all features inside the circle</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_selectradius.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_selectradius_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Select Within</Command>
+ <Label>Select Within</Label>
+ <ToolTip>Select within</ToolTip>
+ <Action>Select Within</Action>
+ <Description>Select features that fall within currently selected areas</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_selectwithin.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_selectwithin_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>View Options</Command>
+ <Label>View Options</Label>
+ <ToolTip>View options</ToolTip>
+ <Action>View Options</Action>
+ <Description>View Options</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_viewoptions.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_viewoptions_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Zoom</Command>
+ <Label>Zoom Dynamic</Label>
+ <ToolTip>Zoom dynamic</ToolTip>
+ <Action>Zoom</Action>
+ <Description>Zoom dynamically by clicking and dragging</Description>
+ <Viewers>DWF</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_zoom.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_zoom_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Zoom In</Command>
+ <Label>Zoom In</Label>
+ <ToolTip>Zoom in</ToolTip>
+ <Action>Zoom In</Action>
+ <Description>Zoom in by a preset increment</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_zoomin.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_zoomin_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Zoom Out</Command>
+ <Label>Zoom Out</Label>
+ <ToolTip>Zoom out</ToolTip>
+ <Action>Zoom Out</Action>
+ <Description>Zoom out by a preset increment</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_zoomout.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_zoomout_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Zoom Rectangle</Command>
+ <Label>Zoom Rectangle</Label>
+ <ToolTip>Zoom to rectangle</ToolTip>
+ <Action>Zoom Rectangle</Action>
+ <Description>Zoom in on an area</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_zoomrect.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_zoomrect_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Zoom Selection</Command>
+ <Label>Zoom Selection</Label>
+ <ToolTip>Zoom to selection</ToolTip>
+ <Action>Zoom To Selection</Action>
+ <Description>Zoom to extents of selected features</Description>
+ <Viewers>All</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_zoomselect.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_zoomselect_disabled.gif</DisabledIcon>
+ </Command>
+
+ <Command>
+ <Command>Get Printable Page</Command>
+ <Label>Printable Page</Label>
+ <ToolTip>Get printable page</ToolTip>
+ <Action>Get Printable Page</Action>
+ <Description>Get printer-friendly page</Description>
+ <Viewers>AJAX</Viewers>
+ <Type>Built-In</Type>
+ <EnabledIcon>../stdicons/icon_printablepage.gif</EnabledIcon>
+ <DisabledIcon>../stdicons/icon_printablepage_disabled.gif</DisabledIcon>
+ </Command>
+
+</CommandTypesDataset>
Copied: sandbox/maestro-3.0/Maestro.Editors/Resources/GeometryStyleComboDataset.xml (from rev 5035, trunk/Tools/Maestro/Maestro/ResourceEditors/Resources/GeometryStyleComboDataset.xml)
===================================================================
--- sandbox/maestro-3.0/Maestro.Editors/Resources/GeometryStyleComboDataset.xml (rev 0)
+++ sandbox/maestro-3.0/Maestro.Editors/Resources/GeometryStyleComboDataset.xml 2010-07-23 12:38:06 UTC (rev 5050)
@@ -0,0 +1,146 @@
+<?xml version="1.0" standalone="yes"?>
+<ComboBoxDataSet>
+ <SymbolMark>
+ <Display>Square</Display>
+ <Value>Square</Value>
+ </SymbolMark>
+ <SymbolMark>
+ <Display>Circle</Display>
+ <Value>Circle</Value>
+ </SymbolMark>
+ <SymbolMark>
+ <Display>Triangle</Display>
+ <Value>Triangle</Value>
+ </SymbolMark>
+ <SymbolMark>
+ <Display>Star</Display>
+ <Value>Star</Value>
+ </SymbolMark>
+ <SymbolMark>
+ <Display>Cross</Display>
+ <Value>Cross</Value>
+ </SymbolMark>
+ <SymbolMark>
+ <Display>X - Mark</Display>
+ <Value>X</Value>
+ </SymbolMark>
+ <SymbolMark>
+ <Display>Font...</Display>
+ <Value></Value>
+ </SymbolMark>
+ <SymbolMark>
+ <Display>Symbol...</Display>
+ <Value></Value>
+ </SymbolMark>
+
+ <SizeContext>
+ <Display>Device space</Display>
+ <Value>DeviceUnits</Value>
+ </SizeContext>
+ <SizeContext>
+ <Display>Map space</Display>
+ <Value>MappingUnits</Value>
+ </SizeContext>
+
+ <Units>
+ <Display>Points</Display>
+ <Value>Points</Value>
+ </Units>
+ <Units>
+ <Display>Inches</Display>
+ <Value>Inches</Value>
+ </Units>
+ <Units>
+ <Display>Feet</Display>
+ <Value>Feet</Value>
+ </Units>
+ <Units>
+ <Display>Yards</Display>
+ <Value>Yards</Value>
+ </Units>
+ <Units>
+ <Display>Millimeters</Display>
+ <Value>Millimeters</Value>
+ </Units>
+ <Units>
+ <Display>Centimeters</Display>
+ <Value>Centimeters</Value>
+ </Units>
+ <Units>
+ <Display>Meters</Display>
+ <Value>Meters</Value>
+ </Units>
+ <Units>
+ <Display>Kilometers</Display>
+ <Value>Kilometers</Value>
+ </Units>
+
+ <Rotation>
+ <Display>0 degrees</Display>
+ <Value>0</Value>
+ </Rotation>
+ <Rotation>
+ <Display>30 degrees</Display>
+ <Value>30</Value>
+ </Rotation>
+ <Rotation>
+ <Display>45 degrees</Display>
+ <Value>45</Value>
+ </Rotation>
+ <Rotation>
+ <Display>90 degrees</Display>
+ <Value>90</Value>
+ </Rotation>
+ <Rotation>
+ <Display>Expression...</Display>
+ <Value>Expression...</Value>
+ </Rotation>
+
+ <BackgroundType>
+ <Display>Ghosted</Display>
+ <Value>Ghosted</Value>
+ </BackgroundType>
+ <BackgroundType>
+ <Display>Opaque</Display>
+ <Value>Opaque</Value>
+ </BackgroundType>
+ <BackgroundType>
+ <Display>Transparent</Display>
+ <Value>Transparent</Value>
+ </BackgroundType>
+
+ <Vertical>
+ <Display>Baseline</Display>
+ <Value>'Baseline'</Value>
+ </Vertical>
+ <Vertical>
+ <Display>Bottom</Display>
+ <Value>'Bottom'</Value>
+ </Vertical>
+ <Vertical>
+ <Display>Capline</Display>
+ <Value>'Capline'</Value>
+ </Vertical>
+ <Vertical>
+ <Display>Halfline</Display>
+ <Value>'Halfline'</Value>
+ </Vertical>
+ <Vertical>
+ <Display>Top</Display>
+ <Value>'Top'</Value>
+ </Vertical>
+ <Vertical>
+ <Display>Expression...</Display>
+ <Value>Expression...</Value>
+ </Vertical>
+
+ <Horizontal>
+ <Display>Center</Display>
+ <Value>'Center'</Value>
+ </Horizontal>
+ <Horizontal>
+ <Display>Expression...</Display>
+ <Value>Expression...</Value>
+ </Horizontal>
+
+</ComboBoxDataSet>
\ No newline at end of file
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSource.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSource.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/FeatureSource.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -310,5 +310,15 @@
{
return this.CurrentConnection.FeatureService.GetSpatialExtent(this.ResourceID, className, geomProperty);
}
+
+ /// <summary>
+ /// Convenience method to get the feature class definition
+ /// </summary>
+ /// <param name="qualifiedName"></param>
+ /// <returns></returns>
+ public FeatureSourceDescription.FeatureSourceSchema GetClass(string qualifiedName)
+ {
+ return this.CurrentConnection.FeatureService.GetFeatureSourceSchema(this.ResourceID, qualifiedName);
+ }
}
}
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerDefinition.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -62,6 +62,22 @@
string Filter { get; set; }
}
+ public static class LayerExtensionMethods
+ {
+ /// <summary>
+ /// Gets the referenced schema of this vector layer
+ /// </summary>
+ /// <param name="vl"></param>
+ /// <returns></returns>
+ public static string GetSchema(this IVectorLayerDefinition vl)
+ {
+ if (string.IsNullOrEmpty(vl.FullQualifiedClassName) || !vl.FullQualifiedClassName.Contains(":"))
+ return string.Empty;
+ else
+ return vl.FullQualifiedClassName.Split(':')[0];
+ }
+ }
+
public interface IRasterLayerDefinition : ISubLayerDefinition
{
string FeatureSourceID { get; set; }
@@ -72,6 +88,13 @@
string DrawingSourceID { get; set; }
}
+ public interface ILayerRule
+ {
+ string Filter { get; set; }
+
+ string LegendLabel { get; set; }
+ }
+
abstract partial class BaseLayerDefinitionType : ISubLayerDefinition
{
[XmlIgnore]
@@ -181,11 +204,98 @@
}
}
#endregion
+
+ [XmlIgnore]
+ public AreaTypeStyleType AreaStyle
+ {
+ get
+ {
+ foreach (var item in this.itemsField)
+ {
+ if (typeof(AreaTypeStyleType).IsAssignableFrom(item.GetType()))
+ return (AreaTypeStyleType)item;
+ }
+
+ return null;
+ }
+ set
+ {
+ //Remove old one if it exists
+ var item = this.AreaStyle;
+ if (item != null)
+ {
+ this.itemsField.Remove(item);
+ }
+ //Put the new one in if it is not null
+ if (value != null)
+ {
+ this.itemsField.Add(value);
+ }
+ }
+ }
+
+ [XmlIgnore]
+ public LineTypeStyleType LineStyle
+ {
+ get
+ {
+ foreach (var item in this.itemsField)
+ {
+ if (typeof(LineTypeStyleType).IsAssignableFrom(item.GetType()))
+ return (LineTypeStyleType)item;
+ }
+
+ return null;
+ }
+ set
+ {
+ //Remove old one if it exists
+ var item = this.LineStyle;
+ if (item != null)
+ {
+ this.itemsField.Remove(item);
+ }
+ //Put the new one in if it is not null
+ if (value != null)
+ {
+ this.itemsField.Add(value);
+ }
+ }
+ }
+
+ [XmlIgnore]
+ public PointTypeStyleType PointStyle
+ {
+ get
+ {
+ foreach (var item in this.itemsField)
+ {
+ if (typeof(PointTypeStyleType).IsAssignableFrom(item.GetType()))
+ return (PointTypeStyleType)item;
+ }
+
+ return null;
+ }
+ set
+ {
+ //Remove old one if it exists
+ var item = this.PointStyle;
+ if (item != null)
+ {
+ this.itemsField.Remove(item);
+ }
+ //Put the new one in if it is not null
+ if (value != null)
+ {
+ this.itemsField.Add(value);
+ }
+ }
+ }
}
partial class LayerDefinition : ILayerDefinition
{
- internal LayerDefinition() { }
+ //internal LayerDefinition() { }
private static readonly Version RES_VERSION = new Version(1, 0, 0);
@@ -282,4 +392,101 @@
get { return this.Item; }
}
}
+
+ partial class StrokeType
+ {
+ internal StrokeType() { }
+ }
+
+ partial class FillType
+ {
+ internal FillType() { }
+ }
+
+ partial class AreaRuleType : ILayerRule
+ {
+ [XmlIgnore]
+ string ILayerRule.Filter
+ {
+ get
+ {
+ return this.Filter;
+ }
+ set
+ {
+ this.Filter = value;
+ }
+ }
+
+ [XmlIgnore]
+ string ILayerRule.LegendLabel
+ {
+ get
+ {
+ return this.LegendLabel;
+ }
+ set
+ {
+ this.LegendLabel = value;
+ }
+ }
+ }
+
+ partial class PointRuleType : ILayerRule
+ {
+ [XmlIgnore]
+ string ILayerRule.Filter
+ {
+ get
+ {
+ return this.Filter;
+ }
+ set
+ {
+ this.Filter = value;
+ }
+ }
+
+ [XmlIgnore]
+ string ILayerRule.LegendLabel
+ {
+ get
+ {
+ return this.LegendLabel;
+ }
+ set
+ {
+ this.LegendLabel = value;
+ }
+ }
+ }
+
+ partial class LineRuleType : ILayerRule
+ {
+ [XmlIgnore]
+ string ILayerRule.Filter
+ {
+ get
+ {
+ return this.Filter;
+ }
+ set
+ {
+ this.Filter = value;
+ }
+ }
+
+ [XmlIgnore]
+ string ILayerRule.LegendLabel
+ {
+ get
+ {
+ return this.LegendLabel;
+ }
+ set
+ {
+ this.LegendLabel = value;
+ }
+ }
+ }
}
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs 2010-07-23 01:43:33 UTC (rev 5049)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/ObjectFactory.cs 2010-07-23 12:38:06 UTC (rev 5050)
@@ -31,6 +31,7 @@
using OSGeo.MapGuide.ObjectModels.PrintLayout;
using OSGeo.MapGuide.ObjectModels.LoadProcedure;
using OSGeo.MapGuide.ObjectModels.Common;
+using System.Drawing;
namespace OSGeo.MapGuide.MaestroAPI.ObjectModels
{
@@ -637,5 +638,160 @@
User = new System.ComponentModel.BindingList<ResourceSecurityTypeUsersUser>()
};
}
+
+ /// <summary>
+ /// Creates a fill
+ /// </summary>
+ /// <param name="p"></param>
+ /// <param name="color"></param>
+ /// <param name="color_3"></param>
+ /// <returns></returns>
+ public static FillType CreateFill(string pattern, System.Drawing.Color background, System.Drawing.Color foreground)
+ {
+ return new FillType()
+ {
+ BackgroundColor = Utility.SerializeHTMLColor(background, true),
+ FillPattern = pattern,
+ ForegroundColor = Utility.SerializeHTMLColor(foreground, true)
+ };
+ }
+
+ /// <summary>
+ /// Creates a line stroke with default settings
+ /// </summary>
+ /// <param name="color"></param>
+ /// <returns></returns>
+ public static StrokeType CreateStroke(System.Drawing.Color color)
+ {
+ return new StrokeType()
+ {
+ Color = Utility.SerializeHTMLColor(color, true),
+ LineStyle = "Solid",
+ Thickness = "1",
+ Unit = LengthUnitType.Points
+ };
+ }
+
+ public static StrokeType CreateDefaultStroke()
+ {
+ return CreateStroke(Color.Black);
+ }
+
+ public static PointTypeStyleType CreateDefaultPointStyle()
+ {
+ return new PointTypeStyleType()
+ {
+ PointRule = new System.ComponentModel.BindingList<PointRuleType>()
+ };
+ }
+
+ public static LineTypeStyleType CreateDefaultLineStyle()
+ {
+ return new LineTypeStyleType()
+ {
+ LineRule = new System.ComponentModel.BindingList<LineRuleType>()
+ };
+ }
+
+ public static AreaTypeStyleType CreateDefaultAreaStyle()
+ {
+ return new AreaTypeStyleType()
+ {
+ AreaRule = new System.ComponentModel.BindingList<AreaRuleType>()
+ };
+ }
+
+ public static VectorScaleRangeType CreateVectorScaleRange()
+ {
+ return new VectorScaleRangeType()
+ {
+ Items = new System.ComponentModel.BindingList<object>(),
+ AreaStyle = CreateDefaultAreaStyle(),
+ LineStyle = CreateDefaultLineStyle(),
+ PointStyle = CreateDefaultPointStyle()
+ };
+ }
+
+ public static FillType CreateDefaultFill()
+ {
+ return CreateFill("Solid", Color.White, Color.Black);
+ }
+
+ public static MarkSymbolType CreateDefaultMarkSymbol()
+ {
+ return new MarkSymbolType()
+ {
+ Edge = CreateDefaultStroke(),
+ Fill = CreateDefaultFill(),
+ SizeContext = SizeContextType.DeviceUnits,
+ MaintainAspect = true,
+ Rotation = "0",
+ SizeX = "10",
+ SizeY = "10",
+ Unit = LengthUnitType.Points
+ };
+ }
+
+ public static PointSymbolization2DType CreateDefaultPointSymbolization2D()
+ {
+ return new PointSymbolization2DType()
+ {
+ Item = CreateDefaultMarkSymbol()
+ };
+ }
+
+ public static PointRuleType CreatePointRule()
+ {
+ return new PointRuleType()
+ {
+ Item = CreateDefaultPointSymbolization2D()
+ };
+ }
+
+ public static AreaRuleType CreateAreaRule()
+ {
+ return new AreaRuleType()
+ {
+ Item = new AreaSymbolizationFillType()
+ {
+ Fill = CreateDefaultFill(),
+ Stroke = CreateDefaultStroke()
+ }
+ };
+ }
+
+ public static LineRuleType CreateLineRule()
+ {
+ return new LineRuleType()
+ {
+ Items = new System.ComponentModel.BindingList<StrokeType>()
+ {
+ CreateDefaultStroke()
+ }
+ };
+ }
+
+ public static TextSymbolType CreateDefaultTextSymbol()
+ {
+ return new TextSymbolType()
+ {
+ AdvancedPlacement = null,
+ BackgroundColor = Utility.SerializeHTMLColor(Color.White, true),
+ BackgroundStyle = BackgroundStyleType.Transparent,
+ Bold = "false",
+ FontName = "Arial",
+ ForegroundColor = Utility.SerializeHTMLColor(Color.Black, true),
+ HorizontalAlignment = "'Center'",
+ Italic = "false",
+ Rotation = "0",
+ SizeContext = SizeContextType.DeviceUnits,
+ SizeX = "10",
+ SizeY = "10",
+ Text = "",
+ Underlined = "false",
+ Unit = LengthUnitType.Points,
+ VerticalAlignment = "'Baseline'"
+ };
+ }
}
}
More information about the mapguide-commits
mailing list