#include <layout.hpp>
Inheritance diagram for C2DLayoutEngine:


This class can perform layout of a number of objects into a single panel f multiple rows.
Definition at line 286 of file layout.hpp.
Public Member Functions | |
| C2DLayoutEngine () | |
| TSeqPos | GetMinDist (void) const |
| access the minimum distance, in bases, that we permit between objects on a given row | |
| void | SetMinDist (TSeqPos dist) |
| void | SetSideSpace (TSeqPos space) |
| virtual void | Layout (TObjects &objects, CLayout &layout, bool side_label=false) |
Private Attributes | |
| TSeqPos | m_MinDist |
| the minimum distance we permit two items to be within | |
| TSeqPos | m_SideSpace |
| preserved left side space for label. | |
|
|
Definition at line 289 of file layout.hpp. |
|
||||||||||||||||
|
guard against problems with whole ranges CRef<CLayoutObject> obj = *riter; TSeqRange range = obj->GetLocation().GetTotalRange(); TSeqRange test_range(range); if (test_range.GetFrom() > m_MinDist) { test_range.SetFrom(test_range.GetFrom() - m_MinDist); } else { test_range.SetFrom(0); } test_range.SetTo(test_range.GetTo() + m_MinDist); bool placed = false; size_t row = 0; TRowRanges::iterator row_iter = ranges.begin(); for ( ; row_iter != ranges.end(); ++row_iter, ++row) { if ( !row_iter->IntersectingWith(test_range) ) { break; } } if (row_iter == ranges.end()) { begin an entirely new row layout.AddRow(); ranges.push_back(CRangeCollection<TSeqPos>()); row_iter = ranges.end(); --row_iter; } CLayout::TLayoutRow& lr = layout.SetRow(row); lr.push_back(obj); row_iter += range; Definition at line 341 of file layout.cpp. References CLayout::Clear(), COpenRange< Position >::GetFrom(), m_MinDist, m_SideSpace, and COpenRange< Position >::SetFrom(). |
|
|
the minimum distance we permit two items to be within
Definition at line 304 of file layout.hpp. Referenced by GetMinDist(), Layout(), and SetMinDist(). |
|
|
preserved left side space for label.
Definition at line 305 of file layout.hpp. Referenced by Layout(), and SetSideSpace(). |
1.4.6
Modified on Mon Dec 07 16:22:22 2009 by modify_doxy.py rev. 173732