mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
New template-based-function: remove the uneeded items on a QList.
This function is for non-duplication of code for different QLists, since I now have Texts and Lines, I needed to make the code in a way that it worked without dupplication. It's a pretty standard use of templates, I think that even the C guys will not be offended by it. :) Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
fc55b2abfe
commit
0c5fd7db8e
2 changed files with 22 additions and 7 deletions
|
@ -64,7 +64,8 @@ DiveCartesianAxis::DiveCartesianAxis() : QObject(),
|
|||
interval(1),
|
||||
labelScale(1.0),
|
||||
tick_size(0),
|
||||
textVisibility(true)
|
||||
textVisibility(true),
|
||||
line_size(-1)
|
||||
{
|
||||
setPen(gridPen());
|
||||
}
|
||||
|
@ -74,6 +75,11 @@ DiveCartesianAxis::~DiveCartesianAxis()
|
|||
|
||||
}
|
||||
|
||||
void DiveCartesianAxis::setLineSize(qreal lineSize)
|
||||
{
|
||||
line_size = lineSize;
|
||||
}
|
||||
|
||||
void DiveCartesianAxis::setOrientation(Orientation o)
|
||||
{
|
||||
orientation = o;
|
||||
|
@ -95,6 +101,15 @@ void DiveCartesianAxis::setTextVisible(bool arg1)
|
|||
}
|
||||
}
|
||||
|
||||
template<typename T> void emptyList( QList<T*>& list, double steps){
|
||||
if (!list.isEmpty() && list.size() > steps) {
|
||||
while (list.size() > steps) {
|
||||
T *removedItem = list.takeLast();
|
||||
Animations::animDelete(removedItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DiveCartesianAxis::updateTicks()
|
||||
{
|
||||
if (!scene())
|
||||
|
@ -108,12 +123,9 @@ void DiveCartesianAxis::updateTicks()
|
|||
if (steps < 1)
|
||||
return;
|
||||
|
||||
if (!labels.isEmpty() && labels.size() > steps) {
|
||||
while (labels.size() > steps) {
|
||||
DiveTextItem *removedText = labels.takeLast();
|
||||
Animations::animDelete(removedText);
|
||||
}
|
||||
}
|
||||
emptyList(labels, steps);
|
||||
emptyList(lines, steps);
|
||||
|
||||
// Move the remaining Ticks / Text to it's corerct position
|
||||
// Regartind the possibly new values for the Axis
|
||||
qreal begin, stepSize;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue