Project

General

Profile

Actions

feature request #7873

closed

Implement copy&paste for feature nodes in feature tree editor

Added by Patrick Plitzner over 5 years ago. Updated about 5 years ago.

Status:
Closed
Priority:
New
Assignee:
Patrick Plitzner
Category:
taxeditor
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
normal
Tags:

Related issues

Related to EDIT - bug #7990: Moving a feature via d&d does not make the Feature Tree Editor dirtyClosedKatja Luther

Actions
Actions #1

Updated by Patrick Plitzner over 5 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 50
Actions #2

Updated by Patrick Plitzner over 5 years ago

  • Assignee changed from Patrick Plitzner to Andreas Müller
Actions #3

Updated by Andreas Müller over 5 years ago

  • Status changed from Resolved to Feedback
  • Assignee changed from Andreas Müller to Patrick Plitzner

Moving a feature via d&d does not make the Feature Tree Editor dirty. This is critical.

Actions #4

Updated by Andreas Müller over 5 years ago

Trying to drag a feature to become a child of a sibbling feature threw "Widget is disposed" exception.
The feature tree had 2 features I tried to make second feature the child of the first feature.

login : admin
editor version : 5.5.0.201901141348
server : test.e-taxonomy.eu (edit-test) / rem_conf_am
schema version : 5.0.0.0.20180514
os : Windows Server 2012 R2 6.3 amd64
java : 1.8.0_121
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
    at org.eclipse.swt.SWT.error(SWT.java:4533)
    at org.eclipse.swt.SWT.error(SWT.java:4448)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211)
    at org.eclipse.swt.widgets.Display.messageProc(Display.java:3192)
    at org.eclipse.swt.internal.ole.win32.COM.DoDragDrop(Native Method)
    at org.eclipse.swt.dnd.DragSource.drag(DragSource.java:378)
    at org.eclipse.swt.dnd.DragSource.access$0(DragSource.java:304)
    at org.eclipse.swt.dnd.DragSource$1.handleEvent(DragSource.java:173)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4418)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4236)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3824)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at eu.etaxonomy.taxeditor.Application.start(Application.java:24)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
    at org.eclipse.swt.SWT.error(SWT.java:4533)
    at org.eclipse.swt.SWT.error(SWT.java:4448)
    at org.eclipse.swt.SWT.error(SWT.java:4419)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:482)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:354)
    at org.eclipse.swt.widgets.Composite.getChildren(Composite.java:489)
    at eu.etaxonomy.taxeditor.ui.element.AbstractFormSection.getControls(AbstractFormSection.java:489)
    at eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.destroyElement(CdmFormFactory.java:556)
    at eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.destroyElement(CdmFormFactory.java:553)
    at eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.destroyElement(CdmFormFactory.java:553)
    at eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.destroyElement(CdmFormFactory.java:553)
    at eu.etaxonomy.taxeditor.view.e4.AbstractCdmDataViewerE4.destroySections(AbstractCdmDataViewerE4.java:198)
    at eu.etaxonomy.taxeditor.view.e4.details.DetailsViewerE4.showParts(DetailsViewerE4.java:229)
    at eu.etaxonomy.taxeditor.view.e4.AbstractCdmDataViewerE4.refresh(AbstractCdmDataViewerE4.java:161)
    at eu.etaxonomy.taxeditor.view.e4.AbstractCdmDataViewerE4.setInput(AbstractCdmDataViewerE4.java:145)
    at eu.etaxonomy.taxeditor.view.e4.details.DetailsViewerE4.setInput(DetailsViewerE4.java:193)
    at eu.etaxonomy.taxeditor.view.e4.details.DetailsViewerE4.setInput(DetailsViewerE4.java:160)
    at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4.showViewer(AbstractCdmEditorPartE4.java:238)
    at eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4.selectionChanged_internal(DetailsPartE4.java:105)
    at eu.etaxonomy.taxeditor.view.e4.AbstractCdmEditorPartE4$DelaySelection.run(AbstractCdmEditorPartE4.java:88)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
    ... 32 more
Actions #5

Updated by Andreas Müller over 5 years ago

Looks like this is not d&d specific. I get the problem very often when simply clicking on features or trees in the feature tree editor.

Actions #6

Updated by Andreas Müller over 5 years ago

Paste is missing for trees (works for feature nodes)

Actions #7

Updated by Andreas Müller over 5 years ago

Andreas Müller wrote:

Looks like this is not d&d specific. I get the problem very often when simply clicking on features or trees in the feature tree editor.

After TaxEditor restart this did not occur anymore

Actions #8

Updated by Andreas Müller over 5 years ago

Maybe we can implement copy&paste also with short cuts and for "Edit" main menu items.

Actions #9

Updated by Andreas Müller over 5 years ago

  • Related to bug #7990: Moving a feature via d&d does not make the Feature Tree Editor dirty added
Actions #10

Updated by Andreas Müller over 5 years ago

Andreas Müller wrote:

Moving a feature via d&d does not make the Feature Tree Editor dirty. This is critical.

Created a new ticket for this: #7990

Actions #11

Updated by Patrick Plitzner about 5 years ago

  • Status changed from Feedback to Resolved
  • Assignee changed from Patrick Plitzner to Andreas Müller
  • % Done changed from 50 to 70
Actions #12

Updated by Patrick Plitzner about 5 years ago

Andreas Müller wrote:

Maybe we can implement copy&paste also with short cuts and for "Edit" main menu items.

As this should be done in a general solution for all views I created a new ticket for that -> #8002

Actions #13

Updated by Andreas Müller about 5 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 70 to 100

Works as expected. Once feature trees have a flag allowDuplicates (#7372) copy and paste within the feature tree should only be allowed if the flag is true.

Actions #14

Updated by Andreas Müller about 5 years ago

  • Assignee changed from Andreas Müller to Patrick Plitzner
Actions

Also available in: Atom PDF