public void handleChange(ChangeEvent event) { Q7UIPlugin.getDisplay() .asyncExec( new Runnable() { public void run() { updateStatusBar(); updateAssetionWindow(); } }); }
public void assertAdded(final CommandSet commands) { Q7UIPlugin.getDisplay() .asyncExec( new Runnable() { public void run() { if (commands != null) { if (assertionWindow == null || assertionWindow.getShell() == null || assertionWindow.getShell().isDisposed()) { assertionWindow = new AssertionPanelWindow(recordingSupport, getShell()); } assertionWindow.setInput(commands); } } }); }
@Override protected Control createContents(Composite parent) { Q7UIPlugin.getDisplay().addFilter(SWT.KeyUp, keyListener); createToolBar(parent); createTabFolder(parent); ITestCase model = getModel(); Q7InternalTestCase internalModel = new Q7InternalTestCase( ModelManager.getModelManager().getModel(), "recording_snippet", scenario); scriptPart = new ScriptComposite( internalModel, model != null ? (IFile) getModel().getResource() : null, getShell(), SWT.SCROLL_LOCK); ComputedValue recordingMode = new ComputedValue() { @Override protected Object calculate() { return recordingSupport.getMode(); } }; dbc.bindValue(scriptPart.observeRecordingMode(), recordingMode); script = tabFolder.addTab(scriptPart); try { contextsTable = new ContextsTable(internalModel); } catch (ModelException e) { Q7UIPlugin.log(e); } contextsTable.setProject(getSavedProject()); dbc.bindValue(contextsTable.observeRecordingMode(), recordingMode); tabFolder.addTab(contextsTable); try { verificationsTable = new VerificationsTable(internalModel); } catch (ModelException e) { Q7UIPlugin.log(e); } verificationsTable.setProject(getSavedProject()); dbc.bindValue(verificationsTable.observeRecordingMode(), recordingMode); tabFolder.addTab(verificationsTable); DescriptionComposite descPart = new DescriptionComposite(scenario); dbc.bindValue(descPart.observeRecordingMode(), recordingMode); tabFolder.addTab(descPart); OptionsComposite optionsComposite = new OptionsComposite(); tabFolder.addTab(optionsComposite); optionsComposite.setOptionChangeCallback( new Runnable() { public void run() { if (recordingSupport.getMode() == RecordingMode.Recording) { recordingSupport.sendFeatures(); } } }); selectTab(script); statusBar = new StatusBarComposite() { @Override protected void layout() { super.layout(); tabFolder.layout(true); } @Override protected void handleError(final String taskMessage, Throwable e) { if (e instanceof CoreException && (e.getMessage().equals("Connection reset") || e //$NON-NLS-1$ .getMessage() .equals("Connection refused: connect"))) { // $NON-NLS-1$ return; // Ignore connection lost exception, this situation // handled in RecordingSupport class } if (e instanceof CoreException) { final IStatus status = ((CoreException) e).getStatus(); if (status instanceof ExecutionStatus && PlatformUI.isWorkbenchRunning()) { WorkbenchUtils.uiRun( new Runnable() { public void run() { displayExecutionFailure((ExecutionStatus) status); } }); return; } } super.handleError(taskMessage, e); }; }; statusBar.createControl(parent); // statusBar.getControl().addKeyListener(keyListener); dbc.bindValue( WidgetProperties.text().observe(getShell()), new ComputedValue() { @Override protected Object calculate() { StringBuilder text = new StringBuilder(Messages.ControlPanelWindow_Title); ITestCase model = getModel(); if (model != null && model.exists()) { try { text.append(" - ").append(model.getElementName()); // $NON-NLS-1$ text.append(" (") // $NON-NLS-1$ .append(model.getQ7Project().getName()) .append(")"); // $NON-NLS-1$ } catch (ModelException e) { Q7UIPlugin.log(e); } } AutLaunch aut = recordingSupport.getAUT(); if (aut != null) { text.append(" - ").append(aut.getAut().getName()); // $NON-NLS-1$ } switch (recordingSupport.getMode()) { case Connecting: text.append(Messages.ControlPanelWindow_StatusConnection); break; case Recording: text.append(Messages.ControlPanelWindow_StatusRecording); break; case Asserting: text.append(Messages.ControlPanelWindow_StatusAsserting); break; case ImageRecognition: text.append(Messages.ControlPanelWindow_StatusImageRecognition); break; case Replaying: text.append(Messages.ControlPanelWindow_StatusReplaying); break; case WaitingForAUTRestart: text.append(Messages.ControlPanelWindow_StatusWaitingAUTToRestart); break; default: break; } return text.toString(); } }); tabFolder.setFocus(); return tabFolder; }