NCBI C++ ToolKit
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
CBioTreeSelection Class Reference

Search Toolkit Book for CBioTreeSelection

#include <gui/objutils/biotree_selection.hpp>

+ Inheritance diagram for CBioTreeSelection:
+ Collaboration diagram for CBioTreeSelection:

Public Types

typedef std::vector< objects::CNode::TId > TNodeIdsVector
 Vector of node IDs. More...
 
- Public Types inherited from CObject
enum  EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern }
 Control filling of newly allocated memory. More...
 
typedef CObjectCounterLocker TLockerType
 Default locker type for CRef. More...
 
typedef atomic< Uint8TCounter
 Counter type is CAtomiCounter. More...
 
typedef Uint8 TCount
 Alias for value type of counter. More...
 

Public Member Functions

 CBioTreeSelection (const CConstRef< objects::CBioTreeContainer > &bioTree)
 Constructor. More...
 
CConstRef< objects::CBioTreeContainer > GetBioTree () const
 Returns the BioTree. More...
 
const TNodeIdsVectorGetNodeIds () const
 Returns const list of selected nodes. More...
 
TNodeIdsVectorGetNodeIds ()
 Returns the list of selected nodes. More...
 
const TNodeIdsVectorGetExplicitlySelectedNodeIds () const
 Returns const list of explicitly selected nodes. More...
 
TNodeIdsVectorGetExplicitlySelectedNodeIds ()
 Returns the list of explicitly selected nodes. More...
 
bool HasFeature (const std::string &feature) const
 Checks if the BioTree has the specified feature. More...
 
objects::CFeatureDescr::TId GetFeatureId (const std::string &feature) const
 Gets the id of the specified feature. More...
 
std::string GetFeatureValue (objects::CNode::TId nodeId, objects::CFeatureDescr::TId featureId) const
 Gets the value of a feature for the specified node id. More...
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (const CObject &src) THROWS_NONE
 Assignment operator. More...
 
bool CanBeDeleted (void) const THROWS_NONE
 Check if object can be deleted. More...
 
bool IsAllocatedInPool (void) const THROWS_NONE
 Check if object is allocated in memory pool (not system heap) More...
 
bool Referenced (void) const THROWS_NONE
 Check if object is referenced. More...
 
bool ReferencedOnlyOnce (void) const THROWS_NONE
 Check if object is referenced only once. More...
 
void AddReference (void) const
 Add reference to object. More...
 
void RemoveReference (void) const
 Remove reference to object. More...
 
void ReleaseReference (void) const
 Remove reference without deleting object. More...
 
virtual void DoNotDeleteThisObject (void)
 Mark this object as not allocated in heap – do not delete this object. More...
 
virtual void DoDeleteThisObject (void)
 Mark this object as allocated in heap – object can be deleted. More...
 
void * operator new (size_t size)
 Define new operator for memory allocation. More...
 
void * operator new[] (size_t size)
 Define new[] operator for 'array' memory allocation. More...
 
void operator delete (void *ptr)
 Define delete operator for memory deallocation. More...
 
void operator delete[] (void *ptr)
 Define delete[] operator for memory deallocation. More...
 
void * operator new (size_t size, void *place)
 Define new operator. More...
 
void operator delete (void *ptr, void *place)
 Define delete operator. More...
 
void * operator new (size_t size, CObjectMemoryPool *place)
 Define new operator using memory pool. More...
 
void operator delete (void *ptr, CObjectMemoryPool *place)
 Define delete operator. More...
 
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const
 Define method for dumping debug information. More...
 
- Public Member Functions inherited from CDebugDumpable
 CDebugDumpable (void)
 
virtual ~CDebugDumpable (void)
 
void DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const
 
void DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const
 
void DumpToConsole (void) const
 

Private Types

typedef std::map< std::string, objects::CFeatureDescr::TId > TStringFeatIdMap
 
typedef std::map< objects::CNode::TId, const objects::CNode * > TNodeIdNodeMap
 

Private Member Functions

std::string GetFeatureValue (const objects::CNode &node, objects::CFeatureDescr::TId featureId) const
 Gets the value of a feature for the specified node. More...
 

Private Attributes

CConstRef< objects::CBioTreeContainer > m_BioTreeContainer
 BioTree. More...
 
