58 const objects::CSeq_loc* seq_loc =
59 dynamic_cast<const objects::CSeq_loc*
>(
object.object.GetPointerOrNull());
60 CScope* scope =
object.scope;
67 seq_loc->GetTotalRange().GetFrom(),
68 seq_loc->GetTotalRange().GetLength(),
72 for ( ; segI; ++segI ) {
90 }
catch (
const exception&) {
size_t GetItemCount() const
void AddItem(ITextItem *item, bool updatePositions=true)
CRef< objects::CScope > m_Scope
CConstRef< CObject > m_Object
void WriteMultiLineText(const string &text)
CTextItemSeq_loc(SConstScopedObject &object, EMode mode, int indent)
static ITextItem * CreateObject(SConstScopedObject &object, EMode mode, ICanceled *cancel=0)
virtual void x_RenderText(CStyledTextOStream &ostream, CTextPanelContext *context) const
virtual void x_Indent(CStyledTextOStream &ostream) const
Interface for testing cancellation request in a long lasting operation.
static void GetLabel(const CObject &obj, string *label, ELabelType type=eDefault)
CConstRef< CSeq_id > GetSeqId(void) const
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
const CSeqMap & GetSeqMap(void) const
Get sequence map.
TSeqPos GetRefPosition(void) const
bool GetRefMinusStrand(void) const
CSeqMap::ESegmentType GetType(void) const
CSeq_id_Handle GetRefSeqid(void) const
The following function makes sense only when the segment is a reference to another seq.
TSeqPos GetRefEndPosition(void) const
CSeqMap_CI ResolvedRangeIterator(CScope *scope, TSeqPos from, TSeqPos length, ENa_strand strand=eNa_strand_plus, size_t maxResolve=size_t(-1), TFlags flags=fDefaultFlags) const
Iterate segments in the range with specified strand coordinates.
@ eSeqRef
reference to Bioseq
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
virtual bool IsCanceled(void) const =0
static void text(MDB_val *v)