예제 #1
0
파일: toolbar.c 프로젝트: pa3gsb/RadioBerry
static void band_select_cb(GtkWidget *widget, gpointer data) {
  GtkWidget *label;
  int b=(int)data;
  BANDSTACK_ENTRY *entry;
  if(b==band_get_current()) {
    entry=bandstack_entry_next();
  } else {
    BAND* band=band_set_current(b);
    entry=bandstack_entry_get_current();
    gtk_widget_override_background_color(last_band, GTK_STATE_NORMAL, &white);
    last_band=widget;
    gtk_widget_override_background_color(last_band, GTK_STATE_NORMAL, &gray);
  }
  setMode(entry->mode);
  FILTER* band_filters=filters[entry->mode];
  FILTER* band_filter=&band_filters[entry->filter];
  setFilter(band_filter->low,band_filter->high);
  setFrequency(entry->frequencyA);

  BAND *band=band_get_current_band();
  set_alex_rx_antenna(band->alexRxAntenna);
  set_alex_tx_antenna(band->alexTxAntenna);
  set_alex_attenuation(band->alexAttenuation);

  vfo_update(NULL);

  setFrequency(entry->frequencyA);
}
예제 #2
0
파일: pdfpres.c 프로젝트: dwol/pdfPres
static void refreshFrames(void)
{
	struct viewport *pp = NULL;
	GList *it = ports;

	while (it)
	{
		pp = (struct viewport *)(it->data);

		/* the beamer has no frame */
		if (pp->isBeamer == FALSE)
		{
			/* reset background color */
			gtk_widget_override_background_color(gtk_widget_get_parent(pp->frame), 
			    GTK_STATE_NORMAL, NULL);

			/* lock mode: highlight the saved/current page */
			if (beamer_active == FALSE)
			{
				if (doc_page + pp->offset == doc_page_mark)
				{
					gtk_widget_override_background_color(gtk_widget_get_parent(pp->frame),
							GTK_STATE_NORMAL, &col_marked);
				}
				else if (pp->offset == 0)
				{
					gtk_widget_override_background_color(gtk_widget_get_parent(pp->frame),
							GTK_STATE_NORMAL, &col_dim);
				}
			}
		}

		it = g_list_next(it);
	}
}
예제 #3
0
파일: tabs.c 프로젝트: j-mcnally/girara-osx
void
girara_tab_update(girara_session_t* session)
{
    if (session == NULL || session->gtk.tabs == NULL) {
        return;
    }

    int number_of_tabs = girara_get_number_of_tabs(session);
    int current_tab    = girara_tab_position_get(session, girara_tab_current_get(session));

    for (int i = 0; i < number_of_tabs; i++) {
        GtkWidget* widget = gtk_notebook_get_nth_page(session->gtk.tabs, i);
        girara_tab_t* tab = (girara_tab_t*) g_object_get_data(G_OBJECT(widget), "tab");

        if (tab == NULL) {
            continue;
        }

        GtkWidget* tab_event = GTK_WIDGET(g_object_get_data(G_OBJECT(tab->widget), "event"));
        GtkWidget* tab_label = GTK_WIDGET(g_object_get_data(G_OBJECT(tab->widget), "label"));

        if (i == current_tab) {
            gtk_widget_override_background_color(tab_event, GTK_STATE_NORMAL, &(session->style.tabbar_focus_background));
            gtk_widget_override_color(tab_label, GTK_STATE_NORMAL, &(session->style.tabbar_focus_foreground));
        } else {
            gtk_widget_override_background_color(tab_event, GTK_STATE_NORMAL, &(session->style.tabbar_background));
            gtk_widget_override_color(tab_label, GTK_STATE_NORMAL, &(session->style.tabbar_foreground));
        }
    }
}
예제 #4
0
파일: rit.c 프로젝트: g0orx/pihpsdr
GtkWidget* rit_init(int width,int height,GtkWidget *parent) {

  GdkRGBA black;
  black.red=0.0;
  black.green=0.0;
  black.blue=0.0;
  black.alpha=0.0;

  fprintf(stderr,"rit_init: width=%d height=%d\n",width,height);

  parent_window=parent;

  h_box=gtk_box_new(GTK_ORIENTATION_HORIZONTAL,0);
  gtk_widget_set_size_request (h_box, width, height);
  gtk_widget_override_background_color(h_box, GTK_STATE_NORMAL, &black);

  v_box_2=gtk_box_new(GTK_ORIENTATION_VERTICAL,0);
  gtk_widget_override_background_color(v_box_2, GTK_STATE_NORMAL, &black);

  rit_plus_b=gtk_button_new_with_label("RIT+");
  gtk_widget_override_font(rit_plus_b, pango_font_description_from_string("FreeMono Bold 10"));
  g_signal_connect (rit_plus_b, "pressed", G_CALLBACK(rit_step_pressed_event_cb), NULL);
  g_signal_connect (rit_plus_b, "released", G_CALLBACK(rit_step_released_event_cb), NULL);
  gtk_box_pack_start (GTK_BOX(v_box_2),rit_plus_b,TRUE,TRUE,0);

  rit_minus_b=gtk_button_new_with_label("RIT-");
  gtk_widget_override_font(rit_minus_b, pango_font_description_from_string("FreeMono Bold 10"));
  g_signal_connect (rit_minus_b, "pressed", G_CALLBACK(rit_step_pressed_event_cb), NULL);
  g_signal_connect (rit_minus_b, "released", G_CALLBACK(rit_step_released_event_cb), NULL);
  gtk_box_pack_start (GTK_BOX(v_box_2),rit_minus_b,TRUE,TRUE,0);
  
  gtk_widget_set_sensitive(rit_plus_b,FALSE);
  gtk_widget_set_sensitive(rit_minus_b,FALSE);

  gtk_box_pack_start (GTK_BOX(h_box),v_box_2,TRUE,TRUE,0);
  
  v_box_1=gtk_box_new(GTK_ORIENTATION_VERTICAL,0);
  gtk_widget_override_background_color(v_box_1, GTK_STATE_NORMAL, &black);

  ctun_b=gtk_button_new_with_label("CTUN");
  gtk_widget_override_font(ctun_b, pango_font_description_from_string("FreeMono Bold 10"));
  g_signal_connect (ctun_b, "pressed", G_CALLBACK(ctun_pressed_event_cb), NULL);
  gtk_box_pack_start (GTK_BOX(v_box_1),ctun_b,TRUE,TRUE,0);
  
  rit_b=gtk_button_new_with_label("RIT");
  gtk_widget_override_font(rit_b, pango_font_description_from_string("FreeMono Bold 10"));
  g_signal_connect (rit_b, "pressed", G_CALLBACK(rit_pressed_event_cb), NULL);
  gtk_box_pack_start (GTK_BOX(v_box_1),rit_b,TRUE,TRUE,0);
  
  gtk_box_pack_start (GTK_BOX(h_box),v_box_1,TRUE,TRUE,0);

  gtk_widget_show_all(h_box);

  return h_box;
}
예제 #5
0
파일: toolbar.c 프로젝트: pa3gsb/RadioBerry
static void filter_select_cb(GtkWidget *widget, gpointer data) {
  int f=(int)data;
  BANDSTACK_ENTRY *entry;
  entry=bandstack_entry_get_current();
  entry->filter=f;
  FILTER* band_filters=filters[entry->mode];
  FILTER* band_filter=&band_filters[entry->filter];
  setFilter(band_filter->low,band_filter->high);
  gtk_widget_override_background_color(last_filter, GTK_STATE_NORMAL, &white);
  last_filter=widget;
  gtk_widget_override_background_color(last_filter, GTK_STATE_NORMAL, &gray);
  vfo_update(NULL);
}
예제 #6
0
/* function to highlight label */
void highlight(GtkWidget *eventbox)
{
  GtkWidget *label, *lighted_eventbox, *lighted_label;
  GList *child;
  GtkStyleContext *context;
  GdkRGBA selected_fg, selected_bg;
  
  /* get label from eventbox */
  child = gtk_container_get_children(GTK_CONTAINER(eventbox));
  label = child->data;
  
  /* prepare highlight colors */
  context = gtk_widget_get_style_context(label);
  gtk_style_context_get_color(context, GTK_STATE_FLAG_SELECTED, &selected_fg);
  gtk_style_context_get_background_color(context, GTK_STATE_FLAG_SELECTED,
					 &selected_bg);
  
  /* clearcolor previous highlighted label */
  lighted_eventbox = g_object_get_data(G_OBJECT(builder), "lighted_eventbox");
  if(lighted_eventbox)
  {
    child = gtk_container_get_children(GTK_CONTAINER(lighted_eventbox));
    lighted_label = child->data;
    clearcolor(lighted_label, lighted_eventbox);
  }
  
  /* apply color */
  gtk_widget_override_color(label, GTK_STATE_FLAG_NORMAL, &selected_fg);
  gtk_widget_override_background_color(eventbox,
                                       GTK_STATE_FLAG_NORMAL, &selected_bg);
  
  /* set current eventbox as lighted */
  g_object_set_data(G_OBJECT(builder), "lighted_eventbox", eventbox);
}
예제 #7
0
PlayerBackend * playerbackend_init(Player * player)
{
	PlayerBackend * backend;
#if GTK_CHECK_VERSION(3, 0, 0)
	const GdkRGBA black = { 0.0, 0.0, 0.0, 0.0 };
#else
	const GdkColor black = { 0, 0, 0, 0 };
#endif

	if((backend = object_new(sizeof(*backend))) == NULL)
		return NULL;
	_player = backend;
	backend->player = player;
	backend->view = gtk_socket_new();
#if GTK_CHECK_VERSION(3, 0, 0)
	gtk_widget_override_background_color(backend->view,
			GTK_STATE_FLAG_NORMAL, &black);
#else
	gtk_widget_modify_bg(backend->view, GTK_STATE_NORMAL, &black);
#endif
	g_signal_connect_swapped(backend->view, "plug-removed",
			G_CALLBACK(_init_on_plug_removed), backend);
	backend->pid = -1;
	memset(&backend->fd, 0, sizeof(backend->fd));
	backend->buf = NULL;
	backend->buf_len = 0;
	backend->read_id = 0;
	backend->write_id = 0;
	backend->timeout_id = 0;
	playerbackend_reset(backend);
	_init_signal();
	return backend;
}
예제 #8
0
파일: gtkmain.c 프로젝트: ks6g10/cymplayer
void fetch_new_videos(GtkWindow * window) 
{
	GtkWidget * layout;
	GtkWidget * mainwindow = GTK_WIDGET(window);
	entry * rootentry;
	char * newsub;
	int retur;

	newsub =(char *) get_newsub(statusername);

	if(!newsub)
		exit(2);
	rootentry = get_rootentry(newsub);
	if(!rootentry)
		exit(2);

	retur = get_thumbs(rootentry);
	
       	layout = get_entrygrid(rootentry);

	g_signal_connect(window, "configure-event",G_CALLBACK(window_resize),rootentry);
	gtk_container_add(GTK_CONTAINER(mainwindow), layout);


	gtk_widget_add_events(mainwindow, GDK_CONFIGURE);


	gtk_widget_override_background_color(layout,GTK_STATE_FLAG_NORMAL,&BLACK);
	gtk_widget_show_all(layout);
	gtk_widget_show_all(mainwindow);
	gtk_window_resize(window,STARTWIDTH,STARTHEIGHT);
	
}
예제 #9
0
파일: AMStartup.c 프로젝트: pratapl/COSC50
void* mazeDrawer() 
{
    // The window and background information.
    GtkWidget *window;
    GdkRGBA color = {0, 0, 0, 0};

    // Calculate the window size based on the size of the maze.
    int window_width = graphics_width*MAZESQUARE + (graphics_width + 2)*WALLDIM;
    int window_height = graphics_height*MAZESQUARE + (graphics_height + 2)*WALLDIM;

    gtk_init (0, NULL);
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    gtk_window_set_default_size(GTK_WINDOW(window), window_width, window_height);
    gtk_widget_override_background_color(window, GTK_STATE_NORMAL, &color);

    gtk_widget_set_app_paintable(window, TRUE);

 
    g_signal_connect(window, "draw", G_CALLBACK (on_draw_event), NULL);
    g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL);

    g_timeout_add(50, (GSourceFunc) time_handler, (gpointer) window);

    gtk_widget_show_all(window);

    time_handler(window);

    gtk_main ();

    return 0;
}
예제 #10
0
static GtkWidget*
border_only_contents (void)
{
  GtkWidget *event_box;
  GtkWidget *vbox;
  GtkWidget *w;
  GdkRGBA color;

  event_box = gtk_event_box_new ();

  color.red = 0.6;
  color.green = 0;
  color.blue = 0.6;
  color.alpha = 1.0;
  gtk_widget_override_background_color (event_box, 0, &color);
  
  vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
  gtk_container_set_border_width (GTK_CONTAINER (vbox), 3);
  
  w = gtk_label_new (_("Border-only window"));
  gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0);
  w = gtk_button_new_with_label (_("Bar"));
  gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0);

  gtk_container_add (GTK_CONTAINER (event_box), vbox);
  
  gtk_widget_show_all (event_box);
  
  return event_box;
}
예제 #11
0
NemoDesktopWindow *
nemo_desktop_window_new (GdkScreen *screen)
{
    NemoDesktopWindow *window;
    int width_request, height_request;

    width_request = gdk_screen_get_width (screen);
    height_request = gdk_screen_get_height (screen);
    GdkRGBA transparent = {0, 0, 0, 0};

    window = g_object_new (NEMO_TYPE_DESKTOP_WINDOW,
                           "disable-chrome", TRUE,
                           "width_request", width_request,
                           "height_request", height_request,
                           "screen", screen,
                           NULL);

    /* Special sawmill setting*/
    gtk_window_set_wmclass (GTK_WINDOW (window), "desktop_window", "Nemo");

    g_signal_connect (window, "delete_event", G_CALLBACK (nemo_desktop_window_delete_event), NULL);

    /* Point window at the desktop folder.
     * Note that nemo_desktop_window_init is too early to do this.
     */
    nemo_desktop_window_update_directory (window);
    gtk_widget_override_background_color (GTK_WIDGET (window), 0, &transparent);

    return window;
}
예제 #12
0
static void
recursive_attach_view (int                 depth,
                       GtkTextView        *view,
                       GtkTextChildAnchor *anchor)
{
  GtkWidget *child_view;
  GtkWidget *event_box;
  GdkRGBA color;

  if (depth > 4)
    return;

  child_view = gtk_text_view_new_with_buffer (gtk_text_view_get_buffer (view));

  /* Event box is to add a black border around each child view */
  event_box = gtk_event_box_new ();
  gdk_rgba_parse (&color, "black");
  gtk_widget_override_background_color (event_box, 0, &color);

  gtk_widget_set_halign (child_view, GTK_ALIGN_FILL);
  gtk_widget_set_valign (child_view, GTK_ALIGN_FILL);

  gtk_container_add (GTK_CONTAINER (event_box), child_view);

  gtk_text_view_add_child_at_anchor (view, event_box, anchor);

  recursive_attach_view (depth + 1, GTK_TEXT_VIEW (child_view), anchor);
}
예제 #13
0
/*
 * Create the individual color buttons
 *
 * Utility function
 */
