String from DocumentTypeEnum in C++

String from DocumentTypeEnum in C++

oransen
Collaborator Collaborator
443 Views
2 Replies
Message 1 of 3

String from DocumentTypeEnum in C++

oransen
Collaborator
Collaborator

Just so I don't reinvent the wheel, is there a function which returns the currently open document type as a string, something like this:

 

const char* const GetInventorDocTypeDesc(DocumentTypeEnum eDocTypeEnum);

 

? If you see what I mean. Any sort of string will be fine.

0 Likes
Accepted solutions (1)
444 Views
2 Replies
Replies (2)
Message 2 of 3

oransen
Collaborator
Collaborator
Accepted solution

I've written my own:

 

 

 

typedef struct {
    DocumentTypeEnum eEnum ;
    const char* const pszDesc ;
} DocDesc_t;

const DocDesc_t kDocDescs [] = {
    {kAssemblyDocumentObject,      "Assembly Document"}, 
    {kDesignElementDocumentObject, "Design Element Document"}, 
    {kDrawingDocumentObject,       "Drawing Document"},
    {kForeignModelDocumentObject,  "Foreign Model Document"}, 
    {kNoDocument,                  "No Document"},
    {kPartDocumentObject,          "Part Document"}, 
    {kPresentationDocumentObject,  "Presentation Document"}, 
    {kSATFileDocumentObject,       "SAT File Document"},
    {kUnknownDocumentObject,       "Unknown Document"}
} ;

static const UINT ikNumDocTypeDescs = sizeof (kDocDescs)/sizeof(kDocDescs[0]) ;


const char* const GetInventorDocTypeDesc(const DocumentTypeEnum eDocTypeEnum) 
{
    for (UINT i = 0 ; i < ikNumDocTypeDescs ; i++) {
        if (kDocDescs[i].eEnum == eDocTypeEnum) {
            return kDocDescs[i].pszDesc ;
        }
    }

    // This is an error, I handle it recursively...
    return (GetInventorDocTypeDesc(kUnknownDocumentObject)) ;
}

 

0 Likes
Message 3 of 3

oransen
Collaborator
Collaborator

Thanks!

 

0 Likes