Пример #1
0
glColorNode*
gl_object_editor_get_line_color (glObjectEditor      *editor)
{
        guint        color;
        gboolean     is_default;
	glColorNode *color_node;
 
	gl_debug (DEBUG_EDITOR, "START");

	color_node = gl_color_node_new_default ();
	
	if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (editor->priv->line_key_radio))) {
		color_node->field_flag = TRUE;
		color_node->key = 
			gl_field_button_get_key (GL_FIELD_BUTTON (editor->priv->line_key_combo));
        } else {
		color_node->field_flag = FALSE;
		color_node->key = NULL;
		color = gl_color_combo_get_color (GL_COLOR_COMBO(editor->priv->line_color_combo),
                                                  &is_default);

		if (!is_default) {
                        color_node->color = color;
                }
	}
	
	gl_debug (DEBUG_EDITOR, "END");

	return color_node;
}
Пример #2
0
glTextNode *
gl_object_editor_get_data (glObjectEditor      *editor)
{
        glTextNode *text_node;
 
        gl_debug (DEBUG_EDITOR, "START");
 
        text_node = g_new0(glTextNode,1);
 
        if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (editor->priv->data_literal_radio))) {
                text_node->field_flag = FALSE;
                text_node->data =
                    gtk_editable_get_chars (GTK_EDITABLE (editor->priv->data_text_entry),
                                            0, -1);
        } else {
                text_node->field_flag = TRUE;
                text_node->data =
			gl_field_button_get_key (GL_FIELD_BUTTON (editor->priv->data_key_combo));
        }
 
	gl_debug (DEBUG_EDITOR, "text_node: field_flag=%d, data=%s",
		  text_node->field_flag, text_node->data);

        gl_debug (DEBUG_EDITOR, "END");
 
        return text_node;
}
Пример #3
0
void
gl_object_editor_set_bc_color (glObjectEditor      *editor,
			       gboolean             merge_flag,
			       glColorNode         *color_node)
{
	gl_debug (DEBUG_EDITOR, "START");


        g_signal_handlers_block_by_func (G_OBJECT (editor->priv->bc_color_combo),
                                         gl_object_editor_changed_cb, editor);
        g_signal_handlers_block_by_func (G_OBJECT (editor->priv->bc_color_radio),
                                         bc_radio_toggled_cb, editor);
        g_signal_handlers_block_by_func (G_OBJECT (editor->priv->bc_key_radio),
                                         bc_radio_toggled_cb, editor);
        g_signal_handlers_block_by_func (G_OBJECT (editor->priv->bc_key_combo),
                                         gl_object_editor_changed_cb, editor);


	gtk_widget_set_sensitive (editor->priv->bc_key_radio, merge_flag);

	if ( color_node->color == GL_COLOR_NONE )
        {
		gl_color_combo_set_to_default (GL_COLOR_COMBO(editor->priv->bc_color_combo));
	}
        else
        {
		gl_color_combo_set_color (GL_COLOR_COMBO(editor->priv->bc_color_combo),
                                          color_node->color);
	}
	
	if (!color_node->field_flag || !merge_flag) {
		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);
		
	} else {
		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
						  (editor->priv->bc_key_radio), TRUE); 
		gtk_widget_set_sensitive (editor->priv->bc_color_combo, FALSE);
		gtk_widget_set_sensitive (editor->priv->bc_key_combo, TRUE);
		
		gl_field_button_set_key (GL_FIELD_BUTTON (editor->priv->bc_key_combo),
                                           color_node->key);
	}	
	

        g_signal_handlers_unblock_by_func (G_OBJECT (editor->priv->bc_color_combo),
                                           gl_object_editor_changed_cb, editor);
        g_signal_handlers_unblock_by_func (G_OBJECT (editor->priv->bc_color_radio),
                                           bc_radio_toggled_cb, editor);
        g_signal_handlers_unblock_by_func (G_OBJECT (editor->priv->bc_key_radio),
                                           bc_radio_toggled_cb, editor);
        g_signal_handlers_unblock_by_func (G_OBJECT (editor->priv->bc_key_combo),
                                           gl_object_editor_changed_cb, editor);

	
	gl_debug (DEBUG_EDITOR, "END");
}
Пример #4
0
void
gl_object_editor_set_data (glObjectEditor      *editor,
			    gboolean            merge_flag,
			    glTextNode         *text_node)
{
        gint pos;
 
        gl_debug (DEBUG_EDITOR, "START");
 
        editor->priv->stop_signals = TRUE;

        gtk_widget_set_sensitive (editor->priv->data_key_radio, merge_flag);
 
        if (!text_node->field_flag || !merge_flag) {
 
                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
                                              (editor->priv->data_literal_radio), TRUE); 
                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_spin, FALSE);
		gtk_widget_set_sensitive (editor->priv->data_digits_label, FALSE);
 
                gtk_editable_delete_text (GTK_EDITABLE (editor->priv->data_text_entry), 0, -1);
                pos = 0;
                if (text_node->data != NULL ) {
			gtk_editable_insert_text (GTK_EDITABLE (editor->priv->data_text_entry),
						  text_node->data,
						  strlen (text_node->data),
						  &pos);
                }

        } else {
                                                                                
                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
                                              (editor->priv->data_key_radio), TRUE);
                                                                                
                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_field_button_set_key (GL_FIELD_BUTTON (editor->priv->data_key_combo),
                                         text_node->data);
        }
                                                                                

        editor->priv->stop_signals = FALSE;

        gl_debug (DEBUG_EDITOR, "END");
}
Пример #5
0
void
gl_object_editor_set_line_color (glObjectEditor      *editor,
				 gboolean             merge_flag,
				 glColorNode         *color_node)
{
	gl_debug (DEBUG_EDITOR, "START");

        if (color_node == NULL)
        {
                return;
        }

        editor->priv->stop_signals = TRUE;

	gl_debug (DEBUG_EDITOR, "color field %s(%d) / %X", color_node->key, color_node->field_flag, color_node->color);
	gtk_widget_set_sensitive (editor->priv->line_key_radio, merge_flag);

	if ( color_node->color == GL_COLOR_NONE ) {

		gl_color_combo_set_to_default (GL_COLOR_COMBO(editor->priv->line_color_combo));

	} else {

		gl_color_combo_set_color (GL_COLOR_COMBO(editor->priv->line_color_combo),
					   color_node->color);

	}	
	
	if (!color_node->field_flag || !merge_flag) {
		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);
		
	} else {
		gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
						  (editor->priv->line_key_radio), TRUE); 
		gtk_widget_set_sensitive (editor->priv->line_color_combo, FALSE);
		gtk_widget_set_sensitive (editor->priv->line_key_combo, TRUE);
		
		gl_field_button_set_key (GL_FIELD_BUTTON (editor->priv->line_key_combo),
                                         color_node->key);
	}

        editor->priv->stop_signals = FALSE;

	gl_debug (DEBUG_EDITOR, "END");
}