/*--------------------------------------------------------------------------*/ void gl_object_editor_prepare_data_page (glObjectEditor *editor) { gl_debug (DEBUG_EDITOR, "START"); /* Extract widgets from XML tree. */ gl_builder_util_get_widgets (editor->priv->builder, "data_page_vbox", &editor->priv->data_page_vbox, "data_literal_radio", &editor->priv->data_literal_radio, "data_key_radio", &editor->priv->data_key_radio, "data_text_entry", &editor->priv->data_text_entry, "data_key_hbox", &editor->priv->data_key_hbox, NULL); editor->priv->data_key_combo = gl_field_button_new (NULL); gtk_box_pack_start (GTK_BOX (editor->priv->data_key_hbox), editor->priv->data_key_combo, TRUE, TRUE, 0); /* Un-hide */ gtk_widget_show_all (editor->priv->data_page_vbox); /* Connect signals */ g_signal_connect_swapped (G_OBJECT (editor->priv->data_text_entry), "changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->data_key_combo), "changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->data_literal_radio), "toggled", G_CALLBACK (data_radio_toggled_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->data_key_radio), "toggled", G_CALLBACK (data_radio_toggled_cb), G_OBJECT (editor)); gl_debug (DEBUG_EDITOR, "END"); }
/*--------------------------------------------------------------------------*/ void gl_object_editor_prepare_line_page (glObjectEditor *editor) { gl_debug (DEBUG_EDITOR, "START"); /* Extract widgets from XML tree. */ gl_builder_util_get_widgets (editor->priv->builder, "line_page_vbox", &editor->priv->line_page_vbox, "line_width_spin", &editor->priv->line_width_spin, "line_color_hbox", &editor->priv->line_color_hbox, "line_key_hbox", &editor->priv->line_key_hbox, "line_key_radio", &editor->priv->line_key_radio, "line_color_radio", &editor->priv->line_color_radio, NULL); editor->priv->line_color_combo = gl_color_combo_new (_("No Line"), GL_COLOR_NO_LINE, gl_prefs_model_get_default_line_color (gl_prefs)); gtk_box_pack_start (GTK_BOX (editor->priv->line_color_hbox), editor->priv->line_color_combo, FALSE, FALSE, 0); editor->priv->line_key_combo = gl_field_button_new (NULL); gtk_box_pack_start (GTK_BOX (editor->priv->line_key_hbox), editor->priv->line_key_combo, TRUE, TRUE, 0); /* Modify widgets based on configuration */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->line_color_radio), TRUE); gtk_widget_set_sensitive (editor->priv->line_color_combo, TRUE); gtk_widget_set_sensitive (editor->priv->line_key_combo, FALSE); gtk_spin_button_set_value (GTK_SPIN_BUTTON (editor->priv->line_width_spin), gl_prefs_model_get_default_line_width (gl_prefs)); gl_color_combo_set_color (GL_COLOR_COMBO(editor->priv->line_color_combo), gl_prefs_model_get_default_line_color (gl_prefs)); /* Un-hide */ gtk_widget_show_all (editor->priv->line_page_vbox); /* Connect signals */ g_signal_connect_swapped (G_OBJECT (editor->priv->line_width_spin), "changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->line_color_combo), "color_changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->line_key_combo), "changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->line_color_radio), "toggled", G_CALLBACK (line_radio_toggled_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->line_key_radio), "toggled", G_CALLBACK (line_radio_toggled_cb), G_OBJECT (editor)); gl_debug (DEBUG_EDITOR, "END"); }
/*--------------------------------------------------------------------------*/ void gl_object_editor_prepare_bc_page (glObjectEditor *editor) { GList *backends = NULL; GList *p; gl_debug (DEBUG_EDITOR, "START"); /* Extract widgets from XML tree. */ gl_builder_util_get_widgets (editor->priv->builder, "bc_page_vbox", &editor->priv->bc_page_vbox, "bc_backend_combo_hbox", &editor->priv->bc_backend_combo_hbox, "bc_style_combo_hbox", &editor->priv->bc_style_combo_hbox, "bc_text_check", &editor->priv->bc_text_check, "bc_cs_check", &editor->priv->bc_cs_check, "bc_color_hbox", &editor->priv->bc_color_hbox, "bc_key_hbox", &editor->priv->bc_key_hbox, "bc_key_radio", &editor->priv->bc_key_radio, "bc_color_radio", &editor->priv->bc_color_radio, "data_format_label", &editor->priv->data_format_label, "data_ex_label", &editor->priv->data_ex_label, "data_digits_label", &editor->priv->data_digits_label, "data_digits_spin", &editor->priv->data_digits_spin, NULL); editor->priv->data_format_fixed_flag = FALSE; editor->priv->bc_color_combo = gl_color_combo_new (_("Default"), GL_COLOR_BC_DEFAULT, gl_prefs_model_get_default_line_color (gl_prefs)); gtk_box_pack_start (GTK_BOX (editor->priv->bc_color_hbox), editor->priv->bc_color_combo, FALSE, FALSE, 0); editor->priv->bc_key_combo = gl_field_button_new (NULL); gtk_box_pack_start (GTK_BOX (editor->priv->bc_key_hbox), editor->priv->bc_key_combo, TRUE, TRUE, 0); editor->priv->bc_backend_combo = gtk_combo_box_text_new (); gtk_box_pack_start (GTK_BOX (editor->priv->bc_backend_combo_hbox), editor->priv->bc_backend_combo, TRUE, TRUE, 0); editor->priv->bc_style_combo = gtk_combo_box_text_new (); gtk_box_pack_start (GTK_BOX (editor->priv->bc_style_combo_hbox), editor->priv->bc_style_combo, TRUE, TRUE, 0); /* Load barcode backends */ backends = gl_barcode_backends_get_backend_list (); gl_combo_util_set_strings (GTK_COMBO_BOX_TEXT(editor->priv->bc_backend_combo), backends); /* Kludge: Load styles for each backend once, so that when they are loaded for real the size of * of the widget has already been established and does't cause the sidebar to change size. */ for ( p = backends; p != NULL; p=p->next ) { gl_object_editor_load_bc_styles (editor, gl_barcode_backends_backend_name_to_id ((gchar *)p->data)); } gl_barcode_backends_free_backend_list (backends); /* Modify widgets */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->bc_color_radio), TRUE); gtk_widget_set_sensitive (editor->priv->bc_color_combo, TRUE); gtk_widget_set_sensitive (editor->priv->bc_key_combo, FALSE); /* Un-hide */ gtk_widget_show_all (editor->priv->bc_page_vbox); /* Connect signals */ g_signal_connect_swapped (G_OBJECT (editor->priv->bc_backend_combo), "changed", G_CALLBACK (backend_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->bc_style_combo), "changed", G_CALLBACK (style_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->bc_text_check), "toggled", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->bc_cs_check), "toggled", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->bc_color_combo), "color_changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->bc_key_combo), "changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->bc_color_radio), "toggled", G_CALLBACK (bc_radio_toggled_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->bc_key_radio), "toggled", G_CALLBACK (bc_radio_toggled_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->data_digits_spin), "value-changed", G_CALLBACK (data_digits_spin_changed_cb), G_OBJECT (editor)); gl_debug (DEBUG_EDITOR, "END"); }
/*--------------------------------------------------------------------------*/ void gl_object_editor_prepare_text_page (glObjectEditor *editor) { gl_debug (DEBUG_EDITOR, "START"); /* Extract widgets from XML tree. */ gl_builder_util_get_widgets (editor->priv->builder, "text_page_vbox", &editor->priv->text_page_vbox, "text_family_hbox", &editor->priv->text_family_hbox, "text_size_spin", &editor->priv->text_size_spin, "text_bold_toggle", &editor->priv->text_bold_toggle, "text_italic_toggle", &editor->priv->text_italic_toggle, "text_color_hbox", &editor->priv->text_color_hbox, "text_color_radio", &editor->priv->text_color_radio, "text_color_key_radio", &editor->priv->text_color_key_radio, "text_color_key_hbox", &editor->priv->text_color_key_hbox, "text_left_toggle", &editor->priv->text_left_toggle, "text_center_toggle", &editor->priv->text_center_toggle, "text_right_toggle", &editor->priv->text_right_toggle, "text_top_toggle", &editor->priv->text_top_toggle, "text_vcenter_toggle", &editor->priv->text_vcenter_toggle, "text_bottom_toggle", &editor->priv->text_bottom_toggle, "text_line_spacing_spin", &editor->priv->text_line_spacing_spin, "text_auto_shrink_check", &editor->priv->text_auto_shrink_check, NULL); editor->priv->text_family_combo = gl_font_combo_new ("Sans"); gtk_box_pack_start (GTK_BOX (editor->priv->text_family_hbox), editor->priv->text_family_combo, TRUE, TRUE, 0); editor->priv->text_color_combo = gl_color_combo_new (_("Default"), GL_COLOR_TEXT_DEFAULT, gl_prefs_model_get_default_text_color (gl_prefs)); gtk_box_pack_start (GTK_BOX (editor->priv->text_color_hbox), editor->priv->text_color_combo, FALSE, FALSE, 0); editor->priv->text_color_key_combo = gl_field_button_new (NULL); gtk_box_pack_start (GTK_BOX (editor->priv->text_color_key_hbox), editor->priv->text_color_key_combo, TRUE, TRUE, 0); /* Modify widgets */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->text_color_radio), TRUE); gtk_widget_set_sensitive (editor->priv->text_color_combo, TRUE); gtk_widget_set_sensitive (editor->priv->text_color_key_combo, FALSE); /* Un-hide */ gtk_widget_show_all (editor->priv->text_page_vbox); /* Connect signals */ g_signal_connect_swapped (G_OBJECT (editor->priv->text_family_combo), "changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_size_spin), "value-changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_bold_toggle), "toggled", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_italic_toggle), "toggled", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_color_combo), "color_changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_color_key_combo), "changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_color_radio), "toggled", G_CALLBACK (text_radio_toggled_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_color_key_radio), "toggled", G_CALLBACK (text_radio_toggled_cb), G_OBJECT (editor)); g_signal_connect (G_OBJECT (editor->priv->text_left_toggle), "toggled", G_CALLBACK (align_toggle_cb), G_OBJECT (editor)); g_signal_connect (G_OBJECT (editor->priv->text_center_toggle), "toggled", G_CALLBACK (align_toggle_cb), G_OBJECT (editor)); g_signal_connect (G_OBJECT (editor->priv->text_right_toggle), "toggled", G_CALLBACK (align_toggle_cb), G_OBJECT (editor)); g_signal_connect (G_OBJECT (editor->priv->text_top_toggle), "toggled", G_CALLBACK (valign_toggle_cb), G_OBJECT (editor)); g_signal_connect (G_OBJECT (editor->priv->text_vcenter_toggle), "toggled", G_CALLBACK (valign_toggle_cb), G_OBJECT (editor)); g_signal_connect (G_OBJECT (editor->priv->text_bottom_toggle), "toggled", G_CALLBACK (valign_toggle_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_line_spacing_spin), "value-changed", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); g_signal_connect_swapped (G_OBJECT (editor->priv->text_auto_shrink_check), "toggled", G_CALLBACK (gl_object_editor_changed_cb), G_OBJECT (editor)); gl_debug (DEBUG_EDITOR, "END"); }