- TDF_Label Lab;
- ASSERT(!CORBA::is_nil(anObject));
- CORBA::String_var anobid = anObject->GetID();
- TDF_Tool::Label(_doc->GetData(),strdup(anobid),Lab);
-
- if (strcmp(aTypeOfAttribute, "AttributeReal") == 0 ) {
- Handle(TDataStd_Real) anAttr;
- if (!Lab.FindAttribute(TDataStd_Real::GetID(), anAttr)) {
- anAttr = new TDataStd_Real;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeReal_i* aRealAttr = new SALOMEDS_AttributeReal_i(anAttr, _orb);
- SALOMEDS::AttributeReal_var aRA = aRealAttr->AttributeReal::_this();
- return aRA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeInteger") == 0 ) {
- Handle(TDataStd_Integer) anAttr;
- if (!Lab.FindAttribute(TDataStd_Integer::GetID(), anAttr)) {
- anAttr = new TDataStd_Integer;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeInteger_i* aIntAttr = new SALOMEDS_AttributeInteger_i(anAttr, _orb);
- SALOMEDS::AttributeInteger_var aIA = aIntAttr->AttributeInteger::_this();
- return aIA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeSequenceOfReal") == 0 ) {
- Handle(SALOMEDS_SequenceOfRealAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_SequenceOfRealAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_SequenceOfRealAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeSequenceOfReal_i* aSeqRealAttr = new SALOMEDS_AttributeSequenceOfReal_i(anAttr, _orb);
- SALOMEDS::AttributeSequenceOfReal_var aSRA = aSeqRealAttr->AttributeSequenceOfReal::_this();
- return aSRA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeSequenceOfInteger") == 0 ) {
- Handle(SALOMEDS_SequenceOfIntegerAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_SequenceOfIntegerAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_SequenceOfIntegerAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeSequenceOfInteger_i* aSeqIntegerAttr = new SALOMEDS_AttributeSequenceOfInteger_i(anAttr, _orb);
- SALOMEDS::AttributeSequenceOfInteger_var aSIA = aSeqIntegerAttr->AttributeSequenceOfInteger::_this();
- return aSIA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeName") == 0 ) {
- Handle(TDataStd_Name) anAttr;
- if (!Lab.FindAttribute(TDataStd_Name::GetID(), anAttr)) {
- anAttr = new TDataStd_Name;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeName_i* aNameAttr = new SALOMEDS_AttributeName_i(anAttr, _orb);
- SALOMEDS::AttributeName_var aSNA = aNameAttr->AttributeName::_this();
- return aSNA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeComment") == 0 ) {
- Handle(TDataStd_Comment) anAttr;
- if (!Lab.FindAttribute(TDataStd_Comment::GetID(), anAttr)) {
- anAttr = new TDataStd_Comment;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeComment_i* aCommentAttr = new SALOMEDS_AttributeComment_i(anAttr, _orb);
- SALOMEDS::AttributeComment_var aCA = aCommentAttr->AttributeComment::_this();
- return aCA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeIOR") == 0 ) {
- Handle(SALOMEDS_IORAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_IORAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_IORAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeIOR_i* aIORAttr = new SALOMEDS_AttributeIOR_i(anAttr, _orb);
- SALOMEDS::AttributeIOR_var aIA = aIORAttr->AttributeIOR::_this();
- return aIA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributePersistentRef") == 0 ) {
- Handle(SALOMEDS_PersRefAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_PersRefAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_PersRefAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributePersistentRef_i* aPerRefAttr = new SALOMEDS_AttributePersistentRef_i(anAttr, _orb);
- SALOMEDS::AttributePersistentRef_var aPRA = aPerRefAttr->AttributePersistentRef::_this();
- return aPRA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeDrawable") == 0 ) {
- Handle(SALOMEDS_DrawableAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_DrawableAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_DrawableAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeDrawable_i* aDrawableAttr = new SALOMEDS_AttributeDrawable_i(anAttr, _orb);
- SALOMEDS::AttributeDrawable_var aDrawA = aDrawableAttr->AttributeDrawable::_this();
- return aDrawA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeSelectable") == 0 ) {
- Handle(SALOMEDS_SelectableAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_SelectableAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_SelectableAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeSelectable_i* aSelectableAttr = new SALOMEDS_AttributeSelectable_i(anAttr, _orb);
- SALOMEDS::AttributeSelectable_var aSelA = aSelectableAttr->AttributeSelectable::_this();
- return aSelA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeExpandable") == 0 ) {
- Handle(SALOMEDS_ExpandableAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_ExpandableAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_ExpandableAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeExpandable_i* aExpandableAttr = new SALOMEDS_AttributeExpandable_i(anAttr, _orb);
- SALOMEDS::AttributeExpandable_var aExpA = aExpandableAttr->AttributeExpandable::_this();
- return aExpA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeOpened") == 0 ) {
- Handle(SALOMEDS_OpenedAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_OpenedAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_OpenedAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeOpened_i* aOpenedAttr = new SALOMEDS_AttributeOpened_i(anAttr, _orb);
- SALOMEDS::AttributeOpened_var aOpenA = aOpenedAttr->AttributeOpened::_this();
- return aOpenA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeTextColor") == 0 ) {
- Handle(SALOMEDS_TextColorAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_TextColorAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_TextColorAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeTextColor_i* aTextColorAttr = new SALOMEDS_AttributeTextColor_i(anAttr, _orb);
- SALOMEDS::AttributeTextColor_var aTCA = aTextColorAttr->AttributeTextColor::_this();
- return aTCA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeTextHighlightColor") == 0 ) {
- Handle(SALOMEDS_TextHighlightColorAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_TextHighlightColorAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_TextHighlightColorAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeTextHighlightColor_i* aTextHighlightColorAttr = new SALOMEDS_AttributeTextHighlightColor_i(anAttr, _orb);
- SALOMEDS::AttributeTextHighlightColor_var aTHCA = aTextHighlightColorAttr->AttributeTextHighlightColor::_this();
- return aTHCA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributePixMap") == 0 ) {
- Handle(SALOMEDS_PixMapAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_PixMapAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_PixMapAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributePixMap_i* aPixMapAttr = new SALOMEDS_AttributePixMap_i(anAttr, _orb);
- SALOMEDS::AttributePixMap_var aPMA = aPixMapAttr->AttributePixMap::_this();
- return aPMA._retn();
- }
- else if (strncmp(aTypeOfAttribute, "AttributeTreeNode",17) == 0 ) {
- Standard_GUID aTreeNodeGUID;
- if (strcmp(aTypeOfAttribute, "AttributeTreeNode") == 0)
- aTreeNodeGUID = TDataStd_TreeNode::GetDefaultTreeID();
- else {
- char* aGUIDString = new char[40];
- sprintf(aGUIDString, &(aTypeOfAttribute[21]));
- Standard_GUID aGUID = Standard_GUID(aGUIDString); // create tree node GUID by name
- delete(aGUIDString);
- }
- Handle(TDataStd_TreeNode) anAttr;
- if (!Lab.FindAttribute(aTreeNodeGUID, anAttr))
- anAttr = TDataStd_TreeNode::Set(Lab, aTreeNodeGUID);
- SALOMEDS_AttributeTreeNode_i* aTreeNodeAttr = new SALOMEDS_AttributeTreeNode_i(anAttr, _orb);
- SALOMEDS::AttributeTreeNode_var aTNA = aTreeNodeAttr->AttributeTreeNode::_this();
- return aTNA._retn();
- }
- else if (strncmp(aTypeOfAttribute, "AttributeUserID",15) == 0 ) {
- Handle(TDataStd_UAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_AttributeUserID_i::DefaultID(), anAttr))
- anAttr = TDataStd_UAttribute::Set(Lab, SALOMEDS_AttributeUserID_i::DefaultID());
- SALOMEDS_AttributeUserID_i* aUAttr = new SALOMEDS_AttributeUserID_i(anAttr, _orb);
- SALOMEDS::AttributeUserID_var aUA = aUAttr->AttributeUserID::_this();
- return aUA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeLocalID") == 0 ) {
- Handle(SALOMEDS_LocalIDAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_LocalIDAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_LocalIDAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeLocalID_i* aLIDAttr = new SALOMEDS_AttributeLocalID_i(anAttr, _orb);
- SALOMEDS::AttributeLocalID_var aLIDA = aLIDAttr->AttributeLocalID::_this();
- return aLIDA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeTarget") == 0 ) {
- Handle(SALOMEDS_TargetAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_TargetAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_TargetAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeTarget_i* aLIDAttr = new SALOMEDS_AttributeTarget_i(anAttr, _orb);
- SALOMEDS::AttributeTarget_var aLIDA = aLIDAttr->AttributeTarget::_this();
- return aLIDA._retn();
- }
- else if (strcmp(aTypeOfAttribute, "AttributeTableOfInteger") == 0 ) {
- Handle(SALOMEDS_TableOfIntegerAttribute) anAttr;
- if (!Lab.FindAttribute(SALOMEDS_TableOfIntegerAttribute::GetID(), anAttr)) {
- anAttr = new SALOMEDS_TableOfIntegerAttribute;
- Lab.AddAttribute(anAttr);
- }
- SALOMEDS_AttributeTableOfInteger_i* aTabIntegerAttr = new SALOMEDS_AttributeTableOfInteger_i(anAttr, _orb);
- SALOMEDS::AttributeTableOfInteger_var aTIA = aTabIntegerAttr->AttributeTableOfInteger::_this();
- return aTIA._retn();