Project Homepage Sourceforge Page CVS Repository Freshmeat.net Page Download project Author's Homepage

interface.h File Reference


Detailed Description

interface globals and functions These functions were originall created by glade (gtk1.2)

Definition in file interface.h.

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

common global widgets

widgets we need to be in touch with

GtkWidget * mainWindow
GtkWidget * fileselection
GtkWidget * checkbutton
 the check button for run_in_term mode


options widgets

convenience -for options (mainWindow resizing, etc)

GtkWidget * vbox2
GtkWidget * combo1
 the combo box


Functions

GtkWidget * create_mainWindow (void)
 create the main window

GtkWidget * create_fileselection (void)
 create the persistant fileselection box

void keystrokes_dialog (void)
 display help for keystrokes


Function Documentation

GtkWidget* create_fileselection void   ) 
 

create the persistant fileselection box

Definition at line 282 of file interface.c.

References fileselection, on_cancel_button1_clicked(), on_fileselection_delete_event(), on_fileselection_key_press_event(), and on_ok_button1_clicked().

Referenced by main().

00283 {
00284   GtkWidget *fileselection;
00285   GtkWidget *ok_button1;
00286   GtkWidget *cancel_button1;
00287 
00288   fileselection = gtk_file_selection_new ("Select File");
00289   gtk_object_set_data (GTK_OBJECT (fileselection), "fileselection", fileselection);
00290   gtk_container_set_border_width (GTK_CONTAINER (fileselection), 10);
00291 
00292   ok_button1 = GTK_FILE_SELECTION (fileselection)->ok_button;
00293   gtk_object_set_data (GTK_OBJECT (fileselection), "ok_button1", ok_button1);
00294   gtk_widget_show (ok_button1);
00295   GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT);
00296 
00297   cancel_button1 = GTK_FILE_SELECTION (fileselection)->cancel_button;
00298   gtk_object_set_data (GTK_OBJECT (fileselection), "cancel_button1", cancel_button1);
00299   gtk_widget_show (cancel_button1);
00300   GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT);
00301 
00302   //gtk_signal_connect (GTK_OBJECT (fileselection), "destroy",
00303                       //GTK_SIGNAL_FUNC (on_fileselection_destroy),
00304                       //NULL);
00305   gtk_signal_connect (GTK_OBJECT (fileselection), "delete_event",
00306                       GTK_SIGNAL_FUNC (on_fileselection_delete_event),
00307                       NULL);
00308   gtk_signal_connect (GTK_OBJECT (fileselection), "key_press_event",
00309                       GTK_SIGNAL_FUNC (on_fileselection_key_press_event),
00310                       NULL);
00311   gtk_signal_connect (GTK_OBJECT (ok_button1), "clicked",
00312                       GTK_SIGNAL_FUNC (on_ok_button1_clicked),
00313                       NULL);
00314   gtk_signal_connect (GTK_OBJECT (cancel_button1), "clicked",
00315                       GTK_SIGNAL_FUNC (on_cancel_button1_clicked),
00316                       NULL);
00317 
00318   return fileselection;
00319 }

Here is the call graph for this function:

GtkWidget* create_mainWindow void   ) 
 

create the main window

Note:
The options button and functionality is not implimented in this version of run-free

Todo:
make sure that the runButton fits if the options button is re-added

Definition at line 47 of file interface.c.

References checkbutton, combo1, mainWindow, on_browseButton_clicked(), on_checkbutton_toggled(), on_combo_entry1_changed(), on_combo_entry1_key_press_event(), on_combo_key_press_event(), on_mainWindow_destroy(), on_mainWindow_key_press_event(), on_optionsButton_clicked(), on_passwordEntry_grab_focus(), on_runButton_clicked(), on_whoEntry_grab_focus(), and vbox2.

Referenced by main().

