00001
00042 #include "aiconfigtools.hpp"
00043
00044 using namespace AiFractals;
00045
00046 AiConfigTools::AiConfigTools( QWidget * parent )
00047 :QWidget( parent ), m_currentValue(0)
00048 {
00049 QPushButton * zoomIn= new QPushButton( tr("Zoom In") );
00050 zoomIn->setIcon( QIcon( tr(":/png/zoom-in") ) );
00051 connect( zoomIn , SIGNAL(clicked()), this, SIGNAL(zoomIn()) );
00052
00053 QPushButton * zoomOut= new QPushButton( tr("Zoom Out") );
00054 zoomOut->setIcon( QIcon( tr(":/png/zoom-out") ) );
00055 connect( zoomOut , SIGNAL(clicked()), this, SIGNAL(zoomOut()) );
00056
00057 QPushButton * zoomArea= new QPushButton( tr("Zoom Area") );
00058 zoomArea->setIcon( QIcon( tr(":/png/zoom-area") ) );
00059 zoomArea->setCheckable(true);
00060 connect( zoomArea , SIGNAL(clicked(bool)), this, SIGNAL(zoomArea(bool)) );
00061 connect( this, SIGNAL( zoomAreaCheck(bool) ), zoomArea, SLOT(setChecked(bool)) );
00062
00063 QPushButton * horizontalMirror= new QPushButton( tr("Horizontal Mirror") );
00064 horizontalMirror->setIcon( QIcon( tr(":/png/d+180") ) );
00065 connect( horizontalMirror , SIGNAL(clicked()), this, SIGNAL(horizontalMirror()) );
00066
00067 QPushButton * verticalMirror= new QPushButton( tr("Vertical Mirror") );
00068 verticalMirror->setIcon( QIcon( tr(":/png/d-90") ) );
00069 connect( verticalMirror , SIGNAL(clicked()), this, SIGNAL(verticalMirror()) );
00070
00071 QPushButton * clear= new QPushButton( tr("Clear") );
00072 clear->setIcon( QIcon( tr( ":/png/clear") ) );
00073 connect( clear , SIGNAL(clicked()), this, SIGNAL(clear()) );
00074
00075 QDial * retation= new QDial();
00076 retation->setRange(0,360);
00077 retation->setNotchesVisible( true );
00078 retation->setWrapping( true );
00079 retation->setToolTip( tr("Image Rotation x°") );
00080
00081
00082
00083 connect( retation , SIGNAL(valueChanged(int)), this, SLOT(valueChanged(int)) );
00084 connect( retation , SIGNAL(sliderReleased()), this, SLOT(sliderReleased()) );
00085
00086 QVBoxLayout * layout = new QVBoxLayout();
00087 layout->addWidget( zoomIn );
00088 layout->addWidget( zoomOut );
00089 layout->addWidget( zoomArea );
00090 layout->addWidget( horizontalMirror );
00091 layout->addWidget( verticalMirror );
00092 layout->addWidget( retation );
00093 layout->addWidget( clear );
00094
00095 this->setLayout( layout );
00096
00097 }
00098
00099 void AiConfigTools::valueChanged(int value)
00100 {
00101 m_currentValue = value ;
00102 }
00103
00104 void AiConfigTools::sliderReleased()
00105 {
00106 emit rotation( m_currentValue );
00107 }
00108
00109 void AiConfigTools::disableZoomArea()
00110 {
00111 emit zoomAreaCheck( false );
00112 }
00113