3 @author Bruno M. Carvalho and Deniz Sarioz
4 licensed under (open-source) QPL v1.0
5 which accompanies this distribution in the file QPL
10 #include "variables.h"
15 #include <qcheckbox.h>
18 #include <qlineedit.h>
19 #include <qpushbutton.h>
20 #include <qradiobutton.h>
24 #include <qwhatsthis.h>
25 #include <qmessagebox.h>
28 * Constructs a modewindow which is a child of 'parent', with the
29 * name 'name' and widget flags set to 'f'
31 * The dialog will by default be modeless, unless you set 'modal' to
32 * TRUE to construct a modal dialog.
34 @author Bruno M. Carvalho
36 modewindow::modewindow( QWidget* parent, const char* name, bool modal, WFlags fl )
37 : QDialog( parent, name, modal, fl )
40 setName( "modewindow" );
42 setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, sizePolicy().hasHeightForWidth() ) );
43 setMinimumSize( QSize( 400, 250 ) );
44 setMaximumSize( QSize( 400, 250 ) );
45 setCaption( tr( "Mode Window" ) );
47 modelabel = new QLabel( this, "modelabel" );
48 modelabel->setGeometry( QRect( 10, 10, 70, 30 ) );
49 modelabel->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, modelabel->sizePolicy().hasHeightForWidth() ) );
50 modelabel->setMinimumSize( QSize( 70, 30 ) );
51 modelabel->setMaximumSize( QSize( 70, 30 ) );
52 modelabel->setText( tr( "MODE" ) );
54 lowerbox = new QCheckBox( this, "lowerbox" );
55 lowerbox->setGeometry( QRect( 30, 60, 80, 30 ) );
56 lowerbox->setText( tr( "LOWER" ) );
57 QObject::connect(lowerbox,SIGNAL(clicked()),this,SLOT(activateLowerFields()));
59 lowervalue = new QLineEdit( this, "lowervalue" );
60 lowervalue->setGeometry( QRect( 130, 60, 110, 30 ) );
61 lowervalue->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, lowervalue->sizePolicy().hasHeightForWidth() ) );
62 lowervalue->setEnabled(FALSE);
64 lowervaluelabel = new QLabel( this, "lowervaluelabel" );
65 lowervaluelabel->setEnabled( FALSE );
66 lowervaluelabel->setGeometry( QRect( 140, 40, 90, 20 ) );
67 lowervaluelabel->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)1, lowervaluelabel->sizePolicy().hasHeightForWidth() ) );
68 lowervaluelabel->setText( tr( "lower_value" ) );
69 lowervaluelabel->setEnabled(FALSE);
71 upperbox = new QCheckBox( this, "upperbox" );
72 upperbox->setGeometry( QRect( 30, 130, 80, 30 ) );
73 upperbox->setText( tr( "UPPER" ) );
74 QObject::connect(upperbox,SIGNAL(clicked()),this,SLOT(activateUpperFields()));
76 uppervalue = new QLineEdit( this, "uppervalue" );
77 uppervalue->setGeometry( QRect( 130, 130, 110, 30 ) );
78 uppervalue->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, uppervalue->sizePolicy().hasHeightForWidth() ) );
79 uppervalue->setEnabled(FALSE);
81 uppervaluelabel = new QLabel( this, "uppervaluelabel" );
82 uppervaluelabel->setGeometry( QRect( 140, 110, 90, 20 ) );
83 uppervaluelabel->setText( tr( "upper_value" ) );
84 uppervaluelabel->setEnabled(FALSE);
86 Line9 = new QFrame( this, "Line9" );
87 Line9->setGeometry( QRect( -10, 175, 420, 16 ) );
88 Line9->setFrameStyle( QFrame::HLine | QFrame::Sunken );
90 okbutton = new QPushButton( this, "okbutton" );
91 okbutton->setGeometry( QRect( 50, 190, 100, 40 ) );
92 okbutton->setText( tr( "OK" ) );
93 QObject::connect(okbutton,SIGNAL(clicked()),this,SLOT(checkValues()));
95 cancelbutton = new QPushButton( this, "cancelbutton" );
96 cancelbutton->setGeometry( QRect( 250, 190, 100, 40 ) );
97 cancelbutton->setText( tr( "Cancel" ) );
98 QObject::connect(cancelbutton,SIGNAL(clicked()),this,SLOT(reject()));
102 * Destroys the object and frees any allocated resources
104 modewindow::~modewindow()
106 // no need to delete child widgets, Qt does it all for us
109 /* Activates lower and upper fields
111 @author Bruno M. Carvalho
113 /* void modewindow::activateFields()
115 if(modelabel->isChecked()) {
116 lowerbox->setEnabled(TRUE);
117 upperbox->setEnabled(TRUE);
120 lowerbox->setEnabled(FALSE);
121 upperbox->setEnabled(FALSE);
122 lowervalue->setEnabled(FALSE);
123 lowervaluelabel->setEnabled(FALSE);
124 uppervalue->setEnabled(FALSE);
125 uppervaluelabel->setEnabled(FALSE);
129 /** Activates lower subfields
131 @author Bruno M. Carvalho
133 void modewindow::activateLowerFields()
135 if(lowerbox->isChecked()) {
136 lowervalue->setEnabled(TRUE);
137 lowervaluelabel->setEnabled(TRUE);
140 lowervalue->setEnabled(FALSE);
141 lowervaluelabel->setEnabled(FALSE);
145 /** Activates upper subfields
147 @author Bruno M. Carvalho
149 void modewindow::activateUpperFields()
151 if(upperbox->isChecked()) {
152 uppervalue->setEnabled(TRUE);
153 uppervaluelabel->setEnabled(TRUE);
156 uppervalue->setEnabled(FALSE);
157 uppervaluelabel->setEnabled(FALSE);
161 /** Returns a string for MODE input sequence
164 @author Bruno M. Carvalho
166 QString modewindow::getOutput()
170 output.sprintf("MODE ");
171 if(lowerbox->isChecked()) {
172 output.append("LOWER ");
173 output+=lowervalue->text();
176 if(upperbox->isChecked()) {
177 output.append("UPPER ");
178 output+=uppervalue->text();
184 void modewindow::checkValues()
189 if(lowerbox->isChecked()) {
190 l=strtof((const char *)lowervalue->text());
193 if(upperbox->isChecked()) {
194 u=strtof((const char *)uppervalue->text());
204 case 1: QMessageBox::information(this,"SnarkInput","Error!\n"
205 "Invalid lower_value format.");
206 lowerbox->setFocus();
208 case 2: QMessageBox::information(this,"SnarkInput","Error!\n"
209 "Invalid upper_value format.");
210 upperbox->setFocus();
212 case 3: QMessageBox::information(this,"SnarkInput","Error!\n"
213 "lower_value bigger than upper_value.");
214 lowerbox->setFocus();