Search in sources :

Example 16 with DataMapTableView

use of org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView in project tdi-studio-se by Talend.

the class MapperManager method addOutput.

/**
     * DOC amaumont Comment method "addOutput".
     */
public void addOutput() {
    String tableName = uiManager.openNewOutputCreationDialog();
    if (tableName == null) {
        return;
    }
    IProcess process = mapperComponent.getProcess();
    //$NON-NLS-1$
    String uniqueName = process.generateUniqueConnectionName("table");
    process.addUniqueConnectionName(uniqueName);
    MetadataTable metadataTable = new MetadataTable();
    metadataTable.setTableName(uniqueName);
    // metadataTable.setId(uniqueName);
    metadataTable.setLabel(tableName);
    List<DataMapTableView> outputsTablesView = getUiManager().getOutputsTablesView();
    int sizeOutputsView = outputsTablesView.size();
    Control lastChild = null;
    if (sizeOutputsView - 1 >= 0) {
        lastChild = outputsTablesView.get(sizeOutputsView - 1);
    }
    IDataMapTable abstractDataMapTable = new OutputTable(this, metadataTable, uniqueName, tableName);
    TablesZoneView tablesZoneViewOutputs = uiManager.getTablesZoneViewOutputs();
    DataMapTableView dataMapTableView = uiManager.createNewOutputTableView(lastChild, abstractDataMapTable, tablesZoneViewOutputs);
    tablesZoneViewOutputs.setSize(tablesZoneViewOutputs.computeSize(SWT.DEFAULT, SWT.DEFAULT));
    tablesZoneViewOutputs.layout();
    uiManager.moveOutputScrollBarZoneToMax();
    uiManager.refreshBackground(true, false);
    tablesZoneViewOutputs.layout();
    uiManager.selectDataMapTableView(dataMapTableView, true, false);
}
Also used : Control(org.eclipse.swt.widgets.Control) IMetadataTable(org.talend.core.model.metadata.IMetadataTable) MetadataTable(org.talend.core.model.metadata.MetadataTable) IDataMapTable(org.talend.designer.abstractmap.model.table.IDataMapTable) InputDataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.InputDataMapTableView) OutputDataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.OutputDataMapTableView) DataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView) TablesZoneView(org.talend.designer.dbmap.ui.visualmap.zone.scrollable.TablesZoneView) IProcess(org.talend.core.model.process.IProcess) OutputTable(org.talend.designer.dbmap.model.table.OutputTable)

Example 17 with DataMapTableView

use of org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView in project tdi-studio-se by Talend.

the class MapperManager method changeEntryExpression.

/**
     * DOC amaumont Comment method "changeEntryExpression".
     * 
     * @param currentEntry
     * @param text
     */
public void changeEntryExpression(ITableEntry currentEntry, String text) {
    currentEntry.setExpression(text);
    getProblemsManager().checkProblemsForTableEntry(currentEntry, true);
    DataMapTableView dataMapTableView = retrieveDataMapTableView(currentEntry);
    TableViewer tableViewer = null;
    if (currentEntry instanceof IColumnEntry) {
        tableViewer = dataMapTableView.getTableViewerCreatorForColumns().getTableViewer();
    } else if (currentEntry instanceof FilterTableEntry) {
        if (FilterTableEntry.OTHER_FILTER.equals(((FilterTableEntry) currentEntry).getFilterKind())) {
            tableViewer = dataMapTableView.getTableViewerCreatorForOtherFilters().getTableViewer();
        } else {
            tableViewer = dataMapTableView.getTableViewerCreatorForWhereFilters().getTableViewer();
        }
    }
    if (currentEntry.getProblems() != null) {
        tableViewer.getTable().deselectAll();
    }
    tableViewer.refresh(currentEntry);
    uiManager.parseNewExpression(text, currentEntry, false);
    uiManager.refreshSqlExpression();
}
Also used : FilterTableEntry(org.talend.designer.dbmap.model.tableentry.FilterTableEntry) InputDataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.InputDataMapTableView) OutputDataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.OutputDataMapTableView) DataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView) IColumnEntry(org.talend.designer.abstractmap.model.tableentry.IColumnEntry) TableViewer(org.eclipse.jface.viewers.TableViewer)

Example 18 with DataMapTableView

use of org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView in project tdi-studio-se by Talend.

the class ProblemsManager method checkProblemsForAllEntriesOfAllTables.

/**
     * DOC amaumont Comment method "checkProblemsForAllEntries".
     * 
     * @param forceRefreshData TODO
     */
public void checkProblemsForAllEntriesOfAllTables(boolean forceRefreshData) {
    List<DataMapTableView> tablesView = mapperManager.getUiManager().getInputsTablesView();
    tablesView.addAll(mapperManager.getUiManager().getVarsTablesView());
    tablesView.addAll(mapperManager.getUiManager().getOutputsTablesView());
    if (forceRefreshData) {
        mapperManager.getComponent().restoreMapperModelFromInternalData();
        checkProblems();
    }
    for (DataMapTableView view : tablesView) {
        checkProblemsForAllEntries(view, false);
    }
}
Also used : DataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView)

Example 19 with DataMapTableView

use of org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView in project tdi-studio-se by Talend.

the class SearchZoneMapper method moveScrollBarZoneAtSelectedTableItem.

