📄 wizspy.c
字号:
{
if(wizspy_areab4_destip[freei].itemdata==itemdata.itemdata)
{
wizspy_areab4_destip[freei].itemdata=0;
wizspy_areab4_destip[freei].itemname[0]=0;
listbox_deleteitem(wizspy_areab4_listboxdest,index);
break;
} //if(wizspy_areab4_srcip[freei].itemdata==itemdata.itemdata)
} // for(freei=0;freei<MAX_NOUSEIPNUM;freei++)
}//if(index>=0)
}
}
GtkWidget *wizspy_areab4_create(GtkWidget *window)
{
GtkWidget *hbox_main, *vbox_src, *vbox_dest, *radioframe;
GtkWidget *listbox, *bbox,*button;
GSList *radiogroup;
gint freei;
if(wizspy_areab4.regsignal==GTK_WIDGET_REG)
return (wizspy_areab4.scrolled_window);
else wizspy_areab4.regsignal=GTK_WIDGET_REG;
/*-------------------------------------------------------------*/
hbox_main=gtk_hbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox_main), 1);
vbox_src=gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox_src), 1);
vbox_dest=gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox_dest), 1);
gtk_box_pack_start (GTK_BOX (hbox_main),vbox_src, TRUE, TRUE, 1);
gtk_box_pack_start (GTK_BOX (hbox_main),vbox_dest, TRUE, TRUE, 1);
/* source dialog to vbox_src */
// radio frame and buttons
radioframe=gtk_frame_new("Source IP");
bbox=gtk_vbutton_box_new();
gtk_container_add (GTK_CONTAINER (radioframe), bbox);
gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START);
gtk_box_set_spacing (GTK_BOX (bbox), 1);
button = gtk_radio_button_new_with_label (NULL, "Accept all expcet that in list");
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), ifsrcenableall);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickradioaccept), &wizspy_areab4_listboxsource);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
radiogroup = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button));
button = gtk_radio_button_new_with_label (radiogroup, "Ignore all expcet that in list");
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), !ifsrcenableall);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickradioignore), &wizspy_areab4_listboxsource);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox_src),radioframe, TRUE, TRUE, 1);
// list box
listbox=listbox_createnew(NULL,&wizspy_areab4_listboxsource);
gtk_widget_set_size_request (GTK_WIDGET (listbox), 80, 80);
gtk_box_pack_start (GTK_BOX (vbox_src),listbox, TRUE, TRUE, 1);
for(freei=0;freei<MAX_NOUSEIPNUM;freei++)
{
if(wizspy_areab4_srcip[freei].itemdata>0&&wizspy_areab4_srcip[freei].itemname[0]!=0)
listbox_insertitem(wizspy_areab4_listboxsource,wizspy_areab4_srcip[freei],0);
}
// button box
bbox=gtk_hbutton_box_new();
gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD);
gtk_box_set_spacing (GTK_BOX (bbox), 1);
button = gtk_button_new_with_label ( "Add");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickadd), &wizspy_areab4_listboxsource);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
button = gtk_button_new_with_label ( "Remove");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickremove), &wizspy_areab4_listboxsource);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox_src),bbox, TRUE, TRUE, 1);
/* dest dialog to vbox_dest */
// radio frame and buttons
radioframe=gtk_frame_new("Dest IP");
bbox=gtk_vbutton_box_new();
gtk_container_add (GTK_CONTAINER (radioframe), bbox);
gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START);
gtk_box_set_spacing (GTK_BOX (bbox), 1);
button = gtk_radio_button_new_with_label (NULL, "Accept all expcet that in list");
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), ifdestenableall);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickradioaccept), &wizspy_areab4_listboxdest);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
radiogroup = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button));
button = gtk_radio_button_new_with_label (radiogroup, "Ignore all expcet that in list");
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), !ifdestenableall);
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickradioignore), &wizspy_areab4_listboxdest);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox_dest),radioframe, TRUE, TRUE, 1);
// listbox
listbox=listbox_createnew(NULL,&wizspy_areab4_listboxdest);
gtk_widget_set_size_request (GTK_WIDGET (listbox), 80, 80);
gtk_box_pack_start (GTK_BOX (vbox_dest),listbox, TRUE, TRUE, 1);
for(freei=0;freei<MAX_NOUSEIPNUM;freei++)
{
if(wizspy_areab4_destip[freei].itemdata>0&&wizspy_areab4_destip[freei].itemname[0]!=0)
listbox_insertitem(wizspy_areab4_listboxdest,wizspy_areab4_destip[freei],0);
}
// button box
bbox=gtk_hbutton_box_new();
gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD);
gtk_box_set_spacing (GTK_BOX (bbox), 1);
button = gtk_button_new_with_label ( "Add");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickadd), &wizspy_areab4_listboxdest);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
button = gtk_button_new_with_label ( "Remove");
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (wizspy_areab4_clickremove), &wizspy_areab4_listboxdest);
gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox_dest),bbox, TRUE, TRUE, 1);
/*-------------------------------------------------------------*/
wizspy_areab4.ctrl=hbox_main;
wizspy_areab4.scrolled_window=gtk_append_scrollviewport(wizspy_areab4.ctrl);
if(window!=NULL)
gtk_container_add (GTK_CONTAINER (window), wizspy_areab4.scrolled_window);
gtk_widget_show_all (wizspy_areab4.scrolled_window);
return wizspy_areab4.scrolled_window;
}
/*---------------- B1-- system setting ---------*/
/*
1.dialog preview:
_________________
| system setting \
------------------------------------------------------------------|
| option: |
| |---------------| |-------------------| |-------------------| |
| | packet invald | | protocal invald | | ip invald | |
| |---------------| |-------------------| |-------------------| |
| |
------------------------------------------------------------------|
| control: |
| |------------| |------------| |-------------| |------------| |
| | spy open | | spy pause | | spy continue| | spy close | |
| |------------| |------------| |-------------| |------------| |
| |
------------------------------------------------------------------|
| others: |
| |---------------| |-------------------| |
| | clear message | | clear packet list | OK |
| |---------------| |-------------------| |
| |
------------------------------------------------------------------|
2.main gtk ctrl relations :
+vbox
|+option frame
| |+hbox
| |-button (packet invald)
| |-button (protocal invald)
| |-button (ip invald )
|+control frame
| |+hbox
| |-button (spy open)
| |-button (spy pause)
| |-button (spy continue)
| |-button (spy close)
|+others frame
|+hbox
|-button (clear message)
|-button (clear packet list)
*/
void wizspy_areab1_clickoptionpacket(GtkWidget *window, gpointer fundata)
{
extern GtkScrollCtrl wizspy_areab;
if(wizspy_areab.regsignal==GTK_WIDGET_REG)
gtk_notebook_set_current_page(GTK_NOTEBOOK(wizspy_areab.ctrl),1);
}
void wizspy_areab1_clickoptionprotocal(GtkWidget *window, gpointer fundata)
{
extern GtkScrollCtrl wizspy_areab;
if(wizspy_areab.regsignal==GTK_WIDGET_REG)
gtk_notebook_set_current_page(GTK_NOTEBOOK(wizspy_areab.ctrl),2);
}
void wizspy_areab1_clickoptionip(GtkWidget *window, gpointer fundata)
{
extern GtkScrollCtrl wizspy_areab;
if(wizspy_areab.regsignal==GTK_WIDGET_REG)
gtk_notebook_set_current_page(GTK_NOTEBOOK(wizspy_areab.ctrl),3);
}
void wizspy_areab1_clickopen(GtkWidget *window, gpointer fundata)
{
SpySetState(SPY_OPEN);
}
void wizspy_areab1_clickpause(GtkWidget *window, gpointer fundata)
{
SpySetState(SPY_PAUSE);
}
void wizspy_areab1_clickcontinue(GtkWidget *window, gpointer fundata)
{
SpySetState(SPY_CONTINUE);
}
void wizspy_areab1_clickclose(GtkWidget *window, gpointer fundata)
{
SpySetState(SPY_CLOSE);
}
void wizspy_areab1_clickclearmsg(GtkWidget *window, gpointer fundata)
{
wizspy_areaa_settext("");
}
void wizspy_areab1_clickclearlist(GtkWidget *window, gpointer fundata)
{
extern GtkScrollCtrl spyareae_ethlist;
extern GtkScrollCtrl spyareae_iplist;
gtk_clist_clear(GTK_CLIST(spyareae_ethlist.ctrl));
gtk_clist_clear(GTK_CLIST(spyareae_iplist.ctrl));
}
GtkScrollCtrl wizspy_areab1={0,0,0,};
GtkWidget *wizspy_areab1_create(GtkWidget *window)
{
GtkWidget *vbox, *frame, *hbox, *button;
if(wizspy_areab1.regsignal==GTK_WIDGET_REG)
return (wizspy_areab1.scrolled_window);
else wizspy_areab1.regsignal=GTK_WIDGET_REG;
wizspy_areab1.ctrl=gtk_frame_new(NULL);
/* -----------------------------------------------------------------*/
vbox= gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 1);
gtk_container_add (GTK_CONTAINER (wizspy_areab1.ctrl), vbox);
/* create Option */
frame=gtk_frame_new("Option:");
gtk_box_pack_start (GTK_BOX (vbox),frame, TRUE, TRUE, 1);
hbox= gtk_hbutton_box_new();
gtk_container_add (GTK_CONTAINER (frame), hbox);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD);
gtk_box_set_spacing (GTK_BOX (hbox), 20);
// packet invald
button=gtk_button_new_with_label("packet invald");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickoptionpacket), NULL);
// protocal invald
button=gtk_button_new_with_label("protocal invald");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickoptionprotocal), NULL);
// ip invald
button=gtk_button_new_with_label("ip invald");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickoptionip), NULL);
/* create Control */
frame=gtk_frame_new("Control:");
gtk_box_pack_start (GTK_BOX (vbox),frame, TRUE, TRUE, 1);
hbox= gtk_hbutton_box_new();
gtk_container_add (GTK_CONTAINER (frame), hbox);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD);
gtk_box_set_spacing (GTK_BOX (hbox), 20);
// spy open
button=gtk_button_new_with_label("spy open");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickopen), NULL);
// spy pause
button=gtk_button_new_with_label("spy pause");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickpause), NULL);
// spy continue
button=gtk_button_new_with_label("spy continue");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickcontinue), NULL);
// spy close
button=gtk_button_new_with_label("spy close");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickclose), NULL);
/* create others */
frame=gtk_frame_new("Others:");
gtk_box_pack_start (GTK_BOX (vbox),frame, TRUE, TRUE, 1);
hbox= gtk_hbutton_box_new();
gtk_container_add (GTK_CONTAINER (frame), hbox);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD);
gtk_box_set_spacing (GTK_BOX (hbox), 20);
// clear message
button=gtk_button_new_with_label("clear message");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickclearmsg), NULL);
// clear packet list
button=gtk_button_new_with_label("clear packet list");
gtk_container_add (GTK_CONTAINER (hbox), button);
g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickclearlist), NULL);
/* -----------------------------------------------------------------*/
wizspy_areab1.scrolled_window=gtk_append_scrollviewport(wizspy_areab1.ctrl);
if(window!=NULL)
gtk_container_add (GTK_CONTAINER (window), wizspy_areab1.scrolled_window);
gtk_widget_show_all (wizspy_areab1.scrolled_window);
return wizspy_areab1.scrolled_window;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -