Opened 13 years ago

Closed 13 years ago

#1746 closed task (fixed)

Support inline Symbol Definitions for Composite Symbolization

Reported by: crispinatime Owned by: jng
Priority: medium Milestone: Maestro-3.5
Component: Maestro Version:
Severity: minor Keywords:
Cc: External ID:

Description

On any existing .LayerDefinition (schema v1.3), when I edit in Maestro 3.5 (build from \trunk) and click the new "Display Composite" checkbox I get the following exception:

Assigned value does not implement ICompositeTypeStyle2

System.InvalidOperationException: Assigned value does not implement ICompositeTypeStyle2

at OSGeo.MapGuide.ObjectModels.LayerDefinition_1_3_0.VectorScaleRangeType.set_CompositeStyle(ICompositeTypeStyle value) in e:\Projects\Maestro\OSGeo.MapGuide.MaestroAPI\ObjectModels\VectorLayerDefinitionImpl.cs:line 340 at Maestro.Editors.LayerDefinition.Vector.Scales.VectorScaleRangeCtrl.chkComposite_CheckedChanged(Object sender, EventArgs e) in e:\Projects\Maestro\Maestro.Editors\LayerDefinition\Vector\Scales\VectorScaleRangeCtrl.cs:line 167 at System.Windows.Forms.CheckBox.OnCheckedChanged(EventArgs e) at System.Windows.Forms.CheckBox.set_CheckState(CheckState value) at System.Windows.Forms.CheckBox.OnClick(EventArgs e) at System.Windows.Forms.CheckBox.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Change History (8)

comment:1 by jng, 13 years ago

Does the LayerDefinition have the 1.3.0 version attribute and is using the LayerDefinition-1.3.0.xsd?

comment:2 by crispinatime, 13 years ago

XML "looks" OK and validates (see below). Another consideration is that I am running my "build" version from the \out\Release folder. Is there any difference between that and an MSI installation folder?

<?xml version="1.0" encoding="utf-8"?>
<LayerDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.3.0" xsi:noNamespaceSchemaLocation="LayerDefinition-1.3.0.xsd">
  <VectorLayerDefinition>
    <ResourceId>Library://XXXX/Oracle_XXXX.FeatureSource</ResourceId>
    <FeatureName>KingOra:XXXX~CABLES~GEOMETRY</FeatureName>
    <FeatureNameType>FeatureClass</FeatureNameType>
    <Geometry>GEOMETRY</Geometry>
    <VectorScaleRange>
      <LineTypeStyle>
        <LineRule>
          <LegendLabel />
          <LineSymbolization2D>
            <LineStyle>Solid</LineStyle>
            <Thickness>3</Thickness>
            <Color>ffff0000</Color>
            <Unit>Points</Unit>
            <SizeContext>DeviceUnits</SizeContext>
          </LineSymbolization2D>
        </LineRule>
      </LineTypeStyle>
    </VectorScaleRange>
  </VectorLayerDefinition>
</LayerDefinition>

comment:3 by jng, 13 years ago

No it shouldn't make a difference. I think I have a clue what's going on here.

comment:4 by jng, 13 years ago

Resolution: fixed
Status: newclosed

Fixed r5986

comment:5 by crispinatime, 13 years ago

Resolution: fixed
Status: closedreopened

Hi - not sure if this is another "oops" but it' still really the same bug description...

1) Tick the "Display Composite"

2) Select the Feature Style Editor to launch the "Symbol Instances" dialog

3) Select Add -> Inline Simple Symbol (or Inline Compound Symbol) and bang!

The method or operation is not implemented.

System.NotImplementedException: The method or operation is not implemented.

at Maestro.Editors.LayerDefinition.Vector.Scales.SymbolInstancesDialog.inlineSimpleSymbolToolStripMenuItem_Click(Object sender, EventArgs e) in e:\Projects\Maestro\Maestro.Editors\LayerDefinition\Vector\Scales\SymbolInstancesDialog.cs:line 96 at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

comment:6 by jng, 13 years ago

This one is intentional. I have not implemented support for inline symbol definitions for composite symbolization.

comment:7 by jng, 13 years ago

Summary: Maestro .LayerDefinition - Display Composite FailSupport inline Symbol Definitions for Composite Symbolization
Type: defecttask

Renaming ticket

comment:8 by jng, 13 years ago

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.