00048 {
00049   GtkWidget *mainWindow;
00050   GtkWidget *vbox1;
00051   GtkWidget *hbox1;
00052   //GtkWidget *combo1;
00053   GtkWidget *combo_entry1;
00054   guint browseButton_key;
00055   GtkWidget *browseButton;
00056   GtkWidget *hbox2;
00057   guint checkbutton_key;
00058   //GtkWidget *checkbutton;
00059   guint optionsButton_key;
00060   GtkWidget *optionsButton;
00061   guint runButton_key;
00062   GtkWidget *runButton;
00063   //GtkWidget *vbox2;
00064   GtkWidget *hbox3;
00065   guint label1_key;
00066   GtkWidget *label1;
00067   GtkWidget *whoEntry;
00068   GtkWidget *hbox4;
00069   guint label2_key;
00070   GtkWidget *label2;
00071   GtkWidget *passwordEntry;
00072   GtkAccelGroup *accel_group;
00073 
00074   accel_group = gtk_accel_group_new ();
00075 
00076   mainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
00077 
00078   //set the policy for resizeing
00079   //gtk_window_set_policy (GTK_WINDOW (mainWindow), FALSE, FALSE, FALSE);
00080 
00081   gtk_object_set_data (GTK_OBJECT (mainWindow), "mainWindow", mainWindow);
00082   gtk_window_set_title (GTK_WINDOW (mainWindow), "run-free");
00083 
00084   vbox1 = gtk_vbox_new (FALSE, 0);
00085   gtk_widget_ref (vbox1);
00086   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "vbox1", vbox1,
00087                             (GtkDestroyNotify) gtk_widget_unref);
00088   gtk_widget_show (vbox1);
00089   gtk_container_add (GTK_CONTAINER (mainWindow), vbox1);
00090 
00091   hbox1 = gtk_hbox_new (FALSE, 0);
00092   gtk_widget_ref (hbox1);
00093   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "hbox1", hbox1,
00094                             (GtkDestroyNotify) gtk_widget_unref);
00095   gtk_widget_show (hbox1);
00096   gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0);
00097 
00098   combo1 = gtk_combo_new ();
00099   gtk_widget_ref (combo1);
00100   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "combo1", combo1,
00101                             (GtkDestroyNotify) gtk_widget_unref);
00102   gtk_widget_show (combo1);
00103   gtk_box_pack_start (GTK_BOX (hbox1), combo1, TRUE, TRUE, 0);
00104 
00105   combo_entry1 = GTK_COMBO (combo1)->entry;
00106   gtk_widget_ref (combo_entry1);
00107   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "combo_entry1", combo_entry1,
00108                             (GtkDestroyNotify) gtk_widget_unref);
00109 
00110   gtk_widget_show (combo_entry1);
00111 
00112   gtk_combo_set_use_arrows_always(GTK_COMBO(combo1), 1);
00113 
00114   browseButton = gtk_button_new_with_label ("");
00115   browseButton_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (browseButton)->child),
00116                                    "Bro_wse");
00117   gtk_widget_add_accelerator (browseButton, "clicked", accel_group,
00118                               browseButton_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
00119   gtk_widget_ref (browseButton);
00120   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "browseButton", browseButton,
00121                             (GtkDestroyNotify) gtk_widget_unref);
00122   gtk_widget_show (browseButton);
00123   gtk_box_pack_start (GTK_BOX (hbox1), browseButton, FALSE, FALSE, 0);
00124   gtk_widget_set_usize (browseButton, 49, -2);
00125 
00126   hbox2 = gtk_hbox_new (FALSE, 9);
00127   gtk_widget_ref (hbox2);
00128   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "hbox2", hbox2,
00129                             (GtkDestroyNotify) gtk_widget_unref);
00130   gtk_widget_show (hbox2);
00131   gtk_box_pack_start (GTK_BOX (vbox1), hbox2, TRUE, TRUE, 0);
00132 
00133   checkbutton = gtk_check_button_new_with_label ("");
00134   checkbutton_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (checkbutton)->child),
00135                                    "Run in _Terminal");
00136   gtk_widget_add_accelerator (checkbutton, "clicked", accel_group,
00137                               checkbutton_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
00138   gtk_widget_ref (checkbutton);
00139   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "checkbutton", checkbutton,
00140                             (GtkDestroyNotify) gtk_widget_unref);
00141   gtk_widget_show (checkbutton);
00142   gtk_box_pack_start (GTK_BOX (hbox2), checkbutton, FALSE, FALSE, 0);
00143 
00144   /**\note The options button and functionality is not implimented in
00145      this version of run-free
00146   */
00147   optionsButton = gtk_button_new_with_label ("");
00148   optionsButton_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (optionsButton)->child),
00149                                    "_Options");
00150   //gtk_widget_add_accelerator (optionsButton, "clicked", accel_group,
00151                               //optionsButton_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
00152   gtk_widget_ref (optionsButton);
00153   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "optionsButton", optionsButton,
00154                             (GtkDestroyNotify) gtk_widget_unref);
00155   //gtk_widget_show (optionsButton);
00156   gtk_box_pack_start (GTK_BOX (hbox2), optionsButton, FALSE, FALSE, 0);
00157 
00158   runButton = gtk_button_new_with_label ("");
00159   runButton_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (runButton)->child),
00160                                    "_Run");
00161   gtk_widget_add_accelerator (runButton, "clicked", accel_group,
00162                               runButton_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
00163   gtk_widget_ref (runButton);
00164   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "runButton", runButton,
00165                             (GtkDestroyNotify) gtk_widget_unref);
00166   gtk_widget_show (runButton);
00167   gtk_box_pack_start (GTK_BOX (hbox2), runButton, FALSE, FALSE, 0);
00168 
00169   /**\todo
00170      make sure that the runButton fits if the options button is
00171      re-added
00172   */
00173   //gtk_widget_set_usize (runButton, 49, -2);
00174   gtk_widget_set_usize (runButton, 103, -2);
00175 
00176   vbox2 = gtk_vbox_new (FALSE, 0);
00177   gtk_widget_ref (vbox2);
00178   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "vbox2", vbox2,
00179                             (GtkDestroyNotify) gtk_widget_unref);
00180 
00181   //don't show the second vbox until we're ready
00182   //gtk_widget_show (vbox2);
00183 
00184   gtk_box_pack_start (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0);
00185 
00186   hbox3 = gtk_hbox_new (FALSE, 14);
00187   gtk_widget_ref (hbox3);
00188   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "hbox3", hbox3,
00189                             (GtkDestroyNotify) gtk_widget_unref);
00190   gtk_widget_show (hbox3);
00191   gtk_box_pack_start (GTK_BOX (vbox2), hbox3, TRUE, TRUE, 0);
00192 
00193   label1 = gtk_label_new ("");
00194   label1_key = gtk_label_parse_uline (GTK_LABEL (label1),
00195                                    "Run _As");
00196   gtk_widget_ref (label1);
00197   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "label1", label1,
00198                             (GtkDestroyNotify) gtk_widget_unref);
00199   gtk_widget_show (label1);
00200   gtk_box_pack_start (GTK_BOX (hbox3), label1, FALSE, FALSE, 0);
00201 
00202   whoEntry = gtk_entry_new ();
00203   gtk_widget_ref (whoEntry);
00204   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "whoEntry", whoEntry,
00205                             (GtkDestroyNotify) gtk_widget_unref);
00206   gtk_widget_show (whoEntry);
00207   gtk_box_pack_start (GTK_BOX (hbox3), whoEntry, TRUE, TRUE, 0);
00208 
00209   hbox4 = gtk_hbox_new (FALSE, 0);
00210   gtk_widget_ref (hbox4);
00211   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "hbox4", hbox4,
00212                             (GtkDestroyNotify) gtk_widget_unref);
00213   gtk_widget_show (hbox4);
00214   gtk_box_pack_start (GTK_BOX (vbox2), hbox4, TRUE, TRUE, 0);
00215 
00216   label2 = gtk_label_new ("");
00217   label2_key = gtk_label_parse_uline (GTK_LABEL (label2),
00218                                    "Pa_ssword");
00219   gtk_widget_ref (label2);
00220   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "label2", label2,
00221                             (GtkDestroyNotify) gtk_widget_unref);
00222   gtk_widget_show (label2);
00223   gtk_box_pack_start (GTK_BOX (hbox4), label2, FALSE, FALSE, 0);
00224 
00225   passwordEntry = gtk_entry_new ();
00226   gtk_widget_ref (passwordEntry);
00227   gtk_object_set_data_full (GTK_OBJECT (mainWindow), "passwordEntry", passwordEntry,
00228                             (GtkDestroyNotify) gtk_widget_unref);
00229   gtk_widget_show (passwordEntry);
00230   gtk_box_pack_start (GTK_BOX (hbox4), passwordEntry, TRUE, TRUE, 0);
00231   gtk_entry_set_visibility (GTK_ENTRY (passwordEntry), FALSE);
00232 
00233   gtk_signal_connect (GTK_OBJECT (mainWindow), "destroy",
00234                       GTK_SIGNAL_FUNC (on_mainWindow_destroy),
00235                       NULL);
00236   gtk_signal_connect (GTK_OBJECT (mainWindow), "key_press_event",
00237                       GTK_SIGNAL_FUNC (on_mainWindow_key_press_event),
00238                       NULL);
00239   gtk_signal_connect (GTK_OBJECT (combo_entry1), "changed",
00240                       GTK_SIGNAL_FUNC (on_combo_entry1_changed),
00241                       NULL);
00242   gtk_signal_connect (GTK_OBJECT (combo1), "key_press_event",
00243                       GTK_SIGNAL_FUNC (on_combo_key_press_event),
00244                       NULL);
00245   gtk_signal_connect (GTK_OBJECT (combo_entry1), "key_press_event",
00246                       GTK_SIGNAL_FUNC (on_combo_entry1_key_press_event),
00247                       NULL);
00248   gtk_signal_connect (GTK_OBJECT (browseButton), "clicked",
00249                       GTK_SIGNAL_FUNC (on_browseButton_clicked),
00250                       NULL);
00251   gtk_signal_connect (GTK_OBJECT (checkbutton), "toggled",
00252                       GTK_SIGNAL_FUNC (on_checkbutton_toggled),
00253                       NULL);
00254   gtk_signal_connect (GTK_OBJECT (optionsButton), "clicked",
00255                       GTK_SIGNAL_FUNC (on_optionsButton_clicked),
00256                       NULL);
00257   gtk_signal_connect (GTK_OBJECT (runButton), "clicked",
00258                       GTK_SIGNAL_FUNC (on_runButton_clicked),
00259                       NULL);
00260   gtk_signal_connect (GTK_OBJECT (whoEntry), "grab_focus",
00261                       GTK_SIGNAL_FUNC (on_whoEntry_grab_focus),
00262                       NULL);
00263   gtk_signal_connect (GTK_OBJECT (passwordEntry), "grab_focus",
00264                       GTK_SIGNAL_FUNC (on_passwordEntry_grab_focus),
00265                       NULL);
00266 
00267   gtk_widget_add_accelerator (whoEntry, "grab_focus", accel_group,
00268                               label1_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
00269   gtk_widget_add_accelerator (passwordEntry, "grab_focus", accel_group,
00270                               label2_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
00271 
00272   gtk_combo_disable_activate(GTK_COMBO(combo1));
00273   gtk_widget_grab_focus (combo_entry1);
00274 
00275 
00276   gtk_window_add_accel_group (GTK_WINDOW (mainWindow), accel_group);
00277 
00278   return mainWindow;
00279 }

Here is the call graph for this function:

void keystrokes_dialog void   ) 
 