static GtkWidget *
go_color_palette_button_new (GOColorPalette *pal, GtkGrid *grid,
			     GONamedColor const *color_name,
			     gint col, gint row)
{
	GtkWidget *button, *swatch, *box;
	GdkRGBA   gdk;

	swatch = gtk_drawing_area_new ();
	g_signal_connect (G_OBJECT (swatch), "draw", G_CALLBACK (draw_color_cb),
	                  GUINT_TO_POINTER (color_name->color));
	gtk_widget_override_background_color (swatch, GTK_STATE_FLAG_NORMAL,
	        go_color_to_gdk_rgba (color_name->color, &gdk));
	gtk_widget_set_size_request (swatch, COLOR_PREVIEW_WIDTH, COLOR_PREVIEW_HEIGHT);

	/* Wrap inside a vbox with a border so that we can see the focus indicator */
	box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	gtk_container_set_border_width (GTK_CONTAINER (box), 2);
	gtk_box_pack_start (GTK_BOX (box), GTK_WIDGET (swatch), TRUE, TRUE, 0);

	button = gtk_button_new ();
	gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
	gtk_container_add (GTK_CONTAINER (button), box);
	gtk_widget_set_tooltip_text (button, _(color_name->name));

	gtk_grid_attach (grid, button, col, row, 1, 1);

	g_object_connect (button,
		"signal::button_release_event", G_CALLBACK (cb_swatch_release_event), pal,
		"signal::key_press_event", G_CALLBACK (cb_swatch_key_press), pal,
		NULL);
	return swatch;
}
예제 #14
0
NemoDesktopWindow *
nemo_desktop_window_new (gint monitor)
{
	GApplication *application;
	NemoDesktopWindow *window;

	application = g_application_get_default ();

    window = g_object_new (NEMO_TYPE_DESKTOP_WINDOW,
			               "application", application,                           
                           "disable-chrome", TRUE,
                           "monitor", monitor,
                           NULL);

    /* Stop wrong desktop window size in GTK 3.20*/
    /* We don't want to set a default size, which the parent does, since this */
    /* will cause the desktop window to open at the wrong size in gtk 3.20 */
#if GTK_CHECK_VERSION (3, 19, 0) 
    gtk_window_set_default_size (GTK_WINDOW (window), -1, -1);
#endif

    GdkRGBA transparent = {0, 0, 0, 0};
    gtk_widget_override_background_color (GTK_WIDGET (window), 0, &transparent);

	/* Point window at the desktop folder.
	 * Note that nemo_desktop_window_init is too early to do this.
	 */
	nemo_desktop_window_update_directory (window);

	return window;
}
예제 #15
0
파일: cheese-flash.c 프로젝트: johlim/study
static void
cheese_flash_init (CheeseFlash *self)
{
  CheeseFlashPrivate *priv = self->priv = CHEESE_FLASH_GET_PRIVATE (self);
  cairo_region_t *input_region;
  GtkWindow *window = GTK_WINDOW (self);
  const GdkRGBA white = { 1.0, 1.0, 1.0, 1.0 };

  priv->flash_timeout_tag = 0;
  priv->fade_timeout_tag  = 0;

  /* make it so it doesn't look like a window on the desktop (+fullscreen) */
  gtk_window_set_decorated (window, FALSE);
  gtk_window_set_skip_taskbar_hint (window, TRUE);
  gtk_window_set_skip_pager_hint (window, TRUE);
  gtk_window_set_keep_above (window, TRUE);

  /* Don't take focus */
  gtk_window_set_accept_focus (window, FALSE);
  gtk_window_set_focus_on_map (window, FALSE);

  /* Make it white */
  gtk_widget_override_background_color (GTK_WIDGET (window), GTK_STATE_NORMAL,
                                        &white);

  /* Don't consume input */
  gtk_widget_realize (GTK_WIDGET (window));
  input_region = cairo_region_create ();
  gdk_window_input_shape_combine_region (gtk_widget_get_window (GTK_WIDGET (window)), input_region, 0, 0);
  cairo_region_destroy (input_region);
}
void FullscreenVideoControllerGtk::initializeWindow()
{
    m_window = reinterpret_cast<GtkWidget*>(m_gstreamerGWorld->platformVideoWindow()->window());

    if (!m_hudWindow)
        createHud();

    // Ensure black background.
#ifdef GTK_API_VERSION_2
    GdkColor color = { 1, 0, 0, 0 };
    gtk_widget_modify_bg(m_window, GTK_STATE_NORMAL, &color);
#else
    GdkRGBA color = { 0, 0, 0, 1};
    gtk_widget_override_background_color(m_window, GTK_STATE_FLAG_NORMAL, &color);
#endif
    gtk_widget_set_double_buffered(m_window, FALSE);

    m_keyPressSignalId = g_signal_connect(m_window, "key-press-event", G_CALLBACK(onFullscreenGtkKeyPressEvent), this);
    m_destroySignalId = g_signal_connect(m_window, "destroy", G_CALLBACK(onFullscreenGtkDestroy), this);
    m_isActiveSignalId = g_signal_connect(m_window, "notify::is-active", G_CALLBACK(onFullscreenGtkActiveNotification), this);

    gtk_widget_show_all(m_window);

    GdkWindow* window = gtk_widget_get_window(m_window);
    GRefPtr<GdkCursor> cursor = adoptGRef(gdk_cursor_new(GDK_BLANK_CURSOR));
    gdk_window_set_cursor(window, cursor.get());

    m_motionNotifySignalId = g_signal_connect(m_window, "motion-notify-event", G_CALLBACK(onFullscreenGtkMotionNotifyEvent), this);
    m_configureEventSignalId = g_signal_connect(m_window, "configure-event", G_CALLBACK(onFullscreenGtkConfigureEvent), this);

    gtk_window_fullscreen(GTK_WINDOW(m_window));
    showHud(true);
}
예제 #17
0
파일: colorsel.c 프로젝트: BYC/gtk
static void
change_color_callback (GtkWidget *button,
                       gpointer   data)
{
  GtkWidget *dialog;
  GtkColorSelection *colorsel;
  GtkColorSelectionDialog *selection_dialog;
  gint response;

  dialog = gtk_color_selection_dialog_new ("Changing color");

  gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));

  selection_dialog = GTK_COLOR_SELECTION_DIALOG (dialog);
  colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));

  gtk_color_selection_set_previous_rgba (colorsel, &color);
  gtk_color_selection_set_current_rgba (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_rgba (colorsel, &color);

      gtk_widget_override_background_color (da, 0, &color);
    }

  gtk_widget_destroy (dialog);
}
예제 #18
0
static void
cw_picture_window_init (CWPictureWindow *cw_picture_window)
{

	CWPictureWindowPrivate *priv =
		CW_PICTURE_WINDOW_GET_PRIVATE(cw_picture_window);
	priv->store_item = NULL;
	priv->spinner    = NULL;
	priv->connect_id = 0;

	priv->spinner = gtk_spinner_new();
	GtkWidget* alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
	//gtk_alignment_set_padding(
			//GTK_ALIGNMENT(alignment),
			//IMAGE_SHADOW_RADIUS,
			//IMAGE_SHADOW_RADIUS + IMAGE_SHADOW_OFFSET_X * 2,
			//IMAGE_SHADOW_RADIUS,
			//IMAGE_SHADOW_RADIUS + IMAGE_SHADOW_OFFSET_Y * 2);

	gtk_container_add (GTK_CONTAINER (alignment), priv->spinner);
	//gtk_container_add (GTK_CONTAINER (cw_picture_window), alignment);

	gtk_widget_add_events(GTK_WIDGET(cw_picture_window),
			GDK_POINTER_MOTION_MASK
			| GDK_BUTTON_PRESS_MASK);
			//| GDK_BUTTON_RELEASE_MASK);

	GdkRGBA rgba = { 1, 1, 1, 0.0};
	gtk_widget_override_background_color(GTK_WIDGET(cw_picture_window),
			GTK_STATE_FLAG_NORMAL, &rgba);
	/* TODO: Add initialization code here */
}
예제 #19
0
파일: buttons.c 프로젝트: marc2100/odt2pdf
///Ändert die Hintergrundfarbe der Buttons, wenn mit Maus darüber
void buttons_entered (GtkWidget *widget, gpointer data){
  GdkRGBA color;
  color.red = 27000;
  color.green = 30325;
  color.blue = 30000;
  color.alpha = 15000;
  gtk_widget_override_background_color(widget, GTK_STATE_PRELIGHT, &color);

}
static gboolean
cell_changed_cb (GtkEditable *editable,
                 gpointer user_data)
{
	char *cell_text;
	guint column;
#if GTK_CHECK_VERSION(3,0,0)
	GdkRGBA rgba;
#else
	GdkColor color;
#endif
	gboolean value_valid = FALSE;
	const char *colorname = NULL;

	cell_text = gtk_editable_get_chars (editable, 0, -1);

	column = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (user_data), "column"));

	if (column == COL_PREFIX) {
		long int tmp_int;

		errno = 0;
		tmp_int = strtol (cell_text, NULL, 10);
		if (errno || tmp_int < 0 || tmp_int > 128)
			value_valid = FALSE;
		else
			value_valid = TRUE;
	} else if (column == COL_METRIC) {
		long int tmp_int;

		errno = 0;
		tmp_int = strtol (cell_text, NULL, 10);
		if (errno || tmp_int < 0 || tmp_int > G_MAXUINT32)
			value_valid = FALSE;
		else
			value_valid = TRUE;
	} else {
		struct in6_addr tmp_addr;

		if (inet_pton (AF_INET6, cell_text, &tmp_addr) > 0)
			value_valid = TRUE;
	}

	/* Change cell's background color while editing */
	colorname = value_valid ? "lightgreen" : "red";

