mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-10 18:45:26 +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:
parent
38577c4ec9
commit
4b6a04fac1
1 changed files with 34 additions and 3 deletions
|
@ -20,8 +20,13 @@ import org.eclipse.core.commands.NotEnabledException;
|
||||||
import org.eclipse.core.commands.NotHandledException;
|
import org.eclipse.core.commands.NotHandledException;
|
||||||
import org.eclipse.core.commands.common.NotDefinedException;
|
import org.eclipse.core.commands.common.NotDefinedException;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
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.IStructuredContentProvider;
|
||||||
|
import org.eclipse.jface.viewers.StructuredSelection;
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
|
import org.eclipse.jface.window.SameShellProvider;
|
||||||
import org.eclipse.launchbar.core.internal.LaunchBarManager;
|
import org.eclipse.launchbar.core.internal.LaunchBarManager;
|
||||||
import org.eclipse.launchbar.ui.internal.Activator;
|
import org.eclipse.launchbar.ui.internal.Activator;
|
||||||
import org.eclipse.launchbar.ui.internal.LaunchBarUIManager;
|
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.swt.widgets.Label;
|
||||||
import org.eclipse.ui.PlatformUI;
|
import org.eclipse.ui.PlatformUI;
|
||||||
import org.eclipse.ui.commands.ICommandService;
|
import org.eclipse.ui.commands.ICommandService;
|
||||||
|
import org.eclipse.ui.dialogs.PropertyDialogAction;
|
||||||
|
|
||||||
public class TargetSelector extends CSelector {
|
public class TargetSelector extends CSelector {
|
||||||
|
|
||||||
|
@ -94,13 +100,37 @@ public class TargetSelector extends CSelector {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEditable(Object element) {
|
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
|
@Override
|
||||||
public void handleEdit(Object element) {
|
public void handleEdit(Object element) {
|
||||||
// TODO
|
// opens property dialog on a selected target
|
||||||
|
new PropertyDialogAction(new SameShellProvider(getShell()), getSelectionProvider()).run();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -138,6 +168,7 @@ public class TargetSelector extends CSelector {
|
||||||
createLabel.setBackground(backgroundColor);
|
createLabel.setBackground(backgroundColor);
|
||||||
|
|
||||||
MouseListener mouseListener = new MouseAdapter() {
|
MouseListener mouseListener = new MouseAdapter() {
|
||||||
|
@Override
|
||||||
public void mouseUp(org.eclipse.swt.events.MouseEvent event) {
|
public void mouseUp(org.eclipse.swt.events.MouseEvent event) {
|
||||||
try {
|
try {
|
||||||
ICommandService commandService = PlatformUI.getWorkbench().getService(ICommandService.class);
|
ICommandService commandService = PlatformUI.getWorkbench().getService(ICommandService.class);
|
||||||
|
|
Loading…
Add table
Reference in a new issue