// -*- C++ -*-
namespace Hurricane {
/*! \class SelectCommand
* \brief SelectCommand description (\b API)
*
* \section secSelectCommandIntro Introduction
*
* This command allows to change the set of occurences selected
* in a view, by either replacing by, adding to or erasing from
* the current selection the occurences located into a
* rectangular area or below a point. This command uses a rubber
* rectangle to define the selection area. Let us recall that a
* cell may have different selections in different views.
*
* This command has name : "Select" and has to be
* installed on the mouse middle button.
*
*
* \section secSelectCommandPrinciple Principle
*
* After defining a rectangle, the selection proceeds in two
* steps :
*
* Identification of candidate occurences :
*
* If the selection rectangle is a point Then the candidate
* occurences are those located below this point.
*
* Else The candidate occurences are all those located inside
* the rectangle or intersecting the rectangle if the control
* key is hold down.
*
* Only visible occurences are potentially candidates. Only
* occurences of instances refering a terminal cell are
* potential candidates.
*
* Modification of the current selection :
*
* If the shift key is hold down Each occurence is selected
* provided it was not previously selected, and unselected if it
* was previously selected (toggle mode).
*
* Else The new selection of only the candidate occurences
* replaces the old one (replace mode).
*/
/* \function SelectCommand* SelectCommand::GetSelectCommand();
* \Return the selection command.
*/
}