Exemplo n.º 1
0
 static void row_activated(GtkTreeView *view, GtkTreePath *path, GtkTreeViewColumn *column, GtkWidget *widget)
 {
	GtkTreeIter		iter;
	GtkTreeModel	*model	= gtk_tree_view_get_model(view);
	GValue			value	= { 0, };
	int				id;

	if(!gtk_tree_model_get_iter(model,&iter,path))
	{
		gtk_widget_set_sensitive(widget,0);
		return;
	}

	gtk_tree_model_get_value(model,&iter,1,&value);

	id = g_value_get_int(&value);
	g_object_set_data(G_OBJECT(widget),"selected",(gpointer) id);

	if(id < 0 || id >= TERMINAL_COLOR_COUNT)
	{
		gtk_widget_set_sensitive(widget,0);
		return;
	}

	gtk_color_selection_set_previous_color(GTK_COLOR_SELECTION(widget),color+id);
	gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(widget),color+id);

	gtk_widget_set_sensitive(widget,1);

 }
Exemplo n.º 2
0
//------------------------- Color Selection -----------------------------------
// Open Dlg for color selection return true, if color changed
bool
showColorBox(const std::string &title,
             GdkColor &colorInOut,
             GtkWidget *transient_widget/*=NULL*/)
{
  GtkWidget *dialog;
  GtkColorSelection *colorsel;
  gint response;

  dialog = gtk_color_selection_dialog_new (title.c_str());

  // Make transient if necessary
  if (transient_widget)
  {
    GtkWidget *toplevel = getToplevel(transient_widget);
    if (toplevel && GTK_IS_WINDOW (toplevel) && GTK_WIDGET_MAPPED (toplevel))
        gtk_window_set_transient_for (GTK_WINDOW (dialog),
                                      GTK_WINDOW (toplevel));
  }

  colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel);

  gtk_color_selection_set_previous_color (colorsel, &colorInOut);
  gtk_color_selection_set_current_color (colorsel, &colorInOut);
  gtk_color_selection_set_has_palette (colorsel, TRUE);

  response = runModalBox(dialog);

  if (response == GTK_RESPONSE_OK)
  {
    gtk_color_selection_get_current_color (colorsel,&colorInOut);
  }
  gtk_widget_destroy (dialog);
  return (response == GTK_RESPONSE_OK);
}
Exemplo n.º 3
0
void changeFace(GtkButton* button,GtkButton* window)
{
	GtkWidget *dialog;
	GtkColorSelection *colorsel;
	gint response;
        GdkColor color;

	dialog = gtk_color_selection_dialog_new("Ñ¡Ôñ±³¾°ÑÕÉ«");
	gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(window));
	colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel);
	gtk_color_selection_set_has_opacity_control(colorsel,TRUE);
	gtk_color_selection_set_has_palette(colorsel,TRUE);

	gtk_signal_connect(GTK_OBJECT(dialog),"destroy",GTK_SIGNAL_FUNC(gtk_widget_destroy),&dialog);
	gtk_color_selection_set_previous_color(colorsel,&color);
	gtk_color_selection_set_current_color(colorsel,&color);
	response = gtk_dialog_run(GTK_DIALOG(dialog));
	if (response == GTK_RESPONSE_OK)
	{	
            gtk_color_selection_get_current_color (colorsel, &color);
            gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &color);
	    
	}	
      
	gtk_widget_destroy(dialog);
}
static void
change_color_cb(GtkWidget *button, t_sload *sload)
{
    GtkWidget *dialog;
    GtkColorSelection *colorsel;
    gint response;

    dialog = gtk_color_selection_dialog_new("Select color");

    gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(sload->opt_dialog));

    colorsel = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel);

    gtk_color_selection_set_previous_color(colorsel, &sload->options.color);
    gtk_color_selection_set_current_color(colorsel, &sload->options.color);
    gtk_color_selection_set_has_palette(colorsel, TRUE);

    response = gtk_dialog_run(GTK_DIALOG(dialog));

    if (response == GTK_RESPONSE_OK)
    {
        gtk_color_selection_get_current_color(colorsel, &sload->options.color);
        gtk_widget_modify_bg(sload->opt_da, GTK_STATE_NORMAL, &sload->options.color);
        setup_sload(sload);
    }

    gtk_widget_destroy(dialog);
}
Exemplo n.º 5
0
static void change_color(GtkWidget *button, t_global_monitor *global, gint type)
{
    GtkWidget *dialog;
    GtkColorSelection *colorsel;
    gint response;

    dialog = gtk_color_selection_dialog_new(_("Select color"));
    gtk_window_set_transient_for(GTK_WINDOW(dialog),
                                 GTK_WINDOW(global->opt_dialog));
    colorsel =
        GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(dialog)->colorsel);
    gtk_color_selection_set_previous_color(colorsel,
                                           &global->monitor->options.color[type]);
    gtk_color_selection_set_current_color(colorsel,
                                          &global->monitor->options.color[type]);
    gtk_color_selection_set_has_palette(colorsel, TRUE);

    response = gtk_dialog_run(GTK_DIALOG(dialog));
    if (response == GTK_RESPONSE_OK)
    {
        gtk_color_selection_get_current_color(colorsel,
                                              &global->monitor->options.color[type]);
        gtk_widget_modify_bg(global->monitor->opt_da[type],
                             GTK_STATE_NORMAL,
                             &global->monitor->options.color[type]);
        setup_monitor(global);
    }

    gtk_widget_destroy(dialog);
}
static void
change_color_callback (GtkWidget *button,
		       gpointer	  data)
{
  GtkWidget *dialog;
  GtkColorSelection *colorsel;
  gint response;
  
  dialog = gtk_color_selection_dialog_new ("Changing color");

  gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));
  
  colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel);

  gtk_color_selection_set_previous_color (colorsel, &color);
  gtk_color_selection_set_current_color (colorsel, &color);
  gtk_color_selection_set_has_palette (colorsel, TRUE);
  
  response = gtk_dialog_run (GTK_DIALOG (dialog));

  if (response == GTK_RESPONSE_OK)
    {
      gtk_color_selection_get_current_color (colorsel,
					     &color);
      
      gtk_widget_modify_bg (da, GTK_STATE_NORMAL, &color);
    }
  
  gtk_widget_destroy (dialog);
}
Exemplo n.º 7
0
void
on_color_change_button_clicked (GtkButton * button, gpointer user_data)
{
  GtkTreePath *gpath;
  GtkTreeViewColumn *gcol;
  GtkTreeIter it;
  GdkColor *gdk_color;
  GtkColorSelectionDialog *dlg;
  GtkColorSelection *csel;
  EATreePos ep;

  if (!get_color_store (&ep))
    return;

  /* gets the row (path) at cursor */
  gtk_tree_view_get_cursor (ep.gv, &gpath, &gcol);
  if (!gpath)
    return;			/* no row selected */

  /* get iterator from path */
  if (!gtk_tree_model_get_iter (GTK_TREE_MODEL (ep.gs), &it, gpath))
    return;

  gtk_tree_model_get (GTK_TREE_MODEL (ep.gs), &it, 1, &gdk_color, -1);

  dlg = GTK_COLOR_SELECTION_DIALOG
          (glade_xml_get_widget (appdata.xml, "colorselectiondialog"));

  csel = GTK_COLOR_SELECTION(dlg->colorsel);
  gtk_color_selection_set_current_color(csel, gdk_color);
  gtk_color_selection_set_previous_color(csel, gdk_color);
  
  g_object_set_data( G_OBJECT(dlg), "isadd", GINT_TO_POINTER(FALSE));
  gtk_widget_show (GTK_WIDGET(dlg));
}				/* on_color_change_button_clicked */
Exemplo n.º 8
0
static void
gtk_color_button_clicked (GtkButton *button)
{
  GtkColorButton *color_button = GTK_COLOR_BUTTON (button);
  GtkColorSelectionDialog *color_dialog;

  /* if dialog already exists, make sure it's shown and raised */
  if (!color_button->priv->cs_dialog) 
    {
      /* Create the dialog and connects its buttons */
      GtkWidget *parent;
      
      parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button));
      
      color_button->priv->cs_dialog = gtk_color_selection_dialog_new (color_button->priv->title);
      
      color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);

      if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
        {
          if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (color_dialog)))
 	    gtk_window_set_transient_for (GTK_WINDOW (color_dialog), GTK_WINDOW (parent));
	       
	  gtk_window_set_modal (GTK_WINDOW (color_dialog),
				gtk_window_get_modal (GTK_WINDOW (parent)));
	}
      
      g_signal_connect (color_dialog->ok_button, "clicked",
                        G_CALLBACK (dialog_ok_clicked), color_button);
      g_signal_connect (color_dialog->cancel_button, "clicked",
			G_CALLBACK (dialog_cancel_clicked), color_button);
      g_signal_connect (color_dialog, "destroy",
                        G_CALLBACK (dialog_destroy), color_button);
    }

  color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);

  gtk_color_selection_set_has_opacity_control (GTK_COLOR_SELECTION (color_dialog->colorsel),
                                               color_button->priv->use_alpha);
  
  gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION (color_dialog->colorsel), 
					  &color_button->priv->color);
  gtk_color_selection_set_previous_alpha (GTK_COLOR_SELECTION (color_dialog->colorsel), 
					  color_button->priv->alpha);

  gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (color_dialog->colorsel), 
					 &color_button->priv->color);
  gtk_color_selection_set_current_alpha (GTK_COLOR_SELECTION (color_dialog->colorsel), 
					 color_button->priv->alpha);

  gtk_window_present (GTK_WINDOW (color_button->priv->cs_dialog));
}
Exemplo n.º 9
0
static gint
gsm_color_button_clicked (GtkWidget * widget, GdkEventButton * event)
{
  GSMColorButton *color_button = GSM_COLOR_BUTTON (widget);
  GtkColorSelectionDialog *color_dialog;

  /* if dialog already exists, make sure it's shown and raised */
  if (!color_button->priv->cs_dialog)
    {
      /* Create the dialog and connects its buttons */
      GtkWidget *parent;

      parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button));

      color_button->priv->cs_dialog =
	gtk_color_selection_dialog_new (color_button->priv->title);

      color_dialog =
	GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);

      if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
	{
	  if (GTK_WINDOW (parent) !=
	      gtk_window_get_transient_for (GTK_WINDOW (color_dialog)))
	    gtk_window_set_transient_for (GTK_WINDOW (color_dialog),
					  GTK_WINDOW (parent));

	  gtk_window_set_modal (GTK_WINDOW (color_dialog),
				gtk_window_get_modal (GTK_WINDOW (parent)));
	}

      g_signal_connect (color_dialog, "response",
                        G_CALLBACK (dialog_response), color_button);

      g_signal_connect (color_dialog, "destroy",
			G_CALLBACK (dialog_destroy), color_button);
    }

  color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);

  gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION
                                          (gtk_color_selection_dialog_get_color_selection (color_dialog)),
					  &color_button->priv->color);

  gtk_color_selection_set_current_color (GTK_COLOR_SELECTION
                                         (gtk_color_selection_dialog_get_color_selection (color_dialog)),
					 &color_button->priv->color);

  gtk_window_present (GTK_WINDOW (color_button->priv->cs_dialog));
  return 0;
}
Exemplo n.º 10
0
void ColorOptionView::reset() {
	if (myColorSelection == 0) {
		return;
	}

	ZLColorOptionEntry &colorEntry = (ZLColorOptionEntry&)*myOption;

	GdkColor gdkColor;
	gtk_color_selection_get_current_color(myColorSelection, &gdkColor);
	colorEntry.onReset(convertColor(gdkColor));

	GdkColor initialColor = convertColor(((ZLColorOptionEntry&)*myOption).initialColor());
	GdkColor currentColor = convertColor(((ZLColorOptionEntry&)*myOption).color());
	gtk_color_selection_set_current_color(myColorSelection, &currentColor);
	gtk_color_selection_set_previous_color(myColorSelection, &initialColor);
}
Exemplo n.º 11
0
void ColorOptionView::_createItem() {
	GdkColor initialColor = convertColor(((ZLColorOptionEntry&)*myOption).initialColor());
	GdkColor currentColor = convertColor(((ZLColorOptionEntry&)*myOption).color());

	myColorSelection = GTK_COLOR_SELECTION(gtk_color_selection_new());
	gtk_color_selection_set_has_opacity_control(myColorSelection, false);
	gtk_color_selection_set_has_palette(myColorSelection, true);
	gtk_color_selection_set_current_color(myColorSelection, &currentColor);
	gtk_color_selection_set_previous_color(myColorSelection, &initialColor);

	GtkContainer *container = GTK_CONTAINER(gtk_vbox_new(true, 0));
	gtk_container_set_border_width(container, 5);
	gtk_container_add(container, GTK_WIDGET(myColorSelection));
	myHolder.attachWidget(*this, GTK_WIDGET(container));
	gtk_widget_show(GTK_WIDGET(container));
}
Exemplo n.º 12
0
void ColorOptionView::onChangeColor() {
	if (myColorSelectionDialog == NULL)
		myColorSelectionDialog = gtk_color_selection_dialog_new("Select Color");

	GtkColorSelection *colorSelection = GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(myColorSelectionDialog)->colorsel);

	gtk_color_selection_set_previous_color(colorSelection, &myColor);
	gtk_color_selection_set_current_color(colorSelection, &myColor);
	gtk_color_selection_set_has_palette(colorSelection, TRUE);

	gint response = gtk_dialog_run(GTK_DIALOG(myColorSelectionDialog));

	if (response == GTK_RESPONSE_OK) {
		gtk_color_selection_get_current_color(colorSelection, &myColor);
		gtk_widget_modify_bg(myDrawingArea, GTK_STATE_NORMAL, &myColor);
	}

	gtk_widget_hide(myColorSelectionDialog);
}
Exemplo n.º 13
0
void on_list_selection_changed (void) {
	GdkColor new_color, curr_color;
	GtkTreeModel *model;
	gchar *color;

	if (gtk_tree_selection_get_selected (selection, &model, &selection_iter)) {
		gtk_tree_model_get (model, &selection_iter, COLOR_VALUE, &color, -1);
		gdk_color_parse (color, &new_color);

		/* save the old color in color wheel */
		gtk_color_selection_get_current_color (GTK_COLOR_SELECTION (color_chooser), &curr_color);
		gtk_color_selection_set_previous_color (GTK_COLOR_SELECTION (color_chooser), &curr_color);
		gtk_color_selection_set_current_color (GTK_COLOR_SELECTION (color_chooser), &new_color);
		g_free (color);

		gtk_widget_set_sensitive (button_delete, TRUE);
	} else
		gtk_widget_set_sensitive (button_delete, FALSE);
}
Exemplo n.º 14
0
int
clip_GTK_COLORSELECTIONSETPREVIOUSCOLOR(ClipMachine * ClipMachineMemory)
{
   C_widget *ccsel = _fetch_cw_arg(ClipMachineMemory);

   ClipVar  *cvclr = _clip_spar(ClipMachineMemory, 2);

   GdkColor  color;

   CHECKCWID(ccsel, GTK_IS_COLOR_SELECTION);
   CHECKARG(2, MAP_type_of_ClipVarType);

   _map_to_gdk_color(ClipMachineMemory, &color, cvclr);

   gtk_color_selection_set_previous_color(GTK_COLOR_SELECTION(ccsel->widget), &color);

   return 0;
 err:
   return 1;
}
Exemplo n.º 15
0
static void callback_color_clicked(GtkWidget *widget, gpointer data)
{
	GtkWidget *button;
	GtkColorSelection *colorsel;
	GdkColor col;
	int i;

	i = GPOINTER_TO_INT(data);

	col.red = new_settings.color[i].r * 256;
	col.green = new_settings.color[i].g * 256;
	col.blue = new_settings.color[i].b * 256;

	color_dialog = gtk_color_selection_dialog_new("Changing color");

	colorsel = GTK_COLOR_SELECTION(
			GTK_COLOR_SELECTION_DIALOG(color_dialog)->colorsel);

	/* set up the okay button */
	button = GTK_COLOR_SELECTION_DIALOG(color_dialog)->ok_button;
	g_signal_connect(G_OBJECT(button), "clicked",
			G_CALLBACK(callback_color_okay), data);

	/* set up the cancel button */
	button = GTK_COLOR_SELECTION_DIALOG(color_dialog)->cancel_button;
	g_signal_connect(G_OBJECT(button), "clicked",
			G_CALLBACK(callback_color_cancel), data);

	/* remove the help button */
	button = GTK_COLOR_SELECTION_DIALOG(color_dialog)->help_button;
	gtk_widget_destroy(button);

	gtk_color_selection_set_previous_color(colorsel, &col);
	gtk_color_selection_set_current_color(colorsel, &col);
	gtk_color_selection_set_has_palette(colorsel, TRUE);

	gtk_window_set_transient_for(GTK_WINDOW(color_dialog),
			GTK_WINDOW(dialog_window));
	gtk_window_set_modal(GTK_WINDOW(color_dialog), TRUE);
	gtk_widget_show_all(color_dialog);
}
Exemplo n.º 16
0
void on_list_selection_changed (GtkTreeSelection *selection, gpointer user_data)
{
	GdkColor      new_color, curr_color;
	GtkTreeModel *model;
	gchar        *color;
	gchar        *type;
	GtkWidget    *delete_button = lookup_widget (gcolor2, "delete_button");
	
	if (gtk_tree_selection_get_selected (selection, &model, &selection_iter))
	{
		GtkColorSelection *colorsel;
		
		gtk_tree_model_get (model, &selection_iter, COLOR_VALUE, &color, COLOR_TYPE, &type, -1);
		colorsel = GTK_COLOR_SELECTION (lookup_widget (gcolor2, "colorselection"));
		gdk_color_parse (color, &new_color);
		
		/* save the old color in color wheel */
		gtk_color_selection_get_current_color (colorsel, &curr_color);
		gtk_color_selection_set_previous_color (colorsel, &curr_color);
		gtk_color_selection_set_current_color (colorsel, &new_color);
		g_free (color);
		
		/* if selection is a user color, enable delete button.
		   if system color, disable (never modify the system file!) */
		if (!strcmp (type, USER_COLOR))
		{
			gtk_widget_set_sensitive (delete_button, TRUE);
		}
		else
		{
			gtk_widget_set_sensitive (delete_button, FALSE);
		}
	}
	else
	{
		/* nothing selected - disable delete button */
		gtk_widget_set_sensitive (delete_button, FALSE);
	}
}
Exemplo n.º 17
0
static VALUE
rg_set_previous_color(VALUE self, VALUE color)
{
    gtk_color_selection_set_previous_color(_SELF(self), RVAL2GDKCOLOR(color));
    return self;
}
Exemplo n.º 18
0
void DocActionFmt::Exec(bool bInteractive)
{
	bool bExists = false;

	if(bInteractive)
	{
		m_lstFmt = g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt;

		int nCursor = 0;
		int nSelection = 0;

		g_text.GetSelectionBounds(nCursor, nSelection);
		if(nCursor != nSelection)
		{
			int nStart  = min(nCursor, nSelection);
			int nEnd    = max(nCursor, nSelection);

			m_nStartOffset = nStart;
			m_nEndOffset   = nEnd;

			bExists = g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.IsRangeFormatted(m_nStartOffset, m_nEndOffset, m_nOperationTag);

			//start color picker if required
			GdkColor color;
			if( (!bExists || m_bCtrlPressed) &&
				(FMT_TXT_COLOR_BEGIN == m_nOperationTag || FMT_TXT_BKG_COLOR_BEGIN == m_nOperationTag))
			{
				if(m_bCtrlPressed)
				{
					if(FMT_TXT_COLOR_BEGIN == m_nOperationTag)
						color = g_rgbTextColor;
					else
						color = g_rgbTextBgColor;
				}
				else
				{
					GtkWidget *picker = gtk_color_selection_dialog_new  (_("Pick text color"));
					gtk_window_set_modal (GTK_WINDOW (picker), TRUE);
					gtk_window_set_destroy_with_parent (GTK_WINDOW (picker), TRUE);
				#ifndef _WIN32  //TOFIX API is buggy on Win32 (kills modal dialog state)
					gtk_window_set_skip_taskbar_hint (GTK_WINDOW (picker), TRUE);
				#endif
					gtk_window_set_skip_pager_hint (GTK_WINDOW (picker), TRUE);
					gtk_window_set_type_hint (GTK_WINDOW (picker), GDK_WINDOW_TYPE_HINT_DIALOG);
					gtk_window_set_transient_for(GTK_WINDOW (picker), GTK_WINDOW(window1));   //set parent
				#if GTK_CHECK_VERSION(2,4,0) //new API TOFIX set proper version
					#ifndef _WIN32  //TOFIX API is buggy on Win32 (kills modal dialog state)
					  //gtk_window_set_keep_above(GTK_WINDOW (picker), TRUE);
					#endif
				#endif
					gtk_widget_realize(picker);
					gdk_window_set_decorations(picker->window, (GdkWMDecoration)(GDK_DECOR_BORDER|GDK_DECOR_TITLE));

					GtkColorSelection *colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (picker)->colorsel);
					if(FMT_TXT_COLOR_BEGIN == m_nOperationTag){
						gtk_color_selection_set_previous_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextColor);
						gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextColor);
					}
					else
					{
						gtk_color_selection_set_previous_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextBgColor);
						gtk_color_selection_set_current_color(GTK_COLOR_SELECTION(colorsel), &g_rgbTextBgColor);
					}
					gtk_color_selection_set_has_palette (GTK_COLOR_SELECTION(colorsel), TRUE);

					if(GTK_RESPONSE_OK != gtk_dialog_run(GTK_DIALOG(picker))){
						gtk_widget_destroy(picker);
						return;
					}
					gtk_color_selection_get_current_color(colorsel, &color);
					gtk_widget_destroy(picker);
				}

				m_color = color;
				if(FMT_TXT_COLOR_BEGIN == m_nOperationTag)
					g_rgbTextColor = color;		//remember last used color
				else
					g_rgbTextBgColor = color;		//remember last used color
			}
		}
	}

	bExists = g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.IsRangeFormatted(m_nStartOffset, m_nEndOffset, m_nOperationTag);
	if(bExists){
		g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.ClearFormatRange(m_nStartOffset, m_nEndOffset, m_nOperationTag);
		RefreshTextFormat(g_doc.GetNodeByIdx(m_nNodeIdx), false, m_nStartOffset, m_nEndOffset);
	}
	else{
		g_doc.GetNodeByIdx(m_nNodeIdx).m_lstTxtFmt.AddFormatRange(m_nStartOffset, m_nEndOffset, m_nOperationTag, m_color);
		if(FMT_NONE == m_nOperationTag)
			RefreshTextFormat(g_doc.GetNodeByIdx(m_nNodeIdx), false, m_nStartOffset, m_nEndOffset);
	}

	textview_selection_changed(NULL, NULL, NULL, NULL);

	TRACE("DocActionFmt::Exec\n");
}