1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-03 15:15:25 +02:00

launchbar: resurrect gear on target selector

it will open Properties dialog on connection.
Contributors can adapt connection to their class
to show various property pages and allow to edit "targets"

Change-Id: I0fe486b069450bbf8379930ffdeaabd9c8dbbd6e
This commit is contained in:
Alena Laskavaia 2015-08-26 13:49:06 -04:00
parent 38577c4ec9
commit 4b6a04fac1

View file

@ -20,8 +20,13 @@ import org.eclipse.core.commands.NotEnabledException;
import org.eclipse.core.commands.NotHandledException;
import org.eclipse.core.commands.common.NotDefinedException;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.SameShellProvider;
import org.eclipse.launchbar.core.internal.LaunchBarManager;
import org.eclipse.launchbar.ui.internal.Activator;
import org.eclipse.launchbar.ui.internal.LaunchBarUIManager;
@ -45,6 +50,7 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.ICommandService;
import org.eclipse.ui.dialogs.PropertyDialogAction;
public class TargetSelector extends CSelector {
@ -94,13 +100,37 @@ public class TargetSelector extends CSelector {
@Override
public boolean isEditable(Object element) {
// TODO
return false;
return true;
}
private ISelectionProvider getSelectionProvider(){
return new ISelectionProvider() {
@Override
public void setSelection(ISelection selection) {
// ignore
}
@Override
public void removeSelectionChangedListener(ISelectionChangedListener listener) {
// ignore
}
@Override
public ISelection getSelection() {
return new StructuredSelection(TargetSelector.this.getSelection());
}
@Override
public void addSelectionChangedListener(ISelectionChangedListener listener) {
// ignore
}
};
}
@Override
public void handleEdit(Object element) {
// TODO
// opens property dialog on a selected target
new PropertyDialogAction(new SameShellProvider(getShell()), getSelectionProvider()).run();
}
@Override
@ -138,6 +168,7 @@ public class TargetSelector extends CSelector {
createLabel.setBackground(backgroundColor);
MouseListener mouseListener = new MouseAdapter() {
@Override
public void mouseUp(org.eclipse.swt.events.MouseEvent event) {
try {
ICommandService commandService = PlatformUI.getWorkbench().getService(ICommandService.class);