Session UI Configuration

The information in the Session Configuration defines a C3Fire session. It defines the players (Roles), the simuladed units (Fire fighting units), the simulation data (geographic and fire parameters etc.), and the session user interfaces.

All session configuration definitions are described in the menu selection Session Configuration exept the sub element UserInterfaceLayout wich is described in this menu selection even though UserInterfaceLayout is a part of the Session Configuration.

A session configuration file example - example.con. The configuration includes UserInterfaceLayout as a sub element.


XML Definition

The configuration is written with xml syntax and the xml file contains the main element <Config>.
<UserInterfaceLayout> is a sub element of <Config> and will be described here. All other sub elements of <Config> is described in session configuration.


      <Config> 
        <Roles>
          <Role>
        <Units>
          <Unit>
        <FireFightingConfig>
        <UnitCommunicationConfig>
        <UnitMovementConfig>
        <MapConfig>
                <MapLayer>
	          <MapImageLayers>
        <MapLayerQuickSelectDisplay>
        <FireConfig>
        <ObjectTypes>
          <ObjectType>
        <MailConfig>
        <DiaryConfig>
        <MarkTypes>
          <MarkType>
        <MarkSendRules>
          <MarkSendRule>        
        <Objects>
          <Object>
        <DisplayObjects>
          <DisplayObjects>
        <UserInterfaceLayout>
          <Layout>
            <Object>
        <UnitInfoDisplay>
          <UnitInfoDisplayOutline>
            <UnitInfoDisplayOutlineCol>
            <UnitInfoDisplayOutlineRow>
          <UnitInfoDisplayDetail>
            <UnitInfoDisplayDetailRow>
        <AnalysisConfig>
        <ManagerConfig>
          <SessionControlLayout>
            <Object>
        <ObserverConfig>
          <SimulationMapLayout>
            <Object>
          <RolesMapLayout>
            <Object>
          <FireChartLayout>
            <Object>
        <ReplayConfig>
          <SimulationMapLayout>
            <Object> 
      


UserInterfaceLayout

Defines all layouts that exist in the session.

<UserInterfaceLayout/>

  <Layout Name = "Ground Chief"/>
        
    <Object Name = "Window"   Size = "1024,740" /> 
    <Object Name = "Logga"    Pos = "265,220" />
    
    <Object 
      Name = "RoleName" 
      Visible = "true"  
      Pos = "8,10" />
    
    <Object 
      Name = "Time"     
      Visible = "true"  
      Pos = "10,30"  
      Size = "75,50" />
    
    <Object 
      Name = "Wind"     
      Visible = "true"  
      Pos = "870,10" 
      Size = "130,145"/>
    
    <Object 
      Name = "Map"      
      Visible = "true"  
      Pos = "250,10" 
      Size="610,610"/>
    
    <Object  
      Name = "PointerPosition"  
      Visible = "true" 
      Pos = "870,155"
      Size = "130,50"/>
    
    <Object 
      Name = "UnitInfoOutline" 
      Visible = "true" 
      Pos = "10,85"  
      Size="230,120"/>
    
    <Object 
      Name = "UnitInfoDetail"  
      Visible ="true" 
      Pos = "10,205" 
      Size = "230,200"/>
      
    <Object 
      Name = "ObjectPalette"   
      Visible = "true"  
      Pos = "870,375" 
      Size = "130,120" 
      Enabeled = "true" />
      
    <Object 
      Name = "FirePalette"     
      Visible = "true"  
      Pos = "870,500" 
      Size = "130,120" 
      Enabeled = "true" />
      
    <Object 
      Name = "MarkPalette"     
      Visible = "false" 
      Pos = "0,0"     
      Size = "0,0" 
      Enabeled = "false" />
       
    <Object 
      Name = "UnitPalette"     
      Visible = "true"  
      Pos = "870,205"  
      Size = "130,165" 
      PositionEnabeled = "true" 
      IntentionEnabeled = "true" />       
       
    <Object 
      Name = "Mail"
      Visible = "true"
      Pos = "10,410" 
      Size = "230,180"
      MailReceiveVisible = "true"
      MailReceivePanelPos = "5,15"
      MailReceivePanelSize = "220,160"
      MailReceiveShowTo = "false"
      MailSendVisible = "false"
      MailSendPanelPos = "10,180"
      MailSendPanelSize = "350,150" 
      MailSendButtonType = "Buttons"
      MailSendButtonsDisplayToAllButton = "true"
      MailSendButtonsLayoutNrOfRows = "1"
      MailSendButtonsLayoutNrOfColums = "0" />
        
    <Object 
      Name = "Diary"
      Visible = "false"
      Pos = "800,10" 
      Size = "370,340"
      DiaryViewVisible = "false"
      DiaryViewPanelPos = "10,15"
      DiaryViewPanelSize = "350,155"
      DiaryEditVisible = "false"
      DiaryEditPanelPos = "10,175"
      DiaryEditPanelSize = "350,150"/>     
         
    <Object 
      Name = "MapLayerQuickSelect"
      Visible = "false"
      Pos = "1140,505" 
      Size = "120,120"
      ButtonGridLayout = "0,1" 
      StartLayer = "Green"/>
      
  </Layout> 
  
