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 IS_MONITOR = 2;
00019 public static final int TEST_DATA = 3;
00020 public static final int SCTDB_DATA = 4;
00021 public static final int SCTDB_RODDAQ_DATA=5;
00022 public static final int DCS_DATA = 6;
00023 public static final int IV_DATA=7;
00024
00025 public static final String[] statusNames = {"DISPLAY UNCONFIGURED","ModuleGroup Selection","Data Manager","Test Results","SCTDAQ Reference","SctRodDaq Reference","DCS Info","IVscan Data"};
00026
00027 public int status;
00028 public int configuredStatus;
00029 gui guiControl;
00030
00032 public DisplayStatus(gui parent) {
00033 guiControl=parent;
00034 status = UNDEFINED;
00035 configuredStatus=UNDEFINED;
00036 }
00037 public void setStatus(int status) {
00038 this.status=status;
00039 }
00040 public int getStatus() {
00041 return status;
00042 }
00043
00044 public void setConfigurationMode() {
00045
00046
00047 ConfigurationInterface conf = ConfigurationInterface.getInstance();
00048 conf.getConfiguration(0);
00049 if(conf.isConfigured()) {
00050 guiControl.displayPane.refreshDisplay();
00051 configuredStatus=CONFIGURED;
00052 setModuleGroupSelectionMode();
00053 guiControl.menuBar.enableDisplayMenuItems(true);
00054
00055 if(guiControl.menuBar.autoAssemblyMode.isSelected()) guiControl.isInterface.uploadAssemblyInfo();
00056
00057
00058 }
00059 }
00060
00061 public void setModuleGroupSelectionMode() {
00062 unsubscribeAll();
00063 status=MODULE_GROUP_SELECTION;
00064 boolean displayWriteAccess=true;
00065
00066 showParameterSelector();
00067 guiControl.colorScalePane.setColorScale();
00068 guiControl.tablesDisplayPane.updateTables();
00069
00070 guiControl.displayPane.setDisplayColors();
00071 guiControl.displayPane.refreshDisplay();
00072 guiControl.menuBar.updateMenuStates();
00073 }
00074 public void setISMode() {
00075 unsubscribeAll();
00076 status = IS_MONITOR;
00077 showParameterSelector();
00078 guiControl.colorScalePane.setColorScale();
00079
00080 guiControl.isInterface.subscribe();
00081
00082 guiControl.menuBar.updateMenuStates();
00083
00084
00085 }
00086 public void setTestDataMode(int testDataType) {
00087 if(status==TEST_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00088 unsubscribeAll();
00089 int oldStatus=status;
00090 status = TEST_DATA;
00091 showParameterSelector();
00092 guiControl.displayPane.resetDisplayOption();
00093 guiControl.colorScalePane.setColorScale();
00094 guiControl.isInterface.subscribe(testDataType);
00095 if(testDataType==-1) guiControl.menuBar.resetTestListFilter();
00096 guiControl.menuBar.updateMenuStates();
00097 }
00098 public void setSCTDBDataMode(int testDataType) {
00099 if(status==SCTDB_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00100 unsubscribeAll();
00101 int oldStatus=status;
00102 status = SCTDB_DATA;
00103 showParameterSelector();
00104 guiControl.colorScalePane.setColorScale();
00105 guiControl.isInterface.subscribe(testDataType);
00106 if(testDataType==-1) guiControl.menuBar.resetTestListFilter();
00107 guiControl.menuBar.updateMenuStates();
00108 }
00109 public void setSCTDBRodDaqMode(int testDataType) {
00110 if(status==SCTDB_RODDAQ_DATA && testDataType==guiControl.isInterface.getListFilterIndex()) return;
00111 unsubscribeAll();
00112 int oldStatus=status;
00113 status = SCTDB_RODDAQ_DATA;
00114 showParameterSelector();
00115 guiControl.colorScalePane.setColorScale();
00116 guiControl.isInterface.subscribe(testDataType);
00117 if(testDataType==-1) guiControl.menuBar.resetTestListFilter();
00118 guiControl.menuBar.updateMenuStates();
00119 }
00120 public void setDCSDataMode() {
00121 unsubscribeAll();
00122 int oldStatus=status;
00123 status = DCS_DATA;
00124 showParameterSelector();
00125 guiControl.colorScalePane.setColorScale();
00126 guiControl.isInterface.subscribe();
00127 guiControl.menuBar.updateMenuStates();
00128 }
00129 public void setIVDataMode() {
00130 unsubscribeAll();
00131 int oldStatus=status;
00132 status = IV_DATA;
00133 showParameterSelector();
00134 guiControl.colorScalePane.setColorScale();
00135 guiControl.isInterface.subscribe();
00136 guiControl.menuBar.updateMenuStates();
00137
00138
00139 IVTestSelection iv = guiControl.tablesDisplayPane.getIVTestSelection();
00140 if(iv==null) new IVScanLister(guiControl.displayPane.getSCTView()).show();
00141 }
00142
00143 public void unsubscribeAll() {
00144 guiControl.isInterface.unsubscribe();
00145 }
00146 private void showParameterSelector() {
00147 guiControl.selectorPane.initParamList();
00148 }
00149 }