Example #1
0
void TToolBar::addButton( TFlipButton * pB )
{
    if( ! mpTAction->mUseCustomLayout )
    {
        QSize size = pB->minimumSizeHint();
        if( pB->mpTAction->getButtonRotation() > 0 )
        {
            size.transpose();
        }
        pB->setMaximumSize( size );
        pB->setMinimumSize( size );
    }
    else
    {
        QSize size = QSize(pB->mpTAction->mSizeX, pB->mpTAction->mSizeY );
        pB->setMaximumSize( size );
        pB->setMinimumSize( size );
        pB->setParent( mpWidget );
        pB->setGeometry( pB->mpTAction->mPosX, pB->mpTAction->mPosY, pB->mpTAction->mSizeX, pB->mpTAction->mSizeY );
    }

    pB->setStyleSheet( pB->mpTAction->css );
    pB->setFlat( pB->mpTAction->getButtonFlat() );
    int rotation = pB->mpTAction->getButtonRotation();
    switch( rotation )
    {
        case 0: pB->setOrientation( Qt::Horizontal ); break;
        case 1: pB->setOrientation( Qt::Vertical ); break;
        case 2: pB->setOrientation( Qt::Vertical ); pB->setMirrored( true ); break;
    }

    if( ! mpTAction->mUseCustomLayout )
    {
        // tool bar mButtonColumns > 0 -> autolayout
        // case == 0: use individual button placment for user defined layouts
        int columns = mpTAction->getButtonColumns();
        if( columns <= 0 ) columns = 1;
        if( columns > 0 )
        {
            mItemCount++;
            int row = mItemCount / columns;
            int col = mItemCount % columns;
            if( mVerticalOrientation )
            {
                mpLayout->addWidget( pB, row, col );
            }
            else
            {
                mpLayout->addWidget( pB, col, row );
            }
        }
    }
    else
    {
        pB->move( pB->mpTAction->mPosX, pB->mpTAction->mPosY );
    }
    connect( pB, SIGNAL(pressed()), this, SLOT(slot_pressed()) );
}
UI_LinkNameDialog::UI_LinkNameDialog(QTreeWidgetItem *pParentTreeItem_,QWidget *parent) :
    QDialog(parent),
    ui(new Ui::UI_LinkNameDialog),
    m_pParentTreeWidgetItem(pParentTreeItem_)
{
    ui->setupUi(this);
    this->setWindowTitle("关联点名");
    ui->buttonBox->button(QDialogButtonBox::Ok)->setText("确定");
    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText("取消");

    m_pCGI_SCADA_DLL_ChannelMessageItem = NULL;
    m_pMainTreeWidget = m_pParentTreeWidgetItem->treeWidget();
    connect(ui->treeWidget, SIGNAL(itemPressed(QTreeWidgetItem*,int)), this, SLOT(slot_TreeLeftClicked(QTreeWidgetItem *, int)));
    connect(ui->listView,SIGNAL(pressed(QModelIndex)),this,SLOT(slot_pressed(QModelIndex)));

    qDebug()<<m_pMainTreeWidget;
    ///< 生成配置文件,生成在temp目录中
    qDebug()<<__func__<<__LINE__;
    for (int nTreeItemCount = 0; nTreeItemCount < m_pMainTreeWidget->topLevelItemCount(); ++nTreeItemCount)
    {
        qDebug()<<__func__<<__LINE__<<m_pMainTreeWidget->topLevelItem(nTreeItemCount)->text(0);
        if (m_pMainTreeWidget->topLevelItem(nTreeItemCount)->type() == CGI_SCADA_DLL_I::TreeItemType_ChanneM)
        {
//            continue;
            qDebug()<<__func__<<__LINE__;
            m_pCGI_SCADA_DLL_ChannelMessageItem = (CGI_SCADA_DLL_ChannelMessageItem *)(m_pMainTreeWidget->topLevelItem(nTreeItemCount));
            break;
        }
    }
    qDebug()<<__func__<<__LINE__;
    if (m_pCGI_SCADA_DLL_ChannelMessageItem == NULL)
    {

    }else
    {
        this->GetTreeWidgetItem(ui->treeWidget);
    }
    ui->treeWidget->expandAll();
}
Example #3
0
void TEasyButtonBar::clear()
{
    QWidget * pW = new QWidget;
       typedef std::list<TFlipButton *>::iterator IT;
    for( IT it = mButtonList.begin(); it != mButtonList.end(); it++ )
    {
        disconnect( *it, SIGNAL(released()), this, SLOT(slot_pressed()) );
    }
    mButtonList.clear();
    mpWidget->deleteLater();
    mpWidget = pW;

    if( ! mpTAction->mUseCustomLayout )
    {
        mpLayout = new QGridLayout;
        mpWidget->setLayout( mpLayout );
        mpLayout->setContentsMargins(0,0,0,0);
        mpLayout->setSpacing(0);
        mpLayout->setMargin(0);
        QSizePolicy sizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
        mpWidget->setSizePolicy( sizePolicy );

        mpWidget->setContentsMargins(0,0,0,0);
        mpLayout->setMargin(0);
    }
    else
    {
        mpLayout = 0;
        mpWidget->setMinimumHeight( mpTAction->mSizeY );
        mpWidget->setMaximumHeight( mpTAction->mSizeY );
        mpWidget->setMinimumWidth( mpTAction->mSizeX );
        mpWidget->setMaximumWidth( mpTAction->mSizeX );
        mpWidget->setGeometry( mpTAction->mPosX, mpTAction->mPosY, mpTAction->mSizeX, mpTAction->mSizeY );
    }
    layout()->addWidget( pW );
    setStyleSheet( mpTAction->css );
    mpWidget->setStyleSheet( mpTAction->css );

}