</UserInterfaceLayout> 

Layout

A Layout defines the user interface connected to a role.

Property

Value

Name

The name of the layout.
A role is connected to a layout with the property UserInterfaceLayout found in the roles configuration.

Value example = "Ground Chief"



Object

Defines the properties for a user interface object.

Possible user interface objects are "Window", "Logga", "RoleName", "Time", "Wind", "Map", "PointerPosition", "UnitInfoOutline", "UnitInfoDetail", "ObjectPalette", "FirePalette", "MarkPalette", "UnitPalette", "Mail", "Diary" and "MapLayerQuickSelect".


Window

The main user interface window.

  <Object 
    Name = "Window"   
    Size = "1024,740" />

Property

Value

Size

The size of the object.
Value example = "1280,1024"



Logga

Logotype of C3Fire.

  <Object 
    Name = "Logga" 
    Visible = "true"
    Pos = "265,220" />

Property

Value

Visible

If the logga should be visible.

Possible values = "true", "false"

Pos

The position of the logga.
The position of the upper left corner.

Value example = "265,220"



RoleName

Panel containing long name of the Role connected to this layout.

  <Object 
    Name = "RoleName" 
    Visible = "true"  
    Pos = "8,10" />

Property

Value

Visible

If the RoleName panel should be visible.

Possible values = "true", "false"

Pos

The position of the RoleName panel.
The position of the upper left corner.

Value example = "8,10"



Time

Time in the simulation.

  <Object 
    Name = "Time"     
    Visible = "true"  
    Pos = "10,30"  
    Size = "75,50" />

Property

Value

Visible

If the time panel should be visible.

Possible values = "true", "false"

Pos

The position of the time panel.
The position of the upper left corner.

Value example = "10,30"

Size

The size of the time panel.

Value example = "75,50"



Wind

Shows wind direction in the session.

  <Object 
    Name = "Wind"     
    Visible = "true"  
    Pos = "870,10" 
    Size = "130,145"/>

Property

Value

Visible

If the wind panel should be visible.

Possible values = "true", "false"

Pos

The position of the wind panel.
The position of the upper left corner.

Value example = "870,10"

Size

The size of the wind panel.

Value example = "130,145"



Map

Panel in wich a map is exposed.

  <Object 
    Name = "Map"      
    Visible = "true"  
    Pos = "250,10" 
    Size="610,610"/>

Property

Value

Visible

If the map panel should be visible.

Possible values = "true", "false"

Pos

The position of the map panel.
The position of the upper left corner.

Value example = "250,10"

Size

The size of the map panel.

Value example = "610,610"



PointerPosition

Exposes the pointers position when it is in MapPanels area.

  <Object  
    Name = "PointerPosition"  
    Visible = "true" 
    Pos = "870,155"
    Size = "130,50"/>

Property

Value

Visible

If the PointerPosition panel should be visible.

Possible values = "true", "false"

Pos

The position of the PointerPosition panel.
The position of the upper left corner.

Value example = "870,155"

Size

The size of the PointerPosition panel.

Value example = "130,50"



UnitInfoOutline

Exposes information about units.

  <Object 
    Name = "UnitInfoOutline" 
    Visible = "true" 
    Pos = "10,85"  
    Size="230,120"/>

Property

Value

Visible

If the UnitInfoOutline panel should be visible.

