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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| #include <stdlib.h>
#include <gtk/gtk.h>
#include "event_menu.h"
int main(int argc, char **argv)
{
/* Déclaration des composants de la fenêtre */
GtkWidget *pWindow;
GtkWidget *pMenuBar;
GtkWidget *pMenuFiles;
GtkWidget *pMenuItem;
GtkWidget *pMenuBox;
GtkWidget *pToolBarBox;
GtkWidget *pToolBarButton;
GtkWidget *pWorkBox;
GtkWidget *pLinesNumberBox;
GtkWidget *pLinesNumberEmptyLabel;
GtkWidget *pWorkBowTextArea;
/* Initialisation de GTK+ */
gtk_init(&argc, &argv);
/* Création de la fenêtre en mode barre d'options */
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(pWindow) , "Webpad - Version alpha");
gtk_window_set_default_size(GTK_WINDOW(pWindow) , 1024 , 750);
gtk_window_set_position(GTK_WINDOW(pWindow) , GTK_WIN_POS_CENTER);
/* Initiaisation de la barre de menu */
pMenuBox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(pWindow), pMenuBox);
pMenuBar = gtk_menu_bar_new();
pMenuFiles = gtk_menu_new();
pMenuItem = gtk_menu_item_new_with_label("New...");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFiles), pMenuItem);
pMenuItem = gtk_menu_item_new_with_label("Open...");
g_signal_connect(G_OBJECT(pMenuItem), "clicked", G_CALLBACK(OnOpenFile), (gpointer)pWorkBowTextArea);
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFiles), pMenuItem);
pMenuItem = gtk_menu_item_new_with_label("Save");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFiles), pMenuItem);
pMenuItem = gtk_menu_item_new_with_label("Save as...");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFiles), pMenuItem);
pMenuItem = gtk_menu_item_new_with_label("Close");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFiles), pMenuItem);
pMenuItem = gtk_menu_item_new_with_label("Quit");
g_signal_connect(G_OBJECT(pMenuItem), "activate", G_CALLBACK(OnQuitter), (GtkWidget*) pWindow);
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFiles), pMenuItem);
pMenuItem = gtk_menu_item_new_with_label("Files");
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), pMenuFiles);
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuBar), pMenuItem);
gtk_box_pack_start(GTK_BOX(pMenuBox), pMenuBar, FALSE, FALSE, 0);
/* Fin de l'initialisation du menu */
/* Initialisation de la toolbar */
pToolBarBox = gtk_hbox_new(FALSE,2);
pToolBarButton = gtk_button_new_from_stock(GTK_STOCK_NEW);
gtk_box_pack_start(GTK_BOX(pToolBarBox), pToolBarButton, FALSE, FALSE, 0);
pToolBarButton = gtk_button_new_from_stock(GTK_STOCK_SAVE);
gtk_box_pack_start(GTK_BOX(pToolBarBox), pToolBarButton, FALSE, FALSE, 0);
pToolBarButton = gtk_button_new_from_stock(GTK_STOCK_OPEN);
g_signal_connect(G_OBJECT(pToolBarButton), "clicked", G_CALLBACK(OnOpenFile), (gpointer)pWorkBowTextArea);
gtk_box_pack_start(GTK_BOX(pToolBarBox), pToolBarButton, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(pMenuBox), pToolBarBox, FALSE, FALSE, 0);
/* Fin de l'initialisation de la toolbar */
/* Initialisation de la workbox */
pWorkBox = gtk_hbox_new(FALSE , 25);
pLinesNumberBox = gtk_vbox_new(TRUE , 0);
pLinesNumberEmptyLabel = gtk_label_new("23");
gtk_box_pack_start(GTK_BOX(pWorkBox), pLinesNumberEmptyLabel, FALSE, FALSE, 0);
pWorkBowTextArea = gtk_text_view_new();
gtk_box_pack_start(GTK_BOX(pWorkBox), pWorkBowTextArea, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(pMenuBox), pWorkBox, TRUE, TRUE, 10);
/* Fin de l'initialisation de la workbox */
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(OnDestroy), NULL);
gtk_widget_show_all(pWindow);
gtk_main();
return EXIT_SUCCESS;
} |
Partager