1 // $Id: Flu_Combo_List.h 900 2009-08-13 20:00:45Z larry $
2 
3 /***************************************************************
4  *                FLU - FLTK Utility Widgets
5  *  Copyright (C) 2002 Ohio Supercomputer Center, Ohio State University
6  *
7  * This file and its content is protected by a software license.
8  * You should have received a copy of this license with this file.
9  * If not, please contact the Ohio Supercomputer Center immediately:
10  * Attn: Jason Bryan Re: FLU 1224 Kinnear Rd, Columbus, Ohio 43212
11  *
12  ***************************************************************/
13 
14 
15 
16 #ifndef _FLU_COMBO_LIST_H
17 #define _FLU_COMBO_LIST_H
18 
19 #include <FL/Fl_Hold_Browser.H>
20 
21 #include "Flu_Combo_Box.h"
22 
23 //! Just like the Fl_Choice widget except the input area is editable
24 class FLU_EXPORT Flu_Combo_List:public Flu_Combo_Box
25 {
26 
27   public:
28 
29     //! Normal FLTK widget constructor
30     Flu_Combo_List (int x, int y, int w, int h, const char *l = 0);
31 
32     //! Default destructor
33      ~Flu_Combo_List ();
34 
35     //! Publicly exposed list widget (instance of Fl_Hold_Browser)
36     Fl_Hold_Browser list;
37 
38   protected:
39 
40       bool _value (const char *v);
41     const char *_next ();
42     const char *_previous ();
43     void _hilight (int x, int y);
44 
45 #  if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 || __GNUC__ > 3	/* 3.4 -> */
_cb(Fl_Widget * w,void * arg)46     inline static void _cb (Fl_Widget * w __attribute__ ((__unused__)), void *arg)
47 #else
48     inline static void _cb (Fl_Widget * w, void *arg)
49 #endif
50     {
51 	((Flu_Combo_List *) arg)->cb ();
52     }
53     void cb ();
54 
55 };
56 
57 #endif
58