#include "test1.h"
#include<QString>
#include<QDialog>
#include<QTextEdit>
#include<QPainter>
#include<QtGui>
Test1::Test1()
{
QWidget *zone1 = new QWidget;
//menu fichier
QMenu *menuFichier = menuBar()->addMenu("&Fichier");
QAction *newFile =menuFichier->addAction ("&New");
newFile->setIcon(QIcon("New.png"));
newFile->setShortcut(QKeySequence("Ctrl+N"));
QAction *openFile =menuFichier->addAction ("&Open");
openFile->setIcon(QIcon("Open.png"));
openFile->setShortcut(QKeySequence("Ctrl+O"));
QAction *saveFile =menuFichier->addAction ("&Save");
saveFile->setIcon(QIcon("save.png"));
saveFile->setShortcut(QKeySequence("Ctrl+S"));
QAction *saveAsFile =menuFichier->addAction ("Save As");
saveAsFile->setIcon(QIcon("saveas.png"));
QMenu *fichiersRecents = menuFichier->addMenu("Fichiers &r�cents");
fichiersRecents->addAction("Fichier bidon 1.txt");
fichiersRecents->addAction("Fichier bidon 2.txt");
fichiersRecents->addAction("Fichier bidon 3.txt");
QAction *actionQuitter = menuFichier->addAction("&Quitter");
connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
actionQuitter->setIcon(QIcon("quitter.png"));
//*******Edition *******
QMenu *menuEdition = menuBar()->addMenu("&Edition");
QAction *copyFile =menuEdition->addAction ("&Copier");
copyFile->setIcon(QIcon("copy.png"));
copyFile->setShortcut(QKeySequence("Ctrl+C"));
QAction *cutFile =menuEdition->addAction ("Couper");
cutFile->setIcon(QIcon("cut.png"));
cutFile->setShortcut(QKeySequence("Ctrl+X"));
QAction *pastFile =menuEdition->addAction ("Coller");
pastFile->setIcon(QIcon("paste.png"));
pastFile->setShortcut(QKeySequence("Ctrl+V"));
QAction *sellectAllFile =menuEdition->addAction ("selectionner tout");
sellectAllFile->setIcon(QIcon("selectall.png"));
//*******Aide **********
QMenu *menuaide = menuBar()->addMenu("Aide?");
QAction *aproposFile =menuaide->addAction ("a propos");
//******** bar d'outile ****
QToolBar *toolBarFichier = addToolBar("Fichier");
toolBarFichier->addAction(newFile);
toolBarFichier->addAction(openFile);
toolBarFichier->addAction(saveFile);
toolBarFichier->addAction(copyFile);
toolBarFichier->addAction(cutFile);
//********* bar d'etat *********
QStatusBar *barreEtat = statusBar();
barreEtat->showMessage("Pr�t");
actionQuitter->setStatusTip("Quitte le programme");
//******* zone central*********
//creat layout
QVBoxLayout *mainLayout = new QVBoxLayout();
QHBoxLayout *horLayout1 = new QHBoxLayout;
QHBoxLayout *horLayout2 = new QHBoxLayout;
//creat row
ro = new QLineEdit();
lab=new QLabel("Row : ");
horLayout1->addWidget(lab);
horLayout1->addWidget(ro);
// creat Colm
lab1 = new QLabel ("Column : ");
co = new QLineEdit();
horLayout2->addWidget(lab1);
horLayout2->addWidget(co);
// nombre initial des colonnes et des lignes
ro->setText("1");
co->setText("1");
// creat button
button = new QPushButton("creer table");
connect(button, SIGNAL(clicked()), this, SLOT(btnApply_clicked()));
button1 = new QPushButton("Appliquer");
connect(button1,SIGNAL(clicked()),this,SLOT(b_click()));
button2 = new QPushButton ("Graphe");
connect(button2,SIGNAL(clicked()),this,SLOT(b2_click()));
//creat tableview
tabv = new QTableView;
tabv->setSelectionBehavior(QAbstractItemView::SelectItems );
tabv->setSelectionMode( QAbstractItemView::ExtendedSelection );
// setting layout
mainLayout->addLayout(horLayout1);
mainLayout->addLayout(horLayout2);
mainLayout->addWidget(button);
mainLayout->addWidget(tabv);
mainLayout->addWidget(button1);
mainLayout->addWidget(button2);
zone1->setLayout(mainLayout);
setCentralWidget(zone1);
}
void Test1::btnApply_clicked()
{
nrow = ro->text().toInt();
ncol = co->text().toInt();
//create model
model = new QStandardItemModel( nrow, ncol, this );
//create QTableview Horizontal Header
for (int r=0; r<ncol; r++)
model->setHorizontalHeaderItem( r, new QStandardItem( QString("Column_ %0" ).arg(r)) );
//fill model value
for( int r=0; r<nrow; r++ )
{
for( int c=0; c<ncol; c++)
{
item = new QStandardItem(QString("? "));
model->setItem(r, c, item);
}
}
//set model
tabv->setModel(model);
}
void Test1::b_click()
{float row=0.,col=0.,tab[nrow];
int i1=0,p1=nrow/2;
wid =new QWidget;
wid->setFixedSize(300,300);
QTextEdit *l = new QTextEdit(wid);
l->move (10,50);
model->data(model->index(row, col), Qt::DisplayRole);
//********* ***********************************
float sum = 0.;
for (int column = ncol-1; column < ncol; ++column) {
for (int row = 0; row < nrow; ++row) {
QStandardItem *tableItem = model->item(row, column);
sum += tableItem->text().toInt();
}
}
float m= sum/nrow;
l->append( "la Moyenne General : " + QString::number(m) );
l->append(" --------------");
//*********************************************
int k=0,h=1;
for(int i=0;i<ncol-1;++i)
{ float s1=0,s2=0,s=0;
for(int j=0;j<nrow;++j)
{ QStandardItem *tbmod=model->item(j,i);
QStandardItem * tbmod2=model->item(j,ncol-1);
s=tbmod->text().toInt();
if (s== -1)
{s1+= (tbmod2->text().toInt());}
else if (s==1){s2+=tbmod2->text().toInt();}
}
float r1=0,r2=0;
r1=(s1/(nrow/2))- m;
r2=(s2/(nrow/2))- m;
if(k<nrow)
{tab[k]=r1;tab[h]=r2;k=k+2;h=h+2;}
l->append("effet : " +QString::number(i) );
l->append(" niveau 1 "+ QString::number(r1));
l->append(" niveau 2 "+ QString::number(r2));
l->append("----------------");
}
for(int i=ncol-1;i<ncol;++i)
{for(int j=0;j<nrow;++j)
{float l3, k1,g1=0,g2=0;
QStandardItem * tbmod2=model->item(j,ncol-1);
k1=tbmod2->text().toInt();
bool l2=true;
while (l2==true)
{if(i1<nrow/2 )
{g1=tab[i1];
g2=tab[p1];
l3 = k1-(m+g1+g2);
l->append("interaction : " +QString::number(l3) );
i1++;}
else if( p1<nrow) {p1++;i1=0;
g1=tab[i1];
g2=tab[p1];
l3 = k1-(m+g1+g2);
l->append("interaction : " +QString::number(l3) );
i1++;}
l2=false;
}
}
}
//************************************************
wid->show();
}
void Test1::b2_click()
{
wid1 =new QWidget;
wid1->setFixedSize(400,400);
//*********************************
//***********************************
wid1->show();
}