[heekscad] r1495 committed - dragging with middle mouse button wasn't working, since recent change

4 views
Skip to first unread message

codesite...@google.com

unread,
Nov 16, 2011, 8:10:12 AM11/16/11
to heeksca...@googlegroups.com
Revision: 1495
Author: danheeks
Date: Wed Nov 16 05:09:27 2011
Log: dragging with middle mouse button wasn't working, since recent
change
http://code.google.com/p/heekscad/source/detail?r=1495

Modified:
/trunk/src/SelectMode.cpp
/trunk/src/SelectMode.h

=======================================
--- /trunk/src/SelectMode.cpp Sat Nov 5 00:07:11 2011
+++ /trunk/src/SelectMode.cpp Wed Nov 16 05:09:27 2011
@@ -50,6 +50,8 @@
control_key_initially_pressed = false;
window_box_exists = false;
m_doing_a_main_loop = false;
+ m_button_down = false;
+ m_middle_button_down = false;
m_just_one = false;
}

@@ -115,6 +117,7 @@
{
button_down_point = wxPoint(event.GetX(), event.GetY());
CurrentPoint = button_down_point;
+ m_button_down = true;

if(wxGetApp().m_dragging_moves_objects)
{
@@ -170,13 +173,26 @@

if(event.MiddleDown())
{
+ m_middle_button_down = true;
button_down_point = wxPoint(event.GetX(), event.GetY());
CurrentPoint = button_down_point;
wxGetApp().m_current_viewport->StoreViewPoint();

wxGetApp().m_current_viewport->m_view_point.SetStartMousePoint(button_down_point);
}
+
+ bool dragging = event.Dragging() && (m_button_down ||
m_middle_button_down);
+ bool moving = event.Moving() || (event.Dragging() && (!(m_button_down ||
m_middle_button_down)));
+ bool left_up = false;

if(event.LeftUp())
+ {
+ if(m_button_down)left_up = true;
+ m_button_down = false;
+ }
+
+ if(event.MiddleUp())m_middle_button_down = false;
+
+ if(left_up)
{
if(wxGetApp().drag_gripper)
{
@@ -306,7 +322,10 @@
}
else
{
- wxGetApp().m_marked_list->Clear(true);
+ if(!event.ShiftDown() && !event.ControlDown())
+ {
+ wxGetApp().m_marked_list->Clear(true);
+ }
}
}

@@ -325,7 +344,7 @@
wxGetApp().FindMarkedObject(wxPoint(event.GetX(), event.GetY()),
&marked_object);
wxGetApp().DoDropDownMenu(wxGetApp().m_frame->m_graphics,
wxPoint(event.GetX(), event.GetY()), &marked_object, false,
event.ControlDown());
}
- else if(event.Dragging())
+ else if(dragging)
{
if(event.MiddleIsDown())
{
@@ -441,7 +460,7 @@
}
CurrentPoint = wxPoint(event.GetX(), event.GetY());
}
- else if(event.Moving())
+ else if(moving)
{
CurrentPoint = wxPoint(event.GetX(), event.GetY());
}
=======================================
--- /trunk/src/SelectMode.h Sat Nov 5 00:07:11 2011
+++ /trunk/src/SelectMode.h Wed Nov 16 05:09:27 2011
@@ -26,6 +26,8 @@
wxPoint CurrentPoint;
wxPoint button_down_point;
bool control_key_initially_pressed;
+ bool m_button_down; // don't trust dragging, if button wasn't received
first
+ bool m_middle_button_down;
wxRect window_box;
bool window_box_exists;
bool m_doing_a_main_loop;

Reply all
Reply to author
Forward
0 new messages