Possible values = "true", "false"

Pos

The position of the UnitInfoOutline panel.
The position of the upper left corner.

Value example = "10,85"

Size

The size of the UnitInfoOutline panel.

Value example = "230,120"



UnitInfoDetail

Exposes information about a unit.

  <Object 
    Name = "UnitInfoDetail"  
    Visible ="true" 
    Pos = "10,205" 
    Size = "230,200"/>

Property

Value

Visible

If the UnitInfoDetail panel should be visible.

Possible values = "true", "false"

Pos

The position of the UnitInfoDetail panel.
The position of the upper left corner.

Value example = "10,205"

Size

The size of the UnitInfoDetail panel.

Value example = "230,200"



UnitPalette

Exposes the units.

If you want the user to be able to manipulate the objects on the map out any connection to the simulation, the properties Position Enabled and Intention Enabled should be true. When the values are true the user can use the map to put where he or she believe units are.


  <Object 
    Name = "UnitPalette"     
    Visible = "true"  
    Pos = "870,205"  
    Size = "130,165" 
    PositionEnabeled = "true" 
    IntentionEnabeled = "true" />

Property

Value

Visible

If the UnitPalette panel should be visible.

Possible values = "true", "false"

Pos

The position of the UnitPalette panel.
The position of the upper left corner.

Value example = "870,205"

Size

The size of the UnitPalette panel.

Value example = "130,165"

PositionEnabeled

If the user should be able to "on the map" move the postition for the units that he or she are not controlling. No signal are send to the simulation, the manipulation is only on the map. If the role get an update on the unit's real position then the unit are moved to its real position on the map.

Possible values = "true", "false"

IntentionEnabeled

If the user should be able to "on the map" move the intention for the units that he or she are not controlling. No signal are send to the simulation, the manipulation is only on the map. If the role get an update on the unit's real intention position then the unit intention are moved to its real position on the map.

Possible values = "true", "false"



ObjectPalette

Exposes different types of objects, such as a house or a pine, for marking them at the map in MapPanel.

  <Object 
    Name = "ObjectPalette"   
    Visible = "true"  
    Pos = "870,375" 
    Size = "130,120" 
    Enabeled = "true" />

Property

Value

Visible

If the ObjectPalette panel should be visible.

Possible values = "true", "false"

Pos

The position of the ObjectPalette panel.
The position of the upper left corner.

Value example = "870,375"

Size

The size of the ObjectPalette panel.

Value example = "130,120"

Enabeled

If the user should be able to put objects on the map. No signal are send to the simulation, the manipulation is only on the map. If the role get an update on a real object from an unit then the real object is drawn on the map.

Possible values = "true", "false"



FirePalette

Exposes the different types of fire for marking them at the map in MapPanel.

  <Object 
    Name = "FirePalette"     
    Visible = "true"  
    Pos = "870,500" 
    Size = "130,120" 
    Enabeled = "true" />

Property

Value

Visible

If the FirePalette panel should be visible.

Possible values = "true", "false"

Pos

The position of the FirePalette panel.
The position of the upper left corner.

Value example = "870,500"

Size

The size of the FirePalette panel.

Value example = "130,120"

Enabeled

If the user should be able to put a fire state on the map. No signal are send to the simulation, the manipulation is only on the map. If the role get an update on a fire state from an unit then the real fire state is drawn on the map.

Possible values = "true", "false"



MarkPalette

A mark is used to communicate with symbols on the map. A mark does not interfere with the simulation. The session designer can define what a mark symbol should mean in a session.
For example, assume you have a symbol for an area of greate importance to save, and during a firefighting session one of the participants gets information about a schoolbuss being stuck on a certain area. The participant puts the mark on the map. The mark itself does not interfere with the simulation but the actions of all participaters will.
Using marks is a way to communicate with symbols.

The title is set in the language configuration with the parameter c3cc.mark.MarkPalettePanel-PanelLabel.

Value example = " c3cc.mark.MarkPalettePanel-PanelLabel = 'Commands' "


  <Object 
    Name = "MarkPalette"     
    Visible = "false" 
    Pos = "0,0"     
    Size = "0,0" 
    Enabeled = "false" />

Property

Value

Visible

If the MarkPalette panel should be visible.

Possible values = "true", "false"

Pos

