// -*- 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. */ }