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