/** @generated */ protected DirectEditManager getManager() { if (manager == null) { setManager( new TextDirectEditManager(this, null, UMLEditPartFactory.getTextCellEditorLocator(this))); } return manager; }
/** @generated */ protected DirectEditManager getManager() { if (manager == null) { setManager( new MultilineLabelDirectEditManager( this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this))); } return manager; }
/** @generated */ protected void performDirectEditRequest(Request request) { final Request theRequest = request; if (IDirectEdition.UNDEFINED_DIRECT_EDITOR == directEditionMode) { directEditionMode = getDirectEditionType(); } switch (directEditionMode) { case IDirectEdition.NO_DIRECT_EDITION: // no direct edition mode => does nothing return; case IDirectEdition.EXTENDED_DIRECT_EDITOR: updateExtendedEditorConfiguration(); if (configuration == null || configuration.getLanguage() == null) { // Create default edit manager setManager( new MultilineLabelDirectEditManager( this, MultilineLabelDirectEditManager.getTextCellEditorClass(this), UMLEditPartFactory.getTextCellEditorLocator(this))); performDefaultDirectEditorEdit(theRequest); } else { configuration.preEditAction(resolveSemanticElement()); Dialog dialog = null; if (configuration instanceof ICustomDirectEditorConfiguration) { setManager( ((ICustomDirectEditorConfiguration) configuration).createDirectEditManager(this)); initializeDirectEditManager(theRequest); return; } else if (configuration instanceof IPopupEditorConfiguration) { IPopupEditorHelper helper = ((IPopupEditorConfiguration) configuration).createPopupEditorHelper(this); helper.showEditor(); return; } else if (configuration instanceof IAdvancedEditorConfiguration) { dialog = ((IAdvancedEditorConfiguration) configuration) .createDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement())); } else if (configuration instanceof IDirectEditorConfiguration) { dialog = new ExtendedDirectEditionDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), ((IDirectEditorConfiguration) configuration) .getTextToEdit(resolveSemanticElement()), (IDirectEditorConfiguration) configuration); } else { return; } final Dialog finalDialog = dialog; if (Window.OK == dialog.open()) { TransactionalEditingDomain domain = getEditingDomain(); RecordingCommand command = new RecordingCommand(domain, "Edit Label") { @Override protected void doExecute() { configuration.postEditAction( resolveSemanticElement(), ((ILabelEditorDialog) finalDialog).getValue()); } }; domain.getCommandStack().execute(command); } } break; case IDirectEdition.DEFAULT_DIRECT_EDITOR: initializeDirectEditManager(theRequest); break; default: break; } }