/*! \internal */ void QAbstractScrollAreaPrivate::replaceScrollBar(QScrollBar *scrollBar, Qt::Orientation orientation) { Q_Q(QAbstractScrollArea); QAbstractScrollAreaScrollBarContainer *container = scrollBarContainers[orientation]; bool horizontal = (orientation == Qt::Horizontal); QScrollBar *oldBar = horizontal ? hbar : vbar; if (horizontal) hbar = scrollBar; else vbar = scrollBar; scrollBar->setParent(container); container->scrollBar = scrollBar; container->layout->removeWidget(oldBar); container->layout->insertWidget(0, scrollBar); scrollBar->setVisible(oldBar->isVisibleTo(container)); scrollBar->setInvertedAppearance(oldBar->invertedAppearance()); scrollBar->setInvertedControls(oldBar->invertedControls()); scrollBar->setRange(oldBar->minimum(), oldBar->maximum()); scrollBar->setOrientation(oldBar->orientation()); scrollBar->setPageStep(oldBar->pageStep()); scrollBar->setSingleStep(oldBar->singleStep()); scrollBar->setSliderDown(oldBar->isSliderDown()); scrollBar->setSliderPosition(oldBar->sliderPosition()); scrollBar->setTracking(oldBar->hasTracking()); scrollBar->setValue(oldBar->value()); delete oldBar; QObject::connect(scrollBar, SIGNAL(valueChanged(int)), q, horizontal ? SLOT(_q_hslide(int)) : SLOT(_q_vslide(int))); QObject::connect(scrollBar, SIGNAL(rangeChanged(int,int)), q, SLOT(_q_showOrHideScrollBars()), Qt::QueuedConnection); }
/** * @param x x coordinate * @param y y coordinate */ void CanvasView::moveDrag(int x, int y) { const int dx = _dragx - x; const int dy = _dragy - y; if(_isdragging==ROTATE) { qreal preva = qAtan2( width()/2 - _dragx, height()/2 - _dragy ); qreal a = qAtan2( width()/2 - x, height()/2 - y ); setRotation(rotation() + qRadiansToDegrees(preva-a)); } else { QScrollBar *ver = verticalScrollBar(); ver->setSliderPosition(ver->sliderPosition()+dy); QScrollBar *hor = horizontalScrollBar(); hor->setSliderPosition(hor->sliderPosition()+dx); } _dragx = x; _dragy = y; // notify of scene change sceneChanged(); }
/** * @param x x coordinate * @param y y coordinate */ void EditorView::moveDrag(int x, int y) { const int dx = dragx_ - x; const int dy = dragy_ - y; if(isdragging_==ROTATE) { qreal preva = atan2( width()/2 - dragx_, height()/2 - dragy_ ); qreal a = atan2( width()/2 - x, height()/2 - y ); setRotation(rotation() + (preva-a) * (180.0 / M_PI)); } else { QScrollBar *ver = verticalScrollBar(); ver->setSliderPosition(ver->sliderPosition()+dy); QScrollBar *hor = horizontalScrollBar(); hor->setSliderPosition(hor->sliderPosition()+dx); } dragx_ = x; dragy_ = y; // notify of scene change sceneChanged(); }
void Main::moveDefinicio(QEvent *event) { int type = event->type(); int step,pagestep; QScrollBar *bar; bar=ui.definicio->verticalScrollBar(); step=bar->singleStep(); pagestep=bar->pageStep(); if (type == QEvent::User+Auxiliar::KeyDown()) { bar->setSliderPosition(bar->sliderPosition()+step); } else if (type == QEvent::User+Auxiliar::KeyUp()) { bar->setSliderPosition(bar->sliderPosition()-step); } else if (type == QEvent::User+Auxiliar::KeyNextPage()) { bar->setSliderPosition(bar->sliderPosition()+pagestep); } else if (type == QEvent::User+Auxiliar::KeyPrevPage()) { bar->setSliderPosition(bar->sliderPosition()-pagestep); } }
void TrackListView::populateTable()/*{{{*/ { if(debugMsg) printf("TrackListView::populateTable\n"); QScrollBar *bar = m_table->verticalScrollBar(); int barPos = 0; if(bar) barPos = bar->sliderPosition(); m_model->clear(); for(iMidiTrack i = song->artracks()->begin(); i != song->artracks()->end(); ++i) { MidiTrack* track = (MidiTrack*)(*i); PartList* pl = track->parts(); if(m_displayRole == PartRole && pl->empty()) { continue; } QStandardItem* trackName = new QStandardItem(); trackName->setForeground(QBrush(QColor(205,209,205))); trackName->setBackground(QBrush(QColor(20,20,20))); trackName->setFont(QFont("fixed-width", 10, QFont::Bold)); trackName->setText(track->name()); trackName->setCheckable(true); trackName->setCheckState(m_selectedTracks.contains(track->id()) ? Qt::Checked : Qt::Unchecked); trackName->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); trackName->setData(1, TrackRole); trackName->setData(track->name(), TrackNameRole); trackName->setData(track->id(), TrackIdRole); trackName->setEditable(true); m_model->appendRow(trackName); for(iPart ip = pl->begin(); ip != pl->end(); ++ip) { Part* part = ip->second; QStandardItem* partName = new QStandardItem(); partName->setFont(QFont("fixed-width", 9, QFont::Bold)); partName->setText(part->name()); partName->setData(part->sn(), PartRole); partName->setData(2, TrackRole); partName->setData(track->name(), TrackNameRole); partName->setData(part->name(), PartNameRole); partName->setData(part->tick(), TickRole); partName->setData(track->id(), TrackIdRole); partName->setEditable(true); partName->setCheckable(true); partName->setCheckState(m_editor->hasPart(part->sn()) ? Qt::Checked : Qt::Unchecked); if(!partColorIcons.isEmpty() && part->colorIndex() < partColorIcons.size()) partName->setIcon(partColorIcons.at(part->colorIndex())); m_model->appendRow(partName); } } m_model->setHorizontalHeaderLabels(m_headers); if(m_selectedIndex < m_model->rowCount()) { m_table->selectRow(m_selectedIndex); m_table->scrollTo(m_model->index(m_selectedIndex, 0)); } if(bar) bar->setSliderPosition(barPos); }/*}}}*/
void MapArea::mouseMoveEvent(QMouseEvent *event) { const QPoint &point = event->pos(); if( !mapInfo || !this->rect().contains(point) ) return; // Move sliders if( event->buttons() & Qt::RightButton ) { globalPoint = event->globalPos(); QScrollBar *hSB = scrollArea->horizontalScrollBar(); hSB->setSliderPosition(hSB->sliderPosition() - globalPoint.x() + lastGlobalPoint.x()); QScrollBar *vSB = scrollArea->verticalScrollBar(); vSB->setSliderPosition(vSB->sliderPosition() - globalPoint.y() + lastGlobalPoint.y()); lastGlobalPoint = globalPoint; } const int tileX = point.x() / tileSize; const int tileY = point.y() / tileSize; const QRect &rc = QRect(tileX * tileSize, tileY * tileSize, tileSize, tileSize); // Draw objects, if LMB and current item is valid. if( (event->buttons() & Qt::LeftButton) && (mainForm->currentItem) ) { isHighlight = false; MapInfo::Tile &tile = mapInfo->tiles[tileY][tileX]; // On map const sh_p<ObjectInfo> newObj = objectFromItem[mainForm->currentItem]; // In mouse // *** currentItem is only from currentToolboxIndex *** switch( mainForm->currentToolboxIndex ) { case 0: // Tools { sh_p<ObjectInfo> &obj = tile.object; if( obj != newObj ) { AddObjectWithPainter(frontPixmap, rc, obj, newObj); } } break; case 1: // Terrain changing { sh_p<ObjectInfo> &terr = tile.terrain; if( terr != newObj ) { AddObjectWithPainter(groundPixmap, rc, terr, newObj); } } break; case 2: // Resource add { sh_p<ObjectInfo> &obj = tile.object; if( obj != newObj ) { AddObjectWithPainter(frontPixmap, rc, obj, newObj); } } break; } } else // Highlight current rectangle { isHighlight = true; } // Update rects if( lastRc.topLeft() != rc.topLeft() ) { this->update(lastRc); lastRc = rc; this->update(lastRc); } }
bool BCI2000Viewer::ChannelDown_Enabled() { QScrollBar* s = ui->verticalScrollBar; return s->isEnabled() && s->sliderPosition() < s->maximum(); }
void BCI2000Viewer::ChannelPagePrev() { QScrollBar* s = ui->verticalScrollBar; s->setSliderPosition( max( s->minimum(), s->sliderPosition() - s->pageStep() ) ); }
void BCI2000Viewer::ChannelPageNext() { QScrollBar* s = ui->verticalScrollBar; s->setSliderPosition( min( s->maximum(), s->sliderPosition() + s->pageStep() ) ); }