コード例 #1
0
//virtual
bool PixButton::touchUpdateEvent(QTouchEvent *event)
{
	if (!m_trackingTouch)
	{
		return true;
	}

	//dig out the tracked point
	QList<QTouchEvent::TouchPoint> tlist = event->touchPoints();
	for (QList<QTouchEvent::TouchPoint>::const_iterator it = tlist.constBegin();
			it != tlist.constEnd();++it)
	{
		if (it->id() == m_trackingTouchId)
		{
			//check the position. if it's left the button bounds, cancel it all
			if (!boundingRect().contains(it->pos()))
			{
				m_trackingTouch = false;
				Q_EMIT signalCancel();
				return true;
			}
		}
	}

	return true;
}
コード例 #2
0
bool UploadWaitForm::eventFilter(QObject *target, QEvent *event)
{
    if(target == labelCancel)
    {
        if(QEvent::MouseButtonPress == event->type())
        {
            QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
            if(Qt::LeftButton == mouseEvent->button())
            {
                //先处理哪一个按下
                emit signalCancel();
                on_pushButtonCancel_clicked();
                //获取屏幕左上角坐标与软件左上角坐标的偏移
                this->mousePressEvent(mouseEvent);
                return true;
            }
        }
        else if (QEvent::MouseMove == event->type())
        {
            QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
            this->mouseMoveEvent(mouseEvent);
            return true;
        }
        else
        {
//            QWidget::eventFilter(target, event);
            return false;
        }
    }
    else
    {
        return QWidget::eventFilter(target, event);
    }
}
コード例 #3
0
//virtual
void PixButton2State::setupFSM()
{
	m_p_buttonFSM = new QStateMachine(this);
	m_p_buttonFSM->setObjectName("fsm");

	m_p_stateNormal        = createState("normal",m_p_buttonFSM);
	m_p_stateActive     = createState("active",m_p_buttonFSM);

	// ------------------- STATE: normal -----------------------------------
	//	normal PROPERTIES
	m_p_stateNormal->assignProperty(this,"stateActive", false);
	//  normal TRANSITIONS
	m_p_stateNormal->addTransition(this,SIGNAL(signalFSMActivate()),m_p_stateActive);
	//  normal SIDE-EFFECTS

	// ------------------- STATE: active ------------------------------------
	// active PROPERTIES
	m_p_stateActive->assignProperty(this,"stateActive", true);
	// active TRANSITIONS
	QSignalTransition * transition = m_p_stateActive->addTransition(this, SIGNAL(signalFSMDeactivate()),m_p_stateNormal);
	m_p_stateActive->addTransition(this, SIGNAL(signalActivated()),m_p_stateNormal);
	m_p_stateActive->addTransition(this, SIGNAL(signalCancel()),m_p_stateNormal);
	//  active SIDE-EFFECTS
	connect(transition,SIGNAL(triggered()),this,SIGNAL(signalActivated()));	/// <---- this one alerts the clients to the action!!


	m_p_buttonFSM->setInitialState(m_p_stateNormal);
}
コード例 #4
0
void QtSoftUpdatePrompt::handleCancel()
{
    bool ignore = _ui->checkBox->isChecked();

    killRefreshTimer();		//VOXOX - JRT - 2009.12.29

    signalCancel( ignore );
}
コード例 #5
0
void PropertyWidget::slotCancel()
{
	// generate a focus out event for the child windows
	if (!hasFocus())
		setFocus();
		
	cancelPressed();
	emit signalCancel();
}
コード例 #6
0
ファイル: SnapToolBar.cpp プロジェクト: MtDesert/ChatClient
void SnapToolBar::slotActionTriggered(QAction *action)
{
	if(action->text()==QString::fromUtf8("完成"))
	{
		emit signalFinish();
	}
	if(action->text()==QString::fromUtf8("取消"))
	{
		emit signalCancel();
	}
}
コード例 #7
0
ファイル: SnapWidget.cpp プロジェクト: MtDesert/ChatClient
SnapWidget::SnapWidget(QWidget *parent) :
QWidget(parent)
{
	//初始化当前状态
	setWindowFlags(Qt::ToolTip);
	resize(0,0);
	setMouseTracking(true);
	//初始化编辑状态
	editing=false;
	visibleTextBorder=false;
	visibleText=false;
	//连接信号与槽
	connect(&toolBar,SIGNAL(signalCancel()),this,SIGNAL(signalClose()));//接收取消信号
	connect(&toolBar,SIGNAL(signalFinish()),this,SLOT(slotSnapFinish()));//接收截图信号
}
コード例 #8
0
ファイル: ewa_htmlselector.cpp プロジェクト: sendevent/ewa
EWAHTMLSelector::EWAHTMLSelector( QWidget *pParent )
    :QWidget( pParent )
{
    m_pDlg = new EWAHtmlSelectorDlg( this );
    connect(  m_pDlg, SIGNAL( signalOk() ),
              this, SIGNAL ( signalAccepted() ) );
    connect(  m_pDlg, SIGNAL( signalCancel() ),
              this, SIGNAL ( signalReject() ) );

    m_webViewPtr = 0;
    m_messagePtr = 0;

    m_bkgndPen = QPen( Qt::gray );
    m_markerPen = QPen( Qt::yellow );

    setMouseTracking( true );
}
コード例 #9
0
//virtual
bool PixButton::touchEndEvent(QTouchEvent *event)
{
//	--m_touchCount;
//	if (m_touchCount <= 0)
//	{
//		m_touchCount = 0;
//		Q_EMIT signalLastRelease();
//	}
//	else
//	{
//		Q_EMIT signalRelease();
//	}
//	return true;

	if (!m_trackingTouch)
	{
		return true;
	}

	//dig out the tracked point
	QList<QTouchEvent::TouchPoint> tlist = event->touchPoints();
	for (QList<QTouchEvent::TouchPoint>::const_iterator it = tlist.constBegin();
			it != tlist.constEnd();++it)
	{
		if (it->id() == m_trackingTouchId)
		{
			//check the position. if it's left the button bounds, don't send release
			if (boundingRect().contains(it->pos()))
			{
				//send release
				Q_EMIT signalLastRelease();
			}
			else
			{
				//send cancel
				Q_EMIT signalCancel();
			}
			m_trackingTouch = false;
			return true;
		}
	}
	return true;
}
コード例 #10
0
void WidgetMain::slotClickUpload()
{
	{
		//如果存在串口监视的则暂停
		if(NULL != pSerialPortTool_)
		{
			pSerialPortTool_->closePort();
			pSerialPortTool_->close();
		}
	}
    //加入是否已经设置好串口的判断
    if(pSerialSetting_->getBoardType() == tr("Plase Set Arduino Type")
            || pSerialSetting_->getSerialPort() == tr("Serial Port"))
    {
        //在此调出串口设置界面让其设置
        createUploadSetting();
    }
    else
    {
        UploadWaitForm *p = new UploadWaitForm(this->rect(), this);
        p->setAttribute(Qt::WA_DeleteOnClose);
        QSettings settingTmp("./resource/setting.ini", QSettings::IniFormat);
        QString value = settingTmp.value(tr("Normal/uploader")).toString();
        QString filePath;
        if(value == "ArduinoUploader")
        {
#ifdef Q_OS_MAC
			QDir dir("./resource/tools/ArduinoUploader/ArduinoUploader.app/Contents/MacOS");
			if(!dir.exists("Temp"))
			{
				dir.mkdir("Temp");
			}
            filePath = "./resource/tools/ArduinoUploader/ArduinoUploader.app/Contents/MacOS/Temp/code.cpp";
#else
			QDir dir("./resource/tools/ArduinoUploader");
			if(!dir.exists("Temp"))
			{
				dir.mkdir("Temp");
			}
            filePath = "./resource/tools/ArduinoUploader/Temp/code.cpp";
#endif
        }
        else if(value == "DFRobotUploader")
        {
#ifdef Q_OS_MAC
			QDir dir("./resource/tools/ArduinoUploader/ArduinoUploader.app/Contents/MacOS");
			if(!dir.exists("Temp"))
			{
				dir.mkdir("Temp");
			}
			filePath = "./resource/tools/ArduinoUploader/ArduinoUploader.app/Contents/MacOS/Temp/code.cpp";
#else
			QDir dir("./resource/tools/ArduinoUploader");
			if(!dir.exists("Temp"))
			{
				dir.mkdir("Temp");
			}
			filePath = "./resource/tools/ArduinoUploader/Temp/code.cpp";
#endif
        }

        Uploader  *pUpload = new Uploader(filePath, boardIndex_, pSerialSetting_->getSerialPort());
        QThread *pThread = new QThread;
        pUpload->moveToThread(pThread);
        connect(pThread, SIGNAL(started()), pUpload, SLOT(slotStart()));
        connect(pUpload, SIGNAL(signalCurrentProgress(float, int)), p, SLOT(slotAdvanceProgress(float,int)), Qt::QueuedConnection);

        connect(pUpload, SIGNAL(signalBoardError(QString)), p, SLOT(SlotBoardError(QString)), Qt::QueuedConnection);
        connect(pUpload, SIGNAL(signalTypeConversionError(QString)), p, SLOT(SlotTypeConversionError(QString)), Qt::QueuedConnection);
        connect(pUpload, SIGNAL(signalPortError(QString)), p, SLOT(SlotPortError(QString)), Qt::QueuedConnection);
        connect(pUpload, SIGNAL(signalCompileEnd()), p, SLOT(SlotCompileEnd()));
        connect(p, SIGNAL(signalCancel()), pThread, SLOT(terminate()));

        p->show();
        pThread->start();
    }
}
コード例 #11
0
ファイル: profile.cpp プロジェクト: Snodig/Nagios
void rpnoc::Profile::slotCancel( void )
{
	emit signalCancel( QString( "User pressed cancel at profile window" ) );
	this->close();
}