use of org.eclipse.gef.commands.Command in project tdi-studio-se by Talend.
the class JSONFileMetadataEmfToolbarEditor method createRemovePushButton.
@Override
protected RemovePushButton createRemovePushButton() {
return new RemovePushButtonForExtendedTable(toolbar, extendedTableViewer) {
@Override
protected void beforeCommandExecution() {
List beanList = this.getExtendedTableViewer().getExtendedTableModel().getBeansList();
for (int index : this.getExtendedTableViewer().getTable().getSelectionIndices()) {
MetadataColumn column = (MetadataColumn) beanList.get(index);
needUpdateInRelationMap.add(column);
}
}
@Override
protected void afterCommandExecution(Command executedCommand) {
linker.getBackgroundRefresher().refreshBackground();
}
};
}
use of org.eclipse.gef.commands.Command in project tdi-studio-se by Talend.
the class ConnLabelEditPart method createEditPolicies.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
*/
@Override
public void createEditPolicies() {
installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ConnTextMovePolicy());
installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ConnTextEditPolicy());
installEditPolicy(EditPolicy.COMPONENT_ROLE, new ConnectionEditPolicy() {
@Override
protected Command getDeleteCommand(GroupRequest request) {
if (((Connection) getHost().getParent().getModel()).isReadOnly()) {
return null;
}
List<Connection> connectionList = new ArrayList<Connection>();
for (int i = 0; i < request.getEditParts().size(); i++) {
if (request.getEditParts().get(i) instanceof ConnLabelEditPart) {
connectionList.add(((ConnectionLabel) ((ConnLabelEditPart) request.getEditParts().get(i)).getModel()).getConnection());
}
}
return new ConnectionDeleteCommand(connectionList);
}
});
}
use of org.eclipse.gef.commands.Command in project tdi-studio-se by Talend.
the class ConnectionPart method createEditPolicies.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
*/
@Override
protected void createEditPolicies() {
// Selection handle edit policy.
// Makes the connection show a feedback, when selected by the user.
installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
// Allows the removal of the connection model element
installEditPolicy(EditPolicy.CONNECTION_ROLE, new ConnectionEditPolicy() {
@Override
protected Command getDeleteCommand(GroupRequest request) {
if (((Connection) getModel()).isReadOnly()) {
return null;
}
List<Connection> connectionList = new ArrayList<Connection>();
for (int i = 0; i < request.getEditParts().size(); i++) {
if (request.getEditParts().get(i) instanceof ConnectionPart) {
connectionList.add(((Connection) ((ConnectionPart) request.getEditParts().get(i)).getModel()));
}
}
return new ConnectionDeleteCommand(connectionList);
}
});
}
use of org.eclipse.gef.commands.Command in project tdi-studio-se by Talend.
the class AbstractElementPropertySectionController method addDragAndDropTarget.
/**
* Accept Text and StyledText control.
*
* @param labelText
*/
public void addDragAndDropTarget(final Control textControl) {
DropTargetListener dropTargetListener = new DropTargetListener() {
String propertyName = null;
@Override
public void dragEnter(final DropTargetEvent event) {
}
@Override
public void dragLeave(final DropTargetEvent event) {
}
@Override
public void dragOperationChanged(final DropTargetEvent event) {
}
@Override
public void dragOver(final DropTargetEvent event) {
if (TextTransfer.getInstance().isSupportedType(event.currentDataType)) {
propertyName = getParameterName(textControl);
for (int i = 0; i < elem.getElementParameters().size(); i++) {
IElementParameter param = elem.getElementParameters().get(i);
if (param.getName().equals(propertyName)) {
if (param.isReadOnly()) {
event.detail = DND.ERROR_INVALID_DATA;
}
}
}
}
}
@Override
public void drop(final DropTargetEvent event) {
if (propertyName != null) {
String text;
if (textControl instanceof StyledText) {
text = ((StyledText) textControl).getText() + (String) event.data;
((StyledText) textControl).setText(text);
} else {
text = ((Text) textControl).getText() + (String) event.data;
((Text) textControl).setText(text);
}
Command cmd = new PropertyChangeCommand(elem, propertyName, text);
// getCommandStack().execute(cmd);
executeCommand(cmd);
}
}
@Override
public void dropAccept(final DropTargetEvent event) {
}
};
DropTarget target = new DropTarget(textControl, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_DEFAULT);
Transfer[] transfers = new Transfer[] { TextTransfer.getInstance() };
target.setTransfer(transfers);
target.addDropListener(dropTargetListener);
}
use of org.eclipse.gef.commands.Command in project tdi-studio-se by Talend.
the class UIManager method closeMapper.
/**
* DOC amaumont Comment method "closeMapperDialog".
*
* @param ok
*/
public void closeMapper(int response) {
boolean save = true;
for (DataMapTableView dataMapTableView : getInputsTablesView()) {
dataMapTableView.notifyFocusLost();
}
for (DataMapTableView dataMapTableView : getOutputsTablesView()) {
dataMapTableView.notifyFocusLost();
}
for (DataMapTableView dataMapTableView : getVarsTablesView()) {
dataMapTableView.notifyFocusLost();
}
if ((response == SWT.OK || response == SWT.APPLICATION_MODAL) && mapperManager.getProblemsManager().checkProblemsForAllEntriesOfAllTables(false)) {
save = MessageDialog.openConfirm(getMapperContainer().getShell(), //$NON-NLS-1$
Messages.getString("UIManager.SaveDespiteErrors.Title"), //$NON-NLS-1$
Messages.getString("UIManager.SaveDespiteErrors.Message"));
}
if (save) {
Composite parent = mapperUI.getMapperUIParent();
prepareClosing(response);
if (parent instanceof Shell) {
if (response == SWT.OK || response == SWT.CANCEL) {
((Shell) parent).close();
} else {
IExternalNode externalNode = mapperManager.getAbstractMapComponent().getExternalNode();
IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
if (externalNode != null && (part instanceof AbstractMultiPageTalendEditor)) {
INode node = externalNode.getOriginalNode();
if (node != null && node instanceof Node) {
Command cmd = new ExternalNodeChangeCommand((Node) node, externalNode);
CommandStack cmdStack = (CommandStack) part.getAdapter(CommandStack.class);
cmdStack.execute(cmd);
}
}
}
}
}
}
Aggregations