From d2b347e0aa6e5fc3de95253c43900c15938dbaaf Mon Sep 17 00:00:00 2001 From: b0ric Date: Mon, 10 Aug 2009 01:08:31 +0300 Subject: Interface modification and improvement. Lecense changed to GPLv3 --- listview.c | 176 ------------------------------------------------------------- 1 file changed, 176 deletions(-) delete mode 100644 listview.c (limited to 'listview.c') diff --git a/listview.c b/listview.c deleted file mode 100644 index 8d5a84b..0000000 --- a/listview.c +++ /dev/null @@ -1,176 +0,0 @@ -/* This file is a part of WordExtract project - * - * Copyright (C) 2009 Borisov Alexandr - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include -#include "mainwin.h" -#include "word.h" - -enum {WORD_ITEM = 0, N_COLUMNS}; - -static GtkWidget *word_list; -static GtkListStore *store_model; - -static GtkWidget *create_popup_menu(void); -static void init_word_list(); -static void word_list_popup(GtkWidget *widget, GdkEventButton *event); -static gboolean popup_by_click(GtkWidget *word_list, GdkEventButton *event, gpointer data); -static gboolean popup_by_keybd(GtkWidget *word_list, gpointer data); -static void show_sent_item_click(GtkWidget *widget, gpointer data); -static void add_to_dict_item_click(GtkWidget *widget, gpointer data); - -GtkWidget *create_word_list() -{ - word_list = gtk_tree_view_new(); - gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(word_list)), GTK_SELECTION_SINGLE); - gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(word_list), FALSE); - gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(word_list), TRUE); - g_signal_connect(G_OBJECT(word_list), "button-press-event", G_CALLBACK(popup_by_click), NULL); - g_signal_connect(G_OBJECT(word_list), "popup-menu", G_CALLBACK(popup_by_keybd), NULL); - init_word_list(word_list); - return word_list; -} - -static void init_word_list() -{ - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - - store_model = gtk_list_store_new(N_COLUMNS, G_TYPE_STRING); - gtk_tree_view_set_model(GTK_TREE_VIEW(word_list), GTK_TREE_MODEL(store_model)); - - renderer = gtk_cell_renderer_text_new(); - g_object_set(renderer, "editable", TRUE, NULL); - column = gtk_tree_view_column_new_with_attributes("List Items", renderer, "text", WORD_ITEM, NULL); - gtk_tree_view_append_column(GTK_TREE_VIEW(word_list), column); -} - -GtkWidget *create_popup_menu(void) -{ - GtkWidget *popup_menu; - GtkWidget *show_sent_item; - GtkWidget *find_image; - GtkWidget *add_to_dict_item; - GtkWidget *add_image; - - popup_menu = gtk_menu_new(); - - show_sent_item = gtk_image_menu_item_new_with_label("Show Sentence"); - gtk_menu_shell_append(GTK_MENU_SHELL(popup_menu), show_sent_item); - gtk_widget_show(show_sent_item); - g_signal_connect(G_OBJECT(show_sent_item), "activate", G_CALLBACK(show_sent_item_click), NULL); - gtk_widget_set_tooltip_text(GTK_WIDGET(show_sent_item), "Show sentenses word appears in"); - find_image = gtk_image_new_from_stock("gtk-find", GTK_ICON_SIZE_MENU); - gtk_widget_show(find_image); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(show_sent_item), find_image); - - add_to_dict_item = gtk_image_menu_item_new_with_label("Add To Dictionary"); - gtk_widget_show(add_to_dict_item); - gtk_menu_shell_append(GTK_MENU_SHELL(popup_menu), add_to_dict_item); - g_signal_connect(add_to_dict_item, "activate", G_CALLBACK(add_to_dict_item_click), NULL); - gtk_widget_set_tooltip_text(GTK_WIDGET(add_to_dict_item), "Add word to my dictionary"); - add_image = gtk_image_new_from_stock("gtk-add", GTK_ICON_SIZE_MENU); - gtk_widget_show(add_image); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(add_to_dict_item), add_image); - - return popup_menu; -} - -void clear_word_list() -{ - gtk_list_store_clear(store_model); -} - -void add_word_to_list(char *word) -{ - GtkTreeIter iter; - - gtk_list_store_append(store_model, &iter); - gtk_list_store_set(store_model, &iter, WORD_ITEM, word, -1); -} - -void fill_list(char **word_list) -{ - GtkTreeIter iter; - int cnt, i; - - cnt = get_words_count(words); - for (i = 0; i < cnt; i++) { - gtk_list_store_append(store_model, &iter); - gtk_list_store_set(store_model, &iter, WORD_ITEM, *word_list, -1); - word_list++; - } -} - -static void word_list_popup(GtkWidget *widget, GdkEventButton *event) -{ - GtkWidget *popup_menu; - - popup_menu = create_popup_menu(); - gtk_widget_show(popup_menu); - gtk_menu_popup(GTK_MENU(popup_menu), NULL, NULL, NULL, NULL, - (event != NULL) ? event->button : 0, gdk_event_get_time((GdkEvent*)event)); -} - -static gboolean popup_by_click(GtkWidget *word_list, GdkEventButton *event, gpointer data) -{ - GtkTreeSelection *selection; - GtkTreePath *path; - - if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(word_list)); - if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(selection), NULL, NULL)) { - if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(word_list), (gint) event->x, - (gint) event->y, &path, NULL, NULL, NULL)) { - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_path(selection, path); - word_list_popup(GTK_WIDGET(word_list), event); - return TRUE; - } - } - } -return FALSE; -} - -static gboolean popup_by_keybd(GtkWidget *word_list, gpointer data) -{ - word_list_popup(word_list, NULL); - return TRUE; -} - -void show_sent_item_click(GtkWidget *widget, gpointer data) -{ - GtkTreeSelection *selection; - GtkTreeModel *model; - GtkTreeIter iter; - gchar *word; - - selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(word_list)); - if (gtk_tree_selection_get_selected(selection, &model, &iter)) { - gtk_tree_model_get(model, &iter, 0, &word, -1); - set_find_text(word); - change_search_navigation_state(TRUE); - search_sentences(word); - g_free(word); - } -} - -void add_to_dict_item_click(GtkWidget *widget, gpointer data) -{ - -} - -- cgit v1.2.3