/****************************************************************************** * Copyright (C) 2008 by Oliver Bock * * oliver.bock[AT]aei.mpg.de * * * * This file is part of PulsatingScience. * * * * PulsatingScience is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published * * by the Free Software Foundation, version 3 of the License. * * * * PulsatingScience is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with PulsatingScience. If not, see . * * * ******************************************************************************/ #ifndef PULSATINGSCIENCE_H #define PULSATINGSCIENCE_H #include #include #include #include "ui_pulsatingscience.h" class PulsatingScience : public QMainWindow { Q_OBJECT public: PulsatingScience(QWidget *parent = 0); ~PulsatingScience(); public slots: void on_pushRun_clicked(); void on_pushPause_clicked(); void on_pushStop_clicked(); void on_radioCompanionWD_toggled(bool checked); void on_radioCompanionSun_toggled(bool checked); void on_radioCompanionNS_toggled(bool checked); void on_sliderPulsarMass_valueChanged(int value); void on_sliderPulsarSpinFrequency_valueChanged(int value); void on_sliderPulsarSpinAxisInclination_valueChanged(int value); void on_sliderPulsarMagneticAxisInclination_valueChanged(int value); void on_sliderPulsarSemiMajorAxis_valueChanged(int value); void permanentOrbitsToggled(); void on_actionPermanent_orbits_toggled(bool checked); void rotationAxesToggled(); void on_actionRotationAxes_toggled(bool checked); void fullscreenToggled(); void on_actionFullscreen_toggled(bool checked); void menuBarToggled(); void on_actionMenu_bar_toggled(bool checked); void on_actionStatus_bar_toggled(bool checked); void on_dockAnimControl_visibilityChanged(bool visible); void on_dockAnimControl_topLevelChanged(bool topLevel); void on_actionAbout_activated(); void updatePulsarSemiMajorAxisValue(double value); private: Ui::PulsatingScienceClass ui; QShortcut *m_runShortcut; QShortcut *m_pauseShortcut; QShortcut *m_stopShortcut; QShortcut *m_permanentOrbitsShortcut; QShortcut *m_rotationAxesShortcut; QShortcut *m_menuBarShortcut; QShortcut *m_fullscreenShortcut; bool m_permanentOrbits; bool m_rotationAxesVisible; bool m_menuBarVisible; bool m_statusBarVisible; bool m_animControlVisible; bool m_animControlFloating; }; #endif // PULSATINGSCIENCE_H