1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#ifndef __AUTO_COMPLETABLE_H__
#define __AUTO_COMPLETABLE_H__
#include <string>
#include <glibmm/refptr.h>
#include "text_list_columns_model.h"
namespace Gtk
{
class Entry;
class ListStore;
class EntryCompletion;
}
//!
//! \addtogroup linuxutils Linux utils
//! @{
//!
//==============================================================================
//! AutoCompletion adds ability to have a history in the entry and to auto-complete
//! curretly typed text. Usage is simple: create AutoCompletable instance
//! and pass entry either to constructor or using method add_to_entry later.
//! Add each item which should appear in completion or list via add_completion_text
class AutoCompletable
{
public:
AutoCompletable(Gtk::Entry* entry = 0);
void add_completion_text(const std::string& s);
void add_to_entry(Gtk::Entry* entry);
void set_popup_enabled(const bool enabled);
void clear();
private:
TextListColumnsModel _completion_columns;
Glib::RefPtr<Gtk::ListStore> _completion_model;
Glib::RefPtr<Gtk::EntryCompletion> _completion;
};
//!
//! @}
//!
#endif
|