107 bool use_index =
false;
108 if (
typeid(*obj) ==
typeid(
CSeq_id)) {
110 }
else if (
typeid(*obj) ==
typeid(
CSeq_feat)) {
124 const CVcfVariant* vcf_variant_select_candidate =
dynamic_cast<const CVcfVariant*
>(selected_object.GetPointer());
125 if(vcf_variant_select_candidate && vcf_variant_select_candidate->
WeakMatch(*vcf_variant)) {
182 const CSeq_id* t_id =
dynamic_cast<const CSeq_id*
>(o_iter->GetPointer());
183 if (t_id && sih == *t_id) {
225 vector< CConstRef<CObject> > objs;
295 if (sig.find(f_sig) != string::npos) {
321 bool selected =
false;
322 vector< CConstRef<CObject> > objs;
364 if (selected && obj_glyph) {
void LayoutChanged()
update the layout for everything encompassing this glyph
void Clear(objects::CScope *scope)
bool Remove(const CObject &obj)
bool HasMatches(const CObject &object, objects::CScope &scope) const
void Add(ISelObjectHandle *obj_handle, CObject &obj)
objects::CScope * GetScope()
TSelectedGlyphs m_SelCDSFeatures
void UpdateSelection(CSeqGlyph *glyph)
void ResetObjectSelection(CSeqGlyph *glyph)
TSelectedGlyphs m_SelFeatures
bool x_NeedUpdate() const
void GetObjectSelection(TConstObjects &objs) const
CSeqGlyph::TConstObjects m_SelGlyphs
const CSeqGlyph::TConstObjects & GetSelectedLayoutObjects(CSeqGlyph *top_glyph)
list< CWeakRef< CSeqGlyph > > TSelectedGlyphs
bool x_DoSelection(CSeqGlyph *glyph)
void SelectObject(const CObject *obj, bool verified)
TSelectedObjects m_SelectedObjects
bool IsObjectSelected(const CObject *obj)
@ ePUA_CallLayoutChanged
call LayoutChanged for all glyphs that are CFeatGlyph
CObjectIndex m_UnknownSelectedIndexes
CObjectIndex m_SelectedIndexes
virtual bool Visit(CSeqGlyph *glyph)
CRef< objects::CScope > m_Scope
EPostUpdateAction m_PostUpdateAction
void DeSelectObject(const CObject *obj)
void SelectSelection(const CSeqGlyph::TConstObjects &glyphs)
list< string > m_SelectedSignatures
void SetSelectedObjectSig(const string &obj_sig)
void SetActionMode(TActionMode mode)
CSelectionVisitor inline methods.
void SetScope(objects::CScope *scope)
ESubtype GetSubtype(void) const
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
virtual bool Accept(IGlyphVisitor *visitor)
Interface for accepting an IGlyphVisitor.
virtual bool SetSelected(bool flag)
Select or deselect this glyph.
list< CConstRef< CSeqGlyph > > TConstObjects
namespace ncbi::objects::
virtual string GetSignature() const =0
return signature for this glyph.
virtual void GetObjects(vector< CConstRef< CObject > > &objs) const =0
retrieve CObjects corresponding to this CSeqGlyph.
iterator_bool insert(const value_type &val)
parent_type::iterator iterator
const_iterator find(const key_type &key) const
const_iterator end() const
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
bool WeakMatch(const CVcfVariant &right) const
vector< CConstRef< CObject > > TConstObjects
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
bool NotNull(void) const THROWS_NONE
Check if pointer is not null – same effect as NotEmpty().
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
TObjectType * GetPointerOrNull(void) THROWS_NONE
Get pointer value.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string (in-place)
@ fSplit_Tokenize
All delimiters are merged and trimmed, to get non-empty tokens only.
const TData & GetData(void) const
Get the Data member data.