NCBI C++ ToolKit
|
Search Toolkit Book for CSimpleLayout
CSimpleLayout is the simpliest layout policy that simply stack a set of glyphs one on top of the other vertically. More...
#include <gui/widgets/seq_graphic/simple_layout_policy.hpp>
Public Types | |
enum | ESortingType { eSort_No , eSort_BySeqPos , eSort_BySeqSize } |
typedef ESortingType | TSortingMethod |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
![]() | |
typedef list< CRef< CSeqGlyph > > | TObjectList |
typedef vector< CRef< CSeqGlyph > > | TLayoutRow |
typedef vector< TLayoutRow > | TLayout |
typedef std::function< bool(const CRef< CSeqGlyph > &, const CRef< CSeqGlyph > &)> | TSorter |
Public Member Functions | |
CSimpleLayout () | |
virtual void | BuildLayout (CLayoutGroup &group, SBoundingBox &bound) const |
CSimpleLayout. More... | |
int | GetVertSpace () const |
CSimpleLayout inline method implementation. More... | |
int | GetTopMargin () const |
TSortingMethod | GetSortingType () const |
void | SetVertSpace (int d) |
void | SetTopMargin (int m) |
void | SetSortingType (TSortingMethod meth) |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (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... | |
![]() | |
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 |
![]() | |
virtual | ~ILayoutPolicy () |
void | SetSorter (TSorter &sorter) |
Private Attributes | |
int | m_VertSpace |
int | m_TopMargin |
TSortingMethod | m_SortingType |
Additional Inherited Members | |
![]() | |
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 void | EnableDebugDump (bool on) |
![]() | |
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... | |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
![]() | |
void | x_SeparateObjects (CLayoutGroup &group, TLayout &layout, SBoundingBox &bound, size_t group_size, int vert_space) const |
Separate objects into multiple sub-groups. More... | |
virtual void | x_SetObjectPos (TLayout &layout, SBoundingBox &bound) const |
Set the objects' position (Y), and update the bounding box of the group (of all objects). More... | |
![]() | |
TSorter | m_Sorter = nullptr |
CSimpleLayout is the simpliest layout policy that simply stack a set of glyphs one on top of the other vertically.
Definition at line 43 of file simple_layout_policy.hpp.
Definition at line 55 of file simple_layout_policy.hpp.
Enumerator | |
---|---|
eSort_No | |
eSort_BySeqPos | seq start position |
eSort_BySeqSize | sequence length |
Definition at line 48 of file simple_layout_policy.hpp.
|
inline |
Definition at line 57 of file simple_layout_policy.hpp.
|
virtual |
Implements ILayoutPolicy.
Definition at line 47 of file simple_layout_policy.cpp.
References bound(), eSort_BySeqPos, eSort_BySeqSize, eSort_No, CLayoutGroup::GetChildren(), CSeqGlyph::GetTearline(), ILayoutPolicy::m_Sorter, m_SortingType, m_TopMargin, m_VertSpace, max(), min(), NON_CONST_ITERATE, SGlyphBySeqPos::s_CompareCRefs(), and SGlyphBySeqSize::s_CompareCRefs().
Referenced by CLayoutGroup::x_UpdateBoundingBox().
|
inline |
Definition at line 150 of file simple_layout_policy.hpp.
References m_SortingType.
|
inline |
Definition at line 144 of file simple_layout_policy.hpp.
References m_TopMargin.
|
inline |
CSimpleLayout inline method implementation.
Definition at line 138 of file simple_layout_policy.hpp.
References m_VertSpace.
|
inline |
Definition at line 168 of file simple_layout_policy.hpp.
References m_SortingType.
Referenced by CAlignmentTrack::x_OnLayoutPolicyChanged(), and CFeatureTrack::x_OnLayoutPolicyChanged().
|
inline |
Definition at line 162 of file simple_layout_policy.hpp.
References m_TopMargin.
Referenced by CFeaturePanel::CFeaturePanel(), and CLayoutGroup::x_UpdateBoundingBox().
|
inline |
Definition at line 156 of file simple_layout_policy.hpp.
References m_VertSpace.
Referenced by CAlignmentTrack::CAlignmentTrack(), CEpigenomicsTrack::CEpigenomicsTrack(), CFeaturePanel::CFeaturePanel(), CGlyphContainer::CGlyphContainer(), CLDBlockTrack::CLDBlockTrack(), CSequenceTrack::CSequenceTrack(), CFeatureTrack::x_AdjustFeatureLayout(), CFeatureTrack::x_LoadSettings(), CSixFramesTransTrack::x_LoadSettings(), and CLayoutGroup::x_UpdateBoundingBox().
|
private |
Definition at line 75 of file simple_layout_policy.hpp.
Referenced by BuildLayout(), GetSortingType(), and SetSortingType().
|
private |
Definition at line 74 of file simple_layout_policy.hpp.
Referenced by BuildLayout(), GetTopMargin(), and SetTopMargin().
|
private |
Definition at line 73 of file simple_layout_policy.hpp.
Referenced by BuildLayout(), GetVertSpace(), and SetVertSpace().