79 if (classType->
GetName() ==
"Bioseq") {
88 else if (classType->
GetName() ==
"Bioseq-set") {
142 size_t indent,
size_t maxIndent)
144 string className = classType->
GetName();
172 if ( !haveSetFlag && memberInfo->
Optional() ) {
179 if ( memberType->
Equals(memberPtr, defaultPtr) )
231 expanded->
AddItem(block_content,
false);
252 if (!
type->InitIterator(
i, ptr))
295 expanded->
AddItem(block_content,
false);
302 }
while (
type->NextElement(
i) );
311 size_t indent,
size_t maxIndent)
384 index <= choiceType->GetVariants().LastIndex())) {
386 "Invalid CHOICE value, type name: \"" + choiceType->
GetAccessName() +
"\"");
static CRef< CScope > m_Scope
static CMemberId noMemeberId
static CSeq_entry_Handle GetSeq_entry_Handle(TTypeInfo type, TConstObjectPtr ptr, CScope &scope)
void AddBioContext(CAsnBioContext *bioContext)
void SetTrailComma(bool fTrailComma)
void SetExpandedValue(ITextItem *value)
void SetTrailComma(bool fTrailComma)
static CTextItem * CreateItem(const CMemberId &memberId, TTypeInfo type, TConstObjectPtr ptr, size_t indent, CAsnBioContext *bioContext)
virtual void x_FillBlock(CCompositeTextItem *content, TTypeInfo containerType, TConstObjectPtr containerPtr, size_t indent, size_t maxIndent)
CRef< objects::CScope > m_Scope
static void x_SetNoComma(CCompositeTextItem *block)
CAsnRetrieveJob(CTextPanelContext &context, const CSerialObject &so, objects::CScope &scope)
virtual void x_FillContainer(CCompositeTextItem *content, const CContainerTypeInfo *type, TConstObjectPtr ptr, size_t indent, size_t maxIndent)
CAsnBioContextContainer * m_ContextContainer
virtual EJobState x_Run()
virtual void x_FillClass(CCompositeTextItem *content, const CClassTypeInfo *classType, TConstObjectPtr classPtr, size_t indent, size_t maxIndent)
const CSerialObject & m_SO
virtual ~CAsnRetrieveJob()
CAsnBioContext * m_BioContext
static void x_GetMemberObject(TTypeInfo &type, TConstObjectPtr &ptr)
ITextItem * GetItem(size_t index)
size_t GetItemCount() const
void AddItem(ITextItem *item, bool updatePositions=true)
CTextItem * GetExpandedItem()
CTextItem * GetCollapsedItem()
Base class for all serializable objects.
void x_CheckCancelled() const
void x_AddItem(ITextItem *item)
shared_ptr< CRootTextItem > m_RootItem
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
int main(int argc, const char *argv[])
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
bool Optional(void) const
const CMemberId & GetId(void) const
const string & GetName(void) const
bool GetSetFlagNo(TConstObjectPtr object) const
true if 'setFlag' is eSetNo
TConstObjectPtr GetDefault(void) const
TObjectPtr GetItemPtr(TObjectPtr object) const
TConstObjectPtr GetVariantPtr(TConstObjectPtr choicePtr) const
CDelayBuffer & GetDelayBuffer(TObjectPtr object) const
static TMemberIndex FirstIndex(void)
bool CanBeDelayed(void) const
TTypeInfo GetTypeInfo(void) const
bool HaveSetFlag(void) const
EJobState
Job states (describe FSM)
size_t TMemberIndex
Type used for indexing class members and choice variants.
const void * TConstObjectPtr
virtual const CTypeInfo * GetThisTypeInfo(void) const =0
static const TObjectType * SafeCast(TTypeInfo type)
CBioseq_Handle GetObjectHandle(const CBioseq &bioseq, EMissing action=eMissing_Default)
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
CSeq_entry_Handle GetParentEntry(void) const
Return a handle for the parent seq-entry of the bioseq.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const string & GetName(void) const
Get name of this type.
virtual const CObject * GetCObjectPtr(TConstObjectPtr objectPtr) const override
virtual bool IsDefault(TConstObjectPtr object) const =0
Check, whether the object contains default value.
ETypeFamily GetTypeFamily(void) const
TTypeInfo GetPointedType(void) const
const CItemsInfo & GetVariants(void) const
TMemberIndex GetIndex(TConstObjectPtr object) const
const CMemberInfo * GetMemberInfo(TMemberIndex index) const
const CVariantInfo * GetVariantInfo(TMemberIndex index) const
bool Implicit(void) const
virtual bool Equals(TConstObjectPtr object1, TConstObjectPtr object2, ESerialRecursionMode how=eRecursive) const =0
Check if both objects contain the same values.
TConstObjectPtr GetObjectPointer(TConstObjectPtr object) const
const string & GetAccessName(void) const
Return internal or regular name.
const CItemsInfo & GetMembers(void) const
static pcre_uint8 * buffer