diff options
author | nyamatongwe <devnull@localhost> | 2001-10-12 01:28:38 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2001-10-12 01:28:38 +0000 |
commit | ddb2fad7b7e66a653592a5844d06e32b2b7dd939 (patch) | |
tree | 3c45c726d02bb3d57a58d11dc930f16316653cfe /gtk/PlatGTK.cxx | |
parent | 9e526b4bada24e7c42aa66fbe7a6ebd79a899765 (diff) | |
download | scintilla-mirror-ddb2fad7b7e66a653592a5844d06e32b2b7dd939.tar.gz |
Patch from John to allow double-clicking in autocompletion lists on GTK+.
Diffstat (limited to 'gtk/PlatGTK.cxx')
-rw-r--r-- | gtk/PlatGTK.cxx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 3e2d10f99..47e32118c 100644 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -670,7 +670,8 @@ void Window::SetTitle(const char *s) { gtk_window_set_title(GTK_WINDOW(id), s); } -ListBox::ListBox() : list(0), current(0), desiredVisibleRows(5), maxItemCharacters(0) {} +ListBox::ListBox() : list(0), current(0), desiredVisibleRows(5), maxItemCharacters(0), + doubleClickAction(NULL), doubleClickActionData(NULL) {} ListBox::~ListBox() {} @@ -680,6 +681,16 @@ static void SelectionAC(GtkWidget *, gint row, gint, *pi = row; } +static gboolean ButtonPress(GtkWidget *, GdkEventButton* ev, gpointer p) { + ListBox* lb = reinterpret_cast<ListBox*>(p); + if (ev->type == GDK_2BUTTON_PRESS && lb->doubleClickAction != NULL) { + lb->doubleClickAction(lb->doubleClickActionData); + return TRUE; + } + + return FALSE; +} + void ListBox::Create(Window &, int) { id = gtk_window_new(GTK_WINDOW_POPUP); @@ -703,6 +714,8 @@ void ListBox::Create(Window &, int) { gtk_clist_set_selection_mode(GTK_CLIST(list), GTK_SELECTION_BROWSE); gtk_signal_connect(GTK_OBJECT(list), "select_row", GTK_SIGNAL_FUNC(SelectionAC), ¤t); + gtk_signal_connect(GTK_OBJECT(list), "button_press_event", + GTK_SIGNAL_FUNC(ButtonPress), this); gtk_clist_set_shadow_type(GTK_CLIST(list), GTK_SHADOW_NONE); gtk_widget_realize(id); |