Skip to content
Snippets Groups Projects
Commit d1b324d6 authored by specgui@pc-e3-qsk-15's avatar specgui@pc-e3-qsk-15
Browse files

add start trigger to tab context menu

parent 0fd90b41
No related branches found
No related tags found
No related merge requests found
......@@ -23,7 +23,7 @@ public class TabFolderMenu {
private ImageWindow imgWin;
/** Things for context-menu on tab folder headers */
private MenuItem tabMenuItemShowAsOther, tabMenuItemAbort, tabMenuItemRemove, tabMenuItemReload;
private MenuItem tabMenuItemShowAsOther, tabMenuItemStart, tabMenuItemAbort, tabMenuItemRemove, tabMenuItemReload;
private int lastTabClickX = 0, lastTabClickY = 0;
private CTabItem tabMenuSelectedTab = null;
......@@ -46,6 +46,11 @@ public class TabFolderMenu {
tabMenuItemShowAsOther.setToolTipText("Shows/opens the window in which this source/sink is a sink/source. Only applicable for 'pipes' (things that are both a source and sink)");
tabMenuItemShowAsOther.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { tabShowEvent(event); }});
tabMenuItemStart = new MenuItem(sinkMenu, SWT.CASCADE);
tabMenuItemStart.setText("Start");
tabMenuItemStart.setToolTipText("Signal start to only this module.");
tabMenuItemStart.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event event) { tabStartEvent(event); }});
tabMenuItemAbort = new MenuItem(sinkMenu, SWT.CASCADE);
tabMenuItemAbort.setText("Abort");
tabMenuItemAbort.setToolTipText("Signal abort to only this module.");
......@@ -92,6 +97,7 @@ public class TabFolderMenu {
tabMenuItemShowAsOther.setEnabled(false);
tabMenuItemShowAsOther.setText("Show other window ...");
tabMenuItemStart.setEnabled(false);
tabMenuItemAbort.setEnabled(false);
tabMenuItemRemove.setEnabled(false);
tabMenuItemReload.setEnabled(false);
......@@ -99,8 +105,12 @@ public class TabFolderMenu {
if(tabMenuSelectedTab == imgWin.getInfoTab()) {
//leav all disabled
}else if(tabMenuSelectedTab == imgWin.getSourceTab()) {
tabMenuItemAbort.setEnabled(true);
tabMenuItemReload.setEnabled(true);
if(imgWin.getConnectedSource() instanceof EventReciever) {
tabMenuItemStart.setEnabled(true);
tabMenuItemAbort.setEnabled(true);
}
if(imgWin.getConnectedSource() instanceof ImgSink) {
tabMenuItemShowAsOther.setEnabled(true);
......@@ -115,9 +125,12 @@ public class TabFolderMenu {
tabMenuItemRemove.setEnabled(true);
tabMenuItemReload.setEnabled(true);
}
if(tabMenuSelectedTab.getData() instanceof EventReciever)
if(tabMenuSelectedTab.getData() instanceof EventReciever) {
tabMenuItemStart.setEnabled(true);
tabMenuItemAbort.setEnabled(true);
}
if(tabMenuSelectedTab.getData() instanceof ImgSource) {
tabMenuItemShowAsOther.setEnabled(true);
......@@ -139,6 +152,19 @@ public class TabFolderMenu {
((ImgPipe)tabMenuSelectedTab.getData()).destroy();
}
protected void tabStartEvent(Event event) {
if(tabMenuSelectedTab == null)
return;
if(tabMenuSelectedTab == imgWin.getSourceTab() && imgWin.getConnectedSource() != null && imgWin.getConnectedSource() instanceof EventReciever) {
((EventReciever)imgWin.getConnectedSource()).event(EventReciever.Event.GlobalStart);
}else if(tabMenuSelectedTab.getData() != null && tabMenuSelectedTab.getData() instanceof EventReciever) {
((EventReciever)tabMenuSelectedTab.getData()).event(EventReciever.Event.GlobalStart);
}
}
protected void tabAbortEvent(Event event) {
if(tabMenuSelectedTab == null)
return;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment