示例#1
0
//============================================
// show dialog box and wait
//--------------------------------------------
int XBox::exec (void) {
	show();
	enterEvent ( 0 );
	int w = 80;
	if (mButtonCount != 1) {
		w = width() / mButtonCount - 60;
	}
	QFontMetrics metrics ( font() );
	if (mBtn1) {
		if (metrics.width (mBtn1->text()) + 20 > w) {
			w = metrics.width (mBtn1->text()) + 20;
		}
		mBtn1 -> setFixedWidth (w);
	}
	if (mBtn2) {
		if (metrics.width (mBtn2->text()) + 20 > w) {
			w = metrics.width (mBtn2->text()) + 20;
		}
		mBtn2 -> setFixedWidth (w);
	}
	if (mBtn3) {
		if (metrics.width (mBtn3->text())+ 20 > w) {
			w = metrics.width (mBtn3->text()) + 20;
		}
		mBtn3 -> setFixedWidth (w);
	}
	qApp->enter_loop();
	return (
		buttonStatus
	);
}
void QAbstractPageSetupDialog_QtDShell::__override_enterEvent(QEvent*  arg__1, bool static_call)
{
    if (static_call) {
        QWidget::enterEvent((QEvent* )arg__1);
    } else {
        enterEvent((QEvent* )arg__1);
    }
}
示例#3
0
void QFontComboBox_QtDShell::__override_enterEvent(QEvent*  arg__1, bool static_call)
{
    if (static_call) {
        QWidget::enterEvent((QEvent* )arg__1);
    } else {
        enterEvent((QEvent* )arg__1);
    }
}
示例#4
0
void QDateEdit_QtDShell::__override_enterEvent(QEvent*  arg__1, bool static_call)
{
    if (static_call) {
        QWidget::enterEvent((QEvent* )arg__1);
    } else {
        enterEvent((QEvent* )arg__1);
    }
}
    //______________________________________________
    bool MenuBarDataV1::eventFilter( QObject* object, QEvent* event )
    {

        if( !( enabled() && object == target().data() ) )
        { return AnimationData::eventFilter( object, event ); }

        // check event type
        switch( event->type() )
        {

            case QEvent::Enter:
            {
                // first need to call proper event processing
                // then implement transition
                object->event( event );
                enterEvent( object );
                if( _isMenu ) _motions = -1;
                break;
            }

            case QEvent::Leave:
            {
                // first need to call proper event processing
                // then implement transition
                object->event( event );
                leaveEvent( object );
                break;
            }

            case QEvent::MouseMove:
            {

                // first need to call proper event processing
                // then implement transition
                if( !_isMenu || _motions++ > 0  ) object->event( event );
                mouseMoveEvent( object );
                break;

            }

            case QEvent::MouseButtonPress:
            {
                // first need to call proper event processing
                // then implement transition
                mousePressEvent( object );
                break;
            }

            default: break;

        }

        // always forward event
        return AnimationData::eventFilter( object, event );

    }
示例#6
0
void Button::mousePressEvent(QMouseEvent *e) {
	if (_acceptBoth || e->buttons() & Qt::LeftButton) {
		if (!(_state & StateOver)) {
			enterEvent(0);
		}
		if (!(_state & StateDown)) {
			int oldState = _state;
			_state |= StateDown;
			emit stateChanged(oldState, ButtonByPress);

			e->accept();
		}
	}
}
bool QtOpenGLWindowBase::event(QEvent * event)
{
    switch (event->type()) {
        case QEvent::UpdateRequest:
            paint();
            return true;
        case QEvent::Enter:
            enterEvent(event);
            return true;
        case QEvent::Leave:
            leaveEvent(event);
            return true;
        default:
            return QWindow::event(event);
    }
}
    //______________________________________________
    bool MenuBarDataV2::eventFilter( QObject* object, QEvent* event )
    {

        if( !enabled() ) return false;

        // check event type
        switch( event->type() )
        {

            case QEvent::Enter:
            {
                // first need to call proper event processing
                // then implement transition
                object->event( event );
                enterEvent( object );
                if( !_isMenu ) _motions = -1;
                break;
            }

            case QEvent::Hide:
            case QEvent::Leave:
            {
                // first need to call proper event processing
                // then implement transition
                object->event( event );
                if( _timer.isActive() ) _timer.stop();
                _timer.start( 100, this );
                break;
            }

            case QEvent::MouseMove:
            {
                // first need to call proper event processing
                // then implement transition
                if( !_isMenu || _motions++ > 0  ) object->event( event );
                mouseMoveEvent( object );
                break;
            }

            default: break;

        }

        // always forward event
        return false;

    }
