53 if (!o.scope)
continue;
54 const CSeq_id* seqId =
dynamic_cast<const CSeq_id*
>(o.object.GetPointerOrNull());
56 const CSeq_loc* seqLoc =
dynamic_cast<const CSeq_loc*
>(o.object.GetPointerOrNull());
57 if (seqLoc && seqLoc->
IsWhole()) {
58 seqId = seqLoc->
GetId();
63 if (h && seqSet.
find(h) == seqSet.
end()) {
84 CScope* scope =
const_cast<CScope*
>(it->scope.GetPointerOrNull());
90 if (relations.size() > 1 && itr == relations.begin()) {
116 for (
auto& rel : results)
131 CScope* scope =
const_cast<CScope*
>(it->scope.GetPointerOrNull());
135 typeInfo->
GetName(), relations);
140 if (relations.empty())
167 [typeInfo, &inputObjects, &results](
ICanceled& canceled)
169 wxT(
"Doing object conversions..."));
179 [typeInfo, &inputObjects, &results](
ICanceled& canceled)
181 wxT(
"Doing object conversions..."));
std::invoke_result< _Fty, ICanceled & >::type GUI_AsyncExec(_Fty &&_Fnarg, const wxString &msg=wxT("Accessing network..."))
void AsyncConvertObjects(const CTypeInfo *typeInfo, const TConstScopedObjects &inputObjects, map< string, TConstScopedObjects > &results)
static void s_ConvertObjectsCat(const CTypeInfo *typeInfo, const TConstScopedObjects &inputObjects, map< string, TConstScopedObjects > &results, ICanceled &canceled)
static void s_EliminateDuplicates(TConstScopedObjects &objects, ICanceled &canceled)
static void s_ConvertObjects(const CTypeInfo *typeInfo, const TConstScopedObjects &inputObjects, TConstScopedObjects &results, ICanceled &canceled)
vector< TRelation > TRelationVector
static void FindRelations(objects::CScope &scope, const CObject &obj, const string &to_type_in, TRelationVector &relations)
vector< SObject > TObjects
virtual string GetProperty(const string &) const
virtual void GetRelated(objects::CScope &scope, const CObject &obj, TObjects &related, TFlags flags=eDefault, ICanceled *cancel=NULL) const =0
@ fConvert_All
retrieve all possible identities if multiple can be shown
@ fConvert_NoExpensive
do not perform any expensive tests (such as fetching from the network)
Base class for all serializable objects.
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
Interface for testing cancellation request in a long lasting operation.
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
vector< SConstScopedObject > TConstScopedObjects
virtual const CTypeInfo * GetThisTypeInfo(void) const =0
const CSeq_id * GetId(void) const
Get the id of the location return NULL if has multiple ids or no id at all.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
virtual bool IsCanceled(void) const =0
const string & GetName(void) const
Get name of this type.
bool IsWhole(void) const
Check if variant Whole is selected.