Пример #1
0
    void HoveringButtonsController::ForwardMouseClickEvent(float x, float y)
    { 
        //To widgetspace
        float x_widgetspace = x*(float)this->width();
        float y_widgetspace = y*(float)this->height();

        QPoint pos(x_widgetspace,y_widgetspace);

        QMouseEvent e(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
        QApplication::sendEvent(this, &e);
        //Iterate through buttons and check if they are pressed 
        for(int i = 0; i< layout()->count();i++)
        {
            
            QLayoutItem* item = layout()->itemAt(i);
            QAbstractButton *button = dynamic_cast<QAbstractButton*>(item->widget());
            if(button)
            {

                if(button->rect().contains(button->mapFromParent(pos)))
                {
                    QMouseEvent e(QEvent::MouseButtonPress, pos - button->pos(),pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
                    QApplication::sendEvent(button, &e);
                }
            }
        }

        
    }
Пример #2
0
QStringList ContainerAreaLayout::listItems() const
{
    QStringList items;
    for (ItemList::const_iterator it = m_items.constBegin();
         it != m_items.constEnd(); ++it)
    {
        QLayoutItem* item = (*it)->item;
        BaseContainer* container = dynamic_cast<BaseContainer*>(item->widget());

        if (!container)
        {
            continue;
        }

        AppletContainer* applet = dynamic_cast<AppletContainer*>(container);
        if (applet)
        {
            items.append(applet->info().desktopFile());
        }
        else
        {
            // button containers don't give us anything useful that isn't
            // i18n'd (e.g. all service buttons and url buttons simply report
            // "URL" as their tileName()) which would require that we
            // extend PanelButton to be more expressive to get something more
            // instead i just cop'd out and use the visible name. good enough.
            items.append(container->visibleName());
        }
    }

    return items;
}
Пример #3
0
void ActionManagerDialog::switchPropertiesEditorWidget(QWidget* widget)
{
    QLayout *layout = mPropertiesEditorParentWidget->layout();
    if (! layout)
        return;

    QLayoutItem* item = layout->takeAt(0);
    if (item && item->widget())
        item->widget()->hide();

    if (widget) {
        layout->addWidget(widget);
        if (widget->isHidden())
            widget->show();
    }
}
Пример #4
0
void QToolBar::setIconSize(const QSize &iconSize)
{
    Q_D(QToolBar);
    QSize sz = iconSize;
    if (!sz.isValid()) {
        QMainWindow *mw = qobject_cast<QMainWindow *>(parentWidget());
        if (mw && mw->layout()) {
            QLayout *layout = mw->layout();
            int i = 0;
            QLayoutItem *item = 0;
            do {
                item = layout->itemAt(i++);
                if (item && (item->widget() == this))
                    sz = mw->iconSize();
            } while (!sz.isValid() && item != 0);
        }
    }
    if (!sz.isValid()) {
        const int metric = style()->pixelMetric(QStyle::PM_ToolBarIconSize, 0, this);
        sz = QSize(metric, metric);
    }
    if (d->iconSize != sz) {
        d->iconSize = sz;
        setMinimumSize(0, 0);
        emit iconSizeChanged(d->iconSize);
    }
    d->explicitIconSize = iconSize.isValid();

    d->layout->invalidate();
}
Пример #5
0
void MainWindow::clearLayout(QLayout* layout) {
    QLayoutItem* item;
    while ((item = layout->takeAt(0)) != nullptr) {
        delete item->widget();
        delete item;
    }
}
Пример #6
0
void TestingTaskWidget::clearImage() {
    QLayoutItem* item;
    while((item = ui->verticalLayout_2->takeAt(0)) != NULL ) {
        delete item->widget();
        delete item;
    }
}
Пример #7
0
void ShowWidget::DisplayAnswer()
{
    Table t = this->table;

    QLayoutItem *child;
    while((child = gridlayout->takeAt(0)) != 0)
    {
        delete child->widget();
        delete child;
    }

    for(int i=0;i<t.n;i++)
        for(int j=0;j<t.n;j++)
        {
            QLabel *label = new QLabel();
            QPixmap pmap(":/new/prefix1/Back");
            QPainter painter1;
            QFont font1("Arial",13,QFont::Bold,false);
            QFont font2("Arial",9,QFont::Bold,false);
            painter1.begin(&pmap);
            if(t.n<10) painter1.setFont(font1);
            else painter1.setFont(font2);
            painter1.setPen(Qt::blue);
            painter1.drawText(3,3,20,20,Qt::AlignCenter,QString::number(t.data[i][j],10));//将数字转化成输出
            painter1.end();
            label->setPixmap(pmap);
            gridlayout->addWidget(label,i,j);
        }

    this->setWindowTitle(QString::number(t.n,10) + tr("阶魔方阵"));
    this->show();
}
void RotationGroupTaskListView::clearRotationGroupTasks(){
    QLayoutItem *item;
    while((item = listContentLayout->takeAt(0)) != NULL){
        delete item->widget();
        delete item;
    }
}
Пример #9
0
void VirshGui::handleDisconnect()
{
    while (ui->vmListTable->rowCount() > 0) {
        ui->vmListTable->removeRow(0);
    }

    ui->startStopButton->setText("keine Aktion");
    ui->startStopButton->setDisabled(true);
    ui->shutdownButton->setDisabled(true);
    ui->rebootButton->setDisabled(true);
    ui->virtViewerButton->setDisabled(true);

    while (ui->snapshotsTabLayout->count() > 0) {
        QLayoutItem *item = ui->snapshotsTabLayout->takeAt(0);
        delete item->widget();
        delete item;
    }

    ui->xmlDisplay->setText("");
    ui->vmnameLabel->setText("");
    ui->statusLabel->setText("");
    ui->memoryLabel->setText("");
    ui->cpucountLabel->setText("");
    ui->typeLabel->setText("");
    ui->archLabel->setText("");
    ui->bootdevLabel->setText("");
    ui->hvFeaturesLabel->setText("");
    ui->cpuFeaturesLabel->setText("");

    ui->refreshVmList->setDisabled(true);

    QMessageBox disconnectBox;
    disconnectBox.setText("Die SSH Verbindung wurde beendet.");
    disconnectBox.exec();
}
Пример #10
0
QWidget *QLayoutItemProto::widget()
{
  QLayoutItem *item = qscriptvalue_cast<QLayoutItem*>(thisObject());
  if (item)
    return item->widget();
  return 0;
}
Пример #11
0
void TimeAnalysisWidget::updateLegend()
{
    std::vector<std::string> &labels = _selectedScalar->labels();

    // removinb previous legend
    QFormLayout *layout = (QFormLayout *)_ui->legendGroupBox->layout();
    QLayoutItem *child;
    while (layout->count()!=0 && (child = layout->takeAt(0)) != 0) {
        child->widget()->deleteLater();
        delete child;
    }

    for (unsigned i=0; i<labels.size(); ++i) {
        QLabel *colorLabel = new QLabel;
        colorLabel->setAutoFillBackground(true);
        colorLabel->setMinimumSize(70, 15);
        QPalette palette = colorLabel->palette();

        float denom = _selectedScalar->max() - _selectedScalar->min();
        float normalizedValue = ( i - _selectedScalar->min() ) / ( denom == 0 ? 1.f : denom );

        palette.setColor(colorLabel->backgroundRole(), _ui->projectionWidget->colorScale()->getColor(normalizedValue));
        colorLabel->setPalette(palette);

        layout->addRow(new QLabel(labels[i].c_str()), colorLabel);
    }

    repaint();
}
void QgsArcGisServiceSourceSelect::populateImageEncodings( const QStringList &availableEncodings )
{
  QLayoutItem *item = nullptr;
  while ( ( item = gbImageEncoding->layout()->takeAt( 0 ) ) )
  {
    delete item->widget();
    delete item;
  }
  bool first = true;
  QList<QByteArray> supportedFormats = QImageReader::supportedImageFormats();
  foreach ( const QString &encoding, availableEncodings )
  {
    bool supported = false;
    foreach ( const QByteArray &fmt, supportedFormats )
    {
      if ( encoding.startsWith( fmt, Qt::CaseInsensitive ) )
      {
        supported = true;
      }
    }
    if ( !supported )
    {
      continue;
    }

    QRadioButton *button = new QRadioButton( encoding, this );
    button->setChecked( first );
    gbImageEncoding->layout()->addWidget( button );
    mImageEncodingGroup->addButton( button );
    first = false;
  }
Пример #13
0
int LayoutVisitorsTray::doLayout(const QRect &rect, bool testOnly) const
{
    int left, top, right, bottom;
    getContentsMargins(&left, &top, &right, &bottom);
    QRect effectiveRect = rect.adjusted(+left, +top, -right, -bottom);
    int x = effectiveRect.x();
    int y = effectiveRect.y();
    int lineHeight = 0;

    QLayoutItem *item;
    foreach (item, itemList) {
        QWidget *wid = item->widget();
        int spaceX = horizontalSpacing();
        if (spaceX == -1)
            spaceX = wid->style()->layoutSpacing(
                QSizePolicy::PushButton, QSizePolicy::PushButton, Qt::Horizontal);
        int spaceY = verticalSpacing();
        if (spaceY == -1)
            spaceY = wid->style()->layoutSpacing(
                QSizePolicy::PushButton, QSizePolicy::PushButton, Qt::Vertical);

        int nextX = x + item->sizeHint().width() + spaceX;
        if (nextX - spaceX > effectiveRect.right() && lineHeight > 0) {
            x = effectiveRect.x();
            y = y + lineHeight + spaceY;
            nextX = x + item->sizeHint().width() + spaceX;
            lineHeight = 0;
        }

        if (!testOnly)
            item->setGeometry(QRect(QPoint(x, y), item->sizeHint()));

        x = nextX;
        lineHeight = qMax(lineHeight, item->sizeHint().height());
    }
Пример #14
0
/** ***************************************************************************/
void SettingsWidget::updatePluginInformations(const QModelIndex & current) {
    // Hidde the placehodler text
    QLayoutItem *i = ui.widget_pluginInfos->layout()->takeAt(1);
    delete i->widget();
    delete i;

    if (extensionManager_->extensionSpecs()[current.row()]->state() == ExtensionSpec::State::Loaded){
        Extension *extension = dynamic_cast<Extension*>(extensionManager_->extensionSpecs()[current.row()]->instance());
        if (!extension){
            qWarning() << "Cannot cast an object of extension spec to an extension!";
            return; // Should no happen
        }
        QWidget *pw = extension->widget();
        if ( pw->layout() != nullptr)
            pw->layout()->setMargin(0);
        ui.widget_pluginInfos->layout()->addWidget(pw);// Takes ownership
        ui.label_pluginTitle->setText(extension->name());
        ui.label_pluginTitle->show();
    }
    else{
        QString msg("Plugin not loaded.\n%1");
        QLabel *lbl = new QLabel(msg.arg(extensionManager_->extensionSpecs()[current.row()]->lastError()));
        lbl->setEnabled(false);
        lbl->setAlignment(Qt::AlignCenter);
        ui.widget_pluginInfos->layout()->addWidget(lbl);
        ui.label_pluginTitle->hide();
    }
}
Пример #15
0
void VCSlider::setWidgetStyle(SliderWidgetStyle mode)
{
    if (mode == m_widgetMode)
        return;

    if (mode == WKnob && m_slider)
    {
        qDebug() << "Switching to knob widget";
        disconnect(m_slider, SIGNAL(valueChanged(int)),
                this, SLOT(slotSliderMoved(int)));

        QLayoutItem* item;
        while ( ( item = m_hbox->takeAt( 0 ) ) != NULL )
        {
            delete item->widget();
            delete item;
        }

        m_slider = NULL;

        m_knob = new KnobWidget(this);
        m_knob->setEnabled(false);
        m_hbox->addWidget(m_knob);
        m_knob->show();
        connect(m_knob, SIGNAL(valueChanged(int)),
                this, SLOT(slotSliderMoved(int)));
    }
Пример #16
0
void OtchetStudenty::on_pushButton_showReport_clicked()
{
    MyPrint myPrint;
    RowList list;
    list[5] = tr("Специальность");
    list[6] = tr("Группа");
    list[7] = tr("Ф-а оплаты");
    list[8] = tr("ФИО");
    if(ui->checkBox1->isChecked())
        list[9] = tr("Ф-а обучения");
    if(ui->checkBox2->isChecked())
        list[10] = tr("Дата рождения");
    if(ui->checkBox3->isChecked())
        list[11] = tr("Телефон");
    if(ui->checkBox4->isChecked())
        list[12] = tr("Email");
    if(ui->checkBox5->isChecked())
        list[13] = tr("Дата пост.");
    if(ui->checkBox6->isChecked())
        list[14] = tr("Паспорт");
    if(ui->checkBox7->isChecked())
        list[15] = tr("Телефоны род.");
    if(ui->checkBox8->isChecked())
        list[16] = tr("Email род.");
    if(ui->checkBox9->isChecked())
        list[17] = tr("Адрес прож-я");
    if(ui->checkBox10->isChecked())
        list[18] = tr("Адрес прописки");
    if(ui->checkBox11->isChecked())
        list[19] = tr("Школа");
    QLayoutItem* item;
    while ((item = ui->verticalLayout->takeAt(0) ) != NULL )
    {
        delete item->widget();
        delete item;
    }
    body = myPrint.print(dal_studentsControl->getStudentsReport(ui->comboBox_spec->model()->index(ui->comboBox_spec->currentIndex(),0).data().toInt(),
                                                                             ui->comboBox_gruppa->model()->index(ui->comboBox_gruppa->currentIndex(),0).data().toInt(),
                                                                             ui->dateEdit_start->date(),
                                                                             ui->dateEdit_end->date(),
                                                                             ui->comboBox_formaObuc->model()->index(ui->comboBox_formaObuc->currentIndex(),0).data().toInt(),
                                                                             ui->comboBox_formaOplaty->model()->index(ui->comboBox_formaOplaty->currentIndex(),0).data().toInt()),
                                      list,
                                      this->windowTitle(), "", 3);
    QPrinter printer(QPrinter::HighResolution);
    printer.setOutputFormat(QPrinter::PdfFormat);
    printer.setOutputFileName("file.pdf");
    QPrintPreviewDialog *preview = new QPrintPreviewDialog (&printer);
    preview->setAttribute(Qt::WA_DeleteOnClose);
    preview->setWindowFlags(Qt::Widget);
    QList<QPrintPreviewWidget*> list2 = preview->findChildren<QPrintPreviewWidget*>();
    if(!list2.isEmpty())
        list2.first()->setZoomMode(QPrintPreviewWidget::FitToWidth);
    connect(preview, SIGNAL(paintRequested(QPrinter *)), SLOT(printDocument(QPrinter *)));
    ui->verticalLayout->addWidget(preview);
    on_pushButton_graph_clicked();
    preview->exec();

}
Пример #17
0
void CameraLayout::clear(){
    for (int r = 0; r < rowCount(); ++r ){
        for (int c = 0; c < columnCount(); ++c ){
                QLayoutItem *item = itemAtPosition( r, c );
                if ( item ){
                        removeItem( item );
                        if ( item->widget() ){
                            BlackWidget *bw = qobject_cast < BlackWidget *> ( item->widget() );
                            if ( bw ) delete bw;
                            //else is camera o similar
                            else item->widget()->setVisible( false );
                        }
                }
                delete item;
            }
        }
}
Пример #18
0
void MainWindow::doMoreShit()
{
    QLayoutItem *child;
    while ((child = popup->centerWidget()->layout()->takeAt(0)) != 0) {
         child->widget()->deleteLater();
        delete child;
    }
}
Пример #19
0
//clear the formlayout
void ProfileMatchView::clearLayout(QLayout *layout)
{
    QLayoutItem *item;
    while((item = layout->takeAt(0))) 
	{
        if (item->layout()) 
		{
            clearLayout(item->layout());
            delete item->layout();
        }
        if (item->widget()) 
		{
            delete item->widget();
        }
        delete item;
    }
}
CodeClassResultsWidget *CodeClassResultsGridWidget::resultsWidgetAt(int row, int col)
{
	QLayoutItem *it = m_gridLayout->itemAtPosition(row, col);
	if(it) {
		return qobject_cast<CodeClassResultsWidget*>(it->widget());
	}
	return nullptr;
}
Пример #21
0
void ItemsWidget::removeItems()
{
    QLayoutItem* item;
    while ((item = this->layout->takeAt(0)) != NULL ) {
        delete item->widget();
        delete item;
    }
}
Пример #22
0
SettingsWindow::~SettingsWindow()
{
    QLayoutItem *child;
    while((child = this->layout()->takeAt(0))!=NULL) {
        child->widget()->deleteLater();
        delete child;
    }
}
void CComputerConfViewPrivate::removeLayoutWidgets()
{
	QWidget * ptrWidget = NULL;
	while(m_ptrGridLayout->count())
	{
		ptrWidget = NULL;
		QLayoutItem * ptrLItem = m_ptrGridLayout->itemAt(m_ptrGridLayout->count()-1);
		if (ptrLItem->widget())
		{
			ptrWidget = ptrLItem->widget();
			m_ptrGridLayout->removeWidget(ptrWidget);
			//m_ptrGridLayout->count();
		}
		else
			m_ptrGridLayout->removeItem(ptrLItem);
	}
}
Пример #24
0
void PreviewWidget::paintEvent( QPaintEvent * )
{
    int i_total = 0, i_offset = 0, i;
    QPainter painter( this );
    QPixmap pixmaps[3];
    for( int i=0; i<3; i++ )
    {
        pixmaps[i] = QPixmap::grabWidget( bars[i], bars[i]->contentsRect() );
        for( int j=0; j < bars[i]->layout()->count(); j++ )
        {
            QLayoutItem *item = bars[i]->layout()->itemAt( j );
            if ( !strcmp( item->widget()->metaObject()->className(), "QLabel" ) )
            {
                QPainter eraser( &pixmaps[i] );
                eraser.fillRect( item->geometry(), palette().background() );
                eraser.end();
            }
        }
        pixmaps[i] = pixmaps[i].scaled( size(), Qt::KeepAspectRatio );
    }

    for( i=0; i<3; i++ )
        i_total += pixmaps[i].size().height();

    /* Draw top bars */
    i = ( b_top ) ? 1 : 3;
    for( ; i<3; i++ )
    {
        painter.drawPixmap( pixmaps[i].rect().translated( 0, i_offset ), pixmaps[i] );
        i_offset += pixmaps[i].rect().height();
    }

    /* Draw central area */
    QRect conearea( 0, i_offset, size().width(), size().height() - i_total );
    painter.fillRect( conearea, Qt::black );
    QPixmap cone = QPixmap( ":/logo/vlc128.png" );
    if ( ( conearea.size() - QSize(10, 10) - cone.size() ).isEmpty() )
        cone = cone.scaled( conearea.size() - QSize(10, 10), Qt::KeepAspectRatio );
    if ( cone.size().isValid() )
    {
        painter.drawPixmap( ((conearea.size() - cone.size()) / 2).width(),
                            i_offset + ((conearea.size() - cone.size()) / 2).height(),
                            cone );
    }

    /* Draw bottom bars */
    i_offset += conearea.height();
    for( i = 0 ; i< ((b_top) ? 1 : 3); i++ )
    {
        painter.drawPixmap( pixmaps[i].rect().translated( 0, i_offset ), pixmaps[i] );
        i_offset += pixmaps[i].rect().height();
    }

    /* Draw overlay */
    painter.fillRect( rect(), QColor( 255, 255, 255, 128 ) );

    painter.end();
}
Пример #25
0
/*!
  Insert a new item for a plot item
  \param plotItem Plot item
  \param legendItem New legend item
  \note The parent of item will be changed to contentsWidget()
*/
void QwtLegend::insert( const QwtLegendItemManager *plotItem, QWidget *legendItem )
{
    if ( legendItem == NULL || plotItem == NULL )
        return;

    QWidget *contentsWidget = d_data->view->contentsWidget;

    if ( legendItem->parent() != contentsWidget )
        legendItem->setParent( contentsWidget );

    legendItem->show();

    d_data->map.insert( plotItem, legendItem );

    layoutContents();

    if ( contentsWidget->layout() )
    {
        contentsWidget->layout()->addWidget( legendItem );

        // set tab focus chain

        QWidget *w = NULL;

        for ( int i = 0; i < contentsWidget->layout()->count(); i++ )
        {
            QLayoutItem *item = contentsWidget->layout()->itemAt( i );
            if ( w && item->widget() )
                QWidget::setTabOrder( w, item->widget() );

            w = item->widget();
        }
    }
    if ( parentWidget() && parentWidget()->layout() == NULL )
    {
        /*
           updateGeometry() doesn't post LayoutRequest in certain
           situations, like when we are hidden. But we want the
           parent widget notified, so it can show/hide the legend
           depending on its items.
         */
        QApplication::postEvent( parentWidget(),
            new QEvent( QEvent::LayoutRequest ) );
    }
}
Пример #26
0
void BlocksDisplay::setBlock(int track, int sector, int status)
{
    QLayoutItem *i = ui->gridLayout->itemAtPosition(track-1, sector+1);
    if (i)
    {
        QLabel *l = (QLabel *)i->widget();
        l->setPixmap(statusIcons[status]);
    }
}
Пример #27
0
void dtkComposerPathPrivate::clear(void)
{   
    QLayoutItem *child;
    
    while ((child = layout->takeAt(0)) != 0) {
        delete child->widget();
        delete child;
    }
}
Пример #28
0
/**
 * 	-	clearLayout: clear Layout
 *      remove all child of layout
 *
*/
void Popup::clearLayout(QLayout *layout)
{
    QLayoutItem* child;
    while(layout->count()!=0)
    {
        child = layout->takeAt(0);
        if(child->layout() != 0)
        {
            clearLayout(child->layout());
        }
        else if(child->widget() != 0)
        {
            delete child->widget();
        }

        delete child;
    }
}
Пример #29
0
void GuiTabularDataCreate::removeLayout(QLayout* layout)
{
    QLayoutItem* child;
    while(layout->count()!=0)
    {
        child = layout->takeAt(0);
        if(child->layout() != 0)
        {
            removeLayout(child->layout());
        }
        else if(child->widget() != 0)
        {
            delete child->widget();
        }

        delete child;
    }
}
Пример #30
0
QLayoutItem *StackLayout::takeAt(int index)
{
    if (index < 0 || index >= _list.size())
        return 0;
    QLayoutItem *item = _list.takeAt(index);
    if (index == _index) {
        _index = -1;
        if ( _list.count() > 0 ) {
            int newIndex = (index == _list.count()) ? index-1 : index;
            setCurrentIndex(newIndex);
        }
    } else if (index < _index) {
        --_index;
    }
    if (item->widget())
        item->widget()->hide();
    return item;
}