00001
00002
00003
00004
00005
00006
00007 package DisplayGUI;
00008
00013 public class DisplayStatus {
00014
00015 public static final int UNDEFINED = 0;
00016 public static final int CONFIGURED = 1;
00017 public static final int MODULE_GROUP_SELECTION = 1;
00018 public static final int PROBE_DATA=2;
00019 public static final int IS_MONITOR = 3;
00020 public static final int TEST_DATA = 4;
00021 public static final int SCTDB_DATA = 5;
00022 public static final int SCTDB_RODDAQ_DATA=6;
00023 public static final int DCS_DATA = 7;
00024 public static final int IV_DATA=8;
00025
00026 public static final String[] statusNames = {"DISPLAY UNCONFIGURED","Module Configuration","Probe Data","Data Manager","Test Results","SCTDAQ Reference","SctRodDaq Reference","DCS Conditions","IVscan Data"};
00027
00028 public int status;
00029 public int configuredStatus;
00030 gui guiControl;
00031
00033 public DisplayStatus(gui parent) {
00034 guiControl=parent;
00035 clear();
00036 }
00037
00038 public void clear() {
00039 status = UNDEFINED;
00040 configuredStatus=UNDEFINED;
00041 }
00042
00043 public void setStatus(int status) {
00044 this.status=status;
00045 }
00046 public int getStatus() {
00047 return status;
00048 }
00049
00050 public void setConfigurationMode() {
00051
00052
00053 ConfigurationInterface conf = ConfigurationInterface.getInstance();
00054 conf.getConfiguration(0);
00055 if(conf.isConfigured()) {
00056 guiControl.displayPane.refreshDisplay();
00057 configuredStatus=CONFIGURED;
00058 setModuleGroupSelectionMode();
00059 guiControl.menuActions.enableDisplayMenuItems(true);
00060
00061 if(guiControl.menuActions.enableAutoUpload) guiControl.isInterface.uploadAssemblyInfo();
00062
00063
00064 }
00065 }
00066
00067 public void setModuleGroupSelectionMode() {
00068 unsubscribeAll();
00069 status=MODULE_GROUP_SELECTION;
00070 boolean displayWriteAccess=true;
00071
00072 showParameterSelector();
00073
00074 if(guiControl.selectorPane.getDisplayParameterIndex()>0) SctApiInfo.getInstance().probeConfig(guiControl.selectorPane.getViewCategoryIndex(),guiControl.selectorPane.getViewIndex(),guiControl.selectorPane.getDisplayParameterIndex());
00075 guiControl.colorScalePane.setColorScale();
00076 guiControl.tablesDisplayPane.updateTables();
00077
00078 guiControl.displayPane.setDisplayColors();
00079 guiControl.displayPane.refreshDisplay();
00080 guiControl.menuActions.updateMenuStates();
00081 }
00082 public void setISMode() {
00083 unsubscribeAll();
00084 status = IS_MONITOR;
00085 showParameterSelector();
00086 guiControl.colorScalePane.setColorScale();
00087
00088 guiControl.isInterface.subscribe();
00089
00090 guiControl.menuActions.updateMenuStates();
00091
00092
00093 }
00094 public void setTestDataMode(int testDataType) {
00095 if(status==TEST_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00096 unsubscribeAll();
00097 int oldStatus=status;
00098 status = TEST_DATA;
00099 showParameterSelector();
00100 guiControl.displayPane.resetDisplayOption();
00101 guiControl.colorScalePane.setColorScale();
00102 guiControl.isInterface.subscribe(testDataType);
00103 if(testDataType==-1) guiControl.guiMenus.resetTestListFilter();
00104 guiControl.menuActions.updateMenuStates();
00105 }
00106 public void setSCTDBDataMode(int testDataType) {
00107 if(status==SCTDB_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00108 unsubscribeAll();
00109 int oldStatus=status;
00110 status = SCTDB_DATA;
00111 showParameterSelector();
00112 guiControl.colorScalePane.setColorScale();
00113 guiControl.isInterface.subscribe(testDataType);
00114 if(testDataType==-1) guiControl.guiMenus.resetTestListFilter();
00115 guiControl.menuActions.updateMenuStates();
00116 }
00117 public void setSCTDBRodDaqMode(int testDataType) {
00118 if(status==SCTDB_RODDAQ_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00119 unsubscribeAll();
00120 int oldStatus=status;
00121 status = SCTDB_RODDAQ_DATA;
00122 showParameterSelector();
00123 guiControl.colorScalePane.setColorScale();
00124 guiControl.isInterface.subscribe(testDataType);
00125 if(testDataType==-1) guiControl.guiMenus.resetTestListFilter();
00126 guiControl.menuActions.updateMenuStates();
00127 }
00128 public void setDCSDataMode() {
00129 unsubscribeAll();
00130 int oldStatus=status;
00131 status = DCS_DATA;
00132 showParameterSelector();
00133 guiControl.colorScalePane.setColorScale();
00134 guiControl.isInterface.subscribe();
00135 guiControl.menuActions.updateMenuStates();
00136 }
00137 public void setIVDataMode() {
00138 unsubscribeAll();
00139 int oldStatus=status;
00140 status = IV_DATA;
00141 showParameterSelector();
00142 guiControl.colorScalePane.setColorScale();
00143 guiControl.isInterface.subscribe();
00144 guiControl.menuActions.updateMenuStates();
00145
00146
00147 IVTestSelection iv = guiControl.tablesDisplayPane.getIVTestSelection();
00148 if(iv==null) new IVScanLister(ConfigurationInterface.getInstance().getSerialNumberList(guiControl.selectorPane.getViewCategoryIndex(),guiControl.selectorPane.getViewIndex())).setVisible(true);
00149 }
00150 public void setProbeDataMode() {
00151 unsubscribeAll();
00152 int oldStatus=status;
00153 status = PROBE_DATA;
00154
00155 if(guiControl.menuActions.canProbeModules()) SctApiInfo.getInstance().probe(guiControl.selectorPane.getViewCategoryIndex(),guiControl.selectorPane.getViewIndex());
00156 else javax.swing.JOptionPane.showMessageDialog(null,"Module probe not currently permitted - display will show most recent probe data.");
00157 showParameterSelector();
00158 guiControl.colorScalePane.setColorScale();
00159 guiControl.menuActions.updateMenuStates();
00160 guiControl.displayPane.setDisplayColors();
00161 guiControl.displayPane.refreshDisplay();
00162 guiControl.tablesDisplayPane.updateTables();
00163 }
00164
00165 public void unsubscribeAll() {
00166 guiControl.isInterface.unsubscribe();
00167 }
00168 private void showParameterSelector() {
00169 guiControl.selectorPane.initParamList();
00170 }
00171 }