use of org.pentaho.xul.swt.tab.TabSet in project pentaho-kettle by pentaho.
the class SpoonTabsDelegate method getActiveMeta.
public EngineMetaInterface getActiveMeta() {
TabSet tabfolder = spoon.tabfolder;
if (tabfolder == null) {
return null;
}
TabItem tabItem = tabfolder.getSelected();
if (tabItem == null) {
return null;
}
// What transformation is in the active tab?
// TransLog, TransGraph & TransHist contain the same transformation
//
TabMapEntry mapEntry = getTab(tabfolder.getSelected());
EngineMetaInterface meta = null;
if (mapEntry != null) {
if (mapEntry.getObject() instanceof TransGraph) {
meta = (mapEntry.getObject()).getMeta();
}
if (mapEntry.getObject() instanceof JobGraph) {
meta = (mapEntry.getObject()).getMeta();
}
}
return meta;
}
use of org.pentaho.xul.swt.tab.TabSet in project pentaho-kettle by pentaho.
the class BaseStreamingDialog method createSubtrans.
private void createSubtrans(TransMeta newTransMeta) {
// remember current tab
TabItem tabItem = spoonInstance.getTabSet().getSelected();
newTransMeta.setMetaStore(spoonInstance.getMetaStore());
try {
SharedObjects sharedObjects = newTransMeta.readSharedObjects();
newTransMeta.setSharedObjects(sharedObjects);
newTransMeta.importFromMetaStore();
newTransMeta.clearChanged();
} catch (Exception e) {
log.logError("Failed to retrieve shared objects", e);
}
spoonInstance.delegates.tabs.makeTabName(newTransMeta, false);
spoonInstance.addTransGraph(newTransMeta);
spoonInstance.applyVariables();
if (spoonInstance.setDesignMode()) {
// No refresh done yet, do so
spoonInstance.refreshTree();
}
spoonInstance.loadPerspective(MainSpoonPerspective.ID);
try {
ExtensionPointHandler.callExtensionPoint(log, KettleExtensionPoint.TransformationCreateNew.id, newTransMeta);
} catch (KettleException e) {
log.logError("Failed to call extension point", e);
}
// go back to inital tab
TabSet ts = spoonInstance.getTabSet();
ts.setSelected(tabItem);
}
use of org.pentaho.xul.swt.tab.TabSet in project pentaho-kettle by pentaho.
the class Spoon method addTabs.
private void addTabs() {
if (tabComp != null) {
tabComp.dispose();
}
tabComp = new Composite(sashform, SWT.BORDER);
props.setLook(tabComp);
tabComp.setLayout(new FillLayout());
tabfolder = new TabSet(tabComp);
tabfolder.setChangedFont(GUIResource.getInstance().getFontBold());
final CTabFolder cTabFolder = tabfolder.getSwtTabset();
props.setLook(cTabFolder, Props.WIDGET_STYLE_TAB);
cTabFolder.addMenuDetectListener(new MenuDetectListener() {
@Override
public void menuDetected(MenuDetectEvent event) {
org.eclipse.swt.graphics.Point real = new org.eclipse.swt.graphics.Point(event.x, event.y);
org.eclipse.swt.graphics.Point point = display.map(null, cTabFolder, real);
final CTabItem item = cTabFolder.getItem(point);
if (item != null) {
Menu menu = new Menu(cTabFolder);
MenuItem closeItem = new MenuItem(menu, SWT.NONE);
closeItem.setText(BaseMessages.getString(PKG, "Spoon.Tab.Close"));
closeItem.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
int index = tabfolder.getSwtTabset().indexOf(item);
if (index >= 0) {
TabMapEntry entry = delegates.tabs.getTabs().get(index);
tabClose(entry.getTabItem());
}
}
});
MenuItem closeAllItems = new MenuItem(menu, SWT.NONE);
closeAllItems.setText(BaseMessages.getString(PKG, "Spoon.Tab.CloseAll"));
closeAllItems.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
for (TabMapEntry entry : delegates.tabs.getTabs()) {
tabClose(entry.getTabItem());
}
}
});
MenuItem closeOtherItems = new MenuItem(menu, SWT.NONE);
closeOtherItems.setText(BaseMessages.getString(PKG, "Spoon.Tab.CloseOthers"));
closeOtherItems.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
int index = tabfolder.getSwtTabset().indexOf(item);
if (index >= 0) {
TabMapEntry entry = delegates.tabs.getTabs().get(index);
for (TabMapEntry closeEntry : delegates.tabs.getTabs()) {
if (!closeEntry.equals(entry)) {
tabClose(closeEntry.getTabItem());
}
}
}
}
});
menu.setLocation(real);
menu.setVisible(true);
}
}
});
int[] weights = props.getSashWeights();
sashform.setWeights(weights);
sashform.setVisible(true);
// Set a minimum width on the sash so that the view and design buttons
// on the left panel are always visible.
//
Control[] comps = sashform.getChildren();
for (Control comp : comps) {
if (comp instanceof Sash) {
int limit = 10;
final int SASH_LIMIT = Const.isOSX() ? 150 : limit;
final Sash sash = (Sash) comp;
sash.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
Rectangle rect = sash.getParent().getClientArea();
event.x = Math.min(Math.max(event.x, SASH_LIMIT), rect.width - SASH_LIMIT);
if (event.detail != SWT.DRAG) {
sash.setBounds(event.x, event.y, event.width, event.height);
sashform.layout();
}
}
});
}
}
// methods: tabDeselected, tabClose,
tabfolder.addListener(this);
// tabSelected
}
use of org.pentaho.xul.swt.tab.TabSet in project pentaho-kettle by pentaho.
the class ExpandedContentManagerTest method setupExpandedContentMocks.
private Composite setupExpandedContentMocks(TransGraph transGraph, Browser browser, SashForm sashForm) {
Spoon spoon = mock(Spoon.class);
Composite parent = mock(Composite.class);
TabSet tabSet = mock(TabSet.class);
TabItem tabItem = mock(TabItem.class);
ExpandedContentManager.spoonSupplier = () -> spoon;
when(spoon.getDesignParent()).thenReturn(sashForm);
when(spoon.getTabSet()).thenReturn(tabSet);
when(tabSet.getSelected()).thenReturn(tabItem);
when(tabItem.getSashWeights()).thenReturn(new int[] { 3, 2, 1 });
when(transGraph.getChildren()).thenReturn(new Control[] { browser });
when(browser.getParent()).thenReturn(parent);
return parent;
}
use of org.pentaho.xul.swt.tab.TabSet in project pentaho-kettle by pentaho.
the class SpoonSlaveDelegate method addSpoonSlave.
public void addSpoonSlave(SlaveServer slaveServer) {
TabSet tabfolder = spoon.tabfolder;
// See if there is a SpoonSlave for this slaveServer...
String tabName = spoon.delegates.tabs.makeSlaveTabName(slaveServer);
TabMapEntry tabMapEntry = spoon.delegates.tabs.findTabMapEntry(tabName, ObjectType.SLAVE_SERVER);
if (tabMapEntry == null) {
SpoonSlave spoonSlave = new SpoonSlave(tabfolder.getSwtTabset(), SWT.NONE, spoon, slaveServer);
PropsUI props = PropsUI.getInstance();
TabItem tabItem = new TabItem(tabfolder, tabName, tabName, props.getSashWeights());
tabItem.setToolTipText("Status of slave server : " + slaveServer.getName() + " : " + slaveServer.getServerAndPort());
tabItem.setControl(spoonSlave);
tabMapEntry = new TabMapEntry(tabItem, null, tabName, null, null, spoonSlave, ObjectType.SLAVE_SERVER);
spoon.delegates.tabs.addTab(tabMapEntry);
}
int idx = tabfolder.indexOf(tabMapEntry.getTabItem());
tabfolder.setSelected(idx);
}
Aggregations