TNodeIdsVector m_NodeIds
 Selected nodes. More...
 
TNodeIdsVector m_ExplicitlySelectedNodeIds
 Nodes user actually clicked on or which were selected in a query. More...
 
TStringFeatIdMap m_FeatIdsMap
 
TNodeIdNodeMap m_NodesMap
 Map od node ids to nodes. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CObject
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (void)
 Define method to throw null pointer exception. More...
 
static NCBI_XNCBI_EXPORT void ThrowNullPointerException (const type_info &type)
 
static EAllocFillMode GetAllocFillMode (void)
 
static void SetAllocFillMode (EAllocFillMode mode)
 
static void SetAllocFillMode (const string &value)
 Set mode from configuration parameter value. More...
 
- Static Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 
- Static Public Attributes inherited from CObject
static const TCount eCounterBitsCanBeDeleted = 1 << 0
 Define possible object states. More...
 
static const TCount eCounterBitsInPlainHeap = 1 << 1
 Heap signature was found. More...
 
static const TCount eCounterBitsPlaceMask
 Mask for 'in heap' state flags. More...
 
static const int eCounterStep = 1 << 2
 Skip over the "in heap" bits. More...
 
static const TCount eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2)
 Minimal value for valid objects (reference counter is zero) Must be a single bit value. More...
 
static const TCount eCounterStateMask
 Valid object, and object in heap. More...
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Detailed Description

Definition at line 49 of file biotree_selection.hpp.

Member Typedef Documentation

◆ TNodeIdNodeMap

typedef std::map<objects::CNode::TId, const objects::CNode*> CBioTreeSelection::TNodeIdNodeMap
private

Definition at line 130 of file biotree_selection.hpp.

◆ TNodeIdsVector

typedef std::vector<objects::CNode::TId> CBioTreeSelection::TNodeIdsVector

Vector of node IDs.

Definition at line 54 of file biotree_selection.hpp.

◆ TStringFeatIdMap

typedef std::map<std::string, objects::CFeatureDescr::TId> CBioTreeSelection::TStringFeatIdMap
private

Definition at line 129 of file biotree_selection.hpp.

Constructor & Destructor Documentation

◆ CBioTreeSelection()

CBioTreeSelection::CBioTreeSelection ( const CConstRef< objects::CBioTreeContainer > &  bioTree)

Constructor.

Parameters
[in]bioTreeReference to a CBioTreeContainer.
[in]nodesCountNumber of nodes to be stored

Definition at line 47 of file biotree_selection.cpp.

References CFeatureDictSet_Base::CanGet(), CNodeSet_Base::CanGet(), CFeatureDictSet_Base::Get(), CNodeSet_Base::Get(), CConstRef< C, Locker >::IsNull(), ITERATE, m_BioTreeContainer, m_FeatIdsMap, m_NodesMap, and NStr::ToLower().

Member Function Documentation

◆ GetBioTree()

CConstRef<objects::CBioTreeContainer> CBioTreeSelection::GetBioTree ( ) const
inline

Returns the BioTree.

Returns
CBioTreeContainer

Definition at line 66 of file biotree_selection.hpp.

References m_BioTreeContainer.

Referenced by CTableSelectionBioTreeContainer::GetRows(), and CPhyTreeView::x_OnSetSelection().

◆ GetExplicitlySelectedNodeIds() [1/2]

TNodeIdsVector& CBioTreeSelection::GetExplicitlySelectedNodeIds ( )
inline

Returns the list of explicitly selected nodes.

Returns
TNodeIdsVector

Definition at line 86 of file biotree_selection.hpp.

References m_ExplicitlySelectedNodeIds.

◆ GetExplicitlySelectedNodeIds() [2/2]

const TNodeIdsVector& CBioTreeSelection::GetExplicitlySelectedNodeIds ( ) const
inline

Returns const list of explicitly selected nodes.

Returns
TNodeIdsVector

Definition at line 81 of file biotree_selection.hpp.

References m_ExplicitlySelectedNodeIds.

Referenced by CPhyTreeView::GetSelection(), and CPhyTreeView::x_OnSetSelection().

◆ GetFeatureId()