#if GTK_CHECK_VERSION(3,0,0)
	gdk_rgba_parse (&rgba, colorname);
	gtk_widget_override_background_color (GTK_WIDGET (editable), GTK_STATE_NORMAL, &rgba);
#else
	gdk_color_parse (colorname, &color);
	gtk_widget_modify_base (GTK_WIDGET (editable), GTK_STATE_NORMAL, &color);
#endif

	g_free (cell_text);
	return FALSE;
}
예제 #21
0
파일: main.c 프로젝트: macrat/rusk
int makeWindow(RuskWindow *rusk)
{
	GtkWidget *box;

	if((rusk->window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL))) == NULL)
	{
		return -1;
	}

	gtk_container_set_border_width(GTK_CONTAINER(rusk->window), BORDER_WIDTH);
	gtk_widget_override_background_color(GTK_WIDGET(rusk->window), GTK_STATE_FLAG_NORMAL, BORDER_COLOR_NORMAL);

	box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
	gtk_container_add(GTK_CONTAINER(rusk->window), box);

	rusk->addressbar = GTK_ENTRY(gtk_entry_new());
	gtk_entry_set_placeholder_text(rusk->addressbar, "URI");
	gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(rusk->addressbar), FALSE, FALSE, 0);

	rusk->globalSearch = GTK_ENTRY(gtk_search_entry_new());
	gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(rusk->globalSearch), FALSE, FALSE, 0);

	rusk->insiteSearch = GTK_ENTRY(gtk_search_entry_new());
	gtk_entry_set_placeholder_text(rusk->insiteSearch, "site search");
	gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(rusk->insiteSearch), FALSE, FALSE, 0);

	rusk->progressbar = GTK_PROGRESS_BAR(gtk_progress_bar_new());
	gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(rusk->progressbar), FALSE, FALSE, 0);

	rusk->webview = WEBKIT_WEB_VIEW(webkit_web_view_new_with_context(webkit_web_context_new_with_website_data_manager(webkit_website_data_manager_new(
		"base-cache-directory", g_strdup_printf("%s/rusk", g_get_user_cache_dir()),
		"disk-cache-directory", g_strdup_printf("%s/rusk", g_get_user_cache_dir()),
		"base-data-directory", g_strdup_printf("%s/rusk/data", g_get_user_data_dir()),
		"indexeddb-directory", g_strdup_printf("%s/rusk/indexed", g_get_user_data_dir()),
		"local-storage-directory", g_strdup_printf("%s/rusk/local-storage", g_get_user_data_dir()),
		"offline-application-cache-directory", g_strdup_printf("%s/rusk/offline-apps", g_get_user_data_dir()),
		"websql-directory", g_strdup_printf("%s/rusk/websql", g_get_user_data_dir()),
		NULL
	))));
	gtk_box_pack_start(GTK_BOX(box), GTK_WIDGET(rusk->webview), TRUE, TRUE, 0);

	g_signal_connect(G_OBJECT(rusk->window), "destroy", G_CALLBACK(closeRusk), rusk);
	gtk_widget_show_all(GTK_WIDGET(rusk->window));

	gtk_widget_set_visible(GTK_WIDGET(rusk->addressbar), FALSE);
	gtk_widget_set_visible(GTK_WIDGET(rusk->globalSearch), FALSE);
	gtk_widget_set_visible(GTK_WIDGET(rusk->progressbar), FALSE);
	gtk_widget_set_visible(GTK_WIDGET(rusk->insiteSearch), FALSE);

	g_signal_connect(G_OBJECT(rusk->window), "key-press-event", G_CALLBACK(onKeyPress), rusk);
	g_signal_connect(G_OBJECT(rusk->insiteSearch), "search-changed", G_CALLBACK(onInSiteSearchInput), rusk);
	g_signal_connect(G_OBJECT(rusk->addressbar), "key-release-event", G_CALLBACK(onAddressbarInput), rusk);
	g_signal_connect(G_OBJECT(rusk->globalSearch), "activate", G_CALLBACK(onGlobalSearchActivate), rusk);

	return 0;
}
예제 #22
0
파일: gdaui-cloud.c 프로젝트: zzeroo/libgda
static void
cloud_map (GtkWidget *widget)
{
        GTK_WIDGET_CLASS (parent_class)->map (widget);
	GtkStyleContext *style_context;
	GdkRGBA color;
	style_context = gtk_widget_get_style_context (widget);
	gtk_style_context_get_background_color (style_context, GTK_STATE_FLAG_NORMAL, &color);
	gtk_widget_override_background_color (GDAUI_CLOUD (widget)->priv->tview, GTK_STATE_FLAG_NORMAL, &color);
}
예제 #23
0
static void
bmwi_context_changed_cb(GtkStyleContext * context, BalsaMimeWidget * mw)
{
    GdkRGBA rgba;

    gtk_style_context_get_background_color(context,
                                           GTK_STATE_FLAG_NORMAL, &rgba);
    gtk_widget_override_background_color(mw->widget,
                                         GTK_STATE_FLAG_NORMAL, &rgba);
}
예제 #24
0
파일: toolbar.c 프로젝트: pa3gsb/RadioBerry
static void band_cb(GtkWidget *widget, gpointer data) {
  GtkWidget *dialog=gtk_dialog_new_with_buttons("Band",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
  GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(dialog));
  GtkWidget *grid=gtk_grid_new();
  gtk_grid_set_column_homogeneous(GTK_GRID(grid),TRUE);
  gtk_grid_set_row_homogeneous(GTK_GRID(grid),TRUE);
  GtkWidget *b;
  int i;
  for(i=0;i<BANDS;i++) {
#ifdef LIMESDR
    if(protocol!=LIMESDR_PROTOCOL) {
      if(i>=band70 && i<=band3400) {
        continue;
      }
    }
#endif
    BAND* band=band_get_band(i);
    GtkWidget *b=gtk_button_new_with_label(band->title);
    gtk_widget_override_background_color(b, GTK_STATE_NORMAL, &white);
    //gtk_widget_override_font(b, pango_font_description_from_string("Arial 20"));
    if(i==band_get_current()) {
      gtk_widget_override_background_color(b, GTK_STATE_NORMAL, &gray);
      last_band=b;
    }
    gtk_widget_show(b);
    gtk_grid_attach(GTK_GRID(grid),b,i%5,i/5,1,1);
    g_signal_connect(b,"clicked",G_CALLBACK(band_select_cb),(gpointer *)i);
  }
  
  gtk_container_add(GTK_CONTAINER(content),grid);

  GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close",GTK_RESPONSE_OK);
  //gtk_widget_override_font(close_button, pango_font_description_from_string("Arial 20"));
  gtk_widget_show_all(dialog);

  g_signal_connect_swapped (dialog,
                           "response",
                           G_CALLBACK (gtk_widget_destroy),
                           dialog);

  int result=gtk_dialog_run(GTK_DIALOG(dialog));
  
}
예제 #25
0
static void
change_base_color (const char *key, gpointer user_data)
{
        GtkWidget *text_view;
        GdkRGBA *color;

        text_view = user_data;
        color = preferences_get_color (key);
	gtk_widget_override_background_color (text_view, GTK_STATE_NORMAL,
			color);
}
예제 #26
0
static void
cb_history_changed (GOColorPalette *pal)
{
	int i;
	GdkRGBA gdk;
	GOColorGroup *group = pal->group;

	for (i = 0 ; i < GO_COLOR_GROUP_HISTORY_SIZE ; i++)
		gtk_widget_override_background_color (pal->swatches [i], GTK_STATE_FLAG_NORMAL,
			go_color_to_gdk_rgba (group->history[i], &gdk));
}
예제 #27
0
void disp_win_sample()
{
  dbg("disp_win_sample\n");
  unich_t tt[512];
  if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(check_button_hime_win_color_use))) {
#if !GTK_CHECK_VERSION(2,91,6)
    gtk_widget_modify_bg(event_box_win_color_test, GTK_STATE_NORMAL, &hime_win_gcolor_bg);
#else
    GdkRGBA rgbbg;
    gdk_rgba_parse(&rgbbg, gdk_color_to_string(&hime_win_gcolor_bg));
    gtk_widget_override_background_color(event_box_win_color_test, GTK_STATE_FLAG_NORMAL, &rgbbg);
#endif

#if PANGO_VERSION_CHECK(1,22,0)
  snprintf
(tt, sizeof(tt), _("<span foreground=\"%s\" font=\"%d\">7</span><span foreground=\"%s\" font=\"%d\">測</span><span font=\"%d\" foreground=\"white\" background=\"%s\">試</span>"), hime_sel_key_color,
hime_font_size_tsin_presel, hime_win_color_fg, hime_font_size_tsin_presel, hime_font_size_tsin_presel, tsin_cursor_color);
#else
  snprintf
(tt, sizeof(tt), _("<span foreground=\"%s\" font_desc=\"%d\">7</span><span foreground=\"%s\" font_desc=\"%d\">測</span><span font_desc=\"%d\" foreground=\"white\" background=\"%s\">試</span>"), hime_sel_key_color,
hime_font_size_tsin_presel, hime_win_color_fg, hime_font_size_tsin_presel, hime_font_size_tsin_presel, tsin_cursor_color);
#endif
  } else {
#if !GTK_CHECK_VERSION(2,91,6)
    gtk_widget_modify_bg(event_box_win_color_test, GTK_STATE_NORMAL, NULL);
#else
    gtk_widget_override_background_color(event_box_win_color_test, GTK_STATE_FLAG_NORMAL, NULL);
#endif

#if PANGO_VERSION_CHECK(1,22,0)
  snprintf
(tt, sizeof(tt), _("<span foreground=\"blue\" font=\"%d\">7</span><span font=\"%d\">測</span><span font=\"%d\" foreground=\"white\" background=\"blue\">試</span>"), hime_font_size_tsin_presel, hime_font_size_tsin_presel, hime_font_size_tsin_presel);
#else
  snprintf
(tt, sizeof(tt), _("<span foreground=\"blue\" font_desc=\"%d\">7</span><span font_desc=\"%d\">測</span><span font_desc=\"%d\" foreground=\"white\" background=\"blue\">試</span>"), hime_font_size_tsin_presel, hime_font_size_tsin_presel, hime_font_size_tsin_presel);
#endif

  }

  gtk_label_set_markup(GTK_LABEL(label_win_color_test), _(tt));
}
/* Set up the property editors in the dialog. */
static void
setup_dialog (GtkBuilder *dialog)
{
	GtkAdjustment *adjustment;
	GdkRGBA color;

	g_signal_connect (WID ("button_drawing_area"), "button_press_event",
			  G_CALLBACK (button_drawing_area_button_press_event),
			  dialog);
	g_signal_connect (WID ("button_drawing_area"), "draw",
			  G_CALLBACK (button_drawing_area_draw_event),
			  dialog);

	adjustment = GTK_ADJUSTMENT (WID ("scrolled_window_adjustment"));
	gtk_adjustment_set_value (adjustment,
				  gtk_adjustment_get_upper (adjustment));

	gdk_rgba_parse (&color, "#565854");
	gtk_widget_override_background_color (WID ("viewport"), GTK_STATE_FLAG_NORMAL, &color);
	gtk_widget_override_background_color (WID ("button_drawing_area"), GTK_STATE_FLAG_NORMAL, &color);
}
예제 #29
0
static void
cheese_widget_spinner_invert (GtkWidget *spinner, GtkWidget *parent)
{
  GtkStyleContext *context;
  guint     i;

  for (i = GTK_STATE_NORMAL; i <= GTK_STATE_INSENSITIVE; i++)
  {
    GdkRGBA fg, bg;

    context = gtk_widget_get_style_context (spinner);
    gtk_style_context_get_color (context, gtk_style_context_get_state (context), &fg);
    gtk_style_context_get_background_color (context, gtk_style_context_get_state (context), &bg);

    gtk_widget_override_color (spinner, i, &bg);
    gtk_widget_override_background_color (spinner, i, &fg);

    gtk_widget_override_color (parent, i, &bg);
    gtk_widget_override_background_color (parent, i, &fg);
  }
}
예제 #30
0
파일: win-gtab.c 프로젝트: duomaxwellr/hime
void change_win_bg(GtkWidget *win)
{
  if (!hime_win_color_use) {
#if !GTK_CHECK_VERSION(2,91,6)
    gtk_widget_modify_bg(win, GTK_STATE_NORMAL, NULL);
#else
    gtk_widget_override_background_color(win, GTK_STATE_FLAG_NORMAL, NULL);
#endif
    return;
  }

  GdkColor col;
  gdk_color_parse(hime_win_color_bg, &col);
#if !GTK_CHECK_VERSION(2,91,6)
  gtk_widget_modify_bg(win, GTK_STATE_NORMAL, &col);
#else
  GdkRGBA rgbbg;
  gdk_rgba_parse(&rgbbg, gdk_color_to_string(&col));
  gtk_widget_override_background_color(win, GTK_STATE_FLAG_NORMAL, &rgbbg);
#endif
}