Defining the Custom Wizard Interface

The file CustomLayout.xml follows.

<extension name="CustomLayout" version="0">
  <guid shortid="CustomWizardLayout">e7fa4157-90b7-4156-ac31-4000d1d687e1</guid>
  <script src="main.py" />
  <wizard name="CustomLayoutWizard" caption="CustomLayoutWizard" version="1" context="Project">
    <step layout="TabularDataLayout@CustomLayout" name="TabularData Sample" version="0" caption="TabularData Sample">
      <propertytable display="Worksheet" control="tabulardata" name="Table" caption="Table" persistent="False" parameterizable="False">
        <property control="quantity" name="Time" caption="Time" persistent="False" parameterizable="False" unit="Time" />
        <property control="quantity" name="Pressure" caption="Pressure" persistent="False" parameterizable="False" unit="Pressure" />
      </propertytable>
      <callbacks>
        <onrefresh>onrefreshTabularDataSample</onrefresh>
        <onreset>onresetTabularDataSample</onreset>
      </callbacks>
    </step>
    <step layout="ChartLayout@CustomLayout" name="Chart Sample" version="0" caption="Chart Sample">
      <callbacks>
        <onrefresh>onrefreshChartSample</onrefresh>
      </callbacks>
    </step>
  </wizard>
  <uidefinition>
    <layout name="TabularDataLayout">
      <component name="Title" leftoffset="10" topoffset="10" rightoffset="10" bottomattachment="Steps" bottomoffset="10" heighttype="FitToContent" height="0" widthtype="Percentage" width="100" componenttype="startPageHeaderComponent" />
      <component name="Steps" leftoffset="10" topattachment="Title" topoffset="0" rightattachment="TabularData" rightoffset="0" bottomattachment="Help" bottomoffset="10" heighttype="Percentage" height="67" widthtype="Percentage" width="30" componenttype="stepsListComponent" />
      <component name="TabularData" leftattachment="Steps" leftoffset="0" topattachment="Title" topoffset="0" rightoffset="10" bottomattachment="Help" bottomoffset="10" heighttype="Percentage" height="67" widthtype="Percentage" width="70" componenttype="tabularDataComponent" />
      <component name="Help" leftoffset="10" topattachment="TabularData" topoffset="0" rightoffset="10" bottomattachment="Submit" bottomoffset="10" heighttype="Percentage" height="33" widthtype="Percentage" width="100" componenttype="helpContentComponent" />
      <component name="Submit" leftoffset="10" topattachment="Help" topoffset="0" rightoffset="10" bottomoffset="10" heighttype="FitToContent" height="0" widthtype="Percentage" width="100" componenttype="buttonsComponent" />
    </layout>
    <layout name="ChartLayout">
      <component name="Title" leftoffset="10" topoffset="10" rightoffset="10" bottomattachment="Steps" bottomoffset="10" heighttype="FitToContent" height="0" widthtype="Percentage" width="100" componenttype="startPageHeaderComponent" />
      <component name="Steps" leftoffset="10" topattachment="Title" topoffset="0" rightattachment="Chart" rightoffset="0" bottomattachment="Submit" bottomoffset="10" heighttype="Percentage" height="100" widthtype="Percentage" width="30" componenttype="stepsListComponent" />
      <component name="Chart" leftattachment="Steps" leftoffset="0" topattachment="Title" topoffset="0" rightoffset="10" bottomattachment="Submit" bottomoffset="10" heighttype="Percentage" height="100" widthtype="Percentage" width="70" componenttype="chartComponent" />
      <component name="Submit" leftoffset="10" topattachment="Chart" topoffset="0" rightoffset="10" bottomoffset="10" heighttype="FitToContent" height="0" widthtype="Percentage" width="100" componenttype="buttonsComponent" />
    </layout>
  </uidefinition>
  <description>Demo layout</description>
</extension>

In this file, the element <uidefinition>, defines two layouts:

  • TabularDataLayout

    • This layout has five components: Title, Steps, TabularData, Help, and Submit.

    • This layout is referenced by the step TabularData Sample with TabularDataLayout@CustomLayout.

  • ChartLayout

    • This layout has four components: Title, Steps, Chart, and Submit.

    • This layout is referenced by the step Chart Sample with ChartLayout@CustomLayout.