CFeatureDescr::TId CBioTreeSelection::GetFeatureId ( const std::string feature) const

Gets the id of the specified feature.

Parameters
[in]featureReference to a string, holding the name of the feature.
Returns
TId of the feature if found, false otherwise

Definition at line 83 of file biotree_selection.cpp.

References m_FeatIdsMap, and NStr::ToLower().

Referenced by CTableSelectionBioTreeContainer::GetRows(), and CPhyTreeView::x_OnSetSelection().

◆ GetFeatureValue() [1/2]

std::string CBioTreeSelection::GetFeatureValue ( const objects::CNode &  node,
objects::CFeatureDescr::TId  featureId 
) const
private

Gets the value of a feature for the specified node.

Parameters
[in]nodeThe node, who's feature's value to return.
[in]featureIdThe ID of the feature, who's value to return.
Returns
The value of the feature as string if it was found, empty string otherwise.

◆ GetFeatureValue() [2/2]

std::string CBioTreeSelection::GetFeatureValue ( objects::CNode::TId  nodeId,
objects::CFeatureDescr::TId  featureId 
) const

Gets the value of a feature for the specified node id.

Parameters
[in]nodeIdThe ID of the node, who's feature's value to return.
[in]featureIdThe ID of the feature, who's value to return.
Returns
The value of the feature as string if it was found, empty string otherwise.

Referenced by CTableDataBioTreeContainer::SelectFeatures(), and CPhyTreeView::x_OnSetSelection().

◆ GetNodeIds() [1/2]

TNodeIdsVector& CBioTreeSelection::GetNodeIds ( )
inline

Returns the list of selected nodes.

Returns
TNodeIdsVector

Definition at line 76 of file biotree_selection.hpp.

References m_NodeIds.

◆ GetNodeIds() [2/2]

const TNodeIdsVector& CBioTreeSelection::GetNodeIds ( ) const
inline

Returns const list of selected nodes.

Returns
TNodeIdsVector

Definition at line 71 of file biotree_selection.hpp.

References m_NodeIds.

Referenced by CTableSelectionBioTreeContainer::GetRows(), CPhyTreeView::GetSelection(), CTableDataBioTreeContainer::SelectFeatures(), and CPhyTreeView::x_OnSetSelection().

◆ HasFeature()

bool CBioTreeSelection::HasFeature ( const std::string feature) const

Checks if the BioTree has the specified feature.

Parameters
[in]featureReference to a string, holding the name of the feature.
Returns
true if the tree has the specified feature, false otherwise.

Definition at line 76 of file biotree_selection.cpp.

References m_FeatIdsMap, NStr::ToLower(), and true.

Referenced by CPhyTreeView::x_OnSetSelection().

Member Data Documentation

◆ m_BioTreeContainer

CConstRef<objects::CBioTreeContainer> CBioTreeSelection::m_BioTreeContainer
private

BioTree.

Definition at line 122 of file biotree_selection.hpp.

Referenced by CBioTreeSelection(), and GetBioTree().

◆ m_ExplicitlySelectedNodeIds

TNodeIdsVector CBioTreeSelection::m_ExplicitlySelectedNodeIds
private

Nodes user actually clicked on or which were selected in a query.

This does not include parents or children of selected nodes and is maintained separately so that user can iterate over the explicit selection set.

Definition at line 128 of file biotree_selection.hpp.

Referenced by GetExplicitlySelectedNodeIds().

◆ m_FeatIdsMap

TStringFeatIdMap CBioTreeSelection::m_FeatIdsMap
private

Definition at line 132 of file biotree_selection.hpp.

Referenced by CBioTreeSelection(), GetFeatureId(), and HasFeature().

◆ m_NodeIds

TNodeIdsVector CBioTreeSelection::m_NodeIds
private

Selected nodes.

Definition at line 124 of file biotree_selection.hpp.

Referenced by GetNodeIds().

◆ m_NodesMap

TNodeIdNodeMap CBioTreeSelection::m_NodesMap
private

Map od node ids to nodes.

Definition at line 134 of file biotree_selection.hpp.

Referenced by CBioTreeSelection().


The documentation for this class was generated from the following files:
Modified on Sat Dec 02 09:20:10 2023 by modify_doxy.py rev. 669887