// File: DDF_Browser.cxx // --------------- // Author: DAUTRY Philippe // // Copyright: Matra Datavision 1997 // Version: 0.0 // History: Version Date Purpose // 0.0 Oct 3 1997 Creation #include #include #include #include #include #include #include #include #include //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Communication convention with tcl: // tcl waits for a string of characters, being an information list. // In this list, each item is separated from another by a separator: '\'. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #define TDF_BrowserSeparator1 '\\' #define TDF_BrowserSeparator2 ' ' #define TDF_BrowserSeparator3 '#' #define TDF_BrowserSeparator4 ',' //======================================================================= //function : DDF_Browser //purpose : //======================================================================= DDF_Browser::DDF_Browser(const Handle(TDF_Data)& aDF) : myDF(aDF) {} //======================================================================= //function : DrawOn //purpose : //======================================================================= void DDF_Browser::DrawOn(Draw_Display& /*dis*/) const { //cout<<"DDF_Browser"<Root(); TDF_Tool::Entry(root,list); Handle(TDataStd_Name) name; list.AssignCat(TDF_BrowserSeparator2); list.AssignCat("\""); if (root.FindAttribute(TDataStd_Name::GetID(),name)) { TCollection_AsciiString tmpStr(name->Get(),'?'); tmpStr.ChangeAll(' ','_'); list.AssignCat(tmpStr); } list.AssignCat("\""); list.AssignCat(TDF_BrowserSeparator2); if (!root.MayBeModified()) list.AssignCat("Not"); list.AssignCat("Modified"); list.AssignCat(TDF_BrowserSeparator2); if (root.HasAttribute() || (root.HasChild())) { list.AssignCat("1"); } else { list.AssignCat("0"); } //cout<<"OpenRoot: "<Get(),'?'); tmpStr.ChangeAll(' ','_'); list.AssignCat(tmpStr); } list.AssignCat("\""); list.AssignCat(TDF_BrowserSeparator2); if (!itr.Value().MayBeModified()) list.AssignCat("Not"); list.AssignCat("Modified"); list.AssignCat(TDF_BrowserSeparator2); // May be open. if (itr.Value().HasAttribute() || (itr.Value().HasChild())) list.AssignCat("1"); else list.AssignCat("0"); split = Standard_True; } //cout<<"OpenLabel: "<DynamicType()->Name()); list.AssignCat(TDF_BrowserSeparator3); list.AssignCat(indexStr); list.AssignCat(TDF_BrowserSeparator2); list.AssignCat(att->Transaction()); // Valid. list.AssignCat(TDF_BrowserSeparator2); if (!att->IsValid()) list.AssignCat("Not"); list.AssignCat("Valid"); // Forgotten. list.AssignCat(TDF_BrowserSeparator2); if (!att->IsForgotten()) list.AssignCat("Not"); list.AssignCat("Forgotten"); // Backuped. list.AssignCat(TDF_BrowserSeparator2); if (!att->IsBackuped()) list.AssignCat("Not"); list.AssignCat("Backuped"); // May be open. list.AssignCat(TDF_BrowserSeparator2); DDF_AttributeBrowser* br = DDF_AttributeBrowser::FindBrowser(att); if (br) list.AssignCat("1"); else list.AssignCat("0"); split1 = Standard_True; } //cout<<"OpenAttributeList: "<Open(att); //cout<<"OpenAttribute: "<. //======================================================================= TCollection_AsciiString DDF_Browser::Information() const { TCollection_AsciiString list; return list; } //======================================================================= //function : Information //purpose : Information about a label. //======================================================================= TCollection_AsciiString DDF_Browser::Information(const TDF_Label& /*aLab*/) const { TCollection_AsciiString list; return list; } //======================================================================= //function : Information //purpose : Information about an attribute. //======================================================================= TCollection_AsciiString DDF_Browser::Information(const Standard_Integer /*anIndex*/) const { TCollection_AsciiString list; return list; }