⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guis.c

📁 一个在LINUX下运行的东西
💻 C
字号:
/*************************************************************************** *            guis.c * *  Mon Dec 17 13:43:12 2007 *  Copyright  2007  linux *  <linux@<host>> *************************************************************************** */#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <stdio.h>#include <signal.h>#include <errno.h>#include <stdlib.h>#include <gdk/gdkkeysyms.h>#include <gtk/gtk.h>//#include <glade/glade.h>#include "main.h"#include "callbacks.h"#include "guis.h"#include "func.h"GtkWidget *create_window (void){  GtkWidget *window;  GtkWidget *fixed3;  GtkWidget *label12;  GtkWidget *label9;  GtkWidget *label11;  GtkWidget *label10;//  GtkWidget *label15;  GtkWidget *del_btn;//  GtkWidget *interface_combo;  GtkWidget *windowcancel_btn;  GtkWidget *alignment7;  GtkWidget *hbox7;//  GtkWidget *image7;  GtkWidget *label13;  GtkWidget  *windowsave_btn;  GtkWidget *alignment8;  GtkWidget *hbox8;//  GtkWidget *image8;  GtkWidget *label14;  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);  gtk_widget_set_size_request (window, 300, 270);  gtk_window_set_title (GTK_WINDOW (window), _("ADSL network connecting"));  gtk_window_set_resizable (GTK_WINDOW (window), FALSE);  gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);  fixed3 = gtk_fixed_new ();  gtk_widget_show (fixed3);  //gtk_container_add (GTK_CONTAINER (window), fixed3);  note = create_notebook(fixed3,pro_wid());  gtk_notebook_add_pape(GTK_NOTEBOOK(note),status_things(),_("Netstatus"));  gtk_notebook_add_pape(GTK_NOTEBOOK(note),about_wid(),_("About"));  gtk_widget_show(note);  gtk_container_add (GTK_CONTAINER (window),note);  adslname_edit = gtk_combo_box_entry_new_text ();//gtk_entry_new ();  gtk_widget_show (adslname_edit);  gtk_entry_set_max_length(GTK_ENTRY(                           gtk_bin_get_child(                            GTK_BIN(adslname_edit))),                            32);  gtk_fixed_put (GTK_FIXED (fixed3), adslname_edit, 88, 40);  gtk_widget_set_size_request (adslname_edit, 160, 24);  //gtk_entry_set_invisible_char (GTK_ENTRY (adslname_edit), 8226);  del_btn = gtk_button_new_with_mnemonic(_("del"));  gtk_widget_show(del_btn);  gtk_fixed_put (GTK_FIXED (fixed3),del_btn,250,40);  gtk_widget_set_size_request (del_btn, 45, 24);  username_edit = gtk_entry_new ();  gtk_widget_show (username_edit);  gtk_fixed_put (GTK_FIXED (fixed3), username_edit, 88, 88);  gtk_widget_set_size_request (username_edit, 160, 24);  gtk_entry_set_invisible_char (GTK_ENTRY (username_edit), 8226);  password_edit = gtk_entry_new ();  gtk_widget_show (password_edit);  gtk_fixed_put (GTK_FIXED (fixed3), password_edit, 88, 120);  gtk_widget_set_size_request (password_edit, 160, 24);  gtk_entry_set_visibility(GTK_ENTRY(password_edit),FALSE);  gtk_entry_set_invisible_char (GTK_ENTRY (password_edit), 8226);  label12 = gtk_label_new (_("Interface:"));  gtk_widget_show (label12);  gtk_fixed_put (GTK_FIXED (fixed3), label12, 8, 152);  gtk_widget_set_size_request (label12, 80, 24);  label9 = gtk_label_new (_("ADSL Name:"));  gtk_widget_show (label9);  gtk_fixed_put (GTK_FIXED (fixed3), label9, 8, 40);  gtk_widget_set_size_request (label9, 80, 24);  label11 = gtk_label_new (_("Password:"));  gtk_widget_show (label11);  gtk_fixed_put (GTK_FIXED (fixed3), label11, 8, 120);  gtk_widget_set_size_request (label11, 80, 24);  label10 = gtk_label_new (_("User Name:"));  gtk_widget_show (label10);  gtk_fixed_put (GTK_FIXED (fixed3), label10, 8, 88);  gtk_widget_set_size_request (label10, 80, 24);/*  label15 = gtk_label_new (_("Config profile"));  gtk_widget_show (label15);  gtk_fixed_put (GTK_FIXED (fixed3), label15, 8, 8);  gtk_widget_set_size_request (label15, 90, 24);*/  interface_combo = gtk_combo_box_entry_new_text ();  gtk_widget_show (interface_combo);  gtk_fixed_put (GTK_FIXED (fixed3), interface_combo, 88, 152);  gtk_widget_set_size_request (interface_combo, 160, 25);  load_interfaces(interface_combo);  windowcancel_btn = gtk_button_new ();  gtk_widget_show (windowcancel_btn);  gtk_fixed_put (GTK_FIXED (fixed3), windowcancel_btn, 25, 200);  gtk_widget_set_size_request (windowcancel_btn, 80, 32);  alignment7 = gtk_alignment_new (0.5, 0.5, 0, 0);  gtk_widget_show (alignment7);  gtk_container_add (GTK_CONTAINER (windowcancel_btn), alignment7);  hbox7 = gtk_hbox_new (FALSE, 2);  gtk_widget_show (hbox7);  gtk_container_add (GTK_CONTAINER (alignment7), hbox7);/*  image7 = gtk_image_new_from_stock ("gtk-undo", GTK_ICON_SIZE_BUTTON);  gtk_widget_show (image7);  gtk_box_pack_start (GTK_BOX (hbox7), image7, FALSE, FALSE, 0);*/  label13 = gtk_label_new_with_mnemonic (_("Cancel"));  gtk_widget_show (label13);  gtk_box_pack_start (GTK_BOX (hbox7), label13, FALSE, FALSE, 0);  windowsave_btn = gtk_button_new ();  gtk_widget_show (windowsave_btn);  gtk_fixed_put (GTK_FIXED (fixed3), windowsave_btn, 168, 200);  gtk_widget_set_size_request (windowsave_btn, 80, 32);  alignment8 = gtk_alignment_new (0.5, 0.5, 0, 0);  gtk_widget_show (alignment8);  gtk_container_add (GTK_CONTAINER (windowsave_btn), alignment8);  hbox8 = gtk_hbox_new (FALSE, 2);  gtk_widget_show (hbox8);  gtk_container_add (GTK_CONTAINER (alignment8), hbox8);/*  image8 = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON);  gtk_widget_show (image8);  gtk_box_pack_start (GTK_BOX (hbox8), image8, FALSE, FALSE, 0);*/  label14 = gtk_label_new_with_mnemonic (_("connect"));  gtk_widget_show (label14);  gtk_box_pack_start (GTK_BOX (hbox8), label14, FALSE, FALSE, 0);  g_signal_connect ((gpointer) window, "delete_event",                    G_CALLBACK (on_window_delete_event),                    NULL);  g_signal_connect ((gpointer) windowcancel_btn, "clicked",                    G_CALLBACK (on_windowcancel_btn_clicked),                    NULL);  g_signal_connect ((gpointer) windowsave_btn, "clicked",                    G_CALLBACK (on_connect),                    NULL);  g_signal_connect (adslname_edit,"changed",GTK_SIGNAL_FUNC(combox_changed),NULL);  g_signal_connect (                 gtk_bin_get_child (GTK_BIN(adslname_edit)),                 "paste-clipboard",                 GTK_SIGNAL_FUNC(combox_entry_changed),                 NULL                 );  g_signal_connect (del_btn,"clicked",GTK_SIGNAL_FUNC(on_del),NULL);  g_signal_connect(GTK_WIDGET(window),"key-press-event",GTK_SIGNAL_FUNC(enter_press),note);  return window;}GtkWidget* create_statuswin (void){  GtkWidget *statuswin;  GtkWidget *vbox1;  statuswin = gtk_window_new (GTK_WINDOW_TOPLEVEL);  gtk_widget_set_size_request (statuswin, 250, 45);  gtk_window_set_title (GTK_WINDOW (statuswin), _("connection status"));  gtk_window_set_position (GTK_WINDOW (statuswin), GTK_WIN_POS_CENTER);  gtk_window_set_resizable (GTK_WINDOW (statuswin), FALSE);  vbox1 = gtk_vbox_new (FALSE, 0);  gtk_widget_show (vbox1);  gtk_container_add (GTK_CONTAINER (statuswin), vbox1);  statuslabel = gtk_label_new (_("\nLabel"));  gtk_widget_show (statuslabel);  gtk_box_pack_start (GTK_BOX (vbox1), statuslabel, FALSE, FALSE, 0);  gtk_label_set_justify (GTK_LABEL (statuslabel), GTK_JUSTIFY_CENTER);  g_signal_connect ((gpointer) statuswin, "delete_event",G_CALLBACK (on_status_delete_event),NULL);  return statuswin;}GtkWidget *create_notebook(GtkWidget *child1,GtkWidget *child2){	GtkWidget *note;	GtkWidget *label1,*label2;	note = gtk_notebook_new ();	label1 =  gtk_label_new (_("normal"));	label2 =  gtk_label_new (_("Seting"));	  gtk_notebook_append_page(GTK_NOTEBOOK( note),child1,label1);	  gtk_notebook_append_page(GTK_NOTEBOOK( note),child2,label2);	return note;}void gtk_notebook_add_pape (GtkNotebook *notebook,GtkWidget *child,gchar *str){ GtkWidget *label ; if(str)label = gtk_label_new (str); else return; gtk_widget_show(child); gtk_notebook_append_page(notebook,child,label);}GtkWidget *pro_wid(){  //GtkWidget *pro;  GtkWidget *fixed;  GtkWidget *line;  GtkWidget *cbut1;  GtkWidget *cbut2;  static Iwgt data[2];  fixed = gtk_fixed_new ();  cbut1 = gtk_check_button_new_with_mnemonic  (_("share"));  cbut2 = gtk_check_button_new_with_mnemonic  (_("set route"));  line = gtk_entry_new();  gtk_entry_set_text (GTK_ENTRY(line),get_gw());  gtk_entry_set_max_length(GTK_ENTRY(line),15);  gtk_entry_set_width_chars(GTK_ENTRY(line),9);  gtk_entry_set_editable (GTK_ENTRY(line),FALSE);  gtk_fixed_put (GTK_FIXED (fixed),cbut1,30,20);  gtk_fixed_put (GTK_FIXED (fixed),cbut2,30,50);  gtk_fixed_put (GTK_FIXED (fixed),line,45,70);   data[0].i=0;data[1].i=1;   data[0].gwt=NULL;data[1].gwt=line;  g_signal_connect(GTK_TOGGLE_BUTTON(cbut1),"toggled",GTK_SIGNAL_FUNC(ckb_handler),data);  g_signal_connect(GTK_TOGGLE_BUTTON(cbut2),"toggled",GTK_SIGNAL_FUNC(ckb_handler),data+1);  g_signal_connect(line,"activate",G_CALLBACK(entry_handler),cbut2);  gtk_widget_show_all (fixed);  return fixed;}GtkWidget * status_things(void){  //signal(SIGALRM,handler);  //handler();  GtkWidget *fixed;  GtkWidget *label;  fixed = gtk_fixed_new ();  label = gtk_label_new("");  gtk_fixed_put (GTK_FIXED (fixed),label,10,20);  g_timeout_add_seconds(2,handler,label);  gtk_widget_show (fixed);  gtk_widget_show(label);  return fixed; //} //return NULL;}GtkWidget *about_wid(void){  str_about = _("\n\n ABOUT_THINGS\n");  GtkWidget *view;  GtkTextBuffer *buffer;  GtkTextIter iter;  view = gtk_text_view_new ();  buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (view));   gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0);   gtk_text_buffer_set_text(buffer,str_about,-1);   gtk_text_view_set_editable(GTK_TEXT_VIEW(view),FALSE);   gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(view),FALSE);  //return gtk_label_new(str_about);  return view;}gint msgbox(gchar *str,guint interval,gboolean one_tow){  GtkWidget *dig = NULL;//  GtkWidget *dig = NULL;//  GtkWidget *digvh = NULL;//  GtkWidget *digbb = NULL;  GtkWidget *ok = NULL;  GtkWidget *no = NULL;  GtkWidget *label = NULL;  dig = gtk_dialog_new();  gint id = 0;  if(str){   label = gtk_label_new(str);  } else{   label = gtk_label_new("label");  }//  digvh = gtk_vbox_new(FALSE,2);//  digbb = gtk_hbutton_box_new();  ok = gtk_button_new_with_mnemonic ("gtk-ok");//gtk_button_new();  no = gtk_button_new_with_mnemonic ("gtk-cancel");  gtk_button_set_use_stock(GTK_BUTTON(ok),TRUE);  gtk_dialog_add_action_widget(GTK_DIALOG(dig),ok,2);  if(one_tow){   gtk_button_set_use_stock(GTK_BUTTON(no),TRUE);   gtk_dialog_add_action_widget(GTK_DIALOG(dig),no,1);}  gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dig)->vbox),label);  gtk_button_box_set_layout (             GTK_BUTTON_BOX(GTK_DIALOG(dig)->action_area),             GTK_BUTTONBOX_CENTER );//  gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dig)->vbox),digbb);//  gtk_box_pack_end(GTK_BOX(digvh),digbb,NULL,NULL,0);//  gtk_box_pack_start(GTK_BOX(digbb),ok,FALSE,FALSE,0);//  gtk_box_pack_end(GTK_BOX(digbb),no,FALSE,FALSE,0);  if(interval)  		g_timeout_add_seconds(interval,dialog_handler,ok);  gtk_window_set_position(GTK_WINDOW(dig),GTK_WIN_POS_CENTER_ALWAYS /*GTK_WIN_POS_CENTER*/);   gtk_widget_show_all(dig);  gtk_window_set_resizable(GTK_WINDOW(dig),FALSE);    id = gtk_dialog_run (GTK_DIALOG (dig));//  g_print("Button %d pressed .\n",id);  gtk_widget_destroy (dig);  return id; }/*void show_failed(void){     GladeXML *xml;     GtkWidget *ok;     GtkWidget *rect;     if(access("failed.glade",F_OK)==0){       xml = glade_xml_new("failed.glade", NULL, NULL);      }      else {//      fprintf(stderr,"show_failed:access():%s .\n",strerror(errno));      xml = glade_xml_new(shell_path"/failed.glade", NULL, NULL);     }     glade_xml_signal_autoconnect(xml);     dialog1 = glade_xml_get_widget(xml,"dialog1");     ok = glade_xml_get_widget(xml,"button1");     rect = glade_xml_get_widget(xml,"button2");     chb1 = glade_xml_get_widget(xml,"checkbutton1");     g_signal_connect(GTK_TOGGLE_BUTTON(chb1),  g_timeout_add_seconds(2,handler,label);"toggled",GTK_SIGNAL_FUNC(chb1_handler),NULL);     g_signal_connect(ok,"clicked",G_CALLBACK (do_ok),dialog1);     g_signal_connect(rect,"clicked",G_CALLBACK (do_rect),dialog1);//     gtk_widget_show_all(dialog1);}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -