use of org.eclipse.swt.custom.CTabItem in project tdi-studio-se by Talend.
the class SQLBuilderTabComposite method createTabItem.
/**
* Creates tab item. Changed by Marvin Wang on Feb. 24, 2012 for bug TDI-7643, for all SQLBuilderEditorComposite
* when using <code>editorComposite.getConnParam().getQueryObject()</code> to get the query object, the query every
* time get is the same object. Caz all <code>SQLBuilderEditorComposite</code>s use the same connection parameter.
*
* @param node
* @param connParam
* @param isDefaultEditor
*/
private void createTabItem(RepositoryNode node, ConnectionParameters connParam, boolean isDefaultEditor) {
//$NON-NLS-1$
String queryStr = "";
if (node != null) {
CTabItem[] tabItems = tabFolder.getItems();
for (int i = 0; i < tabItems.length; i++) {
SQLBuilderEditorComposite editorComposite = (SQLBuilderEditorComposite) (((CTabFolder) tabItems[i].getControl()).getItems()[0]).getControl();
// To get the different query object for each SQLBuilderEditorComposite, use the following method. The
// queryObject is stored in <code>SQLBuilderEditorComposite.doSaveSQL()</code>
Query query2 = editorComposite.getQueryObject();
if ((RepositoryNodeType) node.getProperties(EProperties.CONTENT_TYPE) == RepositoryNodeType.QUERY) {
Query query = ((QueryRepositoryObject) node.getObject()).getQuery();
if (query2 == null && tabItems[i].getData() instanceof Query) {
query2 = (Query) tabItems[i].getData();
}
if (query2 != null && query.getLabel().equals(query2.getLabel())) {
if ("".equals(editorComposite.getEditorContent())) {
//$NON-NLS-1$
editorComposite.setEditorContent(query.getValue());
}
tabFolder.setSelection(i);
return;
}
connParam.setQueryObject(query);
queryStr = query.getValue();
}
}
}
CTabItem tabItem = null;
if (connParam.isFromDBNode()) {
tabItem = new CTabItem(tabFolder, SWT.NULL);
} else {
tabItem = new CTabItem(tabFolder, SWT.CLOSE);
}
node = SQLBuilderRepositoryNodeManager.getRoot(node);
if (!"".equals(queryStr)) {
//$NON-NLS-1$
try {
nodesSel = EMFRepositoryNodeManager.getInstance().parseSqlStatement(queryStr, node);
} catch (Exception e) {
MessageDialog.openError(new Shell(), Messages.getString("SQLBuilderTabComposite.Notice.title"), //$NON-NLS-1$
Messages.getString(//$NON-NLS-1$
"SQLBuilderTabComposite.Notice.Info"));
}
}
MultiPageSqlBuilderEditor builderEditor = new MultiPageSqlBuilderEditor(nodesSel, tabItem, isDefaultEditor, connParam, node, dialog);
builderEditor.setReadOnly(readOnly);
try {
builderEditor.init(new SQLBuilderEditorSite(), new SQLBuilderEditorInput());
} catch (PartInitException e) {
ExceptionHandler.process(e);
}
builderEditor.createPartControl2(tabFolder);
tabItem.setControl(builderEditor.getContainer());
tabItem.setData(TextUtil.KEY, builderEditor);
if (connParam.isFromRepository() && connParam.getQueryObject() != null) {
queryStr = connParam.getQueryObject().getValue();
}
builderEditor.setSqlText(queryStr);
if (connParam.isShowDesignerPage()) {
builderEditor.showDesignerPage();
}
// set new tab as the active one.
tabFolder.setSelection(tabFolder.getItemCount() - 1);
// refresh view
tabFolder.layout();
tabFolder.redraw();
}
use of org.eclipse.swt.custom.CTabItem in project tdi-studio-se by Talend.
the class SQLResultComposite method createTabItem.
/**
*
* DOC dev Comment method "createTabItem".
*
* @throws Exception throw all exception
*/
private void createTabItem() throws Exception {
lastTabNumber = lastTabNumber + 1;
final CTabItem tabItem = new CTabItem(tabFolder, SWT.NULL);
String labelText = Messages.getString("SQLResultComposite.Result") + ": " + lastTabNumber;
tabItem.setText(labelText);
//$NON-NLS-1$
tabItem.setData("tabLabel", labelText);
tabItem.setToolTipText(TextUtil.getWrappedText(sqlExecution.getSqlStatement()));
Composite composite = new Composite(tabFolder, SWT.NULL);
GridLayout layout = new GridLayout();
layout.numColumns = 1;
layout.marginLeft = 0;
layout.marginTop = 0;
layout.marginBottom = 0;
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
layout.marginWidth = 0;
layout.marginHeight = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
tabItem.setControl(composite);
tabItem.setData(sqlExecution);
tabItem.addDisposeListener(new DisposeListener() {
public void widgetDisposed(final DisposeEvent e) {
BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
public void run() {
CTabItem tabItem = (CTabItem) e.getSource();
AbstractSQLExecution sqlExe = (AbstractSQLExecution) tabItem.getData();
sqlExe.stop();
tabItem.setData(null);
if (tabFolder != null && !tabFolder.isDisposed()) {
if (tabFolder.getItemCount() == 0) {
// this is last tab..
clearParent();
setDefaultMessage();
}
} else if (tabFolder.isDisposed()) {
clearParent();
setDefaultMessage();
}
}
});
}
});
createHeaderComposite(composite, tabItem);
createDetailComposite(composite, tabItem);
// refresh view
composite.layout();
tabFolder.layout();
tabFolder.redraw();
}
use of org.eclipse.swt.custom.CTabItem in project tdi-studio-se by Talend.
the class SetupProcessDependenciesRoutinesDialog method createTabFolderField.
private void createTabFolderField(Composite parent) {
// tab
folder = new CTabFolder(parent, SWT.NONE);
folder.setLayoutData(new GridData(GridData.FILL_BOTH));
folder.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
updateButtons();
}
});
userTabItem = new CTabItem(folder, SWT.NONE);
//$NON-NLS-1$
userTabItem.setText(Messages.getString("SetupProcessDependenciesRoutinesDialog.userRoutineLabel"));
systemTabItem = new CTabItem(folder, SWT.NONE);
//$NON-NLS-1$
systemTabItem.setText(Messages.getString("SetupProcessDependenciesRoutinesDialog.systemRoutineLabel"));
folder.setSelection(userTabItem);
folder.setSimple(false);
ISelectionChangedListener listListener = new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
updateButtons();
}
};
// user
Composite userComposite = new Composite(folder, SWT.NONE);
userComposite.setLayout(new GridLayout());
userComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
userViewer = new ListViewer(userComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
userViewer.setLabelProvider(new RoutineRecordLabelProvider());
userViewer.setContentProvider(ArrayContentProvider.getInstance());
userViewer.setInput(userRoutines);
userViewer.getList().setLayoutData(new GridData(GridData.FILL_BOTH));
userViewer.addSelectionChangedListener(listListener);
userTabItem.setControl(userComposite);
// system
Composite systemComposite = new Composite(folder, SWT.NONE);
systemComposite.setLayout(new GridLayout());
systemComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
systemViewer = new ListViewer(systemComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
systemViewer.setLabelProvider(new RoutineRecordLabelProvider());
systemViewer.setContentProvider(ArrayContentProvider.getInstance());
systemViewer.setInput(systemRoutines);
systemViewer.getList().setLayoutData(new GridData(GridData.FILL_BOTH));
systemViewer.addSelectionChangedListener(listListener);
systemTabItem.setControl(systemComposite);
}
use of org.eclipse.swt.custom.CTabItem in project tdi-studio-se by Talend.
the class TabFolderEditors method createSqlViewerTab.
/**
* DOC amaumont Comment method "createSqlViewerTab".
*/
private void createSqlViewerTab() {
CTabItem item;
item = new CTabItem(tabFolderEditors, SWT.BORDER);
//$NON-NLS-1$ //$NON-NLS-2$
item.setText(Messages.getString("TabFolderEditors.SqlSelectQuery", new Object[] { "" }));
styledSqlText = createStyledText(item);
styledSqlText.setWordWrap(true);
styledSqlText.setEditable(false);
styledSqlText.setEnabled(true);
}
use of org.eclipse.swt.custom.CTabItem in project tdi-studio-se by Talend.
the class TabFolderEditors method createMetadataEditorTab.
/**
* DOC amaumont Comment method "createMetadataEditor".
*/
private void createMetadataEditorTab() {
CTabItem item = new CTabItem(tabFolderEditors, SWT.BORDER);
//$NON-NLS-1$
item.setText(Messages.getString("TabFolderEditors.schemaEditor"));
SashForm inOutMetaEditorContainer = new SashForm(tabFolderEditors, SWT.SMOOTH | SWT.HORIZONTAL | SWT.SHADOW_OUT);
inOutMetaEditorContainer.setLayout(new RowLayout(SWT.HORIZONTAL));
item.setControl(inOutMetaEditorContainer);
CommandStack commandStack = mapperManager.getCommandStack();
inputMetaEditor = new MetadataTableEditorView(inOutMetaEditorContainer, SWT.BORDER);
inputMetaEditor.setCurrentDbms(dbmsId);
inputMetaEditor.setShowDbTypeColumn(true, false, true);
inputMetaEditor.setShowDbColumnName(true, false);
inputMetaEditor.setShowPatternColumn(false);
inputMetaEditor.setShowTalendTypeColumn(false);
inputMetaEditor.initGraphicComponents();
inputMetaEditor.getExtendedTableViewer().setCommandStack(commandStack);
outputMetaEditor = new MetadataTableEditorView(inOutMetaEditorContainer, SWT.BORDER);
outputMetaEditor.setCurrentDbms(dbmsId);
outputMetaEditor.setShowDbTypeColumn(true, false, true);
outputMetaEditor.setShowDbColumnName(true, false);
outputMetaEditor.setShowTalendTypeColumn(false);
outputMetaEditor.setShowPatternColumn(false);
outputMetaEditor.initGraphicComponents();
outputMetaEditor.getExtendedTableViewer().setCommandStack(commandStack);
}
Aggregations