/** Update one attribute on the form */ @Override public void update(RampMeter rm, String a) { if (a == null) updateConfig(rm); if (a == null || a.equals("name")) name_lbl.setText(rm.getName()); if (a == null || a.equals("preset")) setPresetAction(rm); // FIXME: this won't update when geoLoc attributes change if (a == null || a.equals("geoLoc")) { location_lbl.setText(GeoLocHelper.getOnRampDescription(rm.getGeoLoc())); } if (a == null || a.equals("operation")) operation_lbl.setText(rm.getOperation()); if (a == null || a.equals("rate")) { Integer rt = rm.getRate(); release_lbl.setText(RampMeterHelper.formatRelease(rt)); cycle_lbl.setText(RampMeterHelper.formatCycle(rt)); if (rt != null) on_btn.setSelected(true); else off_btn.setSelected(true); boolean up = isUpdatePermitted(rm) && rt != null; shrink_btn.setEnabled(up); grow_btn.setEnabled(up); } if (a == null || a.equals("queue")) { RampMeterQueue q = RampMeterQueue.fromOrdinal(rm.getQueue()); queue_lbl.setText(q.description); } if (a == null || a.equals("mLock")) { lock_cbx.setAction(null); lock_cbx.setSelectedIndex(getMLock(rm)); lock_cbx.setAction(new LockMeterAction(rm, lock_cbx, isUpdatePermitted(rm))); } if (a == null || a.equals("styles")) { if (ItemStyle.FAILED.checkBit(rm.getStyles())) { operation_lbl.setForeground(Color.WHITE); operation_lbl.setBackground(Color.GRAY); } else { operation_lbl.setForeground(null); operation_lbl.setBackground(null); } } }
/** Set the camera preset action */ private void setPresetAction(RampMeter rm) { CameraPreset cp = RampMeterHelper.getPreset(rm); preset_btn.setAction(new CameraPresetAction(session, cp)); }