Salome HOME
Fix for Bug IPAL9053( 3.0.0: "Check Geometry" and "Load script" functionalities from...
[modules/gui.git] / src / SUIT / SUIT_DataOwner.cxx
1 #include "SUIT_DataOwner.h"
2
3 //********************************************************************
4 // SUIT_DataOwner class
5 //********************************************************************
6
7 //====================================================================
8 // Constructor
9 //====================================================================
10 SUIT_DataOwner::SUIT_DataOwner()
11 {
12 }
13
14 //====================================================================
15 // Destructor
16 //====================================================================
17 SUIT_DataOwner::~SUIT_DataOwner()
18 {
19 }
20
21 //====================================================================
22 // operator== : compares two owners
23 //====================================================================
24 bool operator==( const SUIT_DataOwnerPtr& p1, const SUIT_DataOwnerPtr& p2 )
25 {
26   if ( !p1.isNull() && !p2.isNull() )
27     return p1->isEqual( *p2 );
28   return p1.isNull() && p2.isNull();
29 }
30
31 //********************************************************************
32 // SUIT_DataOwnerPtrList class: implements value list with unique
33 // items (uniqueness is provided by operator==() and compareItems()
34 //********************************************************************
35
36 //====================================================================
37 // Constructor (default)
38 //====================================================================
39 SUIT_DataOwnerPtrList::SUIT_DataOwnerPtrList()
40 : QValueList<SUIT_DataOwnerPtr>()
41 {
42 }
43
44 //====================================================================
45 // Constructor (copy)
46 //====================================================================
47 SUIT_DataOwnerPtrList::SUIT_DataOwnerPtrList( const SUIT_DataOwnerPtrList& l )
48 : QValueList<SUIT_DataOwnerPtr>( l )
49 {
50 }
51
52 #ifndef QT_NO_STL
53 //====================================================================
54 // Constructor (from stl)
55 //====================================================================
56 SUIT_DataOwnerPtrList::SUIT_DataOwnerPtrList( const std::list<SUIT_DataOwnerPtr>& l )
57 : QValueList<SUIT_DataOwnerPtr>( l )
58 {
59 }
60 #endif
61
62 //====================================================================
63 // Appends an item to the list
64 //====================================================================
65 SUIT_DataOwnerPtrList::iterator SUIT_DataOwnerPtrList::append( const SUIT_DataOwnerPtr& x )
66 {
67   SUIT_DataOwnerPtrList::iterator it = find( x );
68   if ( it != end() )
69     return it;
70   return QValueList<SUIT_DataOwnerPtr>::append( x );
71 }
72
73 //====================================================================
74 // Compares two items
75 //====================================================================
76 int SUIT_DataOwnerPtrList::compareItems( const SUIT_DataOwnerPtr& item1, const SUIT_DataOwnerPtr& item2 )
77 {
78   return item1 == item2;
79 }
80