casa
$Rev:20696$
|
00001 //# Copyright (C) 2005 00002 //# Associated Universities, Inc. Washington DC, USA. 00003 //# 00004 //# This library is free software; you can redistribute it and/or modify it 00005 //# under the terms of the GNU Library General Public License as published by 00006 //# the Free Software Foundation; either version 2 of the License, or (at your 00007 //# option) any later version. 00008 //# 00009 //# This library is distributed in the hope that it will be useful, but WITHOUT 00010 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00011 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00012 //# License for more details. 00013 //# 00014 //# You should have received a copy of the GNU Library General Public License 00015 //# along with this library; if not, write to the Free Software Foundation, 00016 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. 00017 //# 00018 //# Correspondence concerning AIPS++ should be addressed as follows: 00019 //# Internet email: aips2-request@nrao.edu. 00020 //# Postal address: AIPS++ Project Office 00021 //# National Radio Astronomy Observatory 00022 //# 520 Edgemont Road 00023 //# Charlottesville, VA 22903-2475 USA 00024 //# 00025 #ifndef ANIMATORWIDGETT_QO_H 00026 #define ANIMATORWIDGETT_QO_H 00027 00028 #include <QtGui/QWidget> 00029 #include <display/QtViewer/AnimatorWidget.ui.h> 00030 00031 namespace casa { 00032 00038 class AnimatorWidget : public QWidget 00039 { 00040 Q_OBJECT 00041 00042 public: 00043 AnimatorWidget(QWidget *parent = 0); 00044 00045 void setFrameInformation( int frm, int len ); 00046 void setRateInformation( int minr, int maxr, int rate ); 00047 void setModeEnabled( bool enable ); 00048 void setPlaying( int play ); 00049 bool isPlaying() const; 00050 int getRate() const; 00051 int getFrame() const; 00052 int getFrameCount() const; 00053 int getFrameStart() const; 00054 int getFrameEnd() const; 00055 int getStepSize() const; 00056 ~AnimatorWidget(); 00057 00058 signals: 00059 void goTo(int frame); 00060 void setRate(int); 00061 void toStart(); 00062 void revStep(); 00063 void revPlay(); 00064 void stop(); 00065 void fwdStep(); 00066 void fwdPlay(); 00067 void toEnd(); 00068 void frameNumberEdited( int ); 00069 void lowerBoundChanged( int ); 00070 void upperBoundChanged( int ); 00071 void stepSizeChanged( int ); 00072 00073 public slots: 00074 void stopping(); 00075 00076 private slots: 00077 void frameNumberEdited(); 00078 void movieLimitLowerChanged( int value ); 00079 void movieLimitUpperChanged( int value ); 00080 void sliderControl( int action ); 00081 void endToEndMode( bool mode ); 00082 void starting(); 00083 void revStepping(); 00084 00085 void fwdStepping(); 00086 void ending(); 00087 void revPlaying(); 00088 void fwdPlaying(); 00089 00090 private: 00091 int resetFrameBounded( int frameNumber ) const; 00092 void disableAll(); 00093 void blockSignals( bool block ); 00094 int frameCount; 00095 int play; 00096 Ui::AnimatorWidget ui; 00097 bool rateNotSet; 00098 }; 00099 } 00100 #endif // ANIMATORWIDGET_QO_H