Author: mike
Date: 2007-12-15 08:20:16 -0800 (Sat, 15 Dec 2007)
New Revision: 5992
Log:
Fl_Browser_ and friends now support FL_WHEN_ENTER_KEY for both Enter/Return
and double-clicks (STR #1818)



Modified:
   branches/branch-1.1/CHANGES
   branches/branch-1.1/src/Fl_Browser_.cxx

Modified: branches/branch-1.1/CHANGES
===================================================================
--- branches/branch-1.1/CHANGES 2007-12-15 16:08:23 UTC (rev 5991)
+++ branches/branch-1.1/CHANGES 2007-12-15 16:20:16 UTC (rev 5992)
@@ -4,6 +4,8 @@
          STR #1457, STR #1458, STR #1460, STR #1481, STR #1578,
          STR #1639, STR #1645, STR #1644, STR #1792, STR #1793,
          STR #1742, STR #1777, STR #1794)
+       - Fl_Browser_ and friends now support FL_WHEN_ENTER_KEY
+         for both Enter/Return and double-clicks (STR #1818)
        - Fl_Help_View did not release the images it used (STR
          #1817)
        - Shared libraries would not build on 64-bit Linux

Modified: branches/branch-1.1/src/Fl_Browser_.cxx
===================================================================
--- branches/branch-1.1/src/Fl_Browser_.cxx     2007-12-15 16:08:23 UTC (rev 
5991)
+++ branches/branch-1.1/src/Fl_Browser_.cxx     2007-12-15 16:20:16 UTC (rev 
5992)
@@ -590,11 +590,15 @@
         switch (Fl::event_key()) {
         case FL_Enter:
         case FL_KP_Enter:
-          select_only(l, when());
+          select_only(l, when() & ~FL_WHEN_ENTER_KEY);
+         if (when() & FL_WHEN_ENTER_KEY) {
+           set_changed();
+           do_callback();
+         }
           return 1;
         case ' ':
           selection_ = l;
-          select(l, !item_selected(l), when());
+          select(l, !item_selected(l), when() & ~FL_WHEN_ENTER_KEY);
           return 1;
         case FL_Down:
           while ((l = item_next(l))) {
@@ -762,6 +766,12 @@
     } else {
       if (when() & FL_WHEN_NOT_CHANGED) do_callback();
     }
+    
+    // double click calls the callback: (like Enter Key)
+    if (Fl::event_clicks() && (when() & FL_WHEN_ENTER_KEY)) {
+      set_changed();
+      do_callback();
+    }
     return 1;
   case FL_FOCUS:
   case FL_UNFOCUS:

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to