File: auto_completable.h

package info (click to toggle)
mysql-workbench 6.3.8%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 113,932 kB
  • ctags: 87,814
  • sloc: ansic: 955,521; cpp: 427,465; python: 59,728; yacc: 59,129; xml: 54,204; sql: 7,091; objc: 965; makefile: 638; sh: 613; java: 237; perl: 30; ruby: 6; php: 1
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