void KbLayoutWidget::initConnect() {

    const int count = m_layoutButtons.length();
    for (int i = 0; i != count; ++i)
    {
        connect(m_layoutButtons.at(i), SIGNAL(clicked(bool)), m_layoutButtons.at(i), SLOT(OnlyMeChecked(bool)));
        connect(m_layoutButtons.at(i), SIGNAL(onlyOneChecked(QString)), this, SLOT(setButtonsChecked(QString)));
        connect(m_layoutButtons.at(i), SIGNAL(onlyOneChecked(QString)), this, SIGNAL(setButtonClicked(QString)));
    }

}
Example #2
0
void SumTableView::addItem(TableView* tableview)
{
  tableViews.append(tableview);
  sumTableModel->sumTableData->insertRow(sumTableModel->sumTableData->getRows() - 1, tableview->mappedName);
  connect(tableview->tableModel->tableData, SIGNAL(tableDataChanged(TableData*)),
          this->sumTableModel->sumTableData, SLOT(updateSummedValuesAndRecalculate(TableData*)));
  connect(tableview, SIGNAL(tableColumnActivated(int)),
          this, SLOT(updateCalendar(int)));
  if (tableViews.count() > 0)
  {
    int i = tableViews.count() - 1;
    connect(tableViews.at(0)->horizontalScrollBar(), SIGNAL(valueChanged(int)),
            tableViews.at(i)->horizontalScrollBar(), SLOT(setValue(int)));
    connect(tableViews.at(i)->horizontalScrollBar(), SIGNAL(valueChanged(int)),
            tableViews.at(0)->horizontalScrollBar(), SLOT(setValue(int)));
  }
void DockWidgetConfig::handlerItemListChanged()
{
    //remove current layouts & items
    for (int i=0;i< itemList.size() ; i++)
    {
        itemDockWidgetConfig_t *aux = itemList.at(i);
        //tema signals:desconecto todo, total desp se vuelven a conectar
        if (aux->isDouble)
            aux->DoubleSpinBox->disconnect();
        else
            aux->Spinbox->disconnect();
        aux->Slider->disconnect();

        aux->localHLayout->removeWidget(aux->Slider);
        if (aux->isDouble)
            aux->localHLayout->removeWidget(aux->DoubleSpinBox);
        else
            aux->localHLayout->removeWidget(aux->Spinbox);
        aux->localVLayout->removeWidget(aux->Titulo);
        aux->localVLayout->removeItem(aux->localHLayout);
        mainVLayout->removeItem(aux->localVLayout);
    }
    if (titulo.isTit)
        mainVLayout->removeWidget(titulo.TituloLabel);
    if (titulo.isSeparador)
        mainVLayout->removeWidget(titulo.SeparadorFrame);
    while (mainVLayout->takeAt(0));//este ultimo para borrar el spacer que no se como se hace xq no es qwidget



    //Set Titulo
    if (titulo.isTit)
    {
        mainVLayout->addWidget(titulo.TituloLabel);
    }
    if (titulo.isSeparador)
    {
        mainVLayout->addWidget(titulo.SeparadorFrame);
    }
    //Set Items & connections
    for (int i=0;i< itemList.size() ; i++)
    {
        itemList.at(i)->localVLayout->addWidget(itemList.at(i)->Titulo);
        itemList.at(i)->localHLayout->addWidget(itemList.at(i)->Slider);
        if (itemList.at(i)->isDouble)
            itemList.at(i)->localHLayout->addWidget(itemList.at(i)->DoubleSpinBox);
        else
            itemList.at(i)->localHLayout->addWidget(itemList.at(i)->Spinbox);
        itemList.at(i)->localVLayout->addLayout(itemList.at(i)->localHLayout);
        mainVLayout->addLayout(itemList.at(i)->localVLayout);

        void (QSlider:: *slideValueChanged) (int) = &QSlider::valueChanged;
        connect(itemList.at(i)->Slider,slideValueChanged,[this,i](int arg) {
            QString id = QString::number(i) + "," + QString::number(arg);
            emit itemParamChanged(id);
        } );

        if (itemList.at(i)->isDouble)
        {
            void (QDoubleSpinBox:: *dSpinValueChanged) (double) = &QDoubleSpinBox::valueChanged;
            connect(itemList.at(i)->DoubleSpinBox,dSpinValueChanged,[this,i](double arg) {
                QString id = QString::number(i) + "," + QString::number(arg);
                emit itemParamChanged(id);
            } );
            connect(itemList.at(i)->Slider,SIGNAL(valueChanged(int)),itemList.at(i)->DoubleSpinBox,SLOT(setValue(double)));
            connect(itemList.at(i)->DoubleSpinBox,SIGNAL(valueChanged(double)),itemList.at(i)->Slider,SLOT(setValue(int)));
        }
        else
        {
            connect(itemList.at(i)->DoubleSpinBox,dSpinValueChanged,[this,i](double arg) {
                QString id = QString::number(i) + "," + QString::number(arg);
                emit itemParamChanged(id);
            } );
            connect(itemList.at(i)->Slider,SIGNAL(valueChanged(int)),itemList.at(i)->DoubleSpinBox,SLOT(setValue(double)));
            connect(itemList.at(i)->DoubleSpinBox,SIGNAL(valueChanged(double)),itemList.at(i)->Slider,SLOT(setValue(int)));
        }
        else
        {
            void (QSpinBox:: *spinValueChanged) (int) = &QSpinBox::valueChanged;
            connect(itemList.at(i)->Spinbox,spinValueChanged,[this,i](int arg) {
                QString id = QString::number(i) + "," + QString::number(arg);
                emit itemParamChanged(id);
            } );
            connect(itemList.at(i)->Slider,SIGNAL(valueChanged(int)),itemList.at(i)->Spinbox,SLOT(setValue(int)));
            connect(itemList.at(i)->Spinbox,SIGNAL(valueChanged(int)),itemList.at(i)->Slider,SLOT(setValue(int)));
        }
    }
    //&& last spacer
    mainVLayout->addSpacerItem(lastSpacer);
}


void DockWidgetConfig::setTitulo(QString tit)
{
    titulo.TituloLabel->setText(tit);
    titulo.isTit = true;
    emit itemListChanged();
}

QString DockWidgetConfig::getTitulo()
Example #5
0
void MainFrm::initTabs()
{
    pFrmFrame=new FrmFrame(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmFrame);

     connect(pFrmFrame, SIGNAL(disableTabs(bool)), this,
    SLOT(disableTabs(bool)));

    pFrmMinorStrata=new FrmMinorStrata(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmMinorStrata);
    pFrmCell=new FrmCell(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmCell);
    pFrmVesselType=new FrmVesselType(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmVesselType);
    pFrmVessel=new FrmVessel(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmVessel);
    pFrmTrip=new FrmTrip(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmTrip);
    pFrmOperation=new FrmOperation(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmOperation);
    pFrmCatch=new FrmCatch(m_roleDef,sSample,ruleCheckerPtr);
    initPreviewTab(pFrmCatch);

    pFrmFrameDetails=new FrmFrameDetails();
     connect(pFrmFrameDetails, SIGNAL(hideFrameDetails(bool)), this,
    SLOT(hideFrameDetails()));

     connect(pFrmFrameDetails, SIGNAL(showStatus(QString)), this,
    SLOT(statusShow(QString)));

     connect(pFrmFrameDetails, SIGNAL(showError(QString, const bool)), this,
    SLOT(displayError(QString, const bool)));

     connect(pFrmMinorStrata, SIGNAL(applyChanges2FrameDetails()), pFrmFrameDetails,
    SLOT(onApplyChanges2FrameDetails()));

     connect(pFrmFrameDetails, SIGNAL(AppliedChanges2FrameDetails()), pFrmMinorStrata,
    SLOT(editFinished()));

     connect(pFrmCell, SIGNAL(applyChanges2FrameDetails()), pFrmFrameDetails,
    SLOT(onApplyChanges2FrameDetails()));

     connect(pFrmFrameDetails, SIGNAL(AppliedChanges2FrameDetails()), pFrmCell,
    SLOT(editFinished()));

    gridLayout->addWidget(pFrmFrameDetails);
    pFrmFrameDetails->hide();

    pFrmSampling=new FrmSampling(m_roleDef,sSample,ruleCheckerPtr);
     connect(pFrmSampling, SIGNAL(hideFrmSampling(bool)), this,
    SLOT(hideFrmSampling()));

     connect(pFrmSampling, SIGNAL(showStatus(QString)), this,
    SLOT(statusShow(QString)));

     connect(pFrmSampling, SIGNAL(showError(QString, const bool)), this,
    SLOT(displayError(QString, const bool)));

     connect(pFrmFrame, SIGNAL(setFrmSamplingMode(const FrmSampling::MODE)), pFrmSampling,
    SLOT(setMode(const FrmSampling::MODE)));

     connect(pFrmFrame, SIGNAL(applyChanges2FrmSampling(const bool)), pFrmSampling,
    SLOT(onApplyChanges2FrmSampling(const bool)));

     connect(pFrmSampling, SIGNAL(AppliedChanges2SamplingFrame()), pFrmFrame,
    SLOT(editFinished()));

    gridLayout->addWidget(pFrmSampling);
    pFrmSampling->hide();

    // Connect all the signals
     for (int i = 0; i < vTabs.size(); ++i) {

         connect(vTabs.at(i), SIGNAL(currentHelpId(const QString)), this,
        SLOT(setCurHelpId(const QString)),Qt::UniqueConnection);

         connect(vTabs.at(i), SIGNAL(navigate(const bool, const int)), this,
        SLOT(navigateThroughTabs(const bool, const int)),Qt::UniqueConnection);

         connect(vTabs.at(i), SIGNAL(showFrameDetails(const FrmFrameDetails::Mode, const FrmFrameDetails::Persistence, Sample*,QList<int>, const int)), this,
        SLOT(showFrameDetails(const FrmFrameDetails::Mode, const FrmFrameDetails::Persistence, Sample*,QList<int>, const int)),Qt::UniqueConnection);

         connect(pFrmFrameDetails, SIGNAL(hideFrameDetails(bool)), vTabs.at(i),
        SIGNAL(hideFrameDetails(bool)),Qt::UniqueConnection);

         connect(vTabs.at(i), SIGNAL(showFrmSampling()), this,
        SLOT(showFrmSampling()),Qt::UniqueConnection);

         connect(pFrmSampling, SIGNAL(hideFrmSampling(bool)), vTabs.at(i),
        SIGNAL(hideFrmSampling(bool)),Qt::UniqueConnection);

         connect(vTabs.at(i), SIGNAL(showError(QString,bool)), this,
        SLOT(displayError(QString,bool)),Qt::UniqueConnection);

         connect(vTabs.at(i), SIGNAL(showStatus(QString)), this,
        SLOT(statusShow(QString)),Qt::UniqueConnection);

         //each remove on a table, triggers a preview wuery on the following tabs
         //(so that we don't have "ghost" records lying around the tables!)
         for (int j=i+1; j < vTabs.size(); ++j){
             connect(vTabs.at(i), SIGNAL(recordRemoved()), vTabs.at(j),
            SLOT(setPreviewQuery()));
         }

        this->tabWidget->insertTab(vTabs.size()
        ,vTabs.at(i), vTabs.at(i)->title());

         if (i>0)
             tabWidget->setTabEnabled(i,false);

     }
     tabWidget->setCurrentIndex(0);

}
Example #6
0
void MyQGraphicsView::passSimulationTime(int simutime)
{
    QPainter painter;
    QColor color(255,0,0);
    painter.fillRect(QRect(0,0,20,20),color);

    qDebug()<<"simulation time in view in minutes"<<simutime;
    int simutimeinseconds= simutime*60;
     noofperiods= simutimeinseconds/5;
    //for each period 40 pixels, so caluclueate for noofperiods how many pixels will take
    int xsizeinpixels=noofperiods*40;
    xsizeinpixels+=100;//just for the arrangement of the items in the scene , allocating some more space

    scene = new QGraphicsScene();

    int x= xsizeinpixels;
    int y= 1000;

    this->setSceneRect(QRectF(-20, -20, x, y));
    this->setScene(scene);
    //scene->setBackgroundBrush(Qt::yellow);


    lineitem = new MyLine();

    connect(lineitem,SIGNAL(signal(qreal)),this,SLOT(windspeedFromLine(qreal)));
    connect(lineitem,SIGNAL(sendNewDialValue()),this,SLOT(SendNewDialValueToWindow()));

    scene->addItem(lineitem);

    ////    QScrollArea *scroll= new QScrollArea();
    ////    scroll->setBackgroundRole(QPalette::Dark);
    ////    scene->addItem(scroll);
    //    //scroll->setHorizontalScrollBarPolicy(Qt::WindowActive);

    //int maxxsize= 700-21-15;
    //int maxysize=700-21-15-15;
    //int gapy= maxysize/20;

    int gapy=32.45;//this is the gap in pixels between the items in y axis


    int gapx=40;
    int xinitialpos=0;
    int ypos=10;
    for(int i=20;i>=1;i--)
    {
        QString str;
        str.setNum(i);

        QGraphicsTextItem *item = new QGraphicsTextItem(str);
        item->setPos(mapToScene(-20,ypos));
        scene->addItem(item);
        ypos+=gapy;
        //maxysize = maxysize-gapy;
    }
    qDebug()<<"max y position"<<ypos;


  QGraphicsTextItem *item1 = new QGraphicsTextItem(tr("wind speeds in knots"));
    item1->setPos(mapToScene(-20,-20));
    scene->addItem(item1);


    for(int time=0;time<=simutimeinseconds;time= time+5)
    {
        QString str;
        str.setNum(time);
        QGraphicsTextItem *item = new QGraphicsTextItem(str);
//        if(time%2==0)
//        {
//        QLinearGradient lGrad(QPointF(xinitialpos, 668), QPointF(xinitialpos, 100));
//        lGrad.setColorAt(0, Qt::black);
//        lGrad.setColorAt(1, Qt::darkBlue);

//        }

        item->setPos(mapToScene(xinitialpos,668));
        scene->addItem(item);

//        QGraphicsLineItem *line = new QGraphicsLineItem();
//        line->setPos(mapToScene(xinitialpos,666));

        xinitialpos = xinitialpos+gapx;
//        QPen pen(Qt::yellow,3,Qt::DashDotLine,Qt::RoundCap,Qt::RoundJoin);

//       scene->addLine(xinitialpos+4,665,xinitialpos+4,20,pen);
    }

    QGraphicsTextItem *item2 = new QGraphicsTextItem(tr("time in seconds"));
    item2->setPos(mapToScene(668,681));
    scene->addItem(item2);

        timer = new QTimer(this);
        connect(timer,SIGNAL(timeout()),scene,SLOT(advance()));



    horizontalGroupBox = new QGroupBox(tr("Wind angles"));
    horizontalGroupBoxspinboxes = new QGroupBox();

    QHBoxLayout *hboxlayout = new QHBoxLayout;
    QHBoxLayout *hboxlayoutspinboxes = new QHBoxLayout;

    //    //QScrollArea *scroll=new QScrollArea();

    for(int i=0;i<noofperiods;i++)
    {
        QDial *dial=  new QDial();

        QSize size(35,35);
        dial->setMinimumSize(size);
        dial->setMaximumSize(size);
        dial->setNotchesVisible(1);
        dial->setWrapping(1);
        dial->setMaximum(359);
        dial->setMinimum(0);
        list.append(dial);
        //        //list.append(dial);

        QSpinBox * spin = new QSpinBox(this);
        //        // //QLabel *label = new QLabel(this);
        //        // //spinboxlist[i]= new QSpinBox(this);
        spin->setMaximum(359);
        spin->setMinimum(0);
        spin->setFixedSize(35,35);
        spinboxlist.append(spin);

        connect(list.at(i),SIGNAL(valueChanged(int)),spinboxlist.at(i),SLOT(setValue(int)));
        connect(spinboxlist.at(i),SIGNAL(valueChanged(int)),list.at(i),SLOT(setValue(int)));
        //        //int value= list.at(i)->value();
        //        //qDebug()<<"dial value "<<value;
        //        //connect(list.at(i),SIGNAL(valueChanged(int)),view,SLOT(setValuesOfList(int)));
        hboxlayout->addWidget(list[i]);
        hboxlayoutspinboxes->addWidget(spinboxlist[i]);
        //        hboxlayoutspinboxes->addSpacing(0);
        //qDebug()<<"dial width"<<dial->width();
        //        //hboxlayout->addWidget(spinboxlist[i]);
    }
    horizontalGroupBox->setLayout(hboxlayout);
    //    //scroll->setWidget(horizontalGroupBox);
    horizontalGroupBoxspinboxes->setLayout(hboxlayoutspinboxes);

    //horizontalGroupBox->set
    QGraphicsProxyWidget *proxy1= scene->addWidget(horizontalGroupBox);
    proxy1->setPos(0,700);

    QGraphicsProxyWidget *proxy2= scene->addWidget(horizontalGroupBoxspinboxes);
    proxy2->setPos(0,760);

    //QGraphicsProxyWidget *proxy1= scene->addWidget(horizontalGroupBoxspinboxes);
    //scene has advance () slot, what it does is it says every object in the scee
    //that it is time to advance one step or multiple steps
    //thast what animation is

}