rwlogo
Rogue Wave Views 5.5.1

Rogue Wave Views
Gantt Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

IlvGanttDragDropInteractor Class Reference

Interactor to drag and drop nodes and subnode. More...

#include <ilviews/gantt/ganttint.h>

Inheritance diagram for IlvGanttDragDropInteractor:
IlvDragDropInteractor IlvInteractor

List of all members.

Public Member Functions

 IlvGanttDragDropInteractor (IlvView *target=0, IlvGraphic *ghost=0)
 Constructor.
virtual void doIt (IlvView *target, IlvGraphic *ghost, const IlvPoint &p)
 Performs the drop action.
virtual void dropNode (const IlvGanttNode *source, IlInt *startMinArray, IlInt *startMaxArray, IlInt *endMinArray, IlInt *endMaxArray, IlvGanttLine **lines, IlUShort *capacities)
 Action method called when the user drops the dragged object.
virtual void dropSubNode (IlvGanttNode *dst, IlUShort idx, IlInt startMin, IlInt startMax, IlInt endMin, IlInt endMax, IlvGanttLine *line, IlUShort capacity)
 Action method called when the user drops the dragged object.
IlvGanttChartgetGanttChart (const IlvGraphic *obj) const
 Returns the Gantt chart managing a given object.
IlvGanttChartgetTargetGanttChart (const IlvView *targetView) const
 Returns the Gantt chart associated to a target view.
virtual IlvGanttNodemakeNode (const IlvGanttNode *source, IlInt *startMinArray, IlInt *startMaxArray, IlInt *endMinArray, IlInt *endMaxArray, IlvGanttLine **lines, IlUShort *capacities)
 Factory method to create Gantt nodes.
virtual IlvGanttSubNodemakeSubNode (IlvGanttNode *dst, IlInt startMin, IlInt startMax, IlInt endMin, IlInt endMax, IlvGanttLine *line, IlUShort capacity)
 Factory method to create Gantt subnodes.

Detailed Description

Interactor to drag and drop nodes and subnode.

Library: ilvgantt

Use the IlvGanttDragDropInteractor class to give a Gantt subnode or node the possibility of being dragged to another view, then dropped and duplicated. This interactor is attached by default to all subnodes stored in the Gantt grapher. The drag is performed on the graphic representation the Gantt subnode. You can specify that the whole node must be duplicated by keeping the CTRL key pressed when clicking on the subnode.

The registered name of this interactor is "GanttDragDrop".

See also:
IlvGanttChart, IlvGanttSubNode, IlvGanttNode.

Constructor & Destructor Documentation

IlvGanttDragDropInteractor::IlvGanttDragDropInteractor ( IlvView target = 0,
IlvGraphic ghost = 0 
)

Constructor.

The constructor specifies the target view where the object can be dropped. If a graphic object is specified for the ghost parameter, this object is used by the interactor as a ghost image during the interaction. Otherwise, the object to be drawn is the one being dragged.

Parameters:
target The target view.
ghost The graphic object used as ghost image.

Member Function Documentation

virtual void IlvGanttDragDropInteractor::doIt ( IlvView target,
IlvGraphic ghost,
const IlvPoint p 
) [virtual]

Performs the drop action.

If the Ctrl key is pressed, the IlvGanttDragDropInteractor::dropNode is called, otherwise the IlvGanttDragDropInteractor::dropSubNode is called.

Parameters:
target The target view where the mouse button is released.
ghost The graphic object being dropped.
position The coordinates of drop location in screen coordinates.

Reimplemented from IlvDragDropInteractor.

virtual void IlvGanttDragDropInteractor::dropNode ( const IlvGanttNode source,
IlInt startMinArray,
IlInt startMaxArray,
IlInt endMinArray,
IlInt endMaxArray,
IlvGanttLine **  lines,
IlUShort capacities 
) [virtual]

Action method called when the user drops the dragged object.

Makes a copy of the source Gantt node using the IlvGanttDragDropInteractor::makeNode method. The IlvGanttDragDropInteractor::makeSubNode method is also used to add a copy of each subnode of source into the new Gantt node. This new node is then added to the Gantt chart.

Parameters:
source The Gantt node associated with the dragged object.
startMinArray The new earliest start times for the subnodes copy of source.
startMaxArray The new latest start times for the subnodes copy of source.
endMinArray The new earliest end times for the subnodes copy of source.
endMaxArray The new latest end times for the subnodes copy of source.
lines The new Gantt lines for the subnodes copy of source.
capacities The capacities of the subnodes of source.
virtual void IlvGanttDragDropInteractor::dropSubNode ( IlvGanttNode dst,
IlUShort  idx,
IlInt  startMin,
IlInt  startMax,
IlInt  endMin,
IlInt  endMax,
IlvGanttLine line,
IlUShort  capacity 
) [virtual]

Action method called when the user drops the dragged object.

Makes a copy of the subnode of index idx in the node dst using the IlvGanttDragDropInteractor::makeSubNode method. The subnode copy is then stored in the dst node.

Parameters:
dst The Gantt node associated with the dragged object.
idx The index of the considered subnode in node.
startMin The earliest start time of the subnode copy.
startMax The latest start time of the subnode copy.
endMin The earliest end time of the subnode copy.
endMax The latest end time of the subnode copy.
line The Gantt line with which the subnode copy must be associated.
capacity The capacity of the subnode copy.
IlvGanttChart* IlvGanttDragDropInteractor::getGanttChart ( const IlvGraphic obj  )  const

Returns the Gantt chart managing a given object.

Parameters:
obj The considered graphic object.
Returns:
The Gantt chart managing the object obj.
IlvGanttChart* IlvGanttDragDropInteractor::getTargetGanttChart ( const IlvView targetView  )  const

Returns the Gantt chart associated to a target view.

Parameters:
targetView The target view.
Returns:
The Gantt chart to which targetView is attached.
virtual IlvGanttNode* IlvGanttDragDropInteractor::makeNode ( const IlvGanttNode source,
IlInt startMinArray,
IlInt startMaxArray,
IlInt endMinArray,
IlInt endMaxArray,
IlvGanttLine **  lines,
IlUShort capacities 
) [virtual]

Factory method to create Gantt nodes.

Is designed to be overloaded when linking the Gantt with a scheduling program. The default implementation returns an empty Gantt node.

Parameters:
source The Gantt node associated with the dragged object.
startMinArray The new earliest start times for the subnodes copy of source.
startMaxArray The new latest start times for the subnodes copy of source.
endMinArray The new earliest end times for the subnodes copy of source.
endMaxArray The new latest end times for the subnodes copy of source.
lines The new Gantt lines for the subnodes copy of source.
capacities The capacities of the subnodes of source.
virtual IlvGanttSubNode* IlvGanttDragDropInteractor::makeSubNode ( IlvGanttNode dst,
IlInt  startMin,
IlInt  startMax,
IlInt  endMin,
IlInt  endMax,
IlvGanttLine line,
IlUShort  capacity 
) [virtual]

Factory method to create Gantt subnodes.

Is designed to be overloaded when linking the Gantt with a scheduling program. The default implementation returns a Gantt subnode initialized with the given parameters.

Parameters:
dst The Gantt node to which the created subnode will be added.
startMin The earliest start time for the created subnode.
startMax The latest start time for the created subnode.
endMin The earliest end time for the created subnode.
endMax The latest end time for the created subnode.
line The Gantt line for the created subnode..
capacity The capacity for the created subnode.

© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.