gensetup.c

来自「一个可以替代windows ODBC驱动程序管理器的通用ODBC数据库引擎」· C语言 代码 · 共 572 行 · 第 1/2 页

C
572
字号
static gint delete_event( GtkWidget *widget,	GdkEvent *event, TGENSETUP *gensetup_t){  gensetup_cancel_clicked (widget, gensetup_t);  return FALSE;}LPSTRcreate_gensetup (HWND hwnd, LPCSTR dsn, LPCSTR attrs, BOOL add){  GtkWidget *gensetup, *dialog_vbox1, *fixed1, *t_dsn, *l_dsn;  GtkWidget *t_comment, *l_comment, *scrolledwindow1, *clist1;  GtkWidget *l_key, *l_value, *t_keyword, *t_value, *l_copyright;  GtkWidget *vbuttonbox1, *b_add, *b_update, *l_keyword, *l_valeur;  GtkWidget *dialog_action_area1, *hbuttonbox1, *b_ok, *b_cancel;  guint b_add_key, b_update_key, b_ok_key, b_cancel_key;  GtkAccelGroup *accel_group;  TGENSETUP gensetup_t;  if (hwnd == NULL || !GTK_IS_WIDGET (hwnd))    return (LPSTR) attrs;  accel_group = gtk_accel_group_new ();  gensetup = gtk_dialog_new ();  gtk_object_set_data (GTK_OBJECT (gensetup), "gensetup", gensetup);  gtk_window_set_title (GTK_WINDOW (gensetup), "Generic ODBC Driver Setup");  gtk_window_set_position (GTK_WINDOW (gensetup), GTK_WIN_POS_CENTER);  gtk_window_set_modal (GTK_WINDOW (gensetup), TRUE);  gtk_window_set_policy (GTK_WINDOW (gensetup), FALSE, FALSE, FALSE);  dialog_vbox1 = GTK_DIALOG (gensetup)->vbox;  gtk_object_set_data (GTK_OBJECT (gensetup), "dialog_vbox1", dialog_vbox1);  gtk_widget_show (dialog_vbox1);  fixed1 = gtk_fixed_new ();  gtk_widget_ref (fixed1);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "fixed1", fixed1,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (fixed1);  gtk_box_pack_start (GTK_BOX (dialog_vbox1), fixed1, TRUE, TRUE, 0);  gtk_container_set_border_width (GTK_CONTAINER (fixed1), 6);  t_dsn = gtk_entry_new ();  gtk_widget_ref (t_dsn);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "t_dsn", t_dsn,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (t_dsn);  gtk_fixed_put (GTK_FIXED (fixed1), t_dsn, 168, 56);  gtk_widget_set_uposition (t_dsn, 168, 56);  gtk_widget_set_usize (t_dsn, 0, 0);  l_dsn = gtk_label_new ("Data Source Name (DSN) : ");  gtk_widget_ref (l_dsn);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "l_dsn", l_dsn,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (l_dsn);  gtk_fixed_put (GTK_FIXED (fixed1), l_dsn, 8, 59);  gtk_widget_set_uposition (l_dsn, 8, 59);  gtk_widget_set_usize (l_dsn, 0, 0);  gtk_label_set_justify (GTK_LABEL (l_dsn), GTK_JUSTIFY_LEFT);  t_comment = gtk_entry_new ();  gtk_widget_ref (t_comment);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "t_comment", t_comment,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (t_comment);  gtk_fixed_put (GTK_FIXED (fixed1), t_comment, 168, 88);  gtk_widget_set_uposition (t_comment, 168, 88);  gtk_widget_set_usize (t_comment, 0, 0);  l_comment = gtk_label_new ("Comment : ");  gtk_widget_ref (l_comment);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "l_comment", l_comment,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (l_comment);  gtk_fixed_put (GTK_FIXED (fixed1), l_comment, 48, 92);  gtk_widget_set_uposition (l_comment, 48, 92);  gtk_widget_set_usize (l_comment, 0, 0);  gtk_label_set_justify (GTK_LABEL (l_comment), GTK_JUSTIFY_LEFT);  scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);  gtk_widget_ref (scrolledwindow1);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "scrolledwindow1",      scrolledwindow1, (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (scrolledwindow1);  gtk_fixed_put (GTK_FIXED (fixed1), scrolledwindow1, 8, 128);  gtk_widget_set_uposition (scrolledwindow1, 8, 128);  gtk_widget_set_usize (scrolledwindow1, 320, 184);  clist1 = gtk_clist_new (2);  gtk_widget_ref (clist1);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "clist1", clist1,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (clist1);  gtk_container_add (GTK_CONTAINER (scrolledwindow1), clist1);  gtk_clist_set_column_width (GTK_CLIST (clist1), 0, 137);  gtk_clist_set_column_width (GTK_CLIST (clist1), 1, 80);  gtk_clist_column_titles_show (GTK_CLIST (clist1));  l_key = gtk_label_new (szKeysColumnNames[0]);  gtk_widget_ref (l_key);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "l_key", l_key,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (l_key);  gtk_clist_set_column_widget (GTK_CLIST (clist1), 0, l_key);  l_value = gtk_label_new (szKeysColumnNames[1]);  gtk_widget_ref (l_value);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "l_value", l_value,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (l_value);  gtk_clist_set_column_widget (GTK_CLIST (clist1), 1, l_value);  t_keyword = gtk_entry_new ();  gtk_widget_ref (t_keyword);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "t_keyword", t_keyword,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (t_keyword);  gtk_fixed_put (GTK_FIXED (fixed1), t_keyword, 80, 328);  gtk_widget_set_uposition (t_keyword, 80, 328);  gtk_widget_set_usize (t_keyword, 158, 22);  t_value = gtk_entry_new ();  gtk_widget_ref (t_value);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "t_value", t_value,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (t_value);  gtk_fixed_put (GTK_FIXED (fixed1), t_value, 80, 360);  gtk_widget_set_uposition (t_value, 80, 360);  gtk_widget_set_usize (t_value, 158, 22);  l_copyright = gtk_label_new ("Generic ODBC Driver Setup");  gtk_widget_ref (l_copyright);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "l_copyright", l_copyright,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (l_copyright);  gtk_fixed_put (GTK_FIXED (fixed1), l_copyright, 6, 6);  gtk_widget_set_uposition (l_copyright, 0, 0);  gtk_widget_set_usize (l_copyright, 323, 40);  vbuttonbox1 = gtk_vbutton_box_new ();  gtk_widget_ref (vbuttonbox1);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "vbuttonbox1", vbuttonbox1,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (vbuttonbox1);  gtk_fixed_put (GTK_FIXED (fixed1), vbuttonbox1, 248, 320);  gtk_widget_set_uposition (vbuttonbox1, 248, 320);  gtk_widget_set_usize (vbuttonbox1, 85, 69);  b_add = gtk_button_new_with_label ("");  b_add_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (b_add)->child),      szKeysButtons[0]);  gtk_widget_add_accelerator (b_add, "clicked", accel_group,      b_add_key, GDK_MOD1_MASK, 0);  gtk_widget_ref (b_add);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "b_add", b_add,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (b_add);  gtk_container_add (GTK_CONTAINER (vbuttonbox1), b_add);  GTK_WIDGET_SET_FLAGS (b_add, GTK_CAN_DEFAULT);  gtk_widget_add_accelerator (b_add, "clicked", accel_group,      'A', GDK_MOD1_MASK, GTK_ACCEL_VISIBLE);  b_update = gtk_button_new_with_label ("");  b_update_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (b_update)->child),      szKeysButtons[1]);  gtk_widget_add_accelerator (b_update, "clicked", accel_group,      b_update_key, GDK_MOD1_MASK, 0);  gtk_widget_ref (b_update);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "b_update", b_update,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (b_update);  gtk_container_add (GTK_CONTAINER (vbuttonbox1), b_update);  GTK_WIDGET_SET_FLAGS (b_update, GTK_CAN_DEFAULT);  gtk_widget_add_accelerator (b_update, "clicked", accel_group,      'U', GDK_MOD1_MASK, GTK_ACCEL_VISIBLE);  gtk_widget_set_sensitive (b_update, FALSE);  l_keyword = gtk_label_new ("Keyword : ");  gtk_widget_ref (l_keyword);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "l_keyword", l_keyword,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (l_keyword);  gtk_fixed_put (GTK_FIXED (fixed1), l_keyword, 8, 330);  gtk_widget_set_uposition (l_keyword, 8, 330);  gtk_widget_set_usize (l_keyword, 69, 16);  gtk_label_set_justify (GTK_LABEL (l_keyword), GTK_JUSTIFY_LEFT);  l_valeur = gtk_label_new ("Value : ");  gtk_widget_ref (l_valeur);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "l_valeur", l_valeur,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (l_valeur);  gtk_fixed_put (GTK_FIXED (fixed1), l_valeur, 8, 363);  gtk_widget_set_uposition (l_valeur, 8, 363);  gtk_widget_set_usize (l_valeur, 51, 16);  gtk_label_set_justify (GTK_LABEL (l_valeur), GTK_JUSTIFY_LEFT);  dialog_action_area1 = GTK_DIALOG (gensetup)->action_area;  gtk_object_set_data (GTK_OBJECT (gensetup), "dialog_action_area1",      dialog_action_area1);  gtk_widget_show (dialog_action_area1);  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 5);  hbuttonbox1 = gtk_hbutton_box_new ();  gtk_widget_ref (hbuttonbox1);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "hbuttonbox1", hbuttonbox1,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (hbuttonbox1);  gtk_box_pack_start (GTK_BOX (dialog_action_area1), hbuttonbox1, TRUE, TRUE,      0);  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);  gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox1), 10);  b_ok = gtk_button_new_with_label ("");  b_ok_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (b_ok)->child), "_Ok");  gtk_widget_add_accelerator (b_ok, "clicked", accel_group,      b_ok_key, GDK_MOD1_MASK, 0);  gtk_widget_ref (b_ok);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "b_ok", b_ok,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (b_ok);  gtk_container_add (GTK_CONTAINER (hbuttonbox1), b_ok);  GTK_WIDGET_SET_FLAGS (b_ok, GTK_CAN_DEFAULT);  gtk_widget_add_accelerator (b_ok, "clicked", accel_group,      'O', GDK_MOD1_MASK, GTK_ACCEL_VISIBLE);  b_cancel = gtk_button_new_with_label ("");  b_cancel_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (b_cancel)->child),      "_Cancel");  gtk_widget_add_accelerator (b_cancel, "clicked", accel_group,      b_cancel_key, GDK_MOD1_MASK, 0);  gtk_widget_ref (b_cancel);  gtk_object_set_data_full (GTK_OBJECT (gensetup), "b_cancel", b_cancel,      (GtkDestroyNotify) gtk_widget_unref);  gtk_widget_show (b_cancel);  gtk_container_add (GTK_CONTAINER (hbuttonbox1), b_cancel);  GTK_WIDGET_SET_FLAGS (b_cancel, GTK_CAN_DEFAULT);  gtk_widget_add_accelerator (b_cancel, "clicked", accel_group,      'C', GDK_MOD1_MASK, GTK_ACCEL_VISIBLE);  /* Ok button events */  gtk_signal_connect (GTK_OBJECT (b_ok), "clicked",      GTK_SIGNAL_FUNC (gensetup_ok_clicked), &gensetup_t);  /* Cancel button events */  gtk_signal_connect (GTK_OBJECT (b_cancel), "clicked",      GTK_SIGNAL_FUNC (gensetup_cancel_clicked), &gensetup_t);  /* Add button events */  gtk_signal_connect (GTK_OBJECT (b_add), "clicked",      GTK_SIGNAL_FUNC (gensetup_add_clicked), &gensetup_t);  /* Update button events */  gtk_signal_connect (GTK_OBJECT (b_update), "clicked",      GTK_SIGNAL_FUNC (gensetup_update_clicked), &gensetup_t);  /* Close window button events */  gtk_signal_connect (GTK_OBJECT (gensetup), "delete_event",      GTK_SIGNAL_FUNC (delete_event), &gensetup_t);  gtk_signal_connect (GTK_OBJECT (gensetup), "destroy",      GTK_SIGNAL_FUNC (gtk_main_quit), NULL);  /* List events */  gtk_signal_connect (GTK_OBJECT (clist1), "select_row",      GTK_SIGNAL_FUNC (gensetup_list_select), &gensetup_t);  gtk_signal_connect (GTK_OBJECT (clist1), "unselect_row",      GTK_SIGNAL_FUNC (gensetup_list_unselect), &gensetup_t);  gtk_window_add_accel_group (GTK_WINDOW (gensetup), accel_group);  gensetup_t.dsn_entry = t_dsn;  gensetup_t.comment_entry = t_comment;  gensetup_t.key_list = clist1;  gensetup_t.bupdate = b_update;  gensetup_t.key_entry = t_keyword;  gensetup_t.value_entry = t_value;  gensetup_t.mainwnd = gensetup;  /* Parse the attributes line */  parse_attribute_line (&gensetup_t, dsn, attrs, add);  gtk_widget_show_all (gensetup);  gtk_main ();  return gensetup_t.connstr;}

⌨️ 快捷键说明

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