bool SceneMaterialItem::event(QEvent *event)
{
    switch(event->type())
    {
        case QEvent::Enter:
            enterEvent(event);
            if (!event->isAccepted())
                return false;
            break;
        case QEvent::Leave:
            leaveEvent(event);
            if (!event->isAccepted())
                return false;
            break;
        case QEvent::MouseButtonPress:
            mousePressEvent((QMouseEvent*)event);
            if (!event->isAccepted())
                return false;
        default:
            break;
    }
    return true;
}
示例#10
0
//============================================
// Show event
//--------------------------------------------
void XBox::showEvent ( QShowEvent* ) {
	int xo = 0;
	int yo = 0;
	int w  = width();
	int h  = height();
	QWidget* parent = parentWidget();
	if ( parent ) {
		xo = parent->x();
		yo = parent->y();
	}
	if (qApp->mainWidget()) {
	move ( 
		qApp->mainWidget()->x() + ((parent->width()  - w) / 2), 
		qApp->mainWidget()->y() + ((parent->height() - h) / 2)
	);
	} else { 
	move (
		(qApp->desktop()->width()  - w) / 2 - xo,
		(qApp->desktop()->height() - h) / 2 - yo
	);
	}

	int btnBarWidth = mBtn1 -> width() + 170;
	if (mBtn2) {
		btnBarWidth += mBtn2 -> width();
	}
	if (mBtn3) {
		btnBarWidth += mBtn3 -> width();
	}
	if (btnBarWidth > mLabel -> width()) {
		setMinimumWidth (btnBarWidth);
	} else {
		setMinimumWidth (400);
	}
	enterEvent (NULL);
	mBtn1->setFocus();
}
示例#11
0
void DhQGLWidget::DvhenterEvent(QEvent* x1) {
  return enterEvent(x1);
}
示例#12
0
void DhQPushButton::DvhenterEvent(QEvent* x1) {
  return enterEvent(x1);
}
示例#13
0
void DhQAbstractSpinBox::DvhenterEvent(QEvent* x1) {
  return enterEvent(x1);
}
示例#14
0
void DhQGroupBox::DvhenterEvent(QEvent* x1) {
  return enterEvent(x1);
}
示例#15
0
void DhQSlider::DvhenterEvent(QEvent* x1) {
  return enterEvent(x1);
}
示例#16
0
void DhQStackedWidget::DvhenterEvent(QEvent* x1) {
    return enterEvent(x1);
}
示例#17
0
void SelectionManager::MouseMotion(int x, int y)
{
	// Mouse Dragging
	if( (m_foundComponent != 0) && (m_foundComponent == m_firstClickedComponent) && (m_bPressed) )
	{
		if(m_lastX == 0 && m_lastY == 0)
		{
			m_lastX = x;
			m_lastY = y;
		}

		int draggedX = x - m_lastX;
		int draggedY = y - m_lastY;

		MouseEvent dragEvent(m_foundComponent, MOUSE_DRAGGED, draggedX, draggedY, m_buttonPressed);
		m_foundComponent->ProcessMouseEvent(dragEvent);
	}
	else
	{
		// HACK - For components to work 'outside' of their boundaries
		if(m_firstClickedComponent && m_bPressed)
		{
			MouseEvent dragEvent(m_firstClickedComponent, MOUSE_DRAGGED_OUTSIDE, x, y, m_buttonPressed);
			m_firstClickedComponent->ProcessMouseEvent(dragEvent);
		}
	}


	// Mouse motion
	if(m_foundComponent != 0)
	{
		MouseEvent motionEvent(m_foundComponent, MOUSE_MOTION, x, y, 0);
		m_foundComponent->ProcessMouseEvent(motionEvent);
	}

	// Mouse enter and exit
	if(m_foundComponent != m_hoverOverComponent)
	{
		// Exit the current component that is set as hover
		if(m_hoverOverComponent != 0)
		{
			MouseEvent exitEvent(m_hoverOverComponent, MOUSE_EXITED, m_mouseX, m_mouseY, 0);
			m_hoverOverComponent->ProcessMouseEvent(exitEvent);
		}

		// Enter the new component
		if(m_foundComponent != 0)
		{
			MouseEvent enterEvent(m_foundComponent, MOUSE_ENTERED, m_mouseX, m_mouseY, 0);
			m_foundComponent->ProcessMouseEvent(enterEvent);

			if(m_foundComponent == m_firstClickedComponent && m_bPressed)
			{
				MouseEvent pressedEvent(m_foundComponent, MOUSE_PRESSED, m_mouseX, m_mouseY, 0);
				m_foundComponent->ProcessMouseEvent(pressedEvent);
			}
		}

		m_hoverOverComponent = m_foundComponent;
	}
	else if(m_foundComponent == 0)
	{
		// Exit the current component that is set as hover
		if(m_hoverOverComponent != 0)
		{
			MouseEvent exitEvent(m_hoverOverComponent, MOUSE_EXITED, m_mouseX, m_mouseY, 0);
			m_hoverOverComponent->ProcessMouseEvent(exitEvent);
		}
	}

	m_lastX = x;
	m_lastY = y;
}
示例#18
0
void tst_QWidget_window::tst_dnd()
{
    QStringList log;
    DnDEventLoggerWidget dndTestWidget(&log);

    dndTestWidget.setObjectName(QLatin1String("dndTestWidget"));
    dndTestWidget.setWindowTitle(dndTestWidget.objectName());
    dndTestWidget.resize(200, 300);

    QWidget *dropsRefusingWidget1 = new DnDEventLoggerWidget(&log, &dndTestWidget);
    dropsRefusingWidget1->setObjectName(QLatin1String("dropsRefusingWidget1"));
    dropsRefusingWidget1->resize(180, 80);
    dropsRefusingWidget1->move(10, 10);

    QWidget *dropsAcceptingWidget1 = new DnDEventLoggerWidget(&log, &dndTestWidget);
    dropsAcceptingWidget1->setAcceptDrops(true);
    dropsAcceptingWidget1->setObjectName(QLatin1String("acceptingDropsWidget1"));
    dropsAcceptingWidget1->resize(180, 80);
    dropsAcceptingWidget1->move(10, 110);

    // Create a native widget on top of dropsAcceptingWidget1 to check QTBUG-27336
    QWidget *nativeWidget = new QWidget(dropsAcceptingWidget1);
    nativeWidget->resize(160, 60);
    nativeWidget->move(10, 10);
    nativeWidget->winId();

    QWidget *dropsAcceptingWidget2 = new DnDEventLoggerWidget(&log, &dndTestWidget);
    dropsAcceptingWidget2->setAcceptDrops(true);
    dropsAcceptingWidget2->setObjectName(QLatin1String("acceptingDropsWidget2"));
    dropsAcceptingWidget2->resize(180, 80);
    dropsAcceptingWidget2->move(10, 210);

    QWidget *dropsRefusingWidget2 = new DnDEventLoggerWidget(&log, dropsAcceptingWidget2);
    dropsRefusingWidget2->setObjectName(QLatin1String("dropsRefusingDropsWidget2"));
    dropsRefusingWidget2->resize(160, 60);
    dropsRefusingWidget2->move(10, 10);

    dndTestWidget.show();
    qApp->setActiveWindow(&dndTestWidget);
    QVERIFY(QTest::qWaitForWindowActive(&dndTestWidget));

    QMimeData mimeData;
    mimeData.setText(QLatin1String("testmimetext"));

    // Simulate DnD events on the QWidgetWindow.
    QPoint position = QPoint(11, 1);
    QDragEnterEvent e(position, Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
    QWindow *window = dndTestWidget.windowHandle();
    qApp->sendEvent(window, &e);
    log.push_back(msgEventAccepted(e));
    while (true) {
        position.ry() += 20;
        if (position.y() >= 250) {
            QDropEvent e(position, Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
            qApp->sendEvent(window, &e);
            log.push_back(msgEventAccepted(e));
            break;
        } else {
            QDragMoveEvent e(position, Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
            qApp->sendEvent(window, &e);
            log.push_back(msgEventAccepted(e));
        }
    }

    window = nativeWidget->windowHandle();
    QDragEnterEvent enterEvent(QPoint(0, 0), Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
    qApp->sendEvent(window, &enterEvent);
    log.push_back(msgEventAccepted(enterEvent));

    QDragMoveEvent moveEvent(QPoint(1, 1), Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
    qApp->sendEvent(window, &moveEvent);
    log.push_back(msgEventAccepted(moveEvent));

    QDropEvent dropEvent(QPoint(2, 2), Qt::CopyAction, &mimeData, Qt::LeftButton, Qt::NoModifier);
    qApp->sendEvent(window, &dropEvent);
    log.push_back(msgEventAccepted(dropEvent));

    // Compare logs.
    QStringList expectedLog;
    const int expectedLogSize = int(sizeof(expectedLogC) / sizeof(expectedLogC[0]));
    const QString mimeDataAddress = QString::number(quintptr(&mimeData));
    const QString mimeDataAddressPlaceHolder = QLatin1String("MIME_DATA_ADDRESS");
    for (int i= 0; i < expectedLogSize; ++i)
        expectedLog.push_back(QString::fromLatin1(expectedLogC[i]).replace(mimeDataAddressPlaceHolder, mimeDataAddress));

    QCOMPARE(log, expectedLog);
}
示例#19
0
void DhQScrollArea::DvhenterEvent(QEvent* x1) {
  return enterEvent(x1);
}