// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Configuring Accepted class parameters
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
object."customClasses.Alarm" {
  tableColumnOrder: "identifier, creationTime, acknowledged, perceivedSeverity";
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Configuring Table header parameters
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
attribute."customClasses.Alarm/identifier" {
  label: '@|resource("SampleMessages", "label.alarm.identifier")';
  toolTipText: '@|resource("SampleMessages", "desc.alarm.identifier")';
  preferredWidth: 200;
}
attribute."customClasses.Alarm/creationTime" {
  label: '@|resource("SampleMessages", "label.alarm.creationTime")';
  toolTipText: '@|resource("SampleMessages", "desc.alarm.creationTime")';
  preferredWidth: 250;
}
attribute."customClasses.Alarm/perceivedSeverity" {
  label: '@|resource("SampleMessages", "label.alarm.perceivedSeverity")';
  toolTipText: '@|resource("SampleMessages", "desc.alarm.perceivedSeverity")';
  preferredWidth: 100;
}
attribute."customClasses.Alarm/acknowledged" {
  label: '@|resource("SampleMessages", "label.alarm.acknowledged")';
  toolTipText: '@|resource("SampleMessages", "desc.alarm.acknowledged")';
  preferredWidth: 30;
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Configuring Table cell parameters
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// Configuring perceived severity to change its color and label according to 
// the severity value.
object."customClasses.Alarm/perceivedSeverity":selected:selected {
  labelBackground: '';
}
object."customClasses.Alarm/perceivedSeverity"[perceivedSeverity=0] {
  labelBackground: '#FFFFFF';
  label: Cleared;
  toolTipText: '@|resource("SampleMessages", "tooltip.alarm.perceivedSeverity.cleared")';
}
object."customClasses.Alarm/perceivedSeverity"[perceivedSeverity=1] {
  labelBackground: '#C0C0C0';
  label: Indeterminate;
  toolTipText: '@|resource("SampleMessages", "tooltip.alarm.perceivedSeverity.indeterminate")';
}
object."customClasses.Alarm/perceivedSeverity"[perceivedSeverity=2] {
  labelBackground: '#FFCC00';
  label: Warning;
  toolTipText: '@|resource("SampleMessages", "tooltip.alarm.perceivedSeverity.warning")';
}
object."customClasses.Alarm/perceivedSeverity"[perceivedSeverity=3] {
  labelBackground: '#FFB200';
  label: Minor;
  toolTipText: '@|resource("SampleMessages", "tooltip.alarm.perceivedSeverity.minor")';
}
object."customClasses.Alarm/perceivedSeverity"[perceivedSeverity=4] {
  labelBackground: '#FF0000';
  label: Major;
  toolTipText: '@|resource("SampleMessages", "tooltip.alarm.perceivedSeverity.major")';
}
object."customClasses.Alarm/perceivedSeverity"[perceivedSeverity=5] {
  labelBackground: '#FF0000';
  label: Critical;
  toolTipText: '@|resource("SampleMessages", "tooltip.alarm.perceivedSeverity.critical")';
}

// Configuring identifier to change its color according to the alarm severity.
object."customClasses.Alarm/identifier" {
  toolTipText: @identifier;
}
object."customClasses.Alarm/identifier":selected:selected {
  labelBackground: '';
}
object."customClasses.Alarm/identifier"[perceivedSeverity=0] {
  labelBackground: '#FFFFFF';
}
object."customClasses.Alarm/identifier"[perceivedSeverity=1] {
  labelBackground: '#C0C0C0';
}
object."customClasses.Alarm/identifier"[perceivedSeverity=2] {
  labelBackground: '#FFCC00';
}
object."customClasses.Alarm/identifier"[perceivedSeverity=3] {
  labelBackground: '#FFB200';
}
object."customClasses.Alarm/identifier"[perceivedSeverity=4] {
  labelBackground: '#FF0000';
}
object."customClasses.Alarm/identifier"[perceivedSeverity=5] {
  labelBackground: '#FF0000';
}

// Configuring creationTime to change its color according to the alarm severity.
object."customClasses.Alarm/creationTime" {
  label: '@|format(@=labelDateFormat, @creationTime)';
  toolTipText: '@|format(@=toolTipDateFormat, @creationTime)';
}
#labelDateFormat {
  class: 'ilog.cpl.util.text.IlpSimpleDateFormat';
  pattern: '@|resource("SampleMessages", "label.pattern.alarm.creationTime")';
}
#toolTipDateFormat {
  class: 'ilog.cpl.util.text.IlpSimpleDateFormat';
  pattern: '@|resource("SampleMessages", "tooltip.pattern.alarm.creationTime")';
}
object."customClasses.Alarm/creationTime":selected:selected {
  labelBackground: '';
}
object."customClasses.Alarm/creationTime"[perceivedSeverity=0] {
  labelBackground: '#FFFFFF';
}
object."customClasses.Alarm/creationTime"[perceivedSeverity=1] {
  labelBackground: '#C0C0C0';
}
object."customClasses.Alarm/creationTime"[perceivedSeverity=2] {
  labelBackground: '#FFCC00';
}
object."customClasses.Alarm/creationTime"[perceivedSeverity=3] {
  labelBackground: '#FFB200';
}
object."customClasses.Alarm/creationTime"[perceivedSeverity=4] {
  labelBackground: '#FF0000';
}
object."customClasses.Alarm/creationTime"[perceivedSeverity=5] {
  labelBackground: '#FF0000';
}


// Configuring acknowledged to change its color according to the alarm severity
// and to have an icon according to its state
object."customClasses.Alarm/acknowledged" {
  labelVisible: false;
  iconVisible: true;
  horizontalAlignment: Center;
}
object."customClasses.Alarm/acknowledged":selected:selected {
  labelBackground: '';
}
object."customClasses.Alarm/acknowledged"[acknowledged=true] {
  icon: '@|image("ilog/tgo/check.png")';
  toolTipText: '@|resource("SampleMessages", "label.alarm.acknowledgedState")';
}
object."customClasses.Alarm/acknowledged"[acknowledged=false] {
  icon: '';
  toolTipText: '@|resource("SampleMessages", "label.alarm.unacknowledgedState")';
}
object."customClasses.Alarm/acknowledged"[perceivedSeverity=0] {
  labelBackground: '#FFFFFF';
}
object."customClasses.Alarm/acknowledged"[perceivedSeverity=1] {
  labelBackground: '#C0C0C0';
}
object."customClasses.Alarm/acknowledged"[perceivedSeverity=2] {
  labelBackground: '#FFCC00';
}
object."customClasses.Alarm/acknowledged"[perceivedSeverity=3] {
  labelBackground: '#FFB200';
}
object."customClasses.Alarm/acknowledged"[perceivedSeverity=4] {
  labelBackground: '#FF0000';
}
object."customClasses.Alarm/acknowledged"[perceivedSeverity=5] {
  labelBackground: '#FF0000';
}