00001 /*------------------------------------------------------------------------*/ 00002 /* file: ObjectSelection.h */ 00003 /* Copyright INRIA 2007 */ 00004 /* Authors : Jean-Baptiste Silvy */ 00005 /* desc : Set of functions to select children of an object */ 00006 /*------------------------------------------------------------------------*/ 00007 00008 #ifndef _OBJECT_SELECTION_H_ 00009 #define _OBJECT_SELECTION_H_ 00010 00011 #include "ObjectStructure.h" 00012 #include "../../../data_structures/includes/DoublyLinkedList.h" /* REORGANISATION TEMPORAIRE */ 00013 00023 typedef struct 00024 { 00025 sciEntityType sonType ; /* type of the sons in the list */ 00026 DoublyLinkedList * typedSons ; /* list of all selected sons with type sonType */ 00027 } TypedSonsList ; 00028 00033 int sciAddSelectedSon( sciPointObj * pParent, sciPointObj * pObj ) ; 00034 00040 int sciAddUniqueSelectedSon( sciPointObj * pParent, sciPointObj * pObj ) ; 00041 00045 void sciInitSelectedSons( sciPointObj * pObj ) ; 00046 00050 sciPointObj * sciGetFirstSelectedSon( sciPointObj * pObj ) ; 00051 00055 sciPointObj * sciGetFirstTypedSelectedSon( sciPointObj * pObj, sciEntityType objType ) ; 00056 00062 DoublyLinkedList * sciGetTypedSelectedSons( sciPointObj * pObj, sciEntityType objType ) ; 00063 00067 int sciRemoveSelectedSon( sciPointObj * pParent, sciPointObj * pObj ) ; 00068 00072 void sciUnselectSons( sciPointObj * pParent ) ; 00073 00077 void sciUnselectTypedSons( sciPointObj * pParent, sciEntityType sonsType ) ; 00078 00082 BOOL sciGetIsSelected( sciPointObj * pObj ) ; 00083 00084 /*------------------------------------------------------------------------*/ 00085 /* Internal use */ 00086 TypedSonsList * sciGetTypedList( sciPointObj * pObj, sciEntityType objType ) ; 00087 00088 TypedSonsList * newTypedSonList( sciEntityType type, DoublyLinkedList * typedSons ) ; 00089 00093 void deleteTypedSonList( void * typedSonsList ) ; 00094 00095 /*------------------------------------------------------------------------*/ 00096 00097 #endif /* _OBJECT_SELECTION_H_ */
1.5.1