1 // File: DDF_AttributeBrowser.cxx
2 // ------------------------
3 // Author: DAUTRY Philippe
4 // <fid@fox.paris1.matra-dtv.fr>
5 // Copyright: Matra Datavision 1997
8 // History: Version Date Purpose
9 // 0.0 Oct 6 1997 Creation
13 #include <DDF_AttributeBrowser.hxx>
15 static DDF_AttributeBrowser* DDF_FirstBrowser = NULL;
17 //=======================================================================
18 //function : DDF_AttributeBrowser
20 //=======================================================================
22 DDF_AttributeBrowser::DDF_AttributeBrowser
23 (Standard_Boolean (*test)(const Handle(TDF_Attribute)&),
24 TCollection_AsciiString (*open)(const Handle(TDF_Attribute)&),
25 TCollection_AsciiString (*text)(const Handle(TDF_Attribute)&))
29 myNext(DDF_FirstBrowser)
31 DDF_FirstBrowser = this;
35 //=======================================================================
38 //=======================================================================
40 Standard_Boolean DDF_AttributeBrowser::Test
41 (const Handle(TDF_Attribute)&anAtt) const
42 {return (*myTest) (anAtt);}
45 //=======================================================================
48 //=======================================================================
50 TCollection_AsciiString DDF_AttributeBrowser::Open
51 (const Handle(TDF_Attribute)& anAtt) const
52 { return (*myOpen) (anAtt);}
55 //=======================================================================
58 //=======================================================================
60 TCollection_AsciiString DDF_AttributeBrowser::Text
61 (const Handle(TDF_Attribute)& anAtt) const
62 {return (*myText) (anAtt);}
65 //=======================================================================
66 //function : FindBrowser
68 //=======================================================================
70 DDF_AttributeBrowser* DDF_AttributeBrowser::FindBrowser
71 (const Handle(TDF_Attribute)&anAtt)
73 DDF_AttributeBrowser* browser = DDF_FirstBrowser;
75 if (browser->Test(anAtt)) break;
76 browser = browser->Next();