void IngredientComboBox::reload() { QString remember_text; if ( isEditable() ) remember_text = lineEdit()->text(); ElementList ingredientList; database->loadIngredients( &ingredientList ); clear(); ingredientComboRows.clear(); int row = 0; if ( !m_specialItem.isEmpty() ) { insertItem( count(), m_specialItem ); ingredientComboRows.insert( row, -1 ); row++; } for ( ElementList::const_iterator it = ingredientList.constBegin(); it != ingredientList.constEnd(); ++it, ++row ) { insertItem( count(), (*it).name ); completionObject()->addItem((*it).name); ingredientComboRows.insert( row, (*it).id ); } if ( isEditable() ) setEditText( remember_text ); database->disconnect( this ); connect( database, SIGNAL( ingredientCreated( const Element & ) ), SLOT( createIngredient( const Element & ) ) ); connect( database, SIGNAL( ingredientRemoved( int ) ), SLOT( removeIngredient( int ) ) ); }
void KMyMoneyAccountCombo::setSelected(const QString& id) { // make sure, we have all items available for search if(isEditable()) { lineEdit()->clear(); } // find which item has this id and set is as the current item QModelIndexList list = model()->match(model()->index(0, 0), AccountsModel::AccountIdRole, QVariant(id), 1, Qt::MatchFlags(Qt::MatchExactly | Qt::MatchCaseSensitive | Qt::MatchRecursive)); if (list.count() > 0) { d->m_lastSelectedAccount = id; QModelIndex index = list.front(); QString accountName = d->fullAccountName(model(), index); // set the current index, for this we must set the parent item as the root item QModelIndex oldRootModelIndex = rootModelIndex(); setRootModelIndex(index.parent()); setCurrentIndex(index.row()); if(isEditable()) { d->m_popupView->collapseAll(); d->m_popupView->expand(index); } // restore the old root item setRootModelIndex(oldRootModelIndex); if(isEditable()) { lineEdit()->setText(accountName); } emit accountSelected(id); } }
void IngredientComboBox::createIngredient( const Element &element ) { int row = findInsertionPoint( element.name ); QString remember_text; if ( isEditable() ) remember_text = lineEdit()->text(); insertItem( row, element.name ); completionObject()->addItem(element.name); if ( isEditable() ) lineEdit()->setText( remember_text ); //now update the map by pushing everything after this item down QMap<int, int> new_map; for ( QMap<int, int>::iterator it = ingredientComboRows.begin(); it != ingredientComboRows.end(); ++it ) { if ( it.key() >= row ) { new_map.insert( it.key() + 1, it.value() ); } else new_map.insert( it.key(), it.value() ); } ingredientComboRows = new_map; ingredientComboRows.insert( row, element.id ); }
//Visualizing MetaInfoDescription object void MetaDataBrowser::visualize_(MetaInfoDescription & meta, QTreeWidgetItem * parent) { MetaInfoDescriptionVisualizer * visualizer = new MetaInfoDescriptionVisualizer(isEditable(), this); visualizer->load(meta); QStringList labels; String name = String("MetaInfoDescription ") + meta.getName(); labels << name.c_str() << QString::number(ws_->addWidget(visualizer)); QTreeWidgetItem * item; if (parent == nullptr) { item = new QTreeWidgetItem(treeview_, labels); } else { item = new QTreeWidgetItem(parent, labels); } //check for DataProcessing visualizeAll_(meta.getDataProcessing(), item); visualize_(dynamic_cast<MetaInfoInterface &>(meta), item); connectVisualizer_(visualizer); }
QModelIndex SqliteTableModel::dittoRecord(int old_row) { if(!isEditable()) return QModelIndex(); if (!insertRow(rowCount())) return QModelIndex(); int firstEditedColumn = 0; int new_row = rowCount() - 1; sqlb::TablePtr t = m_db.getObjectByName<sqlb::Table>(m_sTable); QStringList pk = t->primaryKey(); for (size_t col = 0; col < t->fields.size(); ++col) { if(!contains(pk, t->fields.at(col).name())) { if (!firstEditedColumn) firstEditedColumn = col + 1; QVariant value = data(index(old_row, col + 1), Qt::EditRole); setData(index(new_row, col + 1), value); } } return index(new_row, firstEditedColumn); }
void TextBox::draw(Graphics* graphics) { if (mOpaque) { graphics->setColor(getBackgroundColor()); graphics->fillRectangle(0, 0, getWidth(), getHeight()); } if (isFocused() && isEditable()) { drawCaret(graphics, mText->getCaretX(getFont()), mText->getCaretY(getFont())); } graphics->setColor(getForegroundColor()); graphics->setFont(getFont()); unsigned int i; for (i = 0; i < mText->getNumberOfRows(); i++) { // Move the text one pixel so we can have a caret before a letter. graphics->drawText(mText->getRow(i), 1, i * getFont()->getHeight()); } }
bool SqliteTableModel::removeRows(int row, int count, const QModelIndex& parent) { if(!isEditable()) return false; if(readingData()) { // can't delete rows while reading data in background return false; } QStringList rowids; for(int i=count-1;i>=0;i--) { if(m_cache.count(row+i)) { rowids.append(m_cache.at(row + i).at(0)); } } bool ok = m_db.deleteRecords(m_sTable, rowids, m_pseudoPk); if (ok) { beginRemoveRows(parent, row, row + count - 1); for(int i=count-1;i>=0;i--) { m_cache.erase(row + i); m_currentRowCount--; } endRemoveRows(); } return ok; }
//Visualizing InstrumentSettings object void MetaDataBrowser::visualize_(InstrumentSettings & meta, QTreeWidgetItem * parent) { InstrumentSettingsVisualizer * visualizer = new InstrumentSettingsVisualizer(isEditable(), this); visualizer->load(meta); QStringList labels; labels << "InstrumentSettings" << QString::number(ws_->addWidget(visualizer)); QTreeWidgetItem * item; if (parent == nullptr) { item = new QTreeWidgetItem(treeview_, labels); } else { item = new QTreeWidgetItem(parent, labels); } //ScanWindows visualizeAll_(meta.getScanWindows(), item); visualize_(dynamic_cast<MetaInfoInterface &>(meta), item); connectVisualizer_(visualizer); }
//Visualizing ProteinHit object void MetaDataBrowser::visualize_(ProteinHit & meta, QTreeWidgetItem * parent) { ProteinHitVisualizer * visualizer = new ProteinHitVisualizer(isEditable(), this); visualizer->load(meta); String name = String("Prot ") + meta.getAccession() + " (" + meta.getScore() + ')'; QString qs_name(name.c_str()); QStringList labels; labels << qs_name << QString::number(ws_->addWidget(visualizer)) << QString::number(meta.getScore()); QTreeWidgetItem * item; if (parent == nullptr) { item = new QTreeWidgetItem(treeview_, labels); } else { item = new QTreeWidgetItem(parent, labels); } visualize_(dynamic_cast<MetaInfoInterface &>(meta), item); connectVisualizer_(visualizer); }
QgsGrassEdit::QgsGrassEdit( QgisInterface *iface, QgsMapLayer* layer, bool newMap, QWidget * parent, Qt::WFlags f ) : QMainWindow( parent, f ), QgsGrassEditBase(), mInited( false ), mMapTool( 0 ), mCanvasEdit( 0 ), mRubberBandLine( 0 ), mRubberBandIcon( 0 ) { QgsDebugMsg( "QgsGrassEdit()" ); setupUi( this ); mRunning = true; mValid = false; mTool = QgsGrassEdit::NONE; mSuspend = false; mIface = iface; mNewMap = newMap; mProjectionEnabled = ( QgsProject::instance()->readNumEntry( "SpatialRefSys", "/ProjectionsEnabled", 0 ) != 0 ); mCanvas = mIface->mapCanvas(); if ( !isEditable( layer ) ) return; //TODO dynamic_cast ? mLayer = ( QgsVectorLayer* )layer; //TODO dynamic_cast ? mProvider = ( QgsGrassProvider * ) mLayer->dataProvider(); init(); }
void KMyMoneyAccountCombo::setModel(QAbstractItemModel *model) { delete d->m_popupView; KComboBox::setModel(model); AccountNamesFilterProxyModel* filterModel = qobject_cast<AccountNamesFilterProxyModel*>(model); if(filterModel) { filterModel->setFilterKeyColumn(AccountsModel::Account); filterModel->setFilterRole(AccountsModel::FullNameRole); } d->m_popupView = new QTreeView(this); d->m_popupView->setSelectionMode(QAbstractItemView::SingleSelection); setView(d->m_popupView); d->m_popupView->installEventFilter(this); d->m_popupView->setHeaderHidden(true); d->m_popupView->setRootIsDecorated(false); d->m_popupView->setAlternatingRowColors(true); d->m_popupView->setAnimated(true); d->m_popupView->expandAll(); connect(this, SIGNAL(activated(int)), SLOT(activated())); connect(d->m_popupView, SIGNAL(activated(QModelIndex)), this, SLOT(selectItem(QModelIndex))); connect(d->m_popupView, SIGNAL(pressed(QModelIndex)), this, SLOT(selectItem(QModelIndex))); if(isEditable()) { connect(lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(makeCompletion(QString))); } }
//Visualizing DataProcessing object void MetaDataBrowser::visualize_(DataProcessingPtr & meta, QTreeWidgetItem * parent) { DataProcessingVisualizer * visualizer = new DataProcessingVisualizer(isEditable(), this); visualizer->load(*meta); QStringList labels; labels << "DataProcessing" << QString::number(ws_->addWidget(visualizer)); QTreeWidgetItem * item; if (parent == nullptr) { item = new QTreeWidgetItem(treeview_, labels); } else { item = new QTreeWidgetItem(parent, labels); } //Software object visualize_(meta->getSoftware(), item); visualize_(dynamic_cast<MetaInfoInterface &>(*meta), item); connectVisualizer_(visualizer); }
//Visualizing Instrument object void MetaDataBrowser::visualize_(Instrument & meta, QTreeWidgetItem * parent) { InstrumentVisualizer * visualizer = new InstrumentVisualizer(isEditable(), this); visualizer->load(meta); QStringList labels; labels << "Instrument" << QString::number(ws_->addWidget(visualizer)); QTreeWidgetItem * item; if (parent == nullptr) { item = new QTreeWidgetItem(treeview_, labels); } else { item = new QTreeWidgetItem(parent, labels); } //IonSources visualizeAll_(meta.getIonSources(), item); //MassAnalyzers visualizeAll_(meta.getMassAnalyzers(), item); //IonDectector visualizeAll_(meta.getIonDetectors(), item); //Software visualize_(meta.getSoftware(), item); visualize_(dynamic_cast<MetaInfoInterface &>(meta), item); connectVisualizer_(visualizer); }
//Visualizing AcquisitionInfo object void MetaDataBrowser::visualize_(AcquisitionInfo & meta, QTreeWidgetItem * parent) { AcquisitionInfoVisualizer * visualizer = new AcquisitionInfoVisualizer(isEditable(), this); visualizer->load(meta); QStringList labels; labels << "Acquisition Info" << QString::number(ws_->addWidget(visualizer)); QTreeWidgetItem * item; if (parent == nullptr) { item = new QTreeWidgetItem(treeview_, labels); } else { item = new QTreeWidgetItem(parent, labels); } //Get Aquisition objects visualizeAll_(meta, item); visualize_(dynamic_cast<MetaInfoInterface &>(meta), item); connectVisualizer_(visualizer); }
void LegacyTextEditor::_onStateChanged( State oldState ) { Widget::_onStateChanged(oldState); m_text.setState(m_state); _requestRender(); //TODO: Only requestRender if skin or text appearance has changed. if( isEditable() ) { if( m_state.isFocused() && !oldState.isFocused() ) { m_text.showCursor(); m_tickRouteId = Base::msgRouter()->addRoute( MsgType::Tick, this ); if( m_bResetCursorOnFocus ) m_text.goEot(); _requestRender(); } if( !m_state.isFocused() && oldState.isFocused() ) { m_text.hideCursor(); Base::msgRouter()->deleteRoute( m_tickRouteId ); m_tickRouteId = 0; _requestRender(); } } }
QStringList ContactListSpecialGroup::moveOperationsForSpecialGroupContact(PsiContact* contact) const { Q_ASSERT(isEditable()); QStringList result; if (specialType_ == SpecialType_General) { result << QString(); } return result; }
/*! \brief Called when an item has been double clicked */ void ApplicationViewWidget::onItemDoubleClicked(QTreeWidgetItem *it,int col) { Qt::ItemFlags tmp = it->flags(); if (isEditable(it, col)) { it->setFlags(tmp | Qt::ItemIsEditable); } else if (tmp & Qt::ItemIsEditable) { it->setFlags(tmp ^ Qt::ItemIsEditable); } }
void MyFontComboBox::setCurrentText( const QString & text ) { int i = findText(text); if (i != -1) setCurrentIndex(i); else if (isEditable()) setEditText(text); else setItemText(currentIndex(), text); }
void KonqCombo::getStyleOption(QStyleOptionComboBox* comboOpt) { //We only use this for querying metrics,so it's rough.. comboOpt->init(this); comboOpt->editable = isEditable(); comboOpt->frame = hasFrame(); comboOpt->iconSize = iconSize(); comboOpt->currentIcon = itemIcon(currentIndex()); comboOpt->currentText = currentText(); }
bool SqliteTableModel::setData(const QModelIndex& index, const QVariant& value, int role) { // Don't even try setting any data if we're not browsing a table, i.e. the model data comes from a custom query if(!isEditable()) return false; // This function is for in-place editing. // So, BLOB flag is false every times. return setTypedData(index, false, value, role); }
Qt::ItemFlags MLModel::flags(const QModelIndex &index) const { if( !index.isValid() ) return 0; if( isEditable( index ) ) return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEditable; else return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; }
bool LegacyTextEditor::insertCharAtCursor( uint16_t c ) { if( !isEditable() ) return 0; if( !m_state.isFocused() ) if( !grabFocus() ) return false; // Couldn't get input focus... return _insertCharAtCursor(c); }
bool QgsRasterDataProvider::writeBlock( QgsRasterBlock *block, int band, int xOffset, int yOffset ) { if ( !block ) return false; if ( !isEditable() ) { QgsDebugMsg( "writeBlock() called on read-only provider." ); return false; } return write( block->bits(), band, block->width(), block->height(), xOffset, yOffset ); }
MetaDataBrowser::MetaDataBrowser(bool editable, QWidget * parent, bool modal) : QDialog(parent), editable_(editable) { setWindowTitle("Meta data"); setModal(modal); //splitter to hold treewidget and the right part (on a dummy widget) QGridLayout * grid = new QGridLayout(this); QSplitter * splitter = new QSplitter(Qt::Horizontal, this); grid->addWidget(splitter, 0, 0); //Create the tree for exploring data treeview_ = new QTreeWidget(this); treeview_->setColumnCount(3); treeview_->setHeaderLabel("Browse in Metadata tree"); treeview_->setRootIsDecorated(true); treeview_->setColumnHidden(1, true); treeview_->setColumnHidden(2, true); splitter->addWidget(treeview_); //create a dummy widget to hold a grid layout and the item stack QWidget * dummy = new QWidget(splitter); splitter->addWidget(dummy); grid = new QGridLayout(dummy); grid->setColumnStretch(0, 1); //Create WidgetStack for managing visible metadata ws_ = new QStackedWidget(dummy); grid->addWidget(ws_, 0, 0, 1, 3); if (isEditable()) { saveallbutton_ = new QPushButton("OK", dummy); cancelbutton_ = new QPushButton("Cancel", dummy); grid->addWidget(saveallbutton_, 1, 1); grid->addWidget(cancelbutton_, 1, 2); connect(saveallbutton_, SIGNAL(clicked()), this, SLOT(saveAll_())); connect(cancelbutton_, SIGNAL(clicked()), this, SLOT(reject())); } else { closebutton_ = new QPushButton("Close", dummy); grid->addWidget(closebutton_, 1, 2); connect(closebutton_, SIGNAL(clicked()), this, SLOT(reject())); } connect(treeview_, SIGNAL(itemSelectionChanged()), this, SLOT(showDetails_())); status_list_ = ""; } //end of constructor
bool QgsAuxiliaryLayer::save() { bool rc = false; if ( isEditable() ) { rc = commitChanges(); } startEditing(); return rc; }
int OptVectorLayer::addFeatureWithDefaultValue( OptFeature& f ) { //{zhangliye2715:api} if ( !isEditable() ) { startEditing(); } // add the fields to the QgsFeature QgsVectorDataProvider* provider = dataProvider(); const QgsFieldMap fields = provider->fields(); for ( QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); ++it ) { f.addAttribute( it.key(), provider->defaultValue( it.key() ) ); } int id = -1; id = OptVectorLayer::addFeature( f ); if ( id != -1 ) { //add points to other features to keep topology up-to-date int topologicalEditing = QgsProject::instance()->readNumEntry( "Digitizing", "/TopologicalEditing", 0 ); if( topologicalEditing ) { addTopologicalPoints( f.geometry() ); } } else { return -1; } //vlayer->setModified(true); //commit or rollBack the change if ( isModified() ) { commitChanges(); } else { rollBack(); return -1; } //make the layer still editable for the next adding operation startEditing(); return id; }
/*! \internal */ Qt::ItemFlags KDPropertyModel::flags(const QModelIndex &index) const { Qt::ItemFlags f = QAbstractItemModel::flags(index); if(isEnabled(index)) { f |= Qt::ItemIsEnabled; if(isEditable(index)) f |= Qt::ItemIsEditable; } else { f &= !Qt::ItemIsEnabled; } if(privateData(index) && privateData(index)->isCategory()) f |= Qt::ItemIsUserCheckable|Qt::ItemIsEnabled; return f; }
void QThemeWidget::setThemeName(const QString & value) { name = value; if (isEditable()) { disconnect(nameEdit,SIGNAL(textChanged(QString)),this,SLOT(setThemeName(QString))); nameEdit -> setText(name); emit widgetChanged(); connect(nameEdit,SIGNAL(textChanged(QString)),this,SLOT(setThemeName(QString))); } else nameLabel -> setText("<h1>" + name + "</h1>"); }
void InstrumentVisualizer::update_() { name_->setText(temp_.getName().c_str()); vendor_->setText(temp_.getVendor().c_str()); model_->setText(temp_.getModel().c_str()); customizations_->setText(temp_.getCustomizations().c_str()); if (!isEditable()) { fillComboBox_(ion_optics_, &temp_.NamesOfIonOpticsType[temp_.getIonOptics()], 1); } else { fillComboBox_(ion_optics_, temp_.NamesOfIonOpticsType, Instrument::SIZE_OF_IONOPTICSTYPE); } }
void TextField::draw(Graphics* graphics) { Color faceColor = getBaseColor(); Color highlightColor, shadowColor; int alpha = getBaseColor().a; highlightColor = faceColor + 0x303030; highlightColor.a = alpha; shadowColor = faceColor - 0x303030; shadowColor.a = alpha; // Draw a border. graphics->setColor(shadowColor); graphics->drawLine(0, 0, getWidth() - 1, 0); graphics->drawLine(0, 1, 0, getHeight() - 2); graphics->setColor(highlightColor); graphics->drawLine(getWidth() - 1, 1, getWidth() - 1, getHeight() - 1); graphics->drawLine(0, getHeight() - 1, getWidth() - 1, getHeight() - 1); // Push a clip area so the other drawings don't need to worry // about the border. graphics->pushClipArea(Rectangle(1, 1, getWidth() - 2, getHeight() - 2)); graphics->setColor(getBackgroundColor()); graphics->fillRectangle(Rectangle(0, 0, getWidth(), getHeight())); if (isFocused()) { graphics->setColor(getSelectionColor()); graphics->drawRectangle(Rectangle(0, 0, getWidth() - 2, getHeight() - 2)); graphics->drawRectangle(Rectangle(1, 1, getWidth() - 4, getHeight() - 4)); } if (isFocused() && isEditable()) { drawCaret(graphics, mText->getCaretX(getFont()) - mXScroll); } graphics->setColor(getForegroundColor()); graphics->setFont(getFont()); const Rectangle& dim = mText->getCaretDimension(getFont()); if (mText->getNumberOfRows() != 0) graphics->drawText(mText->getRow(0), 1 - mXScroll, 1); graphics->popClipArea(); }