static GtkWidget * fileprop_get_widget(StringProperty *prop, PropDialog *dialog) { GtkWidget *ret = dia_file_selector_new(); if (prop->common.descr->extra_data) dia_file_selector_set_extensions (DIAFILESELECTOR(ret), prop->common.descr->extra_data); prophandler_connect(&prop->common, G_OBJECT(ret), "value-changed"); return ret; }
static GtkWidget * image_get_defaults() { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *file; GtkWidget *linestyle; GtkWidget *checkbox; if (image_defaults_dialog == NULL) { image_init_defaults(); image_defaults_dialog = g_new(ImageDefaultsDialog, 1); vbox = gtk_vbox_new(FALSE, 5); image_defaults_dialog->vbox = vbox; hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Image file:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); file = dia_file_selector_new(); image_defaults_dialog->file = DIAFILESELECTOR(file); gtk_box_pack_start (GTK_BOX (hbox), file, TRUE, TRUE, 0); gtk_widget_show (file); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); checkbox = gtk_check_button_new_with_label(_("Keep aspect ratio:")); image_defaults_dialog->keep_aspect = GTK_TOGGLE_BUTTON( checkbox ); gtk_widget_show(checkbox); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX (hbox), checkbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); checkbox = gtk_check_button_new_with_label(_("Show border:")); image_defaults_dialog->draw_border = GTK_TOGGLE_BUTTON( checkbox ); gtk_widget_show(checkbox); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX (hbox), checkbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Line style:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); linestyle = dia_line_style_selector_new(); image_defaults_dialog->line_style = DIALINESTYLESELECTOR(linestyle); gtk_box_pack_start (GTK_BOX (hbox), linestyle, TRUE, TRUE, 0); gtk_widget_show (linestyle); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); gtk_widget_show (vbox); } dia_line_style_selector_set_linestyle(image_defaults_dialog->line_style, default_properties.line_style, 1.0); dia_file_selector_set_file(image_defaults_dialog->file, default_properties.file); gtk_toggle_button_set_active(image_defaults_dialog->draw_border, default_properties.draw_border); gtk_toggle_button_set_active(image_defaults_dialog->keep_aspect, default_properties.keep_aspect); return image_defaults_dialog->vbox; }
static GtkWidget * image_get_properties(Image *image) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *color; GtkWidget *checkbox; GtkWidget *linestyle; GtkWidget *file; GtkWidget *border_width; GtkAdjustment *adj; if (image_properties_dialog == NULL) { image_properties_dialog = g_new(ImagePropertiesDialog, 1); vbox = gtk_vbox_new(FALSE, 5); image_properties_dialog->vbox = vbox; hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Image file:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); file = dia_file_selector_new(); image_properties_dialog->file = DIAFILESELECTOR(file); gtk_box_pack_start (GTK_BOX (hbox), file, TRUE, TRUE, 0); gtk_widget_show (file); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); checkbox = gtk_check_button_new_with_label(_("Keep aspect ratio")); image_properties_dialog->keep_aspect = GTK_TOGGLE_BUTTON( checkbox ); gtk_widget_show(checkbox); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX (hbox), checkbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); checkbox = gtk_check_button_new_with_label(_("Show border")); image_properties_dialog->draw_border = GTK_TOGGLE_BUTTON( checkbox ); gtk_widget_show(checkbox); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX (hbox), checkbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Border width:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); adj = (GtkAdjustment *) gtk_adjustment_new(0.1, 0.00, 10.0, 0.01, 0.0, 0.0); border_width = gtk_spin_button_new(adj, 1.0, 2); gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(border_width), TRUE); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(border_width), TRUE); image_properties_dialog->border_width = GTK_SPIN_BUTTON(border_width); gtk_box_pack_start(GTK_BOX (hbox), border_width, TRUE, TRUE, 0); gtk_widget_show (border_width); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Foreground color:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); color = dia_color_selector_new(); image_properties_dialog->fg_color = DIACOLORSELECTOR(color); gtk_box_pack_start (GTK_BOX (hbox), color, TRUE, TRUE, 0); gtk_widget_show (color); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Line style:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_widget_show (label); linestyle = dia_line_style_selector_new(); image_properties_dialog->line_style = DIALINESTYLESELECTOR(linestyle); gtk_box_pack_start (GTK_BOX (hbox), linestyle, TRUE, TRUE, 0); gtk_widget_show (linestyle); gtk_widget_show(hbox); gtk_box_pack_start (GTK_BOX(vbox), hbox, TRUE, TRUE, 0); gtk_widget_show (vbox); } image_properties_dialog->image = image; gtk_spin_button_set_value(image_properties_dialog->border_width, image->border_width); dia_color_selector_set_color(image_properties_dialog->fg_color, &image->border_color); dia_file_selector_set_file(image_properties_dialog->file, image->file); dia_line_style_selector_set_linestyle(image_properties_dialog->line_style, image->line_style, 1.0); gtk_toggle_button_set_active(image_properties_dialog->draw_border, image->draw_border); gtk_toggle_button_set_active(image_properties_dialog->keep_aspect, image->keep_aspect); return image_properties_dialog->vbox; }