本文整理汇总了C++中wxMouseEvent::Entering方法的典型用法代码示例。如果您正苦于以下问题:C++ wxMouseEvent::Entering方法的具体用法?C++ wxMouseEvent::Entering怎么用?C++ wxMouseEvent::Entering使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxMouseEvent
的用法示例。
在下文中一共展示了wxMouseEvent::Entering方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onMouseAction
void VNCCanvas::onMouseAction(wxMouseEvent &event)
{
if(event.Entering())
{
SetFocus();
if(do_keyboard_grab)
grab_keyboard();
if(wxTheClipboard->Open())
{
if(wxTheClipboard->IsSupported(wxDF_TEXT))
{
wxTextDataObject data;
wxTheClipboard->GetData(data);
wxString text = data.GetText();
wxLogDebug(wxT("VNCCanvas %p: setting cuttext: '%s'"), this, text.c_str());
conn->setCuttext(text);
}
wxTheClipboard->Close();
}
}
if(event.Leaving())
{
if(do_keyboard_grab)
ungrab_keyboard();
}
conn->sendPointerEvent(event);
}
示例2: OnMouse
void colorPatternArea::OnMouse(wxMouseEvent &event) {
if (mID < kNumPatterns && event.LeftDClick()) {
patternSelectDlg selector(this);
if (selector.ShowModal() == wxOK) {
}
}
if (mID >= ID_BITMAP_SLT && mID < ID_BITMAP_SLT + kNumPatterns) //exclude color areas in the left panel
{
if ( mID >= ID_BITMAP_SLT && (event.Entering() || mID == dynamic_cast<patternSelectDlg*>(mParent)->getSltId()) ) {
//"distance" of two colors
if ( pow((float)(mCurrentColor.Red()-defaultColor.Red()),2.0f) + pow((float)(mCurrentColor.Green()-defaultColor.Green()),2.0f) + pow((float)(mCurrentColor.Blue()-defaultColor.Blue()),2.0f) < 500)
SetBackgroundColour(wxColour(68,68,68));
else
SetBackgroundColour(defaultColor);
}
if ( event.Leaving() && mID >= ID_BITMAP_SLT && mPatID != dynamic_cast<patternSelectDlg*>(mParent)->getSltPatId() )
SetBackgroundColour(mCurrentColor);
if (event.LeftDown() && mID >= ID_BITMAP_SLT) {
dynamic_cast<patternSelectDlg*>(mParent)->setSltId(mID);
}
}
}
示例3: OnMouse
void ToolBarGrabber::OnMouse(wxMouseEvent &event)
{
int prevState = mState;
// Handle hilighting the image if the mouse is over it
if (event.Entering())
mState = 1;
else if (event.Leaving())
mState = 0;
else {
wxSize clientSize = GetClientSize();
if (event.m_x >= 0 && event.m_y >= 0 &&
event.m_x < clientSize.x && event.m_y < clientSize.y)
mState = 1;
else
mState = 0;
}
if (event.ButtonDown())
mOwnerToolBar->StartMoving();
if (mState != prevState)
Refresh(false);
}
示例4: OnMouse
void kwxBmpCheckBox::OnMouse(wxMouseEvent& event)
{
if (m_stato == 0 && event.Entering())
{
m_stato = 1; // mouse sul bottone
wxCommandEvent ev(event.GetEventType(),GetId());
ev.SetEventType(wxEVT_ENTER_WINDOW);
event.SetEventObject(this);
GetEventHandler()->ProcessEvent(ev);
}
else if (m_stato == 1 && event.LeftDown())
m_stato = 2; // uscita click sul bottone
else if (m_stato >= 1 && event.Leaving())
{
m_stato = 0; // uscita mouse dal bottone
wxCommandEvent ev(event.GetEventType(),GetId());
ev.SetEventType(wxEVT_LEAVE_WINDOW);
event.SetEventObject(this);
GetEventHandler()->ProcessEvent(ev);
}
else if (m_stato == 2 && event.LeftUp())
{
m_bPress = !m_bPress ;
Click(); // rilascio sul bottone genera evento
m_stato = 1;
}
if(m_oldstato != m_stato)
Refresh();
m_oldstato=m_stato;
event.Skip();
}
示例5: OnMouse
void kwxLinearReg::OnMouse(wxMouseEvent& event)
{
if (m_iStato == 0 && event.Entering()) //dentro nel controllo
m_iStato = ENTERED ;
else if (m_iStato >= ENTERED && event.Leaving()) //fuori dal controllo
m_iStato = LEFT ;
else if (m_iStato == ENTERED && event.GetWheelRotation()) // process wheel event
{
//SetValue(m_iRealVal + (event.GetWheelRotation() * (m_iMax-m_iMin)/kwxLinearReg::MOUSE_STEP / event.GetWheelDelta()) );
SetValue(m_iRealVal + ( m_iBigStep * event.GetWheelRotation() / event.GetWheelDelta()) );
vSendEvent(); // send event
return;
}
else if (m_iStato == ENTERED && event.ButtonDClick()) // process double click
{
// wxLogTrace("Mouse Premuto") ;
m_mousePosition = event.GetPosition();
if( (m_iSnapRange<1) &&
(m_iStyle & STYLE_SNAP_DOUBLE_CLK) ){ // if no snapping was set..
vSetSnap2Tags(true); // ..snap to next tag.
DrawPosition() ;
vSetSnap2Tags(false);
return;
}
DrawPosition() ;
}
else if (m_iStato == ENTERED && event.LeftDown()) //click o inizio trascinamento
{
// wxLogTrace("Mouse Premuto") ;
m_iStato = DRAGED ;
if( (m_bEditing) ){ // if control is currently in edit mode
if(m_cCurrentRect.Contains(m_mousePosition)){ // mouse click was within text sourrounding rectangle
m_bEditing = false; // exit edit mode
m_iCaretPosition = 0; // reset edit caret position
SetValue(iConvert(m_strCurrent));
Refresh() ;
vSendEvent() ;
return;
}
}
m_mousePosition = event.GetPosition();
DrawPosition() ;
}
else if (m_iStato == DRAGED && event.LeftIsDown()) //trascinamento
{
// wxLogTrace("Mouse trascinato") ;
m_mousePosition = event.GetPosition();
DrawPosition() ;
}
else if (m_iStato == DRAGED && event.LeftUp()) //fine trascinamento o rilascio click
{
// wxLogTrace("Mouse rilasciato") ;
m_iStato = ENTERED ;
}
event.Skip(false);//
}
示例6: OnMouse
void CLinkButton::OnMouse(wxMouseEvent& event) {
if (event.Entering()) {
SetCursor(m_HandCursor);
} else if (event.Leaving()) {
SetCursor(*wxSTANDARD_CURSOR);
}
event.Skip();
}
示例7: OnMouseEvent
void LWSlider::OnMouseEvent(wxMouseEvent & event)
{
if (event.Entering()) {
// Display the tooltip in the status bar
if (mParent->GetToolTip()) {
wxString tip = mParent->GetToolTip()->GetTip();
GetActiveProject()->TP_DisplayStatusMessage(tip, 0);
Refresh();
}
}
else if (event.Leaving()) {
GetActiveProject()->TP_DisplayStatusMessage("",0);
Refresh();
}
float prevValue = mCurrentValue;
if (event.ButtonDown()) {
//This jumps the thumb to clicked position
if (!mIsDragging) {
mCurrentValue = PositionToValue(event.m_x, event.ShiftDown());
mIsDragging = true;
mParent->CaptureMouse();
FormatPopWin();
SetPopWinPosition();
mPopWin->Show();
}
// Don't generate notification yet
return;
} else if (event.ButtonUp() && mIsDragging) {
mIsDragging = false;
mParent->ReleaseMouse();
mPopWin->Hide();
((TipPanel *)mPopWin)->SetPos(wxPoint(-1000, -1000));
} else if (event.Dragging() && mIsDragging) {
mCurrentValue = PositionToValue(event.m_x, event.ShiftDown());
}
if (prevValue != mCurrentValue) {
FormatPopWin();
mPopWin->Refresh();
Refresh();
wxCommandEvent *e =
new wxCommandEvent(wxEVT_COMMAND_SLIDER_UPDATED, mID);
int intValue =
(int)((mCurrentValue - mMinValue) * 1000.0f
/ (mMaxValue - mMinValue));
e->SetInt( intValue );
mParent->ProcessEvent(*e);
delete e;
}
}
示例8: OnMouseEvent
void moTimelineRuler::OnMouseEvent( wxMouseEvent & event ) {
//wxMessageBox("moTimelineRuler::Mouse event");
if ( event.Entering() ) {
//SHINE!!!
}
if (event.Button(wxMOUSE_BTN_RIGHT )) {
SetValue( SlideValue( event.GetX() ) );
Refresh();
}
if (event.Button(wxMOUSE_BTN_LEFT )) {
SetPlayValue( GetSlideValueToPlayValue( SlideValue( event.GetX() ) ) );
moSetDuration( m_play_value );
moAbstract::MODebug2->Push( IntToStr(m_play_value) );
Refresh();
}
if (event.Dragging()) {
if (event.RightIsDown()) {
if (m_bStartDragging==false) {
m_bStartDragging = true;
wxWindow::CaptureMouse();
}
SetValue( SlideValue( event.GetX() ) );
Refresh();
}
if (event.LeftIsDown()) {
if (m_bStartDragging==false) {
m_bStartDragging = true;
wxWindow::CaptureMouse();
}
SetPlayValue( GetSlideValueToPlayValue( SlideValue( event.GetX() ) ) );
moSetDuration( m_play_value );
Refresh();
}
}
if (!event.Dragging()) {
if (m_bStartDragging==true) {
m_bStartDragging = false;
wxWindow::ReleaseMouse();
}
}
event.Skip();
}
示例9: OnMouseEvent
void AButton::OnMouseEvent(wxMouseEvent & event)
{
if (mButtonIsDown || !mEnabled)
return;
if (event.ButtonUp()) {
mIsClicking = false;
ReleaseMouse();
if (event.m_x >= 0 && event.m_y >= 0 &&
event.m_x < mWidth && event.m_y < mHeight) {
mButtonState = AButtonDown;
mButtonIsDown = true;
wxCommandEvent *e =
new wxCommandEvent(wxEVT_COMMAND_BUTTON_CLICKED, GetId());
GetParent()->ProcessEvent(*e);
delete e;
}
this->Refresh(false);
return;
}
if (event.ButtonDown()) {
mIsClicking = true;
CaptureMouse();
}
if (mIsClicking) {
if (event.m_x >= 0 && event.m_y >= 0 &&
event.m_x < mWidth && event.m_y < mHeight) {
mButtonState = AButtonDown;
} else
mButtonState = AButtonUp;
this->Refresh(false);
} else {
if (event.Entering()) {
mButtonState = AButtonOver;
this->Refresh(false);
}
if (event.Leaving()) {
mButtonState = AButtonUp;
this->Refresh(false);
}
}
}
示例10: OnMouse
void PortRepresentationBase::OnMouse(wxMouseEvent& event)
{
if (event.Entering()) {
m_hovered = true;
}
if (event.Leaving()) {
m_hovered = false;
}
wxStaticText::SetBackgroundColour(m_hovered ? m_highlightedColour : m_passiveColour);
wxStaticText::Refresh();
wxStaticText::Update();
}
示例11: MoveCamera
void CanvasController::MoveCamera(wxMouseEvent& event)
{
if(event.Entering() || event.Leaving()) {
m_track_x.Reset();
m_track_y.Reset();
m_wheel_rot = 0;
}
m_track_x.Update( event.GetX() );
m_track_y.Update( event.GetY() );
if(event.Dragging())
{
if(event.LeftIsDown())
{
const float kYawRate = -0.2f;
const float kPitchRate = -0.2f;
m_camera.RotateYaw( m_track_x.GetRel() * kYawRate );
m_camera.RotatePitch( m_track_y.GetRel() * kPitchRate );
}
else if(event.RightIsDown())
{
// Move relative to the camera
const Mat4& mat = m_camera.GetMatrix();
Vec3 x_axis = get_column(mat, 0);
Vec3 y_axis = get_column(mat, 1);
const float kScale = 0.02f;
Vec3 move_by = -m_track_x.GetRel() * kScale * x_axis +
m_track_y.GetRel() * kScale * y_axis ;
m_camera.MoveBy( move_by );
}
}
else if(event.GetWheelRotation() != 0)
{
m_wheel_rot += event.GetWheelRotation();
while(m_wheel_rot > event.GetWheelDelta()) {
m_wheel_rot -= event.GetWheelDelta();
m_camera.ZoomBy(1.f);
}
while(m_wheel_rot < -event.GetWheelDelta()) {
m_wheel_rot += event.GetWheelDelta();
m_camera.ZoomBy(-1.f);
}
}
}
示例12: OnMouse
void wxInputConsumer::OnMouse(wxMouseEvent& event)
{
if ( m_inputHandler )
{
if ( event.Moving() || event.Dragging() ||
event.Entering() || event.Leaving() )
{
if ( m_inputHandler->HandleMouseMove(this, event) )
return;
}
else // a click action
{
if ( m_inputHandler->HandleMouse(this, event) )
return;
}
}
event.Skip();
}
示例13: OnMouse
void kwxAngularRegulator::OnMouse(wxMouseEvent& event)
{
if (m_nStato == 0 && event.Entering()) //dentro nel controllo
m_nStato = 1 ;
else if (m_nStato >= 1 && event.Leaving()) //fuori dal controllo
m_nStato = 0 ;
else if (m_nStato == 1 && event.LeftDown()) //click o inizio trascinamento
{
m_nStato = 2 ;
m_mousePosition = event.GetPosition();
SetPosition() ;
}
else if (m_nStato == 2 && event.LeftIsDown()) //trascinamento
{
m_mousePosition = event.GetPosition();
SetPosition() ;
}
else if (m_nStato == 2 && event.LeftUp()) //fine trascinamento o rilascio click
m_nStato = 1 ;
}
示例14: OnMouseEvents
void wxSpeedButton::OnMouseEvents(wxMouseEvent& event) {
wxWindow *win;
// our underlying window
win = (wxWindow *) this;
// any mouse button down
if (event.LeftDown() || event.RightDown()) {
if (!HasCapture()) CaptureMouse();
mMouseDown = true;
mButtonFocused = true;
win->SetFocus();
Redraw();
}
// any mouse button up
// this is where we send a click event
else if (event.LeftUp() || event.RightUp()) {
if (HasCapture()) ReleaseMouse();
mMouseDown = false;
mButtonFocused = true;
win->SetFocus();
SetDown(! mButtonDown);
SendEvent(event.LeftUp());
Redraw();
}
// mouse over
else if (event.Entering()) {
mMouseOver = true;
Redraw();
}
else if (event.Leaving()) {
mMouseOver = false;
Redraw();
};
}
示例15: OnMouse
void kwxBitmapButton::OnMouse(wxMouseEvent& event)
{
if (m_stato == 0 && event.Entering())
m_stato = 1; // mouse sul bottone
else if (m_stato == 1 && event.LeftDown())
m_stato = 2; // uscita click sul bottone
else if (m_stato >= 1 && event.Leaving())
m_stato = 0; // uscita mouse dal bottone
else if (m_stato == 2 && event.LeftUp())
{
Click(); // rilascio sul bottone genera evento
m_stato = 1;
}
if(m_oldstato != m_stato)
Refresh();
m_oldstato=m_stato;
event.Skip();
}