Ejemplo n.º 1
0
/*--------------------------------------------------------------------------*/
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");
}
Ejemplo n.º 2
0
/*--------------------------------------------------------------------------*/
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");
}
Ejemplo n.º 3
0
/*--------------------------------------------------------------------------*/
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");
}