SurfaceAnimatorDialog::SurfaceAnimatorDialog(Layer::Molecule* molecule) :
    QDialog(QApplication::activeWindow()), m_molecule(molecule), m_loop(false),
    m_bounce(false), m_updateBonds(false), m_animator(0)
{
    m_dialog.setupUi(this);
    m_colorPositive = Preferences::PositiveSurfaceColor();
    m_colorNegative = Preferences::NegativeSurfaceColor();
    setPositiveColor(m_colorPositive);
    setNegativeColor(m_colorNegative);
    m_dialog.playbackBox->setEnabled(false);

    m_dialog.speedSlider->setValue(25);

    on_speedSlider_valueChanged(25);
    m_dialog.transparencySlider->setValue(100);

    connect(this, SIGNAL(pushAnimators(AnimatorList const&)),
            m_molecule, SIGNAL(pushAnimators(AnimatorList const&)));

    connect(this, SIGNAL(popAnimators(AnimatorList const&)),
            m_molecule, SIGNAL(popAnimators(AnimatorList const&)));

    connect(this, SIGNAL(updated()), m_molecule, SIGNAL(softUpdate()));
}
void SurfaceAnimatorDialog::on_positiveColorButton_clicked(bool)
{
    setPositiveColor(QColorDialog::getColor(m_colorPositive, this));
}
void CubeData::on_positiveColorButton_clicked(bool)
{
   setPositiveColor(QColorDialog::getColor(Preferences::PositiveSurfaceColor(), this));
}
void MolecularOrbitals::on_positiveColorButton_clicked(bool)
{
   setPositiveColor(QColorDialog::getColor(Preferences::PositiveSurfaceColor(), this));
}
CubeData::CubeData(Layer::CubeData* cubeFile) : m_cubeFile(cubeFile)
{
   m_cubeDataConfigurator.setupUi(this);
   setPositiveColor(Preferences::PositiveSurfaceColor());
   setNegativeColor(Preferences::NegativeSurfaceColor());
}