void DataViewTable::sortColumn(int col, bool ascending, bool wholeRows) { if (selector_ == NULL) return; try { const SelectList& flist = selector_->sortColumnOrThrow(col, ascending); clearSelection(); // // this seems to be the only way to force a redraw // update() or repaint() should work? // // probably because the cells have no widgets, but // instead are drawn with paintCell() // setNumRows(0); setNumRows(flist.size()); } catch (const khException &e) { QMessageBox::warning(this, "Warning", tr("Error sorting column:\n") + e.qwhat(), QObject::tr("OK"), 0, 0, 0); } catch (const std::exception &e) { QMessageBox::warning(this, "Warning", tr("Error sorting column:\n") + e.what(), QObject::tr("OK"), 0, 0, 0); } catch (...) { QMessageBox::warning(this, "Warning", tr("Error sorting column:\n") + "Unknown error", QObject::tr("OK"), 0, 0, 0); } }
void KVocTrainTable::setDoc(kvoctrainDoc * rows) { if (defaultItem) endEdit(defaultItem->row(), defaultItem->col(), true, false); KVocTrainTableItem *d = defaultItem; defaultItem = 0; if (rows) { m_doc = rows; setNumRows(rows->numEntries()); setNumCols(QMAX(1+KV_EXTRA_COLS, m_doc->numLangs()+KV_EXTRA_COLS)); setCurrentRow(0, 0); } else { setNumRows(0); setNumCols(1+KV_EXTRA_COLS); m_doc = 0; } if (d == 0) { defaultItem = new KVocTrainTableItem(this, QTableItem::OnTyping, rows); } else { defaultItem = d; defaultItem->setDoc(rows); } //gradecols = gc; }
void KviCanvasItemPropertiesWidget::editItem(QCanvasItem * it) { if(!it) { for(int i=0;i<numRows();i++) { clearCell(i,0); clearCell(i,1); clearCellWidget(i,1); } setNumRows(0); return; } QMap<QString,QVariant> * m = 0; switch(KVI_CANVAS_RTTI_CONTROL_TYPE(it)) { case KVI_CANVAS_RTTI_CONTROL_TYPE_RECTANGLE: m = ((KviCanvasRectangleItem *)it)->properties(); break; case KVI_CANVAS_RTTI_CONTROL_TYPE_LINE: m = ((KviCanvasLine *)it)->properties(); break; case KVI_CANVAS_RTTI_CONTROL_TYPE_POLYGON: m = ((KviCanvasPolygon *)it)->properties(); break; } if(!m) { editItem(0); return; } for(int i=0;i<numRows();i++) { clearCell(i,0); clearCell(i,1); clearCellWidget(i,1); } setNumRows(m->count()); QTableItem * item; int idx = 0; for(QMap<QString,QVariant>::ConstIterator iter = m->begin();iter != m->end();++iter) { item = new QTableItem(this,QTableItem::Never,iter.key().toUtf8().data()); setItem(idx,0,item); item = new KviVariantTableItem(this,iter.data()); setItem(idx,1,item); idx++; } }
/*! What do you think it does? */ void QHeader::init( int n ) { if ( !hSplitCur ) hSplitCur = new QCursor( QBitmap( hsplit_width, hsplit_height, hsplit_bits, TRUE), QBitmap( hsplit_width, hsplit_height, hsplitm_bits, TRUE) ); if ( !vSplitCur ) vSplitCur = new QCursor( QBitmap( vsplit_width, vsplit_height, vsplit_bits, TRUE), QBitmap( vsplit_width, vsplit_height, vsplitm_bits, TRUE) ); state = Idle; data = new QHeaderData; data->sizes.resize(n+1); data->labels.resize(n+1); data->a2l.resize(n+1); data->l2a.resize(n+1); data->clicks.resize(n+1); data->resize.resize(n+1); for ( int i = 0; i < n ; i ++ ) { data->labels[i] = 0; data->sizes[i] = 88; data->a2l[i] = i; data->l2a[i] = i; } data->clicks.fill( TRUE ); data->resize.fill( TRUE ); data->move = TRUE; setFrameStyle( QFrame::NoFrame ); if ( orient == Horizontal ) { setCellWidth( 0 ); setCellHeight( height() ); setNumCols( n ); setNumRows( 1 ); } else { setCellWidth( width() ); setCellHeight( 0 ); setNumCols( 1 ); setNumRows( n ); } handleIdx = 0; //################ data->labels[n] = 0; data->sizes[n] = 0; data->a2l[n] = 0; data->l2a[n] = 0; //############# setMouseTracking( TRUE ); trackingIsOn = FALSE; }
DiffView::DiffView( KConfig& cfg, bool withlinenos, bool withmarker, QWidget *parent, const char *name ) : QtTableView(parent, name, Qt::WNoAutoErase) , linenos(withlinenos) , marker(withmarker) , textwidth(0) , partner(0) , partConfig(cfg) { setNumRows(0); setNumCols( 1 + (withlinenos?1:0) + (withmarker?1:0) ); setTableFlags( Tbl_autoVScrollBar|Tbl_autoHScrollBar| Tbl_smoothVScrolling ); setFrameStyle( QFrame::WinPanel | QFrame::Sunken ); setBackgroundRole( QPalette::Base ); configChanged(); QFontMetrics fm(font()); setCellHeight(fm.lineSpacing()); setCellWidth(0); const KConfigGroup group(&partConfig, "General"); m_tabWidth = group.readEntry("TabWidth", 8); items.setAutoDelete(true); connect(CervisiaSettings::self(), SIGNAL(configChanged()), this, SLOT(configChanged())); }
void MarkList::clear() { for ( int i = 0; i != numRows() ; ++i ) { clearCellWidget( i, 0 ); } setNumRows( 0 ); }
void PiecesTable::slotConfigure() { if ( !_dialog ) _dialog = new FifteenConfigDialog(this, "Fifteen Configure Dialog", true ); _dialog->setImageSrc( _image ); _dialog->setGameboard( numRows(), numCols() ); if ( QPEApplication::execDialog(_dialog) == QDialog::Accepted ) { /* * update the board grid and reinit the game if changed * First set new columns so the update will regenerate the * tiles with slotCustomImage */ _image = _dialog->imageSrc(); if (numRows() != _dialog->rows() || numCols() != _dialog->columns() ) { setNumCols(_dialog->columns()); setNumRows(_dialog->rows()); slotReset(); } resizeEvent( 0l ); update(); } }
void PiecesTable::readConfig() { Config cfg("Fifteen"); cfg.setGroup("Game"); QStringList map = cfg.readListEntry("Map", '-'); _randomized = cfg.readBoolEntry( "Randomized", FALSE ); _image = cfg.readEntry( "Image", QString::null ); int rows = cfg.readNumEntry( "Rows", 4 ); int cols = cfg.readNumEntry( "Cols", 4 ); uint items= rows*cols; setNumRows( rows ); setNumCols( cols ); initMap(); /* if we've more items than 'stones' don't restore the state */ if ( items > map.count() ) return; uint i = 0; for ( QStringList::Iterator it = map.begin(); it != map.end(); ++it ) { _map[i] = (*it).toInt(); i++; if ( i > items ) break; } }
bool QGridView::qt_property( int id, int f, QVariant* v) { switch ( id - staticMetaObject()->propertyOffset() ) { case 0: switch( f ) { case 0: setNumRows(v->asInt()); break; case 1: *v = QVariant( this->numRows() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 1: switch( f ) { case 0: setNumCols(v->asInt()); break; case 1: *v = QVariant( this->numCols() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 2: switch( f ) { case 0: setCellWidth(v->asInt()); break; case 1: *v = QVariant( this->cellWidth() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; case 3: switch( f ) { case 0: setCellHeight(v->asInt()); break; case 1: *v = QVariant( this->cellHeight() ); break; case 3: case 4: case 5: break; default: return FALSE; } break; default: return QScrollView::qt_property( id, f, v ); } return TRUE; }
void FLDataTable::selectRow(int r, int c) { if (!cursor_ || !cursor_->metadata()) return ; if (r < 0) { if (cursor_->isValid()) { rowSelected = cursor_->at(); colSelected = currentColumn(); } else { rowSelected = 0; colSelected = 0; } } else { rowSelected = r; colSelected = c; } QObject *snd = const_cast<QObject *>(sender()); if (!snd || (snd && !snd ->isA("FLSqlCursor"))) { QWidget *sndw = ::qt_cast<QWidget *>(snd); if (sndw) { if (!sndw->hasFocus() || !sndw->isVisible()) { setCurrentCell(rowSelected, colSelected); return ; } } if (numRows() != cursor_->size()) setNumRows(cursor_->size()); cursor_->seek(rowSelected); } setCurrentCell(rowSelected, colSelected); }
void kMyMoneyDateTbl::setType(calendarType type) { if (type == WEEKLY) { m_rowCount = 8; m_colCount = 1; m_type = WEEKLY; } else if (type == QUARTERLY) { m_rowCount = 7; m_colCount = 21; m_type = QUARTERLY; } else // default to monthly { m_rowCount = m_colCount = 7; m_type = MONTHLY; } setNumRows(m_rowCount); setNumCols(m_colCount); setHScrollBarMode(AlwaysOff); setVScrollBarMode(AlwaysOff); viewportResizeEvent(NULL); }
void FingerList::resizeEvent(QResizeEvent *e) { Q3GridView::resizeEvent(e); perRow = width() / ICONCHORD; setNumCols(perRow); setNumRows((num - 1) / perRow + 1); }
// Ends adding "session" for the list, setting proper number of // columns / rows, updating it, etc. void FingerList::endSession() { // num is overral number of chord fingerings. If it's 0 - then there are no // fingerings. In the appl array, indexes should be ranged from 0 to (num-1) setNumRows((num - 1) / perRow + 1); repaintContents(); }
void DiffView::addLine(const QString &line, DiffType type, int no) { QFont f(font()); f.setBold(true); QFontMetrics fmbold(f); QFontMetrics fm(font()); // calculate textwidth based on 'line' where tabs are expanded // // *Please note* // For some fonts, e.g. "Clean", is fm.maxWidth() greater than // fmbold.maxWidth(). QString copy(line); const int numTabs = copy.count(QLatin1Char('\t')); copy.remove(QLatin1Char('\t')); const int tabSize = m_tabWidth * qMax(fm.maxWidth(), fmbold.maxWidth()); const int copyWidth = qMax(fm.width(copy), fmbold.width(copy)); textwidth = qMax(textwidth, copyWidth + numTabs * tabSize); DiffViewItem *item = new DiffViewItem; item->line = line; item->type = type; item->no = no; item->inverted = false; items.append(item); setNumRows(numRows()+1); }
KVocTrainTable::KVocTrainTable(kvoctrainDoc *doc, const LangSet *ls, QWidget *parent, const char *name) : QTable(parent, name), langs(ls) { m_doc = doc; defaultItem = 0; setNumCols(m_doc->numLangs()); setNumRows(m_doc->numEntries()); setLeftMargin(0); setSelectionMode(MultiRow); setColumnMovingEnabled(false); setRowMovingEnabled(false); setSorting(false); setDoc(m_doc); triggerSect = -1; m_pixInQuery = QPixmap(KGlobal::iconLoader()->loadIcon("ok", KIcon::Small)); m_pixInactive = QPixmap(KGlobal::iconLoader()->loadIcon("no", KIcon::Small)); delayTimer = new QTimer(this); connect(delayTimer, SIGNAL(timeout()), this, SLOT(menuTriggerTimeout())); QHeader *header = horizontalHeader(); connect(header, SIGNAL(pressed(int)), this, SLOT(headerPressEvent(int))); connect(header, SIGNAL(released(int)), this, SLOT(headerReleaseEvent(int))); connect(this, SIGNAL(currentChanged(int, int)), this, SLOT(slotCurrentChanged(int, int))); }
/** * Show configure dialog. If the button style changes the signal * @p tabButtonStyleChanged() will be emitted. */ void KTinyTabBar::configureClicked() { m_configureButton->setActivated( false ); KTinyTabBarConfigDialog dlg( this, (QWidget*)parent() ); dlg.setObjectName( "tabbar_config_dialog" ); if( dlg.exec() == KDialog::Accepted ) { KTinyTabBarConfigPage* page = dlg.configPage(); setLocationTop( page->locationTop() ); setNumRows( page->numberOfRows() ); setMinimumTabWidth( page->minimumTabWidth() ); setMaximumTabWidth( page->maximumTabWidth() ); setTabHeight( page->fixedTabHeight() ); setTabSortType( page->tabSortType() ); setTabButtonStyle( page->tabButtonStyle() ); setFollowCurrentTab( page->followCurrentTab() ); setHighlightModifiedTabs( page->highlightModifiedTabs() ); setHighlightActiveTab( page->highlightActiveTab() ); setHighlightPreviousTab( page->highlightPreviousTab() ); setModifiedTabsColor( page->modifiedTabsColor() ); setActiveTabColor( page->activeTabColor() ); setPreviousTabColor( page->previousTabColor() ); setHighlightOpacity( page->highlightOpacity() ); emit settingsChanged( this ); } }
void Pstable::checkTableModel() { // int size=procview->linear_procs.size(); // if(size!=numRows()) { // printf("Warnning: this is the bug.. wrong! %d //%d\n",size,numRows()); } if (procview->current_gen != kgen) { // printf("Warnning: maybe this is the bug.. wrong! //%d //%d\n",kgen,procview->current_gen); // setAutoUpdate(false); // ********** important for // GUI-thread // HeadedTable::setTreeMode(procview->treeview); procview->rebuild(); // for Table setNumRows(procview->linear_procs.size()); // 1. // qDebug("Pstable setTreeMode =%d , procview.treeview //=%d\n",treemode,procview->treeview); setNumCols(procview->cats.size()); // 2. resetWidths() kgen = procview->current_gen; // setAutoUpdate(true); } }
void Pstable::refresh() { // qDebug("Pstable:refresh()"); // procview->refresh(); -> move to Qps::refresh() // qDebug("catsize=%d\n",procview->cats.size()); procview->rebuild(); // for Table setNumRows(procview->linear_procs.size()); // 1. setNumCols(procview->cats.size()); // 2. resetWidths() UNINITIAL kgen = procview->current_gen; // checkTableModel(); repaint_changed(); /* if(true) { int count=0,trow=0; for(int row = 0; row < nrows; row++) if(isSelected(row)) { count++; trow=row; } if (count == 1) centerVertically(trow); } */ STATUSBAR_SETCOUNT(procview->num_process); }
MyGridView() { setNumRows( ::numRows ); setNumCols( ::numCols ); setCellWidth( fontMetrics().width( QString("%1 / %2").arg(numRows()).arg(numCols()))); setCellHeight( 2*fontMetrics().lineSpacing() ); setCaption( tr( "Qt Example - This is a grid with 100 x 100 cells" ) ); }
/** * Loads the settings from \a config from section \a group. * Remembered properties are: * - number of rows * - minimum and maximum tab width * - fixed tab height * - button colors * - much more! * . * The original group is saved and restored at the end of this function. * * \note Call @p load() immediately after you created the tabbar, otherwise * some properties might not be restored correctly (like highlighted * buttons). */ void KTinyTabBar::load( KConfigBase* config, const QString& group ) { KConfigGroup cg( config, group ); // tabbar properties setLocationTop ( cg.readEntry( "location top", false ) ); setNumRows ( cg.readEntry( "count of rows", 1 ) ); setMinimumTabWidth( cg.readEntry( "minimum width", 150 ) ); setMaximumTabWidth( cg.readEntry( "maximum width", 300 ) ); setTabHeight ( cg.readEntry( "fixed height", 20 ) ); setTabSortType ( (SortType) cg.readEntry( "sort type", (int)OpeningOrder ) ); setTabButtonStyle ( (ButtonStyle) cg.readEntry( "button style", (int)Push ) ); setFollowCurrentTab(cg.readEntry("follow current tab", true ) ); setHighlightModifiedTabs( cg.readEntry( "highlight modified", false ) ); setHighlightPreviousTab( cg.readEntry( "highlight previous", false ) ); setHighlightActiveTab( cg.readEntry( "highlight active", false ) ); setHighlightOpacity(cg.readEntry( "highlight opacity", 20 ) ); // color settings setModifiedTabsColor( cg.readEntry( "color modified", m_colorModifiedTab ) ); setActiveTabColor( cg.readEntry( "color active", m_colorActiveTab ) ); setPreviousTabColor( cg.readEntry( "color previous", m_colorPreviousTab ) ); // highlighted entries QStringList documents = cg.readEntry( "highlighted documents", QStringList() ); QStringList colors = cg.readEntry( "highlighted colors", QStringList() ); // restore highlight map m_highlightedTabs.clear(); for( int i = 0; i < documents.size() && i < colors.size(); ++i ) m_highlightedTabs[documents[i]] = colors[i]; setHighlightMarks( highlightMarks() ); }
KDateInternalMonthPicker::KDateInternalMonthPicker (int fontsize, QWidget* parent, const char* name) : QGridView(parent, name), result(0) // invalid { QRect rect; QFont font; // ----- activeCol = -1; activeRow = -1; font=KGlobalSettings::generalFont(); font.setPointSize(fontsize); setFont(font); setHScrollBarMode(AlwaysOff); setVScrollBarMode(AlwaysOff); setFrameStyle(QFrame::NoFrame); setNumRows(4); setNumCols(3); // enable to find drawing failures: // setTableFlags(Tbl_clipCellPainting); #if 0 viewport()->setEraseColor(lightGray); // for consistency with the datepicker #endif // ----- find the preferred size // (this is slow, possibly, but unfortunatly it is needed here): QFontMetrics metrics(font); for(int i=1; i <= 12; ++i) { rect=metrics.boundingRect(KGlobal::locale()->monthName(i, false)); if(max.width()<rect.width()) max.setWidth(rect.width()); if(max.height()<rect.height()) max.setHeight(rect.height()); } }
void ColMsgTable::refresh(ColMsgList & m) { ColMsg * msg; Q3PtrListIterator<ColMsg> it(m); for ( ; (msg = it.current()) != 0; ++it) { QString def = msg->def(FALSE, TRUE, UmlView, DefaultShowContextMode); CodObjCanvas * from; CodObjCanvas * to; int r = numRows(); msg->in->get_from_to(from, to, msg->is_forward); setNumRows(r + 1); setItem(r, ABS_RANK_COL, new MsgTableItem(this, msg->absolute_rank)); setItem(r, HI_RANK_COL, new MsgTableItem(this, msg->hierarchical_rank)); setItem(r, FROM_COL, new MsgTableItem(this, from->get_full_name())); setItem(r, MSG_COL, new MsgTableItem(this, def.mid(def.find(' ') + 1))); setItem(r, TO_COL, new MsgTableItem(this, to->get_full_name())); setItem(r, CMD_COL, new MsgTableItem(this, TR("do"), Qt::AlignHCenter)); flat_msg_list.append(msg); if (rec) refresh(msg->msgs); } }
void CQueryTable::refresh() { if (isBlocked()) return; reset(); m_cancel = false; if (!query()->isResultNull()) { setBlocked(true); query()->dataSeek(0); uint num_fields = query()->numFields(); ulong num_rows = query()->numRows(); setNumRows(num_rows); setNumCols(num_fields); QPixmap icon; bool columns_ok = (keepColumnWidth() && previous_columns_map.count() == num_fields); if (columns_ok) for (uint i = 0; i < num_fields; i++) columns_ok &= (previous_columns_map[i].label == query()->fields(i).name); if (!columns_ok && keepColumnWidth()) previous_columns_map.clear(); for (uint i = 0; i < num_fields; i++) { if (IS_PRI_KEY(query()->fields(i).flags)) icon = pkIcon; else if (IS_MUL_KEY(query()->fields(i).flags)) icon = mulIcon; else if (IS_UNI_KEY(query()->fields(i).flags)) icon = uniIcon; else icon = nothingIcon; if (columns_ok && previous_columns_map[i].label == query()->fields(i).name) horizontalHeader()->setLabel(i, icon, query()->fields(i).name, previous_columns_map[i].size); else horizontalHeader()->setLabel(i, icon, query()->fields(i).name); } if (hasProcessEvents()) qApp->processEvents(); else updateScrollBars(); ulong j = 0; while (query()->next(!hasProcessEvents())) { if (m_cancel) break; for (uint i = 0; i < num_fields; i++) setText(j, i, query()->row(i)); j++; } setBlocked(false); emit refreshed(); } else if (!previous_columns_map.empty()) previous_columns_map.clear(); }
void MarkList::insertItem( const QString& text, int index, const QString& tip) { MarkListItem *_item; _item = new MarkListItem( this, text, tip, viewport()->paletteBackgroundColor(), _miniWidget, index ); setNumRows( index + 1 ); setCellWidget( index, 0, _item ); setRowHeight( index, _item->height() ); }
DataViewTable::DataViewTable(QWidget* parent, const char* name) : QTable(parent, name), sort_column_(-1), selector_(NULL) { setNumRows(0); setNumCols(0); setShowGrid(true); setSelectionMode(QTable::MultiRow); setSorting(true); }
KCalls::KCalls(KConnection *newmainwin, QWidget *newframe) : KTabListBox(newframe) { mainwin = newmainwin; frame = newframe; setNumCols(CALLS_COLS); setNumRows(0); SetHeader(); }
void TeQtBigTable::updateContents() { if (numRows() == 0 || numCols() == 0) { setNumRows(dataSource_->numRows()); setNumCols(dataSource_->numCols()); } QTable::updateContents(); }
void KFinderWin::changeTree( KFinderNode *_node ) { node = _node; itemList.clear(); if ( node ) node->fillItemList( itemList, 0 ); setNumRows( itemList.count() ); }
int Q3Table::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = Q3ScrollView::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 58) qt_static_metacall(this, _c, _id, _a); _id -= 58; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< int*>(_v) = numRows(); break; case 1: *reinterpret_cast< int*>(_v) = numCols(); break; case 2: *reinterpret_cast< bool*>(_v) = showGrid(); break; case 3: *reinterpret_cast< bool*>(_v) = rowMovingEnabled(); break; case 4: *reinterpret_cast< bool*>(_v) = columnMovingEnabled(); break; case 5: *reinterpret_cast< bool*>(_v) = isReadOnly(); break; case 6: *reinterpret_cast< bool*>(_v) = sorting(); break; case 7: *reinterpret_cast< SelectionMode*>(_v) = selectionMode(); break; case 8: *reinterpret_cast< FocusStyle*>(_v) = focusStyle(); break; case 9: *reinterpret_cast< int*>(_v) = numSelections(); break; } _id -= 10; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setNumRows(*reinterpret_cast< int*>(_v)); break; case 1: setNumCols(*reinterpret_cast< int*>(_v)); break; case 2: setShowGrid(*reinterpret_cast< bool*>(_v)); break; case 3: setRowMovingEnabled(*reinterpret_cast< bool*>(_v)); break; case 4: setColumnMovingEnabled(*reinterpret_cast< bool*>(_v)); break; case 5: setReadOnly(*reinterpret_cast< bool*>(_v)); break; case 6: setSorting(*reinterpret_cast< bool*>(_v)); break; case 7: setSelectionMode(*reinterpret_cast< SelectionMode*>(_v)); break; case 8: setFocusStyle(*reinterpret_cast< FocusStyle*>(_v)); break; } _id -= 10; } else if (_c == QMetaObject::ResetProperty) { _id -= 10; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 10; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 10; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 10; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 10; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 10; } #endif // QT_NO_PROPERTIES return _id; }
void KIconEditGrid::loadBlank( int w, int h ) { img->create(w, h, 32); img->fill(TRANSPARENT); setNumRows(h); setNumCols(w); fill(TRANSPARENT); emit sizechanged(numCols(), numRows()); emit colorschanged(numColors(), data()); }