void ScrollTool::valuatorCallback(int,InputDevice::ValuatorCallbackData* cbData) { if(cbData->newValuatorValue!=0.0) // Valuator is pushed { /* Check if the GUI interactor accepts the event: */ GUIInteractor::updateRay(); GLMotif::TextControlEvent tce(cbData->newValuatorValue>0.0?GLMotif::TextControlEvent::CURSOR_UP:GLMotif::TextControlEvent::CURSOR_DOWN); int numEvents=int(Math::ceil(Math::abs(cbData->newValuatorValue)*10.0)); sendingEvents=false; for(int i=0;i<numEvents;++i) sendingEvents=GUIInteractor::textControl(tce)||sendingEvents; if(sendingEvents) { /* Request another frame: */ scheduleUpdate(getApplicationTime()+1.0/125.0); } else { /* Pass the valuator event to the virtual input device: */ valuatorDevice->setValuator(0,cbData->newValuatorValue); } } else // Valuator has just been released { /* Check if the tool has been sending text control events: */ if(!sendingEvents) { /* Pass the button event to the virtual input device: */ valuatorDevice->setValuator(0,cbData->newValuatorValue); } sendingEvents=false; } }
/// TODO: We need a way to load the (scoped) environment variables /// for now we just add some variables for some common languages static void initHardCodedDynamicScopes( DynamicVariables* env ) { QString tcs("TM_COMMENT_START"); QString tce("TM_COMMENT_END"); QString tcs2("TM_COMMENT_START_2"); QString tce2("TM_COMMENT_END_2"); QString tcs3("TM_COMMENT_START_3"); QString tce3("TM_COMMENT_END_3"); env->setAndGiveScopedSelector( tcs, "# ", "source.yaml"); env->setAndGiveScopedSelector( tcs, "// ", "source.c, source.c++, source.objc, source.objc++"); env->setAndGiveScopedSelector( tcs2, "/*", "source.c, source.c++, source.objc, source.objc++"); env->setAndGiveScopedSelector( tce2, "*/", "source.c, source.c++, source.objc, source.objc++"); env->setAndGiveScopedSelector( tcs, "-- ", "source.lua"); env->setAndGiveScopedSelector( tcs2, "--[[", "source.lua"); env->setAndGiveScopedSelector( tce2, "]]", "source.lua"); env->setAndGiveScopedSelector( tcs, "/*", "source.css"); env->setAndGiveScopedSelector( tce, "*/", "source.css"); env->setAndGiveScopedSelector( tcs, "; ", "source.clojure"); env->setAndGiveScopedSelector( tcs, "# ", "source.coffee"); env->setAndGiveScopedSelector( tcs2, "###", "source.coffee"); env->setAndGiveScopedSelector( tce2, "###", "source.coffee"); env->setAndGiveScopedSelector( tcs, "<!-- ", "text.html"); env->setAndGiveScopedSelector( tce, " -->", "text.html"); env->setAndGiveScopedSelector( tcs, "<!-- ", "text.xml"); env->setAndGiveScopedSelector( tce, " -->", "text.xml"); env->setAndGiveScopedSelector( tcs, "// ", "source.java"); env->setAndGiveScopedSelector( tcs2, "/*", "source.java"); env->setAndGiveScopedSelector( tce2, "*/", "source.java"); env->setAndGiveScopedSelector( tcs, "// ", "source.js, source.json"); env->setAndGiveScopedSelector( tcs2, "/*", "source.js, source.json"); env->setAndGiveScopedSelector( tce2, "*/", "source.js, source.json"); env->setAndGiveScopedSelector( tcs, "// ", "source.php"); env->setAndGiveScopedSelector( tcs2, "# ", "source.php"); env->setAndGiveScopedSelector( tcs3, "/*", "source.php"); env->setAndGiveScopedSelector( tce3, "*/", "source.php"); env->setAndGiveScopedSelector( tcs, "# ", "source.perl"); env->setAndGiveScopedSelector( tcs, "-# ", "text.haml"); // I hate the default '/' env->setAndGiveScopedSelector( tcs, "# ", "source.js, source.ruby"); env->setAndGiveScopedSelector( tcs2, "=begin", "source.js, source.ruby"); env->setAndGiveScopedSelector( tce2, "=end", "source.js, source.ruby"); env->setAndGiveScopedSelector( tcs, "// ", "source.scss"); env->setAndGiveScopedSelector( tcs2, "/*", "source.scss"); env->setAndGiveScopedSelector( tce2, "*/", "source.scss"); env->setAndGiveScopedSelector( tcs, "-- ", "source.sql"); env->setAndGiveScopedSelector( tcs2, "/*", "source.sql"); env->setAndGiveScopedSelector( tce2, "*/", "source.sql"); env->setAndGiveScopedSelector( tcs, "# ", "source.shell"); }