Allink
v0.1
|
00001 #include <qapplication.h> 00002 #include <qpushbutton.h> 00003 #include <qlcdnumber.h> 00004 #include <qfont.h> 00005 #include <qlayout.h> 00006 #include <qstatusbar.h> 00007 #include <qlabel.h> 00008 #include <qlineedit.h> 00009 #include <qspinbox.h> 00010 #include <qradiobutton.h> 00011 #include <qbuttongroup.h> 00012 #include <qcheckbox.h> 00013 #include <qslider.h> 00014 #include "ElementiGrafici.h" 00015 #include "VarElementiGrafici.h" 00016 00017 class Finestra: public QWidget{ 00018 public: 00019 Finestra(QWidget *parent=0,const char *name=0); 00020 }; 00021 Finestra::Finestra(QWidget *parent,const char *name) 00022 :QWidget(parent,name){ 00023 // esci 00024 QPushButton *esci = new QPushButton("&Esci",this,"Esci"); 00025 esci->setFont( QFont("Times",18,QFont::Bold) ); 00026 connect(esci, SIGNAL(clicked()), qApp,SLOT(quit()) ); 00027 // Elementi Grafici 00028 ElementiGrafici *e1 = new ElementiGrafici(this,"ElementiGrafici"); 00029 // apri 00030 QPushButton *apri = new QPushButton("&Apri",this,"apri"); 00031 connect(apri, SIGNAL(clicked() ), e1,SLOT(Apri()) ); 00032 // nome file 00033 QLineEdit *nomeFile = new QLineEdit(this,"nomeFile"); 00034 connect(nomeFile,SIGNAL( textChanged(const QString &)),e1,SLOT( NomeFile(const QString &)) ); 00035 connect(e1,SIGNAL( TestoCambiato(const QString &)),nomeFile,SLOT( setText(const QString &)) ); 00036 // segnali 00037 QPushButton *segnali = new QPushButton("&Segnale",this,"segnali"); 00038 connect(segnali, SIGNAL(clicked() ), e1,SLOT(PuntiSegnale()) ); 00039 // distr 00040 QPushButton *distr = new QPushButton("&Distr",this,"distr"); 00041 connect(distr, SIGNAL(clicked() ), e1,SLOT(PuntiDistribuzione()) ); 00042 // spettro 00043 QPushButton *spettro = new QPushButton("&Spettro",this,"Spettro"); 00044 connect(spettro, SIGNAL(clicked() ), e1,SLOT(PuntiSpettro()) ); 00045 // radice 00046 QPushButton *radice = new QPushButton("&Radice",this,"Radice"); 00047 connect(radice, SIGNAL(clicked() ), e1,SLOT(PuntiRadice()) ); 00048 // autocor 00049 QPushButton *autocor = new QPushButton("&ACcor",this,"autocor"); 00050 connect(autocor, SIGNAL(clicked() ), e1,SLOT(PuntiAutocor()) ); 00051 // integrale 00052 QPushButton *integrale = new QPushButton("&Int",this,"integrale"); 00053 connect(integrale, SIGNAL(clicked() ), e1,SLOT(PuntiIntegrale()) ); 00054 // interRett 00055 QPushButton *interRett = new QPushButton("&InRett",this,"interRett"); 00056 connect(interRett, SIGNAL(clicked() ), e1,SLOT(PuntiInterRett()) ); 00057 // parabola 00058 QPushButton *parabola = new QPushButton("&Para",this,"parabola"); 00059 connect(parabola, SIGNAL(clicked() ), e1,SLOT(PuntiParabola()) ); 00060 // mediaMobile 00061 QPushButton *mediaMobile = new QPushButton("&mMob",this,"mediaMobile"); 00062 connect(mediaMobile, SIGNAL(clicked() ), e1,SLOT(PuntiMediaMob()) ); 00063 // correlaADue 00064 QPushButton *correlaADue = new QPushButton("&Cor2",this,"corrADue"); 00065 connect(correlaADue, SIGNAL(clicked() ), e1,SLOT(PuntiCorrelaADue()) ); 00066 // salva 00067 QPushButton *salva = new QPushButton("&Salva",this,"autocor"); 00068 connect(salva, SIGNAL(clicked() ), e1,SLOT(Salva()) ); 00069 // nomeSalva 00070 QLineEdit *nomeSalva = new QLineEdit(this,"nomeSalva"); 00071 connect(nomeSalva,SIGNAL( textChanged(const QString &)),e1,SLOT( NomeSalva(const QString &)) ); 00072 connect(e1,SIGNAL( SalvaCambiato(const QString &)),nomeSalva,SLOT( setText(const QString &)) ); 00073 // ridisegna 00074 QPushButton *ridisegna = new QPushButton("&R",this,"ridisegna"); 00075 connect(ridisegna,SIGNAL(clicked() ),e1,SLOT(Ridisegna()) ); 00076 // sulSegnale 00077 QRadioButton *sulSegnale = new QRadioButton("Sul &segnale",this,"sulSegnale"); 00078 // sulSegnale->toggle(); 00079 connect(sulSegnale,SIGNAL(toggled(bool) ),e1,SLOT(SulSegnale(bool)) ); 00080 connect(e1,SIGNAL(SegnaleGrafico(bool) ),sulSegnale,SLOT(setChecked(bool)) ); 00081 // sulGrafico 00082 QRadioButton *sulGrafico = new QRadioButton("Sul &grafico",this,"sulGrafico"); 00083 connect(sulGrafico,SIGNAL(toggled(bool) ),e1,SLOT(SulGrafico(bool)) ); 00084 // cosaElabora 00085 QButtonGroup *cosaElabora = new QButtonGroup("Elabora",this,"cosaElabora"); 00086 cosaElabora->setRadioButtonExclusive( TRUE ); 00087 cosaElabora->insert(sulSegnale,0); 00088 cosaElabora->insert(sulGrafico,1); 00089 cosaElabora->setButton(0); 00090 // disegna linee 00091 QCheckBox *linee = new QCheckBox("&Linee",this,"linee"); 00092 linee->toggle(); 00093 connect(linee,SIGNAL(clicked() ),e1,SLOT(DisegnaLinee()) ); 00094 // disegna punti 00095 QCheckBox *punti = new QCheckBox("&Punti",this,"punti"); 00096 connect(punti,SIGNAL(clicked() ),e1,SLOT(DisegnaPunti()) ); 00097 // disegna griglia 00098 QCheckBox *griglia = new QCheckBox("&Griglia",this,"griglia"); 00099 connect(griglia,SIGNAL(clicked() ),e1,SLOT(DisegnaGriglia()) ); 00100 // LogLog 00101 QCheckBox *LogLog = new QCheckBox("&LogLog",this,"LogLog"); 00102 connect(LogLog,SIGNAL(clicked() ),e1,SLOT(DisegnaLogLog()) ); 00103 connect(e1,SIGNAL(LogLogCambiato(bool) ),LogLog,SLOT(setChecked(bool)) ); 00104 // cosaDisegna 00105 QButtonGroup *cosaDisegna = new QButtonGroup("Disegna",this,"cosaDisegna"); 00106 cosaDisegna->insert(linee,-1); 00107 cosaDisegna->insert(punti,-1); 00108 cosaDisegna->insert(griglia,-1); 00109 cosaDisegna->insert(LogLog,-1); 00110 // Barra 00111 QStatusBar *Barra = new QStatusBar(this,"Barra"); 00112 connect(e1,SIGNAL(Stato(const QString &) ),Barra,SLOT( message(const QString &)) ); 00113 // Valori 00114 QSpinBox *Valori = new QSpinBox(2,100,20,this,"Valori"); 00115 connect(Valori,SIGNAL(valueChanged(int)),e1,SLOT(ImpValori(int)) ); 00116 connect(e1,SIGNAL(ValoriCambiati(int)),Valori,SLOT(setValue(int)) ); 00117 QLabel *etValori = new QLabel(" ",this,"etValori"); 00118 etValori->setAlignment( AlignCenter); 00119 etValori->setText("Valori"); 00120 // NMobile 00121 QSpinBox *NMobile = new QSpinBox(2,100,5,this,"NMobile"); 00122 connect(NMobile,SIGNAL(valueChanged(int)),e1,SLOT(ImpNMobile(int)) ); 00123 connect(e1,SIGNAL(NMobileCambiato(int)),NMobile,SLOT(setValue(int)) ); 00124 QLabel *etNMobile = new QLabel(" ",this,"etNMobile"); 00125 etNMobile->setAlignment( AlignCenter); 00126 etNMobile->setText("Media Mobile"); 00127 // NCorrela 00128 QSpinBox *NCorrela = new QSpinBox(2,100,2,this,"NCorrela"); 00129 connect(NCorrela,SIGNAL(valueChanged(int)),e1,SLOT(ImpNCorrela(int)) ); 00130 connect(e1,SIGNAL(NCorrelaCambiato(int)),NCorrela,SLOT(setValue(int)) ); 00131 QLabel *etNCorrela = new QLabel(" ",this,"etNCorrela"); 00132 etNCorrela->setAlignment( AlignCenter); 00133 etNCorrela->setText("Correla a due"); 00134 // NVisMin 00135 ImpostaValori *NVisMin = new ImpostaValori(this,"NVisMin"); 00136 connect(NVisMin,SIGNAL(ValoreCambiato(int)),e1,SLOT(ImpNVisMin(int)) ); 00137 connect(e1,SIGNAL(NVisMinCambiato(int)),NVisMin,SLOT(ImpNumero(int)) ); 00138 connect(e1,SIGNAL(InterVisCambiato(int)),NVisMin,SLOT(ImpInter(int)) ); 00139 // NVisMass 00140 ImpostaValori *NVisMass = new ImpostaValori(this,"NVisMass"); 00141 connect(NVisMass,SIGNAL(ValoreCambiato(int)),e1,SLOT(ImpNVisMass(int)) ); 00142 connect(e1,SIGNAL(NVisMassCambiato(int)),NVisMass,SLOT(ImpNumero(int)) ); 00143 connect(e1,SIGNAL(InterVisCambiato(int)),NVisMass,SLOT(ImpInter(int)) ); 00144 // NElMin 00145 ImpostaValori *NElMin = new ImpostaValori(this,"NElMin"); 00146 connect(NElMin,SIGNAL(ValoreCambiato(int)),e1,SLOT(ImpNElMin(int)) ); 00147 connect(e1,SIGNAL(NElMinCambiato(int)),NElMin,SLOT(ImpNumero(int)) ); 00148 connect(e1,SIGNAL(InterVisCambiato(int,int)),NElMin,SLOT(ImpInter(int,int)) ); 00149 // NElMass 00150 ImpostaValori *NElMass = new ImpostaValori(this,"NElMass"); 00151 connect(NElMass,SIGNAL(ValoreCambiato(int)),e1,SLOT(ImpNElMass(int)) ); 00152 connect(e1,SIGNAL(NElMassCambiato(int)),NElMass,SLOT(ImpNumero(int)) ); 00153 connect(e1,SIGNAL(InterVisCambiato(int,int)),NElMass,SLOT(ImpInter(int,int)) ); 00154 00155 QGridLayout *grid= new QGridLayout( this,4,2,10); 00156 grid->addWidget(esci,0,0); 00157 grid->addWidget(e1,1,1); 00158 grid->setColStretch(1,10); 00159 grid->setRowStretch(1,10); 00160 00161 QVBoxLayout *ASinistra = new QVBoxLayout; 00162 grid->addLayout(ASinistra,1,0); 00163 grid->setRowSpacing(1,400); 00164 ASinistra->addWidget(Valori); 00165 ASinistra->addSpacing(-10); 00166 ASinistra->addWidget(etValori); 00167 ASinistra->addWidget(NMobile); 00168 ASinistra->addSpacing(-10); 00169 ASinistra->addWidget(etNMobile); 00170 ASinistra->addWidget(NCorrela); 00171 ASinistra->addSpacing(-10); 00172 ASinistra->addWidget(etNCorrela); 00173 ASinistra->addWidget(cosaElabora); 00174 ASinistra->addSpacing(5); 00175 ASinistra->addWidget(sulSegnale); 00176 ASinistra->addSpacing(-10); 00177 ASinistra->addWidget(sulGrafico); 00178 ASinistra->addWidget(apri); 00179 ASinistra->addSpacing(-10); 00180 ASinistra->addWidget(nomeFile); 00181 ASinistra->addWidget(salva); 00182 ASinistra->addSpacing(-10); 00183 ASinistra->addWidget(nomeSalva); 00184 ASinistra->addWidget(cosaDisegna); 00185 ASinistra->addSpacing(5); 00186 ASinistra->addWidget(linee); 00187 ASinistra->addSpacing(-10); 00188 ASinistra->addWidget(punti); 00189 ASinistra->addSpacing(-10); 00190 ASinistra->addWidget(griglia); 00191 ASinistra->addSpacing(-10); 00192 ASinistra->addWidget(LogLog); 00193 QVBoxLayout *ASinistraGiu = new QVBoxLayout; 00194 grid->addLayout(ASinistraGiu,3,0); 00195 00196 00197 QHBoxLayout *InAlto = new QHBoxLayout; 00198 grid->addLayout(InAlto,0,1); 00199 InAlto->addWidget(segnali); 00200 InAlto->addWidget(distr); 00201 InAlto->addWidget(spettro); 00202 InAlto->addWidget(radice); 00203 InAlto->addWidget(autocor); 00204 InAlto->addWidget(integrale); 00205 InAlto->addWidget(mediaMobile); 00206 InAlto->addWidget(correlaADue); 00207 InAlto->addWidget(interRett); 00208 InAlto->addWidget(parabola); 00209 00210 // QHBoxLayout *MenoInAlto = new QHBoxLayout; 00211 // grid->addLayout(MenoInAlto,2,1); 00212 00213 QHBoxLayout *InBasso = new QHBoxLayout; 00214 grid->addLayout(InBasso,2,1); 00215 InBasso->addWidget(NElMin); 00216 InBasso->addWidget(NElMass); 00217 InBasso->addWidget(ridisegna); 00218 InBasso->addWidget(NVisMin); 00219 InBasso->addWidget(NVisMass); 00220 00221 QHBoxLayout *InBasso2 = new QHBoxLayout; 00222 grid->addLayout(InBasso2,3,1); 00223 InBasso2->addWidget(Barra); 00224 00225 } 00226 int main(int argc,char **argv){ 00227 QApplication::setColorSpec( QApplication::CustomColor ); 00228 QApplication a(argc,argv); 00229 00230 Finestra f; 00231 f.setGeometry(0,200,800,355); 00232 a.setMainWidget( &f ); 00233 f.show(); 00234 00235 return a.exec(); 00236 }