/*--------------------------------------------------------------------------*/ static void data_radio_toggled_cb (glObjectEditor *editor) { if (editor->priv->stop_signals) return; gl_debug (DEBUG_WDGT, "START"); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (editor->priv->data_literal_radio))) { gtk_widget_set_sensitive (editor->priv->data_text_entry, TRUE); gtk_widget_set_sensitive (editor->priv->data_key_combo, FALSE); gtk_widget_set_sensitive (editor->priv->data_format_label, FALSE); gtk_widget_set_sensitive (editor->priv->data_ex_label, FALSE); gtk_widget_set_sensitive (editor->priv->data_digits_label, FALSE); gtk_widget_set_sensitive (editor->priv->data_digits_spin, FALSE); } else { gtk_widget_set_sensitive (editor->priv->data_text_entry, FALSE); gtk_widget_set_sensitive (editor->priv->data_key_combo, TRUE); gtk_widget_set_sensitive (editor->priv->data_format_label, TRUE); gtk_widget_set_sensitive (editor->priv->data_ex_label, TRUE); gtk_widget_set_sensitive (editor->priv->data_digits_label, !editor->priv->data_format_fixed_flag); gtk_widget_set_sensitive (editor->priv->data_digits_spin, !editor->priv->data_format_fixed_flag); } gl_object_editor_changed_cb (editor); gl_debug (DEBUG_WDGT, "END"); }
/*--------------------------------------------------------------------------*/ static void data_digits_spin_changed_cb (glObjectEditor *editor) { gchar *backend_name; const gchar *backend_id; gchar *style_name; const gchar *id; guint digits; gchar *ex_string; backend_name = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (editor->priv->bc_backend_combo)); backend_id = gl_barcode_backends_backend_name_to_id (backend_name); style_name = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (editor->priv->bc_style_combo)); if ( style_name && *style_name != '\0' ) { id = gl_barcode_backends_style_name_to_id (backend_id, style_name); digits = gtk_spin_button_get_value (GTK_SPIN_BUTTON (editor->priv->data_digits_spin)); ex_string = gl_barcode_backends_style_default_digits (backend_id, id, digits); gtk_label_set_text (GTK_LABEL(editor->priv->data_ex_label), ex_string); g_free (ex_string); } g_free (backend_name); g_free (style_name); gl_object_editor_changed_cb (editor); }
/*--------------------------------------------------------------------------*/ static void valign_toggle_cb (GtkToggleButton *toggle, glObjectEditor *editor) { if (gtk_toggle_button_get_active (toggle)) { if (GTK_WIDGET (toggle) == GTK_WIDGET (editor->priv->text_top_toggle)) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->text_vcenter_toggle), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->text_bottom_toggle), FALSE); } else if (GTK_WIDGET (toggle) == GTK_WIDGET (editor->priv->text_vcenter_toggle)) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->text_top_toggle), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->text_bottom_toggle), FALSE); } else if (GTK_WIDGET (toggle) == GTK_WIDGET (editor->priv->text_bottom_toggle)) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->text_top_toggle), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->text_vcenter_toggle), FALSE); } gl_object_editor_changed_cb (editor); } }
/*--------------------------------------------------------------------------*/ static void style_changed_cb (glObjectEditor *editor) { gchar *backend_name = NULL; const gchar *backend_id; gchar *style_string = NULL; const gchar *id; gchar *ex_string = NULL; guint digits; backend_name = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (editor->priv->bc_backend_combo)); backend_id = gl_barcode_backends_backend_name_to_id (backend_name); style_string = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (editor->priv->bc_style_combo)); /* Don't emit if entry is empty. */ if ( style_string && *style_string != 0 ) { id = gl_barcode_backends_style_name_to_id (backend_id, style_string); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(editor->priv->bc_text_check), gl_barcode_backends_style_can_text (backend_id, id)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(editor->priv->bc_cs_check), gl_barcode_backends_style_can_csum (backend_id, id)); gtk_widget_set_sensitive (editor->priv->bc_text_check, gl_barcode_backends_style_text_optional (backend_id, id)); gtk_widget_set_sensitive (editor->priv->bc_cs_check, gl_barcode_backends_style_csum_optional (backend_id, id)); editor->priv->data_format_fixed_flag = !gl_barcode_backends_style_can_freeform (backend_id, id); digits = gl_barcode_backends_style_get_prefered_n(backend_id, id); gtk_spin_button_set_value (GTK_SPIN_BUTTON (editor->priv->data_digits_spin), digits); ex_string = gl_barcode_backends_style_default_digits (backend_id, id, digits); gtk_label_set_text (GTK_LABEL(editor->priv->data_ex_label), ex_string); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (editor->priv->data_literal_radio))) { gtk_widget_set_sensitive (editor->priv->data_format_label, FALSE); gtk_widget_set_sensitive (editor->priv->data_ex_label, FALSE); gtk_widget_set_sensitive (editor->priv->data_digits_label, FALSE); gtk_widget_set_sensitive (editor->priv->data_digits_spin, FALSE); } else { gtk_widget_set_sensitive (editor->priv->data_format_label, TRUE); gtk_widget_set_sensitive (editor->priv->data_ex_label, TRUE); gtk_widget_set_sensitive (editor->priv->data_digits_label, !editor->priv->data_format_fixed_flag); gtk_widget_set_sensitive (editor->priv->data_digits_spin, !editor->priv->data_format_fixed_flag); } gl_object_editor_changed_cb (editor); } g_free (style_string); g_free (ex_string); }
/*--------------------------------------------------------------------------*/ static void bc_radio_toggled_cb (glObjectEditor *editor) { gl_debug (DEBUG_EDITOR, "START"); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (editor->priv->bc_color_radio))) { gtk_widget_set_sensitive (editor->priv->bc_color_combo, TRUE); gtk_widget_set_sensitive (editor->priv->bc_key_combo, FALSE); } else { gtk_widget_set_sensitive (editor->priv->bc_color_combo, FALSE); gtk_widget_set_sensitive (editor->priv->bc_key_combo, TRUE); } gl_object_editor_changed_cb (editor); }