int HGLayout::insertItem(QGraphicsLayoutItem* item, const HLayoutConfig& conf) { if (!layout()) return -1; switch (layoutType()) { case HEnums::kVBox: case HEnums::kHBox: { QGraphicsLinearLayout* l = static_cast<QGraphicsLinearLayout*>(layout()); l->insertItem(conf.index(),item); l->setAlignment(item,alignment()); break; } case HEnums::kGrid: { QGraphicsGridLayout* l = static_cast<QGraphicsGridLayout*>(layout()); l->addItem(item,conf.row(),conf.column(),alignment()); break; } case HEnums::kAnchor: { //anchor layout can't add item here, add item in setAnchor QGraphicsAnchorLayout* l = static_cast<QGraphicsAnchorLayout*>(layout()); Q_UNUSED(l); return -1; } default: return -1; } return 0; }
void KWidget::insertLayoutItem( KWidget* item, int index ) { QGraphicsLayout *tmpLayout = (QGraphicsLayout*)(layout()); if(tmpLayout == NULL) return; if(d_func()->layoutType == VBox || d_func()->layoutType == HBox) { QGraphicsLinearLayout *boxLayout = dynamic_cast<QGraphicsLinearLayout*>(tmpLayout); if(boxLayout) { boxLayout->insertItem(index, item); } } }
void TabsView::updateScrollBarVisibility() { QGraphicsLinearLayout *lo = static_cast<QGraphicsLinearLayout*>( layout() ); if( m_scrollBar->maximum() == 0 ) { if( lo->count() > 2 && lo->itemAt( 1 ) == m_scrollBar ) { lo->removeAt( 1 ); m_scrollBar->hide(); } } else if( lo->count() == 2 ) { lo->insertItem( 1, m_scrollBar ); m_scrollBar->show(); } }
void ThemeWidget::textChanged () { if (!m_List->filtering()->editor()->isOnDisplay()) { m_List->filtering()->editor()->show(); m_List->filtering()->editor()->setFocus(); } QGraphicsLinearLayout *mainLayout = dynamic_cast<QGraphicsLinearLayout *>(layout ()); if (mainLayout) { if (m_LiveFilterEditor->text ().isEmpty () == true) { /* * We already have a better solution for this in the soundsettings * applet... */ mainLayout->removeItem (m_LiveFilterEditor); m_LiveFilterEditor->setPos (QPointF (0.,-200.)); } else { mainLayout->insertItem (0, m_LiveFilterEditor); } mainLayout->invalidate (); } m_CellCreator->highlightByText (m_LiveFilterEditor->text()); // Seems that the sort() method simply will not sort when the // ThemeListModel::SearchRole is used. m_Proxy->sort(Qt::DisplayRole); /* * As the search string changes the current theme might appear in the list * (if the current theme was filtered before). In this case we need to * select this item in the list, because the selection is lost when the * selected item is filtered out. */ selectCurrentTheme (); m_ThemeListModel->refresh(); update (); }
KGetPieChart::Private::Private(QGraphicsWidget *parent) : QGraphicsWidget(parent), m_colors("Oxygen.colors"), m_totalSize(0), m_piechart(0) { QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, this); m_piechart = new KGetPieChart::PieChart(&m_data, m_totalSize); layout->insertItem(0, m_piechart); m_scrollWidget = new Plasma::ScrollWidget(); m_scrollWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); m_containerWidget = new QGraphicsWidget(m_scrollWidget); m_scrollWidget->setWidget(m_containerWidget); m_containerLayout = new QGraphicsLinearLayout(Qt::Vertical, m_containerWidget); layout->addItem(m_scrollWidget); setLayout(layout); }
void PeopleGroupedView::insertCard(const QModelIndex& index) { // requires: model is sorted in alphabetical order QGraphicsLinearLayout *linear; SEASIDE_SHORTCUTS SEASIDE_SET_MODEL_AND_ROW(m_itemModel, index.row()); QString name = SEASIDE_FIELD(FirstName, String); bool isSelf = SEASIDE_FIELD(isSelf, Bool); int section; //if MeCard section 0, else shift other sections down one if(isSelf) section = 0; else section = findSection(name, m_headings)+1; // if this is the first item in the section, add the heading if (m_sectionCounts[section] == 0) { // items from before the first heading go in an "Other" section at the beginning QString heading; if (section > 1) heading = m_displayHeadings[section-2]; else if(section == 1) heading = "Other"; // TODO: i18n else heading = "Me"; linear = new QGraphicsLinearLayout(Qt::Vertical); linear->setContentsMargins(0, 0, 0, 0); linear->setSpacing(0); m_mainLayout->addItem(linear, section, 0); linear->addItem(createHeader(heading)); } m_sectionCounts[section]++; qDebug() << "section " << section << " sectionCount " << m_sectionCounts[section]; linear = static_cast<QGraphicsLinearLayout *>(m_mainLayout->itemAt(section, 0)); SeasidePersonCard *card = new SeasidePersonCard(index); int i; int count = linear->count(); for (i=1; i<count; i++) { SeasidePersonCard *existing = static_cast<SeasidePersonCard *>(linear->itemAt(i)); if (existing->name().localeAwareCompare(name) > 0) break; } qDebug() << "item at " << i; linear->insertItem(i, card); QObject::connect(card, SIGNAL(requestDetails(QModelIndex)), m_controller, SIGNAL(itemClicked(QModelIndex)), Qt::UniqueConnection); /*QObject::connect(card, SIGNAL(requestEdit(QModelIndex)), m_controller, SIGNAL(editRequest(QModelIndex)), Qt::UniqueConnection);*/ QObject::connect(card, SIGNAL(requestSetFavorite(const QUuid&,bool)), m_controller, SLOT(setFavorite(const QUuid&,bool)), Qt::UniqueConnection); QObject::connect(card, SIGNAL(requestDelete(const QUuid&)), m_controller, SLOT(deletePerson(const QUuid&)), Qt::UniqueConnection); QObject::connect(card, SIGNAL(callNumber(const QString&)), m_controller, SIGNAL(callNumber(const QString&)), Qt::UniqueConnection); QObject::connect(card, SIGNAL(composeSMS(const QString&)), m_controller, SIGNAL(composeSMS(const QString&)), Qt::UniqueConnection); QObject::connect(card, SIGNAL(composeIM(const QString&)), m_controller, SIGNAL(composeIM(const QString&)), Qt::UniqueConnection); QObject::connect(card, SIGNAL(composeEmail(const QString&)), m_controller, SIGNAL(composeEmail(const QString&)), Qt::UniqueConnection); }