Cut selected elements

From TaskDepender
Jump to: navigation, search
 
Line 1: Line 1:
''This page describes the possibility to cut&paste a certain number of selected elements.''
+
''This page describes the possibility to cut a certain number of selected elements to a type of internal clipboard.''
  
== Introduction ==
+
== Description ==
 +
 
 +
A functionality that can be really convenient would be if it is possible to select a number of tasks and deliverables and to cut and paste these into another container task. This page describes how cutting a number of selected elements is implemented.
  
 
== Design ==
 
== Design ==
  
To be able to cut a number of selected elements, a kind of 'clipboard' must be created. This can be easily done by  the <tt>ContainerId</tt> of the elements; if this field is set to the maximum integer number (<tt>MaxInt</tt>). This looks like as if the selected elements were moved to a 'virtual container' with this <tt>Id</tt>.
+
To be able to cut a number of selected elements to be able to [[Paste elements in the Administration|paste]] them in some other container, a kind of 'clipboard' must be created. This can be easily done by  the <tt>ContainerId</tt> of the elements; if this field is set to the maximum integer number (<tt>MaxInt</tt>). This looks like as if the selected elements were moved to a 'virtual container' with this <tt>Id</tt>.
 
However, before doing this, the old 'contents' of the clipboard must be deleted. Also, there are additional operations that need to be performed:
 
However, before doing this, the old 'contents' of the clipboard must be deleted. Also, there are additional operations that need to be performed:
 
* Deselecting any selected [[Clone|clones]] because those can not be deleted (or cut) by the user.
 
* Deselecting any selected [[Clone|clones]] because those can not be deleted (or cut) by the user.
Line 16: Line 18:
 
void Admin::Cut(void)
 
void Admin::Cut(void)
 
{
 
{
   TaskC *selectedTask;
+
   TaskC       *selectedTask;
 
   DeliverableC *selectedDeliverable;
 
   DeliverableC *selectedDeliverable;
 
   DeliverableC *deliverable;
 
   DeliverableC *deliverable;
   TaskC *task;
+
   TaskC       *task;
  
 
   // First delete old clipboard.
 
   // First delete old clipboard.
 
   DeleteElements(MaxInt);
 
   DeleteElements(MaxInt);
  
   TaskC *containerTask = Admin->TasksAdmin->FindTask(SelectedContainerTaskId);
+
   TaskC *containerTask = TasksAdmin->FindTask(SelectedContainerTaskId);
  
 
   // For all selected deliverables, remove links to non-selected tasks.
 
   // For all selected deliverables, remove links to non-selected tasks.
Line 85: Line 87:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
----
 +
* [[Paste elements in the Administration|Paste]]

Latest revision as of 08:14, 2 November 2011