public void moveScrollBarZoneAtSelectedTableItem(ITableEntry entry) {
    if (entry != null) {
        DataMapTableView dataMapTableView = mapperManager.retrieveIDataMapTableView(entry.getParent());
        Rectangle tableViewBounds = dataMapTableView.getBounds();
        IDataMapTable table = entry.getParent();
        TableItem tableItem = mapperManager.retrieveTableItem(entry);
        if (table != null && tableItem != null) {
            Rectangle tableItemBounds = tableItem.getBounds();
            int selection = tableViewBounds.y + tableItemBounds.y;
            ScrolledComposite scrollComposite = null;
            if (table instanceof InputTable) {
                scrollComposite = uiManager.getScrolledCompositeViewInputs();
            } else if (table instanceof OutputTable) {
                scrollComposite = uiManager.getScrolledCompositeViewOutputs();
            }
            if (scrollComposite != null) {
                setPositionOfVerticalScrollBarZone(scrollComposite, selection);
            }
        }
    }
}
Also used : InputTable(org.talend.designer.dbmap.model.table.InputTable) TableItem(org.eclipse.swt.widgets.TableItem) Rectangle(org.eclipse.swt.graphics.Rectangle) IDataMapTable(org.talend.designer.abstractmap.model.table.IDataMapTable) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) DataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView) OutputTable(org.talend.designer.dbmap.model.table.OutputTable)

Example 20 with DataMapTableView

use of org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView in project tdi-studio-se by Talend.

the class UIManager method removeOutputTableView.

/**
     * Call mapperManager.removeSelectedOutput() to remove a table view.
     * 
     * @param dataMapTableViewToRemove
     */
public void removeOutputTableView(OutputDataMapTableView dataMapTableViewToRemove) {
    List<DataMapTableView> outputsTablesView = getOutputsTablesView();
    int sizeList = outputsTablesView.size();
    for (int i = 0; i < sizeList; i++) {
        Control control = outputsTablesView.get(i);
        if (control == dataMapTableViewToRemove && i < sizeList - 1 && i > 0) {
            FormData formData = (FormData) outputsTablesView.get(i + 1).getLayoutData();
            formData.top = new FormAttachment(outputsTablesView.get(i - 1));
            break;
        }
    }
    mapperManager.removeTablePair(dataMapTableViewToRemove);
    MetadataTableEditorView outputMetaEditorView = getOutputMetaEditorView();
    OutputTable outputTable = (OutputTable) dataMapTableViewToRemove.getDataMapTable();
    if (outputMetaEditorView.getMetadataTableEditor().getMetadataTable() == outputTable.getMetadataTable()) {
        getOutputMetaEditorView().setMetadataTableEditor(null);
    }
    dataMapTableViewToRemove.dispose();
    dataMapTableViewToRemove = null;
    getTablesZoneViewOutputs().layout();
    refreshBackground(true, false);
    setCurrentSelectedOutputTableView(null);
}
Also used : FormData(org.eclipse.swt.layout.FormData) Control(org.eclipse.swt.widgets.Control) InputDataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.InputDataMapTableView) OutputDataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.OutputDataMapTableView) DataMapTableView(org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView) MetadataTableEditorView(org.talend.core.ui.metadata.editor.MetadataTableEditorView) AbstractMetadataTableEditorView(org.talend.core.ui.metadata.editor.AbstractMetadataTableEditorView) Point(org.eclipse.swt.graphics.Point) FormAttachment(org.eclipse.swt.layout.FormAttachment) OutputTable(org.talend.designer.dbmap.model.table.OutputTable)

Aggregations

DataMapTableView (org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView)35 InputDataMapTableView (org.talend.designer.dbmap.ui.visualmap.table.InputDataMapTableView)24 OutputDataMapTableView (org.talend.designer.dbmap.ui.visualmap.table.OutputDataMapTableView)24 Point (org.eclipse.swt.graphics.Point)12 IColumnEntry (org.talend.designer.abstractmap.model.tableentry.IColumnEntry)7 ITableEntry (org.talend.designer.abstractmap.model.tableentry.ITableEntry)7 OutputTable (org.talend.designer.dbmap.model.table.OutputTable)7 InputTable (org.talend.designer.dbmap.model.table.InputTable)6 FormData (org.eclipse.swt.layout.FormData)5 MetadataTableEditorView (org.talend.core.ui.metadata.editor.MetadataTableEditorView)5 IDataMapTable (org.talend.designer.abstractmap.model.table.IDataMapTable)5 UIManager (org.talend.designer.dbmap.managers.UIManager)5 FilterTableEntry (org.talend.designer.dbmap.model.tableentry.FilterTableEntry)5 TableEntryLocation (org.talend.designer.dbmap.model.tableentry.TableEntryLocation)5 TablesZoneView (org.talend.designer.dbmap.ui.visualmap.zone.scrollable.TablesZoneView)5 ArrayList (java.util.ArrayList)4 Control (org.eclipse.swt.widgets.Control)4 TableViewerCreator (org.talend.commons.ui.swt.tableviewer.TableViewerCreator)4 IMetadataTable (org.talend.core.model.metadata.IMetadataTable)4 AbstractMetadataTableEditorView (org.talend.core.ui.metadata.editor.AbstractMetadataTableEditorView)4