<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="../schema2xhtml.xsl" type="text/xsl"?>

<!-- $Id: paneleditor.xsd 17977 2011-07-18 17:23:46Z zoo $ -->

<!-- This schema is part of JMRI. Copyright 2009.                           -->
<!--                                                                        -->
<!-- JMRI is free software; you can redistribute it and/or modify it under  -->
<!-- the terms of version 2 of the GNU General Public License as published  -->
<!-- by the Free Software Foundation. See the "COPYING" file for a copy     -->
<!-- of this license.                                                       -->
<!--                                                                        -->
<!-- JMRI 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 General Public License  -->
<!-- for more details.                                                      -->


<!-- Need annotations                                                 -->
<!-- Attributes need to get types right esp. for enumerated           -->
<!-- Attributes need REQUIRED/IMPLIED   & defaults                    -->
<!-- need definitions for icon types; see also panel editor           -->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:docbook="http://docbook.org/ns/docbook"
           xmlns:jmri="http://jmri.org/xml/schema/JMRIschema"
           xsi:schemaLocation="
                http://jmri.org/xml/schema/JMRIschema http://jmri.org/xml/schema/JMRIschema.xsd
                http://docbook.org/ns/docbook http://jmri.org/xml/schema/docbook/DocBook.xsd
            "
        >
    <xs:complexType name="PanelEditorType">
      <xs:annotation>
        <xs:documentation>
          Define the XML stucture for storing the contents of a Panel Editor or Control Panel Editor panel.
        </xs:documentation>
        <xs:appinfo>
            <jmri:usingclass configurexml="true">jmri.jmrit.display.panel.editor.configurexml.PanelEditorXml</jmri:usingclass>
            <jmri:usingclass configurexml="true">jmri.jmrit.display.controlPanelEditor.configurexml.ControlPanelEditorXml</jmri:usingclass>
        </xs:appinfo>
      </xs:annotation>
      <xs:sequence minOccurs="0" maxOccurs="unbounded" >
        
        <xs:element name="positionablelabel" type="EditorPositionableLabelType" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="positionablepoint" type="EditorPositionablePointType" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="turnouticon"       type="EditorTurnoutIconType"       minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="sensoricon"        type="EditorSensorIconType"        minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="memoryicon"        type="EditorMemoryIconType"        minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="signalheadicon"    type="EditorSignalHeadIconType"    minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="reportericon"      type="EditorReporterIconType"      minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="layoutturnout"     type="EditorLayoutTurnoutType"     minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="multisensoricon"   type="EditorMultiSensorIconType"   minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="fastclock"         type="EditorFastClockIconType"     minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="locoicon"          type="EditorLocoIconType"          minOccurs="0" maxOccurs="unbounded" />
            
      </xs:sequence>
      <xs:attribute name="class" type="classType" use="required" />
      <xs:attribute name="name" type="xs:string"/>
      <xs:attribute name="x" type="xs:integer" use="required" />
      <xs:attribute name="y" type="xs:integer" use="required" />
      <xs:attribute name="height" type="xs:integer" use="required" />
      <xs:attribute name="width" type="xs:integer" use="required" />
      <xs:attribute name="editable" type="yesNoType" default="yes"/>
      <xs:attribute name="positionable" type="yesNoType" default="yes"/>
      <xs:attribute name="controlling" type="yesNoType" default="yes"/>
      <xs:attribute name="hide" type="yesNoType" default="no" />
      <xs:attribute name="showcoordinates" type="yesNoType" default="no"/>
      <xs:attribute name="showtooltips" type="yesNoType" default="yes"/>
      <xs:attribute name="panelmenu" type="yesNoType" default="yes"/>
      <xs:attribute name="scrollable" type="scrollableType"/>

    </xs:complexType>


</xs:schema>

