Beispiel #1
0
/*! \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);
}
Beispiel #2
0
/**
 * @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();
}
Beispiel #3
0
/**
 * @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();
}
Beispiel #4
0
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);
	}
}
Beispiel #5
0
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);
}/*}}}*/
Beispiel #6
0
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() ) ); }