The position of the MarkPalette panel.
The position of the upper left corner.

Value example = "0,0"

Size

The size of the MarkPalette panel.

Value example = "0,0"

Enabeled

If the user should be able to put a mark on the map. No signal are send to the simulation, the manipulation is only on the map.

Possible values = "true", "false"



Mail

Panel for sending and recieve mail.

  <Object 
    Name = "Mail"
    Visible = "true"
    Pos = "10,410" 
    Size = "230,180"
    MailReceiveVisible = "true"
    MailReceivePanelPos = "10,15"
    MailReceivePanelSize = "220,160"
    MailReceiveShowTo = "false"
    MailSendVisible = "false"
    MailSendPanelPos = "10,180"
    MailSendPanelSize = "350,150" 
    MailSendButtonType = "Buttons"
    MailSendButtonsDisplayToAllButton = "true"
    MailSendButtonsLayoutNrOfRows = "1"
    MailSendButtonsLayoutNrOfColums = "0" />

Property

Value

Visible

If the Mail panel should be visible.

Possible values = "true", "false"

Pos

The position of the Mail panel.
The position of the upper left corner.

Value example = "10,410"

Size

The size of the Mail panel.

Value example = "230,180"

MailReceiveVisible

If the window object MailReceivePanel should be visible.


Possible values = "true", "false"

MailReceivePanelPos

MailReceivePanels upper left corners position.


Value example = "10,15"

MailReceivePanelSize

MailReceivePanels size.


Value example = "220,160"

MailReceiveShowTo



Possible values = "true", "false"

MailSendVisible

If the window object MailSendPanel should be visible.


Possible values = "true", "false"

MailSendPanelPos

MailSendPanels upper left corners position.


Value example = "10,180"

MailSendPanelSize

MailSendPanels size.

Value example = "350,150"

MailSendButtonType

Type of send button.

Possible values = "Buttons", "Textfield"

MailSendButtonsDisplayToAllButton



MailSendButtonsLayoutNrOfRows

The layout of the MailSendButtons.
The number of rows in the layout.

Value example = "1"

MailSendButtonsLayoutNrOfColums

The layout of the MailSendButtons.
The number of columns in the layout.


Value example = "4"



Diary

Panel for keeping a diary.

  <Object 
    Name = "Diary"
    Visible = "false"
    Pos = "800,10" 
    Size = "370,340"
    DiaryViewVisible = "false"
    DiaryViewPanelPos = "10,15"
    DiaryViewPanelSize = "350,155"
    DiaryEditVisible = "false"
    DiaryEditPanelPos = "10,175"
    DiaryEditPanelSize = "350,150"/>

Property

Value

Visible

If the Diary panel should be visible.

Possible values = "true", "false"

Pos

The position of the Diary panel.
The position of the upper left corner.

Value example = "800,10"

Size

The size of the Diary panel.

Value example = "370,340"

DiaryViewVisible

If the DiaryView panel should be visible.

Possible values = "true", "false"

DiaryViewPanelPos

The position of the DiaryView panel.
The position of the upper left corner.

Value example = "10, 15"

DiaryViewPanelSize

The size of the DiaryView panel.

Value example = "350,155"

DiaryEditVisible

If the DiaryEdit panel should be visible.

Possible values = "true", "false"

DiaryEditPanelPos

The position of the DiaryView panel.
The position of the upper left corner.

Value example = "10, 175"

DiaryEditPanelSize

The position of the DiaryEdit panel.
The position of the upper left corner.

Value example = "350, 150"



MapLayerQuickSelect

A button panel for selecting Map Layer.

  <Object 
    Name = "MapLayerQuickSelect"
    Visible = "false"
    Pos = "1140,505" 
    Size = "120,120"
    ButtonGridLayout = "0,1" 
    StartLayer = "Green"/>

Property

Value

Visible

If the MapLayerQuickSelect panel should be visible.

Possible values = "true", "false"

Pos

The position of the MapLayerQuickSelect panel.
The position of the upper left corner.

Value example = "1140,505"

Size

The size of the MapLayerQuickSelect panel.

Value example = "120,120"

ButtonGridLayout

The layout of the buttons in the panel

Values example = "0,1"

StartLayer

The name of the map layer that is exposed when the session is started.

Value example = "Green"