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