Example #1
0
JNIEXPORT jboolean JNICALL
Java_org_gnome_gdk_GdkWindow_gdk_1window_1is_1viewable
(
	JNIEnv* env,
	jclass cls,
	jlong _self
)
{
	gboolean result;
	jboolean _result;
	GdkWindow* self;

	// convert parameter self
	self = (GdkWindow*) _self;

	// call function
	result = gdk_window_is_viewable(self);

	// cleanup parameter self

	// translate return value to JNI type
	_result = (jboolean) result;

	// and finally
	return _result;
}
Example #2
0
gboolean
_gtk_mnemonic_hash_activate (GtkMnemonicHash *mnemonic_hash,
			     guint            keyval)
{
  GSList *list, *targets;
  GtkWidget *widget, *chosen_widget;
  GdkWindow *window;
  gboolean overloaded;

  targets = g_hash_table_lookup (mnemonic_hash->hash,
				 GUINT_TO_POINTER (keyval));
  if (!targets)
    return FALSE;
  
  overloaded = FALSE;
  chosen_widget = NULL;
  for (list = targets; list; list = list->next)
    {
      widget = GTK_WIDGET (list->data);
      window = gtk_widget_get_window (widget);

      if (gtk_widget_is_sensitive (widget) &&
	  gtk_widget_get_mapped (widget) &&
          window && gdk_window_is_viewable (window))
	{
	  if (chosen_widget)
	    {
	      overloaded = TRUE;
	      break;
	    }
	  else
	    chosen_widget = widget;
	}
    }

  if (chosen_widget)
    {
      /* For round robin we put the activated entry on
       * the end of the list after activation
       */
      targets = g_slist_remove (targets, chosen_widget);
      targets = g_slist_append (targets, chosen_widget);
      g_hash_table_insert (mnemonic_hash->hash,
			   GUINT_TO_POINTER (keyval),
			   targets);

      return gtk_widget_mnemonic_activate (chosen_widget, overloaded);
    }
  return FALSE;
}
Example #3
0
/* Window is viewable */
int
clip_GDK_WINDOWISVIEWABLE(ClipMachine * cm)
{
	C_widget    *cwin = _fetch_cw_arg(cm);
	GdkWindow *win = NULL;

	CHECKCWID(cwin,GTK_IS_WIDGET);

	if (cwin && cwin->widget) win = cwin->widget->window;

	_clip_retl(cm, gdk_window_is_viewable(win));

	return 0;
err:
	return 1;
}
Example #4
0
static VALUE
gdkwin_is_viewable(VALUE self)
{
    return CBOOL2RVAL(gdk_window_is_viewable(_SELF(self)));
}
Example #5
0
/*!
 \brief rtt_update_values() is called for each runtime text to update
 it's label (label is periodic and not every time due to pango
 speed problems)
 \param key (gpointer) unused
 \param value (gpointer) pointer to Rt_Slider
 \param data (gpointer) unused
 */
G_MODULE_EXPORT void rtt_update_values(gpointer key, gpointer value, gpointer data)
{
	static GRand *rand = NULL;
	static GMutex *rtv_mutex = NULL;
	Rt_Text *rtt = NULL;
	gint count = 0;
	gint last_upd = 0;
	gint precision = 0;
	gfloat current = 0.0;
	gfloat previous = 0.0;
	GArray *history = NULL;
	gchar * tmpbuf = NULL;
	gchar * tmpbuf2 = NULL;

	rtt = (Rt_Text *)value;
	if (!rtt)
		return;
	if (!rand)
		rand = g_rand_new();
	if (!rtv_mutex)
		rtv_mutex = DATA_GET(global_data,"rtv_mutex");

	count = rtt->count;
	last_upd = rtt->last_upd;
	history = (GArray *)DATA_GET(rtt->object,"history");
	precision = (GINT)DATA_GET(rtt->object,"precision");

	if (!history)
		return;
	if ((GINT)history->len-2 <= 0)
		return;
	g_mutex_lock(rtv_mutex);
	current = g_array_index(history, gfloat, history->len-1);
	previous = g_array_index(history, gfloat, history->len-2);
	g_mutex_unlock(rtv_mutex);

	if (GTK_IS_WIDGET(GTK_WIDGET(rtt->textval)->window))
		if (!gdk_window_is_viewable(GTK_WIDGET(rtt->textval)->window))
			return;

	if ((current != previous) 
			|| (DATA_GET(global_data,"forced_update")) 
			|| (rtt->textval && ((abs(count-last_upd)%g_rand_int_range(rand,25,50)) == 0)))
	{
		tmpbuf = g_strdup_printf("%1$.*2$f",current,precision);
		gdk_threads_enter();
		if (rtt->markup)
		{
			tmpbuf2 = g_strconcat(rtt->label_prefix,tmpbuf,rtt->label_suffix,NULL);
			gtk_label_set_markup(GTK_LABEL(rtt->textval),tmpbuf2);
			g_free(tmpbuf2);
		}
		else
			gtk_label_set_text(GTK_LABEL(rtt->textval),tmpbuf);
		gdk_threads_leave();
		g_free(tmpbuf);
		last_upd = count;
	}

	if (last_upd > 5000)
		last_upd = 0;
	count++;
	if (count > 5000)
		count = 0;
	rtt->count = count;
	rtt->last_upd = last_upd;
	return;
}