void PluginFilterList::onSequenceChanged(GitlUpdateUIEvt &rcEvt)
{

    // rebuild the filter list 
    int iVPos = verticalScrollBar()->value();
    int iHPos = horizontalScrollBar()->value();

    this->clear();
    QStringList cFilterNames = rcEvt.getParameter("filter_names").toStringList();
    QVector<bool> cFilterEnableStatus = rcEvt.getParameter("filter_status").value< QVector<bool> >();

    for(int i = 0; i < cFilterNames.size(); i++)
    {
        QListWidgetItem* pcItem = new QListWidgetItem();
        this->addItem(pcItem);
        PluginFilterItem *pItemWidget = new PluginFilterItem(cFilterNames[i], cFilterEnableStatus[i]);
        pcItem->setSizeHint(pItemWidget->sizeHint());
        setItemWidget(pcItem, pItemWidget);
    }

    verticalScrollBar()->setValue(iVPos);
    horizontalScrollBar()->setValue(iHPos);


}
예제 #2
0
void MainWindow::onPOCInfoChanged(GitlUpdateUIEvt& rcEvt)
{
    static int iTotalFrameNum = -1;
    static int iCurrentFrameNum = -1;
    QVariant vValue;
    /// frame number
    if( rcEvt.hasParameter("total_frame_num") )
    {
        vValue = rcEvt.getParameter("total_frame_num");
        iTotalFrameNum = vValue.toInt();
        ui->totalFrameNum->setText(QString("%1").arg(iTotalFrameNum));
    }

    /// total frame number
    if( rcEvt.hasParameter("current_frame_poc") )
    {
        vValue = rcEvt.getParameter("current_frame_poc");
        iCurrentFrameNum = vValue.toInt() + 1;
        ui->currentFrameNum->setText(QString("%1").arg(iCurrentFrameNum));
    }

    /// slide bar position
    int iMin = ui->progressBar->minimum();
    int iMax = ui->progressBar->maximum();
    int iPos = 0;
    if(iTotalFrameNum != 1)
    {
        iPos = (iCurrentFrameNum-1)*(iMax-iMin)/(iTotalFrameNum-1);
    }
    ui->progressBar->setValue(iPos);
}
예제 #3
0
void MainWindow::onStylesheetChanged(GitlUpdateUIEvt& rcEvt)
{
    qApp->setStyleSheet(rcEvt.getParameter("theme_stylesheet").toString());
    QString strThemeName = rcEvt.getParameter("theme_name").toString();
    if(strThemeName == "default")
        ui->defaultThemeAction->setChecked(true);
    else if(strThemeName == "dark")
        ui->darkThemeAction->setChecked(true);
}
예제 #4
0
void MessageViewer::onUIUpdate(GitlUpdateUIEvt &rcEvt)
{
    /// <message level -- switch> table
    static MessageSwitchItem s_messageSwith[] =
    {
        {QtDebugMsg,    ui->debugCheckBox },
        {QtWarningMsg,  ui->warningCheckBox },
        {QtCriticalMsg, ui->critiCheckBox },
        {QtFatalMsg,    ui->fatalCheckBox },
        {QtMsgType(-1),    NULL}      /// end mark
    };

    if( rcEvt.hasParameter("msg_detail"))
    {
        QVariant vValue = rcEvt.getParameter("msg_detail");
        QString strMsg = vValue.toString();
        QtMsgType eMsgLevel = (QtMsgType)rcEvt.getParameter("msg_level").toInt();

        /// different message, different color
        if(eMsgLevel != QtDebugMsg)
            ui->msgTextBrowser->setTextColor(QColor(Qt::red));
        else
            ui->msgTextBrowser->setTextColor(m_cDefalutTextColor);


        /// check if the message type is allow
        MessageSwitchItem *pcItem = s_messageSwith;
        bool bIsAllowed = false;
        do
        {
            if(pcItem->eMsgType == eMsgLevel && pcItem->pcSwitch->isChecked())
            {
                bIsAllowed = true;
                break;
            }
            pcItem++;
        }while(pcItem->pcSwitch != NULL);


        if(bIsAllowed)
        {
            /// display message
            ui->msgTextBrowser->append(strMsg);
            /// severe message should prompt dialog
            if( eMsgLevel >= QtCriticalMsg )
            {
                m_cWarningBox.setText(strMsg);
                m_cWarningBox.show();
            }
        }
    }
}
예제 #5
0
void MainWindow::onSnapshot(GitlUpdateUIEvt& rcEvt)
{
    /// TODO refactor
    QVariant vValue = rcEvt.getParameter("snapshot");
    QPixmap* pcPixMap = (QPixmap*)(vValue.value<void *>());
    xSaveSnapshot(pcPixMap);
}
예제 #6
0
void MainWindow::onFrameArrived(GitlUpdateUIEvt& rcEvt)
{
    QVariant vValue = rcEvt.getParameter("picture");
    QPixmap* pcPixMap = (QPixmap*)(vValue.value<void *>());
    ui->imageView->setDisplayImage(pcPixMap);
}
예제 #7
0
 void multiParamListener(GitlUpdateUIEvt& rcEvt)
 {
     m_strMultiString = rcEvt.getParameter("fir_param").toString() + " " +
             rcEvt.getParameter("sec_param").toString();
 }
예제 #8
0
 void secParamListener(GitlUpdateUIEvt& rcEvt)
 {
     m_strSecString = rcEvt.getParameter("sec_param").toString();
 }