diff --git a/org.eclipse.titan.executor/src/org/eclipse/titan/executor/executors/mctr/cli/CliExecutor.java b/org.eclipse.titan.executor/src/org/eclipse/titan/executor/executors/mctr/cli/CliExecutor.java index d9472dac138b0675e72357b5857033a03c0a1012..b239308b644e9c0a60ebb4f0b7a90c9753448c5d 100644 --- a/org.eclipse.titan.executor/src/org/eclipse/titan/executor/executors/mctr/cli/CliExecutor.java +++ b/org.eclipse.titan.executor/src/org/eclipse/titan/executor/executors/mctr/cli/CliExecutor.java @@ -1005,8 +1005,8 @@ public final class CliExecutor extends BaseExecutor { } else if (MTC_TERMINATED.equals(shortversion)) { suspectedLastState = mcStateEnum.MC_ACTIVE; } else if (successfulStartUpMatcher.reset(fastLine).matches()) { - mcHost = successfulStartUpMatcher.group(2); - mcPort = successfulStartUpMatcher.group(3); + mcHost = successfulStartUpMatcher.group(3); + mcPort = successfulStartUpMatcher.group(4); suspectedLastState = mcStateEnum.MC_LISTENING; } else if (fullSuccessfulStartUpMatcher.reset(shortversion).matches()) { mcHost = fullSuccessfulStartUpMatcher.group(1); diff --git a/org.eclipse.titan.executor/src/org/eclipse/titan/executor/tabpages/hostcontrollers/HostControllersTab.java b/org.eclipse.titan.executor/src/org/eclipse/titan/executor/tabpages/hostcontrollers/HostControllersTab.java index 4c3e980eb06da6e2cf1e0476c637a763309b7fd1..6a28b0e3b272e866f9aae5ef803aed78c2296b5a 100644 --- a/org.eclipse.titan.executor/src/org/eclipse/titan/executor/tabpages/hostcontrollers/HostControllersTab.java +++ b/org.eclipse.titan.executor/src/org/eclipse/titan/executor/tabpages/hostcontrollers/HostControllersTab.java @@ -37,7 +37,9 @@ import org.eclipse.jface.viewers.ColumnLayoutData; import org.eclipse.jface.viewers.ColumnWeightData; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; +import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.TableLayout; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.window.Window; @@ -186,6 +188,23 @@ public final class HostControllersTab extends AbstractLaunchConfigurationTab { } }); + + hostViewer.addSelectionChangedListener(new ISelectionChangedListener() { + + @Override + public void selectionChanged(SelectionChangedEvent event) { + if (!event.getSelection().isEmpty()) { + editHostButton.setEnabled(true); + copyHostButton.setEnabled(true); + removeHostButton.setEnabled(true); + } else { + editHostButton.setEnabled(false); + copyHostButton.setEnabled(false); + removeHostButton.setEnabled(false); + } + } + }); + for (int i = 0; i < HOST_TABLE_COLUMN_HEADERS.length; i++) { tableLayout.addColumnData(hostTableColumnLayouts[i]); final TableColumn tc = new TableColumn(table, SWT.NONE, i); @@ -217,6 +236,7 @@ public final class HostControllersTab extends AbstractLaunchConfigurationTab { } }); editHostButton = createPushButton(buttonComposite, "Edit...", null); + editHostButton.setEnabled(false); editHostButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { @@ -224,6 +244,7 @@ public final class HostControllersTab extends AbstractLaunchConfigurationTab { } }); copyHostButton = createPushButton(buttonComposite, "Copy...", null); + copyHostButton.setEnabled(false); copyHostButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { @@ -231,6 +252,7 @@ public final class HostControllersTab extends AbstractLaunchConfigurationTab { } }); removeHostButton = createPushButton(buttonComposite, "Remove...", null); + removeHostButton.setEnabled(false); removeHostButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) {