package com.kartoflane.superluminal2.ui;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
public class BrowseMenu extends Menu implements SelectionListener, Listener {
private final MenuItem mntmSystem;
private final MenuItem mntmDatabase;
public BrowseMenu(Control parent) {
super(parent);
mntmSystem = new MenuItem(this, SWT.NONE);
mntmSystem.setText("System");
mntmDatabase = new MenuItem(this, SWT.NONE);
mntmDatabase.setText("Database");
}
public void addTo(Control c) {
c.addListener(SWT.Selection, this);
}
public void removeFrom(Control c) {
c.removeListener(SWT.Selection, this);
}
@Override
protected void checkSubclass() {
}
public MenuItem getSystemItem() {
return mntmSystem;
}
public MenuItem getDataItem() {
return mntmDatabase;
}
public void addSystemListener(SelectionListener listener) {
mntmSystem.addSelectionListener(listener);
}
public void removeSystemListener(SelectionListener listener) {
mntmSystem.removeSelectionListener(listener);
}
public void addDataListener(SelectionListener listener) {
mntmDatabase.addSelectionListener(listener);
}
public void removeDataListener(SelectionListener listener) {
mntmDatabase.removeSelectionListener(listener);
}
public void handleEvent(Event e) {
if (e.type == SWT.Selection) {
widgetSelected(new SelectionEvent(e));
}
}
public void widgetSelected(SelectionEvent e) {
if (e.getSource() instanceof Control == true) {
Control c = (Control) e.getSource();
setLocation(c.toDisplay(0, c.getSize().y));
setVisible(true);
}
}
public void widgetDefaultSelected(SelectionEvent e) {
}
}