// $Id: Flu_Combo_List.h,v 1.6 2004/03/24 02:49:00 jbryan Exp $ /*************************************************************** * FLU - FLTK Utility Widgets * Copyright (C) 2002 Ohio Supercomputer Center, Ohio State University * * This file and its content is protected by a software license. * You should have received a copy of this license with this file. * If not, please contact the Ohio Supercomputer Center immediately: * Attn: Jason Bryan Re: FLU 1224 Kinnear Rd, Columbus, Ohio 43212 * ***************************************************************/ #ifndef _FLU_COMBO_LIST_H #define _FLU_COMBO_LIST_H #include #include "FLU/Flu_Combo_Box.H" //! Just like the Fl_Choice widget except the input area is editable class FLU_EXPORT Flu_Combo_List : public Flu_Combo_Box { public: //! Normal FLTK widget constructor Flu_Combo_List( int x, int y, int w, int h, const char *l = 0 ); //! Publicly exposed list widget (instance of Fl_Hold_Browser) Fl_Hold_Browser list; void textsize(Fl_Fontsize pix); void textfont(Fl_Font f); void add_item (void *adata, char const * avalue){ list.add(avalue, adata); } void *get_data_at(int pos=-1); void select_by_data (void *adata); void clear_items(){ list.value(0); } bool hasItems(){ return list.size(); } DECLARE_CLASS_CHEAP_RTTI_2(Flu_Combo_List, Flu_Combo_Box) protected: bool _value( const char *v ); const char* _next(); const char* _previous(); void _hilight( int x, int y ); inline static void _cb( Fl_Widget *w, void *arg ) { ((Flu_Combo_List*)arg)->cb(); } void cb(); }; #endif