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 status = UNDEFINED;
00036 configuredStatus=UNDEFINED;
00037 }
00038 public void setStatus(int status) {
00039 this.status=status;
00040 }
00041 public int getStatus() {
00042 return status;
00043 }
00044
00045 public void setConfigurationMode() {
00046
00047
00048 ConfigurationInterface conf = ConfigurationInterface.getInstance();
00049 conf.getConfiguration(0);
00050 if(conf.isConfigured()) {
00051 guiControl.displayPane.refreshDisplay();
00052 configuredStatus=CONFIGURED;
00053 setModuleGroupSelectionMode();
00054 guiControl.menuActions.enableDisplayMenuItems(true);
00055
00056 if(guiControl.menuActions.enableAutoUpload) guiControl.isInterface.uploadAssemblyInfo();
00057
00058
00059 }
00060 }
00061
00062 public void setModuleGroupSelectionMode() {
00063 unsubscribeAll();
00064 status=MODULE_GROUP_SELECTION;
00065 boolean displayWriteAccess=true;
00066
00067 showParameterSelector();
00068
00069 if(guiControl.selectorPane.getDisplayParameterIndex()>0) SctApiInfo.getInstance().probeConfig(guiControl.selectorPane.getViewCategoryIndex(),guiControl.selectorPane.getViewIndex(),guiControl.selectorPane.getDisplayParameterIndex());
00070 guiControl.colorScalePane.setColorScale();
00071 guiControl.tablesDisplayPane.updateTables();
00072
00073 guiControl.displayPane.setDisplayColors();
00074 guiControl.displayPane.refreshDisplay();
00075 guiControl.menuActions.updateMenuStates();
00076 }
00077 public void setISMode() {
00078 unsubscribeAll();
00079 status = IS_MONITOR;
00080 showParameterSelector();
00081 guiControl.colorScalePane.setColorScale();
00082
00083 guiControl.isInterface.subscribe();
00084
00085 guiControl.menuActions.updateMenuStates();
00086
00087
00088 }
00089 public void setTestDataMode(int testDataType) {
00090 if(status==TEST_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00091 unsubscribeAll();
00092 int oldStatus=status;
00093 status = TEST_DATA;
00094 showParameterSelector();
00095 guiControl.displayPane.resetDisplayOption();
00096 guiControl.colorScalePane.setColorScale();
00097 guiControl.isInterface.subscribe(testDataType);
00098 if(testDataType==-1) guiControl.guiMenus.resetTestListFilter();
00099 guiControl.menuActions.updateMenuStates();
00100 }
00101 public void setSCTDBDataMode(int testDataType) {
00102 if(status==SCTDB_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00103 unsubscribeAll();
00104 int oldStatus=status;
00105 status = SCTDB_DATA;
00106 showParameterSelector();
00107 guiControl.colorScalePane.setColorScale();
00108 guiControl.isInterface.subscribe(testDataType);
00109 if(testDataType==-1) guiControl.guiMenus.resetTestListFilter();
00110 guiControl.menuActions.updateMenuStates();
00111 }
00112 public void setSCTDBRodDaqMode(int testDataType) {
00113 if(status==SCTDB_RODDAQ_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00114 unsubscribeAll();
00115 int oldStatus=status;
00116 status = SCTDB_RODDAQ_DATA;
00117 showParameterSelector();
00118 guiControl.colorScalePane.setColorScale();
00119 guiControl.isInterface.subscribe(testDataType);
00120 if(testDataType==-1) guiControl.guiMenus.resetTestListFilter();
00121 guiControl.menuActions.updateMenuStates();
00122 }
00123 public void setDCSDataMode() {
00124 unsubscribeAll();
00125 int oldStatus=status;
00126 status = DCS_DATA;
00127 showParameterSelector();
00128 guiControl.colorScalePane.setColorScale();
00129 guiControl.isInterface.subscribe();
00130 guiControl.menuActions.updateMenuStates();
00131 }
00132 public void setIVDataMode() {
00133 unsubscribeAll();
00134 int oldStatus=status;
00135 status = IV_DATA;
00136 showParameterSelector();
00137 guiControl.colorScalePane.setColorScale();
00138 guiControl.isInterface.subscribe();
00139 guiControl.menuActions.updateMenuStates();
00140
00141
00142 IVTestSelection iv = guiControl.tablesDisplayPane.getIVTestSelection();
00143 if(iv==null) new IVScanLister(ConfigurationInterface.getInstance().getSerialNumberList(guiControl.selectorPane.getViewCategoryIndex(),guiControl.selectorPane.getViewIndex())).setVisible(true);
00144 }
00145 public void setProbeDataMode() {
00146 unsubscribeAll();
00147 int oldStatus=status;
00148 status = PROBE_DATA;
00149
00150
00151 showParameterSelector();
00152 guiControl.colorScalePane.setColorScale();
00153 guiControl.menuActions.updateMenuStates();
00154 guiControl.displayPane.setDisplayColors();
00155 guiControl.displayPane.refreshDisplay();
00156 guiControl.tablesDisplayPane.updateTables();
00157 }
00158
00159 public void unsubscribeAll() {
00160 guiControl.isInterface.unsubscribe();
00161 }
00162 private void showParameterSelector() {
00163 guiControl.selectorPane.initParamList();
00164 }
00165 }