diff options
Diffstat (limited to 'chathans/src/interface.c')
-rw-r--r-- | chathans/src/interface.c | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/chathans/src/interface.c b/chathans/src/interface.c new file mode 100644 index 0000000..d7b969a --- /dev/null +++ b/chathans/src/interface.c @@ -0,0 +1,308 @@ +/*Copyright (c) 2008, Rajeesh K Nambiar * + * * + * Chathans is a free software; you can redistribute it and/or modify it under the terms* + * of GNU General Public License as published by the Free Software Foundation, either * + * version 3 of the License, or (at your option) any later version. * + * * + * Chathans is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;* + * without even implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.* + * See the GNU General Public License for more details. * + */ + +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <string.h> +#include <stdio.h> + +#include <gdk/gdkkeysyms.h> +#include <gtk/gtk.h> + +#include "callbacks.h" +#include "interface.h" +#include "support.h" + +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + g_object_set_data (G_OBJECT (component), name, widget) + +GtkWidget* +create_MainWindow (void) +{ + GtkWidget *MainWindow; + GdkPixbuf *MainWindow_icon_pixbuf; + GtkWidget *FrameTable; + GtkWidget *MainButtonBox; + GtkWidget *ConvertButton; + GtkWidget *alignment2; + GtkWidget *hbox2; + GtkWidget *image2; + GtkWidget *label6; + GtkWidget *CancelButton; + GtkWidget *alignment1; + GtkWidget *hbox1; + GtkWidget *image1; + GtkWidget *label5; + GtkWidget *MainMenuBar; + GtkWidget *Menu_File; + GtkWidget *Menu_File_menu; + GtkWidget *Menu_New; + GtkWidget *separatormenuitem1; + GtkWidget *Menu_Quit; + GtkWidget *Menu_Help; + GtkWidget *Menu_Help_menu; + GtkWidget *Menu_Contents; + GtkWidget *image3; + GtkWidget *Menu_About; + GtkWidget *UnicodeLabel; + GtkWidget *UnicodeFileButton; + GtkWidget *MappingLabel; + GtkWidget *MappingFileButton; + GtkWidget *AsciiLabel; + GtkWidget *AsciiFileButton; + GtkWidget *StatusBar; + GtkAccelGroup *accel_group; + GtkTooltips *tooltips; + + tooltips = gtk_tooltips_new (); + + accel_group = gtk_accel_group_new (); + + MainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (MainWindow), _("Chathans")); + gtk_window_set_position (GTK_WINDOW (MainWindow), GTK_WIN_POS_CENTER); + gtk_window_set_modal (GTK_WINDOW (MainWindow), TRUE); + MainWindow_icon_pixbuf = create_pixbuf ("user_icon.png"); + if (MainWindow_icon_pixbuf) + { + gtk_window_set_icon (GTK_WINDOW (MainWindow), MainWindow_icon_pixbuf); + gdk_pixbuf_unref (MainWindow_icon_pixbuf); + } + + FrameTable = gtk_table_new (7, 2, FALSE); + gtk_widget_show (FrameTable); + gtk_container_add (GTK_CONTAINER (MainWindow), FrameTable); + gtk_container_set_border_width (GTK_CONTAINER (FrameTable), 1); + gtk_table_set_row_spacings (GTK_TABLE (FrameTable), 1); + gtk_table_set_col_spacings (GTK_TABLE (FrameTable), 6); + + MainButtonBox = gtk_hbutton_box_new (); + gtk_widget_show (MainButtonBox); + gtk_table_attach (GTK_TABLE (FrameTable), MainButtonBox, 1, 2, 5, 6, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (MainButtonBox), 6); + gtk_button_box_set_layout (GTK_BUTTON_BOX (MainButtonBox), GTK_BUTTONBOX_SPREAD); + + ConvertButton = gtk_button_new (); + gtk_widget_show (ConvertButton); + gtk_container_add (GTK_CONTAINER (MainButtonBox), ConvertButton); + gtk_container_set_border_width (GTK_CONTAINER (ConvertButton), 1); + GTK_WIDGET_SET_FLAGS (ConvertButton, GTK_CAN_DEFAULT); + + alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment2); + gtk_container_add (GTK_CONTAINER (ConvertButton), alignment2); + + hbox2 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox2); + gtk_container_add (GTK_CONTAINER (alignment2), hbox2); + + image2 = gtk_image_new_from_stock ("gtk-convert", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image2); + gtk_box_pack_start (GTK_BOX (hbox2), image2, FALSE, FALSE, 0); + + label6 = gtk_label_new_with_mnemonic (_("Convert")); + gtk_widget_show (label6); + gtk_box_pack_start (GTK_BOX (hbox2), label6, FALSE, FALSE, 0); + + CancelButton = gtk_button_new (); + gtk_widget_show (CancelButton); + gtk_container_add (GTK_CONTAINER (MainButtonBox), CancelButton); + gtk_container_set_border_width (GTK_CONTAINER (CancelButton), 1); + GTK_WIDGET_SET_FLAGS (CancelButton, GTK_CAN_DEFAULT); + + alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_show (alignment1); + gtk_container_add (GTK_CONTAINER (CancelButton), alignment1); + + hbox1 = gtk_hbox_new (FALSE, 2); + gtk_widget_show (hbox1); + gtk_container_add (GTK_CONTAINER (alignment1), hbox1); + + image1 = gtk_image_new_from_stock ("gtk-cancel", GTK_ICON_SIZE_BUTTON); + gtk_widget_show (image1); + gtk_box_pack_start (GTK_BOX (hbox1), image1, FALSE, FALSE, 0); + + label5 = gtk_label_new_with_mnemonic (_("Cancel")); + gtk_widget_show (label5); + gtk_box_pack_start (GTK_BOX (hbox1), label5, FALSE, FALSE, 0); + + MainMenuBar = gtk_menu_bar_new (); + gtk_widget_show (MainMenuBar); + gtk_table_attach (GTK_TABLE (FrameTable), MainMenuBar, 0, 2, 0, 1, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + + Menu_File = gtk_menu_item_new_with_mnemonic (_("_File")); + gtk_widget_show (Menu_File); + gtk_container_add (GTK_CONTAINER (MainMenuBar), Menu_File); + + Menu_File_menu = gtk_menu_new (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (Menu_File), Menu_File_menu); + + Menu_New = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group); + gtk_widget_show (Menu_New); + gtk_container_add (GTK_CONTAINER (Menu_File_menu), Menu_New); + + separatormenuitem1 = gtk_separator_menu_item_new (); + gtk_widget_show (separatormenuitem1); + gtk_container_add (GTK_CONTAINER (Menu_File_menu), separatormenuitem1); + gtk_widget_set_sensitive (separatormenuitem1, FALSE); + + Menu_Quit = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); + gtk_widget_show (Menu_Quit); + gtk_container_add (GTK_CONTAINER (Menu_File_menu), Menu_Quit); + + Menu_Help = gtk_menu_item_new_with_mnemonic (_("_Help")); + gtk_widget_show (Menu_Help); + gtk_container_add (GTK_CONTAINER (MainMenuBar), Menu_Help); + + Menu_Help_menu = gtk_menu_new (); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (Menu_Help), Menu_Help_menu); + + Menu_Contents = gtk_image_menu_item_new_with_mnemonic (_("_Contents")); + gtk_widget_show (Menu_Contents); + gtk_container_add (GTK_CONTAINER (Menu_Help_menu), Menu_Contents); + gtk_tooltips_set_tip (tooltips, Menu_Contents, _("Explains how to use Payyans"), NULL); + + image3 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU); + gtk_widget_show (image3); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (Menu_Contents), image3); + + Menu_About = gtk_image_menu_item_new_from_stock ("gtk-about", accel_group); + gtk_widget_show (Menu_About); + gtk_container_add (GTK_CONTAINER (Menu_Help_menu), Menu_About); + + UnicodeLabel = gtk_label_new (_("Unicode File")); + gtk_widget_show (UnicodeLabel); + gtk_table_attach (GTK_TABLE (FrameTable), UnicodeLabel, 0, 1, 4, 5, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (UnicodeLabel), 0, 0.5); + + UnicodeFileButton = gtk_file_chooser_button_new (_("Select Output Unicode File"), GTK_FILE_CHOOSER_ACTION_OPEN); + gtk_widget_show (UnicodeFileButton); + gtk_table_attach (GTK_TABLE (FrameTable), UnicodeFileButton, 1, 2, 4, 5, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (UnicodeFileButton), 1); + + MappingLabel = gtk_label_new (_("Mapping File")); + gtk_widget_show (MappingLabel); + gtk_table_attach (GTK_TABLE (FrameTable), MappingLabel, 0, 1, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (MappingLabel), 0, 0.5); + + MappingFileButton = gtk_file_chooser_button_new (_("Select the ASCII-Unicode Mapping File"), GTK_FILE_CHOOSER_ACTION_OPEN); + gtk_widget_show (MappingFileButton); + gtk_table_attach (GTK_TABLE (FrameTable), MappingFileButton, 1, 2, 3, 4, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (MappingFileButton), 1); + + AsciiLabel = gtk_label_new (_("ASCII File")); + gtk_widget_show (AsciiLabel); + gtk_table_attach (GTK_TABLE (FrameTable), AsciiLabel, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_misc_set_alignment (GTK_MISC (AsciiLabel), 0, 0.5); + gtk_label_set_single_line_mode (GTK_LABEL (AsciiLabel), TRUE); + + AsciiFileButton = gtk_file_chooser_button_new (_("Select the ASCII File (.txt,.pdf)"), GTK_FILE_CHOOSER_ACTION_OPEN); + gtk_widget_show (AsciiFileButton); + gtk_table_attach (GTK_TABLE (FrameTable), AsciiFileButton, 1, 2, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (AsciiFileButton), 1); + + StatusBar = gtk_statusbar_new (); + gtk_widget_show (StatusBar); + gtk_table_attach (GTK_TABLE (FrameTable), StatusBar, 0, 2, 6, 7, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_container_set_border_width (GTK_CONTAINER (StatusBar), 1); + + g_signal_connect ((gpointer) MainWindow, "destroy", + G_CALLBACK (gtk_main_quit), + NULL); + g_signal_connect ((gpointer) ConvertButton, "clicked", + G_CALLBACK (convert_asccii_to_unicode), + NULL); + g_signal_connect ((gpointer) CancelButton, "clicked", + G_CALLBACK (gtk_main_quit), + NULL); + g_signal_connect ((gpointer) Menu_New, "activate", + G_CALLBACK (start_new_project), + NULL); + g_signal_connect ((gpointer) Menu_Quit, "activate", + G_CALLBACK (gtk_main_quit), + NULL); + g_signal_connect ((gpointer) Menu_Contents, "activate", + G_CALLBACK (display_help_topics), + NULL); + g_signal_connect ((gpointer) Menu_About, "activate", + G_CALLBACK (display_about), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (MainWindow, MainWindow, "MainWindow"); + GLADE_HOOKUP_OBJECT (MainWindow, FrameTable, "FrameTable"); + GLADE_HOOKUP_OBJECT (MainWindow, MainButtonBox, "MainButtonBox"); + GLADE_HOOKUP_OBJECT (MainWindow, ConvertButton, "ConvertButton"); + GLADE_HOOKUP_OBJECT (MainWindow, alignment2, "alignment2"); + GLADE_HOOKUP_OBJECT (MainWindow, hbox2, "hbox2"); + GLADE_HOOKUP_OBJECT (MainWindow, image2, "image2"); + GLADE_HOOKUP_OBJECT (MainWindow, label6, "label6"); + GLADE_HOOKUP_OBJECT (MainWindow, CancelButton, "CancelButton"); + GLADE_HOOKUP_OBJECT (MainWindow, alignment1, "alignment1"); + GLADE_HOOKUP_OBJECT (MainWindow, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (MainWindow, image1, "image1"); + GLADE_HOOKUP_OBJECT (MainWindow, label5, "label5"); + GLADE_HOOKUP_OBJECT (MainWindow, MainMenuBar, "MainMenuBar"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_File, "Menu_File"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_File_menu, "Menu_File_menu"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_New, "Menu_New"); + GLADE_HOOKUP_OBJECT (MainWindow, separatormenuitem1, "separatormenuitem1"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_Quit, "Menu_Quit"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_Help, "Menu_Help"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_Help_menu, "Menu_Help_menu"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_Contents, "Menu_Contents"); + GLADE_HOOKUP_OBJECT (MainWindow, image3, "image3"); + GLADE_HOOKUP_OBJECT (MainWindow, Menu_About, "Menu_About"); + GLADE_HOOKUP_OBJECT (MainWindow, UnicodeLabel, "UnicodeLabel"); + GLADE_HOOKUP_OBJECT (MainWindow, UnicodeFileButton, "UnicodeFileButton"); + GLADE_HOOKUP_OBJECT (MainWindow, MappingLabel, "MappingLabel"); + GLADE_HOOKUP_OBJECT (MainWindow, MappingFileButton, "MappingFileButton"); + GLADE_HOOKUP_OBJECT (MainWindow, AsciiLabel, "AsciiLabel"); + GLADE_HOOKUP_OBJECT (MainWindow, AsciiFileButton, "AsciiFileButton"); + GLADE_HOOKUP_OBJECT (MainWindow, StatusBar, "StatusBar"); + GLADE_HOOKUP_OBJECT_NO_REF (MainWindow, tooltips, "tooltips"); + + gtk_window_add_accel_group (GTK_WINDOW (MainWindow), accel_group); + + return MainWindow; +} + |