C3Fire User Interface Configuration

From C3LearningLabs

UI Main Layout

The main user interface layout for each player in C3Fire are defined in the UserInterfaceLayout xml element in the session configuration file.


<Config> 
  <SessionInfo>      
  <Roles>
  <Units>
  ...
  <UserInterfaceLayout>
    <Layout>
      <Object>
  ...
  <UnitInfoDisplay>
    <UnitInfoDisplayOutline>
      <UnitInfoDisplayOutlineCol>
      <UnitInfoDisplayOutlineRow>
    <UnitInfoDisplayDetail>
      <UnitInfoDisplayDetailRow>
  ...
  <SessionControlLayout>
    <Object>
  ...
</Config>
<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>



UI Object Main Parameters

Parameters

Description

Name

Top layer UI object identification name.

Pos

The position of the panel.
The value is defined in pixels "x,y", "horizontal position,vertical position".
The zero position 0,0 is at top left corner of the window.

Value example = "5,26"

Size

The size of the panel.

The value is defined in pixels "width,height", "size-x,size-y", "horizontal size, vertical size"

Value example = "280,170"

Visible

If the panel should be visiple.

Possible values are "True" and "False".



MapLayerControl

The map layer control panel is used to let the user select what information layers that should be visible in the map.
The users can also move the layers up "Forward" and down "Backward" in the drawing order, and define what layers should be in "front" and what layer should be at "back".
The transparency value for the layers can also be defined. "0" invisible (total transparent), "100" opaque.

Apache Server

MapLayerControl Panel Parameters

Parameters

Description

Name

The UI object identification name should be "MapLayerControl".

Pos

The position of the panel.
The value is defined in pixels "x,y", "horizontal position,vertical position".
The zero position 0,0 is at top left corner of the window.

Value example = "5,26"

Size

The size of the panel.

The value is defined in pixels "width,height", "size-x,size-y", "horizontal size, vertical size"

Value example = "280,170"

Visible

If the panel should be visiple.

Possible values are "True" and "False".

Xml definition:

<Object
  Name = "MapLayerControl"
  Pos = "5,725"
  Size = "280,170"
  Visible = "True" />


Logga

Logga

Logotype of C3Fire.

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

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


RoleName

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

Property

Value

Name

The UI object identification name should be "Logga".

Visible

If the RoleName panel should be visible.

Possible values = "true", "false"

Pos

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

Value example = "8,10"

Xml definition:

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


Time

Time in the simulation.

Time

Property

Value

Name

The UI object identification name should be "Logga".

Visible

If the time panel should be visible.

Possible values = "true", "false"

Pos

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

Value example = "130,120"

Size

The size of the time panel.

Value example = "75,50"

Xml definition:

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


Wind

Shows wind direction in the session.

Wind

Property

Value

Name

The UI object identification name should be "Logga".

Visible

If the wind panel should be visible.

Possible values = "true", "false"

Pos

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

Value example = "870,10"

Size

The size of the wind panel.

Value example = "130,145"

Xml definition:

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


Map

Panel in wich a map is exposed.

Map

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

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


PointerPosition

Exposes the pointers position when it is in MapPanels area.

PointerPosition

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

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


UnitInfoOutline

Exposes information about units.

UnitInfoOutline

Property

Value

Name

The UI object identification name should be "Logga".

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 = "870,205""

Size

The size of the UnitInfoOutline panel.

Value example = "230,120"

Xml definition:

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


UnitInfoDetail

Exposes information about a unit.

UnitInfoDetail

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

<Object
  Name = "UnitInfoOutline"     
  Visible = "true"  
  Pos = "10,205"  
  Size = "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.

UnitPalette

Property

Value

Name

The UI object identification name should be "Logga".

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 UnitPalettel 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"

Xml definition:

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


ObjectPalette

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

ObjectPalette

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

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


FirePalette

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

Firepalette

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

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


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' "

Markpalette

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

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


Mail

Panel for sending and recieve mail.

Mail

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

<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" />


Diary

Panel for keeping a diary.

C3fire-config-ui-main-layout-diary-panel.gif

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

 <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"/>

MapLayerQuickSelect

A button panel for selecting Map Layer.

Property

Value

Name

The UI object identification name should be "Logga".

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"

Xml definition:

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