File: auto_completable.h

package info (click to toggle)
mysql-workbench 5.2.40%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 53,880 kB
  • sloc: cpp: 419,850; yacc: 74,784; xml: 54,510; python: 31,455; sh: 9,423; ansic: 4,736; makefile: 2,442; php: 529; java: 237
file content (43 lines) | stat: -rw-r--r-- 1,128 bytes parent folder | download | duplicates (3)
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