Revision: 56721
          http://sourceforge.net/p/brlcad/code/56721
Author:   vladbogo
Date:     2013-08-09 19:12:35 +0000 (Fri, 09 Aug 2013)
Log Message:
-----------
Mouse + keyboard events

Modified Paths:
--------------
    brlcad/trunk/src/libdm/dm-qt.cpp

Modified: brlcad/trunk/src/libdm/dm-qt.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm-qt.cpp    2013-08-09 19:01:42 UTC (rev 56720)
+++ brlcad/trunk/src/libdm/dm-qt.cpp    2013-08-09 19:12:35 UTC (rev 56721)
@@ -767,12 +767,33 @@
        renderNow();
        return true;
     }
-    else if (ev->type() == QEvent::MouseButtonPress) {
+    if (ev->type() == 6) {
        struct bu_vls str = BU_VLS_INIT_ZERO;
+       QKeyEvent *keyEv = (QKeyEvent *)ev;
+       bu_vls_printf(&str, "event generate %V <KeyPress-%s>", 
&dmp->dm_pathName, keyEv->text().data());
+       if (Tcl_Eval(dmp->dm_interp, bu_vls_addr(&str)) == TCL_ERROR) {
+           bu_log("error generate event\n");
+       }
+       return true;
+    }
+    if (ev->type() == QEvent::MouseButtonRelease) {
+       struct bu_vls str = BU_VLS_INIT_ZERO;
+       bu_vls_printf(&str, "event generate %V <ButtonRelease-1>", 
&dmp->dm_pathName);
+       if (Tcl_Eval(dmp->dm_interp, bu_vls_addr(&str)) == TCL_ERROR) {
+           bu_log("error generate event\n");
+       }
+       return true;
+    }
+    if (ev->type() == QEvent::MouseButtonPress) {
+       struct bu_vls str = BU_VLS_INIT_ZERO;
        QMouseEvent *mouseEv = (QMouseEvent *)ev;
 
-       if (mouseEv->button() == Qt::LeftButton)
-           bu_vls_printf(&str, "event generate %V <1>", &dmp->dm_pathName);
+       if (mouseEv->button() == Qt::LeftButton) {
+           if (mouseEv->modifiers() == Qt::ControlModifier)
+               bu_vls_printf(&str, "event generate %V 
<Control-ButtonPress-1>", &dmp->dm_pathName);
+           else
+               bu_vls_printf(&str, "event generate %V <1>", &dmp->dm_pathName);
+       }
        else
            bu_vls_printf(&str, "event generate %V <3>", &dmp->dm_pathName);
 
@@ -781,6 +802,17 @@
        }
        return true;
     }
+    if (ev->type() == QEvent::MouseMove) {
+       QMouseEvent *mouseEv = (QMouseEvent *)ev;
+
+       struct bu_vls str = BU_VLS_INIT_ZERO;
+       bu_vls_printf(&str, "event generate %V <Motion> -x %d -y %d", 
&dmp->dm_pathName, mouseEv->x(), mouseEv->y());
+
+       if (Tcl_Eval(dmp->dm_interp, bu_vls_addr(&str)) == TCL_ERROR) {
+           bu_log("error generate event\n");
+        }
+        return true;
+    }
     return QWindow::event(ev);
 }
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to