display help for keystrokes

Author:
Karl N. Redman
Purpose: display a dialog box of keystrokes

Definition at line 328 of file interface.c.

References dialog_ok_clicked(), and KEYSTROKES.

Referenced by on_combo_entry1_key_press_event(), and on_mainWindow_key_press_event().

00329 {
00330   GtkWidget *dialog;
00331   GtkWidget *scrollwin;
00332   GtkWidget *help;
00333   GtkWidget *ok;
00334 
00335   dialog = gtk_dialog_new();
00336 
00337   gtk_window_set_title(GTK_WINDOW(dialog), "run-free Keystroke Help");
00338   gtk_container_border_width(GTK_CONTAINER(dialog), 5);
00339   gtk_widget_set_usize(dialog, 300, 300);
00340 
00341   scrollwin = gtk_scrolled_window_new(NULL, NULL);
00342   gtk_container_border_width(GTK_CONTAINER(scrollwin), 10);
00343 
00344   gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
00345   gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->vbox), scrollwin, TRUE, TRUE, 0);
00346   gtk_widget_show(scrollwin);
00347 
00348   help = gtk_label_new(KEYSTROKES);
00349   gtk_label_set_justify(help, GTK_JUSTIFY_LEFT);
00350   gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollwin), help);
00351   gtk_widget_show(help);
00352 
00353   ok = gtk_button_new_with_label("OK");
00354   gtk_signal_connect(GTK_OBJECT(ok), "clicked",GTK_SIGNAL_FUNC(dialog_ok_clicked), dialog);
00355   GTK_WIDGET_SET_FLAGS(ok, GTK_CAN_DEFAULT);
00356   gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area), ok, TRUE, TRUE, 0);
00357   gtk_widget_grab_default(ok);
00358   gtk_widget_show(ok);
00359 
00360   //show dialog
00361   gtk_widget_show(dialog);
00362 }

Here is the call graph for this function:


Variable Documentation

GtkWidget * checkbutton
 

the check button for run_in_term mode

Definition at line 50 of file interface.h.

Referenced by create_mainWindow(), and main().

GtkWidget* combo1
 

the combo box

Definition at line 46 of file interface.h.

Referenced by combo_init(), create_mainWindow(), handle_options_display(), main(), on_combo_entry1_key_press_event(), on_mainWindow_key_press_event(), on_ok_button1_clicked(), and on_runButton_clicked().

GtkWidget* fileselection
 

Definition at line 33 of file interface.h.

Referenced by create_fileselection(), main(), on_browseButton_clicked(), on_cancel_button1_clicked(), on_fileselection_delete_event(), and on_ok_button1_clicked().

GtkWidget* mainWindow
 

Definition at line 32 of file interface.h.

Referenced by create_mainWindow(), handle_options_display(), main(), and on_optionsButton_clicked().

GtkWidget* vbox2
 

originall meant to help out with suid functionallity but I'm going to put that functionality in run-free version 3.0

Definition at line 44 of file interface.h.

Referenced by create_mainWindow(), and handle_options_display().


Generated on Thu Mar 18 07:26:19 2004 for run-free by doxygen 1.3.5