Skip to content

Commit

Permalink
More code cleaning. Up to findpolynomial.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
RussellGarwood committed Oct 24, 2018
1 parent 6c91603 commit 08f8889
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 112 deletions.
85 changes: 46 additions & 39 deletions src/distributedialogimpl.cpp
Original file line number Diff line number Diff line change
@@ -1,64 +1,71 @@
#include "distributedialogimpl.h"
#include "globals.h"

DistributeDialogImpl::DistributeDialogImpl( QWidget * parent, Qt::WindowFlags f)
: QDialog(parent, f)
DistributeDialogImpl::DistributeDialogImpl( QWidget *parent, Qt::WindowFlags f)
: QDialog(parent, f)
{
setupUi(this);
setWindowIcon(QIcon(":/icons/ProgramIcon.bmp"));
setupUi(this);
setWindowIcon(QIcon(":/icons/ProgramIcon.bmp"));

}


void DistributeDialogImpl::on_SpinBoxFrom_valueChanged(int v)
{
SpinBoxTo->setMinimum(v+1);
SpinBoxTo->setMinimum(v + 1);
}

void DistributeDialogImpl::on_SpinBoxTo_valueChanged(int v)
{
SpinBoxFrom->setMaximum(v-1);
SpinBoxFrom->setMaximum(v - 1);
}

void DistributeDialogImpl::on_buttonBox_accepted()
{
double range = (double) (SpinBoxTo->value()-SpinBoxFrom->value());

int count=0;
for (int i=0; i<SegmentCount; i++)
{
if (Segments[i]->Activated && Segments[i]->widgetitem!=0)
if (Segments[i]->widgetitem->isSelected()) count++;
}
double range = static_cast<double>(SpinBoxTo->value() - SpinBoxFrom->value());

range/=(double) count;
double pos=(double) SpinBoxFrom->value();
QList <bool> usedflags; for (int i=0; i<SegmentCount; i++) usedflags.append(false);
for (int kloop=0; kloop<SegmentCount; kloop++)
{
//find lowest
int lowestval=999999;
int lowestindex=-1;
for (int j=0; j<SegmentCount; j++)
{
if (Segments[j]->ListOrder<lowestval && usedflags[j]==false && Segments[j]->Activated && Segments[j]->widgetitem->isSelected())
{lowestval=Segments[j]->ListOrder; lowestindex=j;}
}
if (lowestindex==-1) //didn't find any- get out
{close();return;}
int i=lowestindex;
usedflags[i]=true;

//i is now next in list order
Segments[i]->RangeBase=(int)(pos+.5);
Segments[i]->RangeTop=(int)(pos+range+.5);
pos+=range;
}
close();
int count = 0;
for (int i = 0; i < SegmentCount; i++)
{
if (Segments[i]->Activated && Segments[i]->widgetitem != nullptr)
if (Segments[i]->widgetitem->isSelected()) count++;
}

range /= static_cast<double>(count);
double pos = static_cast<double>(SpinBoxFrom->value());
QList <bool> usedflags;
for (int i = 0; i < SegmentCount; i++) usedflags.append(false);
for (int kloop = 0; kloop < SegmentCount; kloop++)
{
//find lowest
int lowestval = 999999;
int lowestindex = -1;
for (int j = 0; j < SegmentCount; j++)
{
if (Segments[j]->ListOrder < lowestval && usedflags[j] == false && Segments[j]->Activated && Segments[j]->widgetitem->isSelected())
{
lowestval = Segments[j]->ListOrder;
lowestindex = j;
}
}
if (lowestindex == -1) //didn't find any- get out
{
close();
return;
}
int i = lowestindex;
usedflags[i] = true;

//i is now next in list order
Segments[i]->RangeBase = static_cast<int>(pos + .5);
Segments[i]->RangeTop = static_cast<int>(pos + range + .5);
pos += range;
}
close();
}

void DistributeDialogImpl::on_buttonBox_rejected()
{
close();
close();
}

0 comments on commit 08f8889

Please sign in to comment.