Project Homepage | Sourceforge Page | CVS Repository | Freshmeat.net Page | Download project | Author's Homepage |
Definition in file interface.c.
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#include "callbacks.h"
#include "interface.h"
#include "support.h"
#include "main.h"
#include "debug.h"
#include "help.h"
Include dependency graph for interface.c:
Go to the source code of this file.
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 |
|
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:
|
create the main window
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:
|
display help for 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: