]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/DropDown.C
Yet more dialog tweaking from Rob.
[lyx.git] / src / frontends / xforms / DropDown.C
index 1ab9468b7fd4652e18c5a7d876f3487090866172..8fc54eb6773677852d27a1e1465b9cf43e670660 100644 (file)
@@ -1,9 +1,11 @@
 /**
  * \file DropDown.C
- * Copyright 2001 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * \author John Levon, moz@compsoc.man.ac.uk
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS
  */
 
 #include <config.h>
@@ -20,7 +22,6 @@
 #include <iostream>
 #include <cctype>
 
-
 #ifndef CXX_GLOBAL_CSTD
 using std::isprint;
 #endif
@@ -46,8 +47,7 @@ extern "C" int C_PeekCB(FL_FORM * form, void *xev)
 } // namespace anon
 
 
-DropDown::DropDown(LyXView * lv, FL_OBJECT * ob)
-       : lv_(lv)
+DropDown::DropDown(FL_OBJECT * ob)
 {
        form_ = fl_bgn_form(FL_NO_BOX, ob->w, 100);
        fl_add_box(FL_UP_BOX, 0, 0, ob->w, 100, "");
@@ -73,7 +73,7 @@ void DropDown::select(vector<string> const & choices, int x, int y, int w)
        if (choices.empty())
                return;
 
-       fl_set_form_geometry(form_, x, y-100, w, 100);
+       fl_set_form_geometry(form_, x, y - 100, w, 100);
        fl_clear_browser(browser_);
 
        vector<string>::const_iterator cit = choices.begin();
@@ -136,12 +136,21 @@ int DropDown::peek(XEvent * xev)
                XLookupString(&xev->xkey, s_r, 10, &keysym_return, 0);
                switch (keysym_return) {
                case XK_Down:
+#ifdef XK_KP_Down
+               case XK_KP_Down:
+#endif
                        line_down();
                        return 1;
                case XK_Up:
+#ifdef XK_KP_Up
+               case XK_KP_Up:
+#endif
                        line_up();
                        return 1;
                case XK_Return:
+#ifdef XK_KP_Enter
+               case XK_KP_Enter:
+#endif
                        completed();
                        return 1;
                case XK_Escape:
@@ -170,7 +179,7 @@ void DropDown::completed()
 {
        XUngrabPointer(fl_get_display(), CurrentTime);
        fl_hide_form(form_);
-       result(getSelectedStringFromBrowser(browser_));
+       result(getString(browser_));
 }