- Moved common stuff to common/ git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4239 818b1a75-f10b-46b9-bf7c-635c3b92a50f
132 lines
4.4 KiB
C
132 lines
4.4 KiB
C
#include <gtk/gtk.h>
|
|
|
|
#include "rc.h"
|
|
#include "ui_main_screen.h"
|
|
#include "ui_menu_bar.h"
|
|
#include "ui_callbacks.h"
|
|
|
|
int ui_menu_bar_create(GtkWidget *vbox)
|
|
{
|
|
GtkWidget *menubar;
|
|
GtkWidget *filemenu, *helpmenu;
|
|
GtkWidget *file;
|
|
GtkWidget *help;
|
|
GtkWidget *quit;
|
|
GtkWidget *about;
|
|
|
|
if (!vbox)
|
|
return RC_BAD_PARAM;
|
|
|
|
menubar = gtk_menu_bar_new();
|
|
|
|
/* Create the File submenu */
|
|
filemenu = gtk_menu_new();
|
|
|
|
file = gtk_menu_item_new_with_label("File");
|
|
quit = gtk_menu_item_new_with_label("Quit");
|
|
|
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), filemenu);
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menubar), file);
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(filemenu), quit);
|
|
|
|
/* Create the Help submenu */
|
|
helpmenu = gtk_menu_new();
|
|
|
|
help = gtk_menu_item_new_with_label("Help");
|
|
about = gtk_menu_item_new_with_label("About");
|
|
|
|
gtk_menu_item_set_submenu(GTK_MENU_ITEM(help), helpmenu);
|
|
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(menubar), help);
|
|
gtk_menu_shell_append(GTK_MENU_SHELL(helpmenu), about);
|
|
|
|
/* Add the menubar to the vbox */
|
|
gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 3);
|
|
|
|
g_signal_connect(G_OBJECT(quit), "activate",
|
|
G_CALLBACK(gtk_main_quit), NULL);
|
|
|
|
g_signal_connect(G_OBJECT(about), "activate",
|
|
G_CALLBACK(ui_callback_on_about), NULL);
|
|
|
|
return RC_OK;
|
|
}
|
|
|
|
int ui_toolbar_create(GtkWidget *vbox)
|
|
{
|
|
GtkWidget *toolbar;
|
|
GtkWidget *hbox;
|
|
GtkWidget *iplabel;
|
|
GtkWidget *portlabel;
|
|
GtkToolItem *open;
|
|
|
|
if (!vbox)
|
|
return RC_BAD_PARAM;
|
|
|
|
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
|
|
|
|
toolbar = gtk_toolbar_new();
|
|
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
|
|
|
|
gtk_container_set_border_width(GTK_CONTAINER(toolbar), 2);
|
|
|
|
/* Button to open file */
|
|
open = gtk_tool_button_new_from_stock(GTK_STOCK_OPEN);
|
|
gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(open),
|
|
"Open new dump file");
|
|
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), open, -1);
|
|
|
|
/* Button to connect to remote */
|
|
ui_main_data.connect = gtk_tool_button_new_from_stock(GTK_STOCK_CONNECT);
|
|
/* Set the tooltip text */
|
|
gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.connect),
|
|
"Connect to remote host");
|
|
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), ui_main_data.connect, -1);
|
|
|
|
/* Button to connect to remote */
|
|
ui_main_data.disconnect = gtk_tool_button_new_from_stock(GTK_STOCK_DISCONNECT);
|
|
/* Set the tooltip text */
|
|
gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(ui_main_data.disconnect),
|
|
"Disconnect from remote host");
|
|
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), ui_main_data.disconnect, -1);
|
|
|
|
/* Disabled at startup. Will be activated when a connection is established */
|
|
gtk_widget_set_sensitive(GTK_WIDGET(ui_main_data.disconnect), FALSE);
|
|
|
|
/* No overflow menu */
|
|
gtk_toolbar_set_show_arrow(GTK_TOOLBAR(toolbar), FALSE);
|
|
|
|
iplabel = gtk_label_new("ip:");
|
|
portlabel = gtk_label_new("port:");
|
|
|
|
ui_main_data.ipentry = gtk_entry_new();
|
|
/* Width of 15 characters for port number (ipv4 address) */
|
|
gtk_entry_set_width_chars(GTK_ENTRY(ui_main_data.ipentry), 15);
|
|
gtk_entry_set_text(GTK_ENTRY(ui_main_data.ipentry), "127.0.0.1");
|
|
|
|
ui_main_data.portentry = gtk_entry_new();
|
|
/* Width of 5 characters for port number (uint16_t) */
|
|
gtk_entry_set_width_chars(GTK_ENTRY(ui_main_data.portentry), 5);
|
|
gtk_entry_set_text(GTK_ENTRY(ui_main_data.portentry), "10007");
|
|
|
|
gtk_box_pack_start(GTK_BOX(hbox), toolbar, FALSE, FALSE, 5);
|
|
gtk_box_pack_start(GTK_BOX(hbox), iplabel, FALSE, FALSE, 2);
|
|
gtk_box_pack_start(GTK_BOX(hbox), ui_main_data.ipentry, FALSE, FALSE, 5);
|
|
gtk_box_pack_start(GTK_BOX(hbox), portlabel, FALSE, FALSE, 2);
|
|
gtk_box_pack_start(GTK_BOX(hbox), ui_main_data.portentry, FALSE, FALSE, 5);
|
|
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5);
|
|
|
|
/* Some callbacks associated to buttons */
|
|
g_signal_connect(G_OBJECT(open), "clicked",
|
|
G_CALLBACK(ui_callback_on_open), NULL);
|
|
|
|
g_signal_connect(G_OBJECT(ui_main_data.connect), "clicked",
|
|
G_CALLBACK(ui_callback_on_connect), NULL);
|
|
|
|
g_signal_connect(G_OBJECT(ui_main_data.disconnect), "clicked",
|
|
G_CALLBACK(ui_callback_on_disconnect), NULL);
|
|
|
|
return RC_OK;
|
|
}
|