00001
00002
00003
00004
00005 #ifdef HAVE_CONFIG_H
00006 # include <config.h>
00007 #endif
00008
00009 #include <sys/types.h>
00010 #include <sys/stat.h>
00011 #include <unistd.h>
00012 #include <string.h>
00013
00014 #include <gdk/gdkkeysyms.h>
00015 #include <gtk/gtk.h>
00016
00017 #include "callbacks.h"
00018 #include "interface.h"
00019 #include "support.h"
00020
00021 GtkWidget*
00022 create_mainWindow (void)
00023 {
00024 GtkWidget *mainWindow;
00025 GtkWidget *mainvbox;
00026 GtkWidget *menubar;
00027 GtkWidget *mainmenu_fileItem;
00028 GtkWidget *mainmenu_fileItem_menu;
00029 GtkAccelGroup *mainmenu_fileItem_menu_accels;
00030 GtkWidget *mainmenu_fileScriptSaveAs;
00031 GtkWidget *mainmenu_fileScriptLoad;
00032 GtkWidget *separator1;
00033 GtkWidget *mainmenu_fileQueryLoad;
00034 GtkWidget *mainmenu_fileQueryImport;
00035 GtkWidget *mainmenu_fileQuerySave;
00036 GtkWidget *mainmenu_fileQuerySaveAs;
00037 GtkWidget *mainmenu_fileResultExport;
00038 GtkWidget *separator2;
00039 GtkWidget *mainmenu_fileQuit;
00040 GtkWidget *mainmenu_database;
00041 GtkWidget *mainmenu_database_menu;
00042 GtkAccelGroup *mainmenu_database_menu_accels;
00043 GtkWidget *mainmenu_databaseConnect;
00044 GtkWidget *mainmenu_databaseDisconnect;
00045 GtkWidget *mainmenu_query;
00046 GtkWidget *mainmenu_query_menu;
00047 GtkAccelGroup *mainmenu_query_menu_accels;
00048 GtkWidget *mainmenu_queryClear;
00049 GtkWidget *mainmenu_querySend;
00050 GtkWidget *separator3;
00051 GtkWidget *mainmenu_queryNew;
00052 GtkWidget *mainmenu_queryClose;
00053 GtkWidget *mainmenu_table;
00054 GtkWidget *mainmenu_table_menu;
00055 GtkAccelGroup *mainmenu_table_menu_accels;
00056 GtkWidget *mainmenu_tableRefresh;
00057 GtkWidget *mainmenu_help;
00058 GtkWidget *mainmenu_help_menu;
00059 GtkAccelGroup *mainmenu_help_menu_accels;
00060 GtkWidget *mainmenu_helpAbout;
00061 GtkWidget *mainvpane;
00062 GtkWidget *hpane;
00063 GtkTooltips *tooltips;
00064
00065 tooltips = gtk_tooltips_new ();
00066
00067 mainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
00068 gtk_object_set_data (GTK_OBJECT (mainWindow), "mainWindow", mainWindow);
00069 gtk_window_set_title (GTK_WINDOW (mainWindow), "GtkSQL");
00070 gtk_window_set_default_size (GTK_WINDOW (mainWindow), 510, 400);
00071
00072 mainvbox = gtk_vbox_new (FALSE, 0);
00073 gtk_widget_ref (mainvbox);
00074 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainvbox", mainvbox,
00075 (GtkDestroyNotify) gtk_widget_unref);
00076 gtk_widget_show (mainvbox);
00077 gtk_container_add (GTK_CONTAINER (mainWindow), mainvbox);
00078
00079 menubar = gtk_menu_bar_new ();
00080 gtk_widget_ref (menubar);
00081 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "menubar", menubar,
00082 (GtkDestroyNotify) gtk_widget_unref);
00083 gtk_widget_show (menubar);
00084 gtk_box_pack_start (GTK_BOX (mainvbox), menubar, FALSE, FALSE, 0);
00085
00086 mainmenu_fileItem = gtk_menu_item_new_with_label ("File");
00087 gtk_widget_ref (mainmenu_fileItem);
00088 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileItem", mainmenu_fileItem,
00089 (GtkDestroyNotify) gtk_widget_unref);
00090 gtk_widget_show (mainmenu_fileItem);
00091 gtk_container_add (GTK_CONTAINER (menubar), mainmenu_fileItem);
00092
00093 mainmenu_fileItem_menu = gtk_menu_new ();
00094 gtk_widget_ref (mainmenu_fileItem_menu);
00095 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileItem_menu", mainmenu_fileItem_menu,
00096 (GtkDestroyNotify) gtk_widget_unref);
00097 gtk_menu_item_set_submenu (GTK_MENU_ITEM (mainmenu_fileItem), mainmenu_fileItem_menu);
00098 mainmenu_fileItem_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (mainmenu_fileItem_menu));
00099
00100 mainmenu_fileScriptSaveAs = gtk_menu_item_new_with_label ("Save Script As...");
00101 gtk_widget_ref (mainmenu_fileScriptSaveAs);
00102 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileScriptSaveAs", mainmenu_fileScriptSaveAs,
00103 (GtkDestroyNotify) gtk_widget_unref);
00104 gtk_widget_show (mainmenu_fileScriptSaveAs);
00105 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileScriptSaveAs);
00106 gtk_tooltips_set_tip (tooltips, mainmenu_fileScriptSaveAs, "Save the current workspace to a script file", NULL);
00107
00108 mainmenu_fileScriptLoad = gtk_menu_item_new_with_label ("Run Script...");
00109 gtk_widget_ref (mainmenu_fileScriptLoad);
00110 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileScriptLoad", mainmenu_fileScriptLoad,
00111 (GtkDestroyNotify) gtk_widget_unref);
00112 gtk_widget_show (mainmenu_fileScriptLoad);
00113 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileScriptLoad);
00114 gtk_tooltips_set_tip (tooltips, mainmenu_fileScriptLoad, "Load and run a script file", NULL);
00115
00116 separator1 = gtk_menu_item_new ();
00117 gtk_widget_ref (separator1);
00118 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "separator1", separator1,
00119 (GtkDestroyNotify) gtk_widget_unref);
00120 gtk_widget_show (separator1);
00121 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), separator1);
00122 gtk_widget_set_sensitive (separator1, FALSE);
00123
00124 mainmenu_fileQueryLoad = gtk_menu_item_new_with_label ("Load Query...");
00125 gtk_widget_ref (mainmenu_fileQueryLoad);
00126 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileQueryLoad", mainmenu_fileQueryLoad,
00127 (GtkDestroyNotify) gtk_widget_unref);
00128 gtk_widget_show (mainmenu_fileQueryLoad);
00129 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileQueryLoad);
00130 gtk_tooltips_set_tip (tooltips, mainmenu_fileQueryLoad, "Load a new query from disk", NULL);
00131
00132 mainmenu_fileQueryImport = gtk_menu_item_new_with_label ("Import Query...");
00133 gtk_widget_ref (mainmenu_fileQueryImport);
00134 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileQueryImport", mainmenu_fileQueryImport,
00135 (GtkDestroyNotify) gtk_widget_unref);
00136 gtk_widget_show (mainmenu_fileQueryImport);
00137 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileQueryImport);
00138 gtk_tooltips_set_tip (tooltips, mainmenu_fileQueryImport, "Load a file into the current query", NULL);
00139
00140 mainmenu_fileQuerySave = gtk_menu_item_new_with_label ("Save Query");
00141 gtk_widget_ref (mainmenu_fileQuerySave);
00142 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileQuerySave", mainmenu_fileQuerySave,
00143 (GtkDestroyNotify) gtk_widget_unref);
00144 gtk_widget_show (mainmenu_fileQuerySave);
00145 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileQuerySave);
00146 gtk_tooltips_set_tip (tooltips, mainmenu_fileQuerySave, "Save this query", NULL);
00147
00148 mainmenu_fileQuerySaveAs = gtk_menu_item_new_with_label ("Save Query As...");
00149 gtk_widget_ref (mainmenu_fileQuerySaveAs);
00150 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileQuerySaveAs", mainmenu_fileQuerySaveAs,
00151 (GtkDestroyNotify) gtk_widget_unref);
00152 gtk_widget_show (mainmenu_fileQuerySaveAs);
00153 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileQuerySaveAs);
00154 gtk_tooltips_set_tip (tooltips, mainmenu_fileQuerySaveAs, "Save this query to another file", NULL);
00155
00156 mainmenu_fileResultExport = gtk_menu_item_new_with_label ("Export Results...");
00157 gtk_widget_ref (mainmenu_fileResultExport);
00158 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileResultExport", mainmenu_fileResultExport,
00159 (GtkDestroyNotify) gtk_widget_unref);
00160 gtk_widget_show (mainmenu_fileResultExport);
00161 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileResultExport);
00162 gtk_tooltips_set_tip (tooltips, mainmenu_fileResultExport, "Export the query results to a file", NULL);
00163
00164 separator2 = gtk_menu_item_new ();
00165 gtk_widget_ref (separator2);
00166 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "separator2", separator2,
00167 (GtkDestroyNotify) gtk_widget_unref);
00168 gtk_widget_show (separator2);
00169 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), separator2);
00170 gtk_widget_set_sensitive (separator2, FALSE);
00171
00172 mainmenu_fileQuit = gtk_menu_item_new_with_label ("Quit");
00173 gtk_widget_ref (mainmenu_fileQuit);
00174 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_fileQuit", mainmenu_fileQuit,
00175 (GtkDestroyNotify) gtk_widget_unref);
00176 gtk_widget_show (mainmenu_fileQuit);
00177 gtk_container_add (GTK_CONTAINER (mainmenu_fileItem_menu), mainmenu_fileQuit);
00178
00179 mainmenu_database = gtk_menu_item_new_with_label ("Database");
00180 gtk_widget_ref (mainmenu_database);
00181 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_database", mainmenu_database,
00182 (GtkDestroyNotify) gtk_widget_unref);
00183 gtk_widget_show (mainmenu_database);
00184 gtk_container_add (GTK_CONTAINER (menubar), mainmenu_database);
00185
00186 mainmenu_database_menu = gtk_menu_new ();
00187 gtk_widget_ref (mainmenu_database_menu);
00188 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_database_menu", mainmenu_database_menu,
00189 (GtkDestroyNotify) gtk_widget_unref);
00190 gtk_menu_item_set_submenu (GTK_MENU_ITEM (mainmenu_database), mainmenu_database_menu);
00191 mainmenu_database_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (mainmenu_database_menu));
00192
00193 mainmenu_databaseConnect = gtk_menu_item_new_with_label ("Connect...");
00194 gtk_widget_ref (mainmenu_databaseConnect);
00195 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_databaseConnect", mainmenu_databaseConnect,
00196 (GtkDestroyNotify) gtk_widget_unref);
00197 gtk_widget_show (mainmenu_databaseConnect);
00198 gtk_container_add (GTK_CONTAINER (mainmenu_database_menu), mainmenu_databaseConnect);
00199
00200 mainmenu_databaseDisconnect = gtk_menu_item_new_with_label ("Disconnect");
00201 gtk_widget_ref (mainmenu_databaseDisconnect);
00202 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_databaseDisconnect", mainmenu_databaseDisconnect,
00203 (GtkDestroyNotify) gtk_widget_unref);
00204 gtk_widget_show (mainmenu_databaseDisconnect);
00205 gtk_container_add (GTK_CONTAINER (mainmenu_database_menu), mainmenu_databaseDisconnect);
00206
00207 mainmenu_query = gtk_menu_item_new_with_label ("Query");
00208 gtk_widget_ref (mainmenu_query);
00209 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_query", mainmenu_query,
00210 (GtkDestroyNotify) gtk_widget_unref);
00211 gtk_widget_show (mainmenu_query);
00212 gtk_container_add (GTK_CONTAINER (menubar), mainmenu_query);
00213
00214 mainmenu_query_menu = gtk_menu_new ();
00215 gtk_widget_ref (mainmenu_query_menu);
00216 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_query_menu", mainmenu_query_menu,
00217 (GtkDestroyNotify) gtk_widget_unref);
00218 gtk_menu_item_set_submenu (GTK_MENU_ITEM (mainmenu_query), mainmenu_query_menu);
00219 mainmenu_query_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (mainmenu_query_menu));
00220
00221 mainmenu_queryClear = gtk_menu_item_new_with_label ("Clear");
00222 gtk_widget_ref (mainmenu_queryClear);
00223 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_queryClear", mainmenu_queryClear,
00224 (GtkDestroyNotify) gtk_widget_unref);
00225 gtk_widget_show (mainmenu_queryClear);
00226 gtk_container_add (GTK_CONTAINER (mainmenu_query_menu), mainmenu_queryClear);
00227
00228 mainmenu_querySend = gtk_menu_item_new_with_label ("Send");
00229 gtk_widget_ref (mainmenu_querySend);
00230 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_querySend", mainmenu_querySend,
00231 (GtkDestroyNotify) gtk_widget_unref);
00232 gtk_widget_show (mainmenu_querySend);
00233 gtk_container_add (GTK_CONTAINER (mainmenu_query_menu), mainmenu_querySend);
00234
00235 separator3 = gtk_menu_item_new ();
00236 gtk_widget_ref (separator3);
00237 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "separator3", separator3,
00238 (GtkDestroyNotify) gtk_widget_unref);
00239 gtk_widget_show (separator3);
00240 gtk_container_add (GTK_CONTAINER (mainmenu_query_menu), separator3);
00241 gtk_widget_set_sensitive (separator3, FALSE);
00242
00243 mainmenu_queryNew = gtk_menu_item_new_with_label ("New");
00244 gtk_widget_ref (mainmenu_queryNew);
00245 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_queryNew", mainmenu_queryNew,
00246 (GtkDestroyNotify) gtk_widget_unref);
00247 gtk_widget_show (mainmenu_queryNew);
00248 gtk_container_add (GTK_CONTAINER (mainmenu_query_menu), mainmenu_queryNew);
00249
00250 mainmenu_queryClose = gtk_menu_item_new_with_label ("Close");
00251 gtk_widget_ref (mainmenu_queryClose);
00252 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_queryClose", mainmenu_queryClose,
00253 (GtkDestroyNotify) gtk_widget_unref);
00254 gtk_widget_show (mainmenu_queryClose);
00255 gtk_container_add (GTK_CONTAINER (mainmenu_query_menu), mainmenu_queryClose);
00256
00257 mainmenu_table = gtk_menu_item_new_with_label ("Table");
00258 gtk_widget_ref (mainmenu_table);
00259 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_table", mainmenu_table,
00260 (GtkDestroyNotify) gtk_widget_unref);
00261 gtk_widget_show (mainmenu_table);
00262 gtk_container_add (GTK_CONTAINER (menubar), mainmenu_table);
00263
00264 mainmenu_table_menu = gtk_menu_new ();
00265 gtk_widget_ref (mainmenu_table_menu);
00266 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_table_menu", mainmenu_table_menu,
00267 (GtkDestroyNotify) gtk_widget_unref);
00268 gtk_menu_item_set_submenu (GTK_MENU_ITEM (mainmenu_table), mainmenu_table_menu);
00269 mainmenu_table_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (mainmenu_table_menu));
00270
00271 mainmenu_tableRefresh = gtk_menu_item_new_with_label ("Refresh");
00272 gtk_widget_ref (mainmenu_tableRefresh);
00273 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_tableRefresh", mainmenu_tableRefresh,
00274 (GtkDestroyNotify) gtk_widget_unref);
00275 gtk_widget_show (mainmenu_tableRefresh);
00276 gtk_container_add (GTK_CONTAINER (mainmenu_table_menu), mainmenu_tableRefresh);
00277
00278 mainmenu_help = gtk_menu_item_new_with_label ("Help");
00279 gtk_widget_ref (mainmenu_help);
00280 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_help", mainmenu_help,
00281 (GtkDestroyNotify) gtk_widget_unref);
00282 gtk_widget_show (mainmenu_help);
00283 gtk_container_add (GTK_CONTAINER (menubar), mainmenu_help);
00284 gtk_menu_item_right_justify (GTK_MENU_ITEM (mainmenu_help));
00285
00286 mainmenu_help_menu = gtk_menu_new ();
00287 gtk_widget_ref (mainmenu_help_menu);
00288 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_help_menu", mainmenu_help_menu,
00289 (GtkDestroyNotify) gtk_widget_unref);
00290 gtk_menu_item_set_submenu (GTK_MENU_ITEM (mainmenu_help), mainmenu_help_menu);
00291 mainmenu_help_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (mainmenu_help_menu));
00292
00293 mainmenu_helpAbout = gtk_menu_item_new_with_label ("About");
00294 gtk_widget_ref (mainmenu_helpAbout);
00295 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainmenu_helpAbout", mainmenu_helpAbout,
00296 (GtkDestroyNotify) gtk_widget_unref);
00297 gtk_widget_show (mainmenu_helpAbout);
00298 gtk_container_add (GTK_CONTAINER (mainmenu_help_menu), mainmenu_helpAbout);
00299
00300 mainvpane = gtk_vpaned_new ();
00301 gtk_widget_ref (mainvpane);
00302 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "mainvpane", mainvpane,
00303 (GtkDestroyNotify) gtk_widget_unref);
00304 gtk_widget_show (mainvpane);
00305 gtk_box_pack_start (GTK_BOX (mainvbox), mainvpane, TRUE, TRUE, 0);
00306
00307 hpane = gtk_hpaned_new ();
00308 gtk_widget_ref (hpane);
00309 gtk_object_set_data_full (GTK_OBJECT (mainWindow), "hpane", hpane,
00310 (GtkDestroyNotify) gtk_widget_unref);
00311 gtk_widget_show (hpane);
00312 gtk_paned_pack1 (GTK_PANED (mainvpane), hpane, FALSE, TRUE);
00313
00314 gtk_signal_connect (GTK_OBJECT (mainWindow), "destroy",
00315 GTK_SIGNAL_FUNC (on_mainWindow_destroy),
00316 NULL);
00317 gtk_signal_connect (GTK_OBJECT (mainmenu_fileScriptSaveAs), "activate",
00318 GTK_SIGNAL_FUNC (on_scriptSaveAs_activate),
00319 NULL);
00320 gtk_signal_connect (GTK_OBJECT (mainmenu_fileScriptLoad), "activate",
00321 GTK_SIGNAL_FUNC (on_fileScriptLoad_activate),
00322 NULL);
00323 gtk_signal_connect (GTK_OBJECT (mainmenu_fileQueryLoad), "activate",
00324 GTK_SIGNAL_FUNC (on_queryLoad_activate),
00325 NULL);
00326 gtk_signal_connect (GTK_OBJECT (mainmenu_fileQueryImport), "activate",
00327 GTK_SIGNAL_FUNC (on_queryImport_activate),
00328 NULL);
00329 gtk_signal_connect (GTK_OBJECT (mainmenu_fileQuerySave), "activate",
00330 GTK_SIGNAL_FUNC (on_querySave_activate),
00331 NULL);
00332 gtk_signal_connect (GTK_OBJECT (mainmenu_fileQuerySaveAs), "activate",
00333 GTK_SIGNAL_FUNC (on_querySaveAs_activate),
00334 NULL);
00335 gtk_signal_connect (GTK_OBJECT (mainmenu_fileResultExport), "activate",
00336 GTK_SIGNAL_FUNC (on_resultExport_activate),
00337 NULL);
00338 gtk_signal_connect (GTK_OBJECT (mainmenu_fileQuit), "activate",
00339 GTK_SIGNAL_FUNC (on_fileQuit_activate),
00340 NULL);
00341 gtk_signal_connect (GTK_OBJECT (mainmenu_databaseConnect), "activate",
00342 GTK_SIGNAL_FUNC (on_databaseConnect_activate),
00343 NULL);
00344 gtk_signal_connect (GTK_OBJECT (mainmenu_databaseDisconnect), "activate",
00345 GTK_SIGNAL_FUNC (on_databaseDisconnect_activate),
00346 NULL);
00347 gtk_signal_connect (GTK_OBJECT (mainmenu_queryClear), "activate",
00348 GTK_SIGNAL_FUNC (on_queryClear_activate),
00349 NULL);
00350 gtk_signal_connect (GTK_OBJECT (mainmenu_querySend), "activate",
00351 GTK_SIGNAL_FUNC (on_querySend_activate),
00352 NULL);
00353 gtk_signal_connect (GTK_OBJECT (mainmenu_queryNew), "activate",
00354 GTK_SIGNAL_FUNC (on_queryNew_activate),
00355 NULL);
00356 gtk_signal_connect (GTK_OBJECT (mainmenu_queryClose), "activate",
00357 GTK_SIGNAL_FUNC (on_queryClose_activate),
00358 NULL);
00359 gtk_signal_connect (GTK_OBJECT (mainmenu_tableRefresh), "activate",
00360 GTK_SIGNAL_FUNC (on_tableRefresh_activate),
00361 NULL);
00362 gtk_signal_connect (GTK_OBJECT (mainmenu_helpAbout), "activate",
00363 GTK_SIGNAL_FUNC (on_helpAbout_activate),
00364 NULL);
00365
00366 gtk_object_set_data (GTK_OBJECT (mainWindow), "tooltips", tooltips);
00367
00368 return mainWindow;
00369 }
00370
00371 GtkWidget*
00372 create_querySaveDlg (void)
00373 {
00374 GtkWidget *querySaveDlg;
00375 GtkWidget *querySaveDlgOkBtn;
00376 GtkWidget *querySaveDlgCancelBtn;
00377
00378 querySaveDlg = gtk_file_selection_new ("Saving query...");
00379 gtk_object_set_data (GTK_OBJECT (querySaveDlg), "querySaveDlg", querySaveDlg);
00380 gtk_container_set_border_width (GTK_CONTAINER (querySaveDlg), 10);
00381
00382 querySaveDlgOkBtn = GTK_FILE_SELECTION (querySaveDlg)->ok_button;
00383 gtk_object_set_data (GTK_OBJECT (querySaveDlg), "querySaveDlgOkBtn", querySaveDlgOkBtn);
00384 gtk_widget_show (querySaveDlgOkBtn);
00385 GTK_WIDGET_SET_FLAGS (querySaveDlgOkBtn, GTK_CAN_DEFAULT);
00386
00387 querySaveDlgCancelBtn = GTK_FILE_SELECTION (querySaveDlg)->cancel_button;
00388 gtk_object_set_data (GTK_OBJECT (querySaveDlg), "querySaveDlgCancelBtn", querySaveDlgCancelBtn);
00389 gtk_widget_show (querySaveDlgCancelBtn);
00390 GTK_WIDGET_SET_FLAGS (querySaveDlgCancelBtn, GTK_CAN_DEFAULT);
00391
00392 gtk_signal_connect (GTK_OBJECT (querySaveDlgOkBtn), "clicked",
00393 GTK_SIGNAL_FUNC (on_querySaveDlgOkBtn_clicked),
00394 NULL);
00395 gtk_signal_connect (GTK_OBJECT (querySaveDlgCancelBtn), "clicked",
00396 GTK_SIGNAL_FUNC (on_querySaveDlgOkBtn_clicked),
00397 NULL);
00398
00399 return querySaveDlg;
00400 }
00401
00402 GtkWidget*
00403 create_queryImportDlg (void)
00404 {
00405 GtkWidget *queryImportDlg;
00406 GtkWidget *queryImportDlgOkBtn;
00407 GtkWidget *queryImportDlgCancelBtn;
00408
00409 queryImportDlg = gtk_file_selection_new ("Import query...");
00410 gtk_object_set_data (GTK_OBJECT (queryImportDlg), "queryImportDlg", queryImportDlg);
00411 gtk_container_set_border_width (GTK_CONTAINER (queryImportDlg), 10);
00412
00413 queryImportDlgOkBtn = GTK_FILE_SELECTION (queryImportDlg)->ok_button;
00414 gtk_object_set_data (GTK_OBJECT (queryImportDlg), "queryImportDlgOkBtn", queryImportDlgOkBtn);
00415 gtk_widget_show (queryImportDlgOkBtn);
00416 GTK_WIDGET_SET_FLAGS (queryImportDlgOkBtn, GTK_CAN_DEFAULT);
00417
00418 queryImportDlgCancelBtn = GTK_FILE_SELECTION (queryImportDlg)->cancel_button;
00419 gtk_object_set_data (GTK_OBJECT (queryImportDlg), "queryImportDlgCancelBtn", queryImportDlgCancelBtn);
00420 gtk_widget_show (queryImportDlgCancelBtn);
00421 GTK_WIDGET_SET_FLAGS (queryImportDlgCancelBtn, GTK_CAN_DEFAULT);
00422
00423 gtk_signal_connect (GTK_OBJECT (queryImportDlgOkBtn), "clicked",
00424 GTK_SIGNAL_FUNC (on_queryImportDlgOkBtn_clicked),
00425 NULL);
00426 gtk_signal_connect (GTK_OBJECT (queryImportDlgCancelBtn), "clicked",
00427 GTK_SIGNAL_FUNC (on_queryImportDlgCancelBtn_clicked),
00428 NULL);
00429
00430 return queryImportDlg;
00431 }
00432
00433 GtkWidget*
00434 create_aboutDlg (void)
00435 {
00436 GtkWidget *aboutDlg;
00437 GtkWidget *dialog_vbox1;
00438 GtkWidget *hbox1;
00439 GtkWidget *pixmap1;
00440 GtkWidget *vbox1;
00441 GtkWidget *aboutVersionLabel;
00442 GtkWidget *aboutCopyrightLabel;
00443 GtkWidget *aboutDriversLabel;
00444 GtkWidget *dialog_action_area1;
00445 GtkWidget *aboutOKBtn;
00446
00447 aboutDlg = gtk_dialog_new ();
00448 gtk_object_set_data (GTK_OBJECT (aboutDlg), "aboutDlg", aboutDlg);
00449 gtk_window_set_title (GTK_WINDOW (aboutDlg), "About GtkSQL");
00450 gtk_window_set_position (GTK_WINDOW (aboutDlg), GTK_WIN_POS_CENTER);
00451 gtk_window_set_policy (GTK_WINDOW (aboutDlg), TRUE, TRUE, FALSE);
00452
00453 dialog_vbox1 = GTK_DIALOG (aboutDlg)->vbox;
00454 gtk_object_set_data (GTK_OBJECT (aboutDlg), "dialog_vbox1", dialog_vbox1);
00455 gtk_widget_show (dialog_vbox1);
00456
00457 hbox1 = gtk_hbox_new (FALSE, 0);
00458 gtk_widget_ref (hbox1);
00459 gtk_object_set_data_full (GTK_OBJECT (aboutDlg), "hbox1", hbox1,
00460 (GtkDestroyNotify) gtk_widget_unref);
00461 gtk_widget_show (hbox1);
00462 gtk_box_pack_start (GTK_BOX (dialog_vbox1), hbox1, TRUE, TRUE, 0);
00463
00464 pixmap1 = create_pixmap (aboutDlg, "gtksql.xpm");
00465 gtk_widget_ref (pixmap1);
00466 gtk_object_set_data_full (GTK_OBJECT (aboutDlg), "pixmap1", pixmap1,
00467 (GtkDestroyNotify) gtk_widget_unref);
00468 gtk_widget_show (pixmap1);
00469 gtk_box_pack_start (GTK_BOX (hbox1), pixmap1, TRUE, TRUE, 5);
00470
00471 vbox1 = gtk_vbox_new (TRUE, 0);
00472 gtk_widget_ref (vbox1);
00473 gtk_object_set_data_full (GTK_OBJECT (aboutDlg), "vbox1", vbox1,
00474 (GtkDestroyNotify) gtk_widget_unref);
00475 gtk_widget_show (vbox1);
00476 gtk_box_pack_start (GTK_BOX (hbox1), vbox1, TRUE, TRUE, 5);
00477
00478 aboutVersionLabel = gtk_label_new ("GtkSQL Version 0.4.2");
00479 gtk_widget_ref (aboutVersionLabel);
00480 gtk_object_set_data_full (GTK_OBJECT (aboutDlg), "aboutVersionLabel", aboutVersionLabel,
00481 (GtkDestroyNotify) gtk_widget_unref);
00482 gtk_widget_show (aboutVersionLabel);
00483 gtk_box_pack_start (GTK_BOX (vbox1), aboutVersionLabel, FALSE, FALSE, 0);
00484
00485 aboutCopyrightLabel = gtk_label_new ("Copyright 1998-2004\nLionel Ulmer and Darryl Luff\n\nhttp://gtksql.sourceforge.net/");
00486 gtk_widget_ref (aboutCopyrightLabel);
00487 gtk_object_set_data_full (GTK_OBJECT (aboutDlg), "aboutCopyrightLabel", aboutCopyrightLabel,
00488 (GtkDestroyNotify) gtk_widget_unref);
00489 gtk_widget_show (aboutCopyrightLabel);
00490 gtk_box_pack_start (GTK_BOX (vbox1), aboutCopyrightLabel, FALSE, FALSE, 0);
00491
00492 aboutDriversLabel = gtk_label_new ("Drivers installed");
00493 gtk_widget_ref (aboutDriversLabel);
00494 gtk_object_set_data_full (GTK_OBJECT (aboutDlg), "aboutDriversLabel", aboutDriversLabel,
00495 (GtkDestroyNotify) gtk_widget_unref);
00496 gtk_widget_show (aboutDriversLabel);
00497 gtk_box_pack_start (GTK_BOX (vbox1), aboutDriversLabel, FALSE, FALSE, 0);
00498
00499 dialog_action_area1 = GTK_DIALOG (aboutDlg)->action_area;
00500 gtk_object_set_data (GTK_OBJECT (aboutDlg), "dialog_action_area1", dialog_action_area1);
00501 gtk_widget_show (dialog_action_area1);
00502 gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 10);
00503
00504 aboutOKBtn = gtk_button_new_with_label ("OK");
00505 gtk_widget_ref (aboutOKBtn);
00506 gtk_object_set_data_full (GTK_OBJECT (aboutDlg), "aboutOKBtn", aboutOKBtn,
00507 (GtkDestroyNotify) gtk_widget_unref);
00508 gtk_widget_show (aboutOKBtn);
00509 gtk_box_pack_start (GTK_BOX (dialog_action_area1), aboutOKBtn, TRUE, TRUE, 5);
00510 GTK_WIDGET_SET_FLAGS (aboutOKBtn, GTK_CAN_DEFAULT);
00511
00512 gtk_signal_connect (GTK_OBJECT (aboutOKBtn), "clicked",
00513 GTK_SIGNAL_FUNC (on_aboutOKBtn_clicked),
00514 NULL);
00515
00516 gtk_widget_grab_focus (aboutOKBtn);
00517 gtk_widget_grab_default (aboutOKBtn);
00518 return aboutDlg;
00519 }
00520
00521 GtkWidget*
00522 create_scriptOpenDlg (void)
00523 {
00524 GtkWidget *scriptOpenDlg;
00525 GtkWidget *scriptLoadDlgOKBtn;
00526 GtkWidget *scriptLoadDlgCancelBtn;
00527
00528 scriptOpenDlg = gtk_file_selection_new ("Select Script File...");
00529 gtk_object_set_data (GTK_OBJECT (scriptOpenDlg), "scriptOpenDlg", scriptOpenDlg);
00530 gtk_container_set_border_width (GTK_CONTAINER (scriptOpenDlg), 10);
00531
00532 scriptLoadDlgOKBtn = GTK_FILE_SELECTION (scriptOpenDlg)->ok_button;
00533 gtk_object_set_data (GTK_OBJECT (scriptOpenDlg), "scriptLoadDlgOKBtn", scriptLoadDlgOKBtn);
00534 gtk_widget_show (scriptLoadDlgOKBtn);
00535 GTK_WIDGET_SET_FLAGS (scriptLoadDlgOKBtn, GTK_CAN_DEFAULT);
00536
00537 scriptLoadDlgCancelBtn = GTK_FILE_SELECTION (scriptOpenDlg)->cancel_button;
00538 gtk_object_set_data (GTK_OBJECT (scriptOpenDlg), "scriptLoadDlgCancelBtn", scriptLoadDlgCancelBtn);
00539 gtk_widget_show (scriptLoadDlgCancelBtn);
00540 GTK_WIDGET_SET_FLAGS (scriptLoadDlgCancelBtn, GTK_CAN_DEFAULT);
00541
00542 gtk_signal_connect (GTK_OBJECT (scriptLoadDlgOKBtn), "clicked",
00543 GTK_SIGNAL_FUNC (on_scriptLoadDlgOKBtn_clicked),
00544 NULL);
00545 gtk_signal_connect (GTK_OBJECT (scriptLoadDlgCancelBtn), "clicked",
00546 GTK_SIGNAL_FUNC (on_scriptLoadDlgCancelBtn_clicked),
00547 NULL);
00548
00549 return scriptOpenDlg;
00550 }
00551
00552 GtkWidget*
00553 create_scriptSaveDlg (void)
00554 {
00555 GtkWidget *scriptSaveDlg;
00556 GtkWidget *button1;
00557 GtkWidget *button2;
00558
00559 scriptSaveDlg = gtk_file_selection_new ("Save Script File...");
00560 gtk_object_set_data (GTK_OBJECT (scriptSaveDlg), "scriptSaveDlg", scriptSaveDlg);
00561 gtk_container_set_border_width (GTK_CONTAINER (scriptSaveDlg), 10);
00562
00563 button1 = GTK_FILE_SELECTION (scriptSaveDlg)->ok_button;
00564 gtk_object_set_data (GTK_OBJECT (scriptSaveDlg), "button1", button1);
00565 gtk_widget_show (button1);
00566 GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);
00567
00568 button2 = GTK_FILE_SELECTION (scriptSaveDlg)->cancel_button;
00569 gtk_object_set_data (GTK_OBJECT (scriptSaveDlg), "button2", button2);
00570 gtk_widget_show (button2);
00571 GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT);
00572
00573 gtk_signal_connect (GTK_OBJECT (button1), "clicked",
00574 GTK_SIGNAL_FUNC (on_scriptSaveDlgOKBtn_clicked),
00575 NULL);
00576 gtk_signal_connect (GTK_OBJECT (button2), "clicked",
00577 GTK_SIGNAL_FUNC (on_scriptSaveDlgCancelBtn_clicked),
00578 NULL);
00579
00580 return scriptSaveDlg;
00581 }
00582