Exemple #1
0
GtkWidget *
get_notebook_page(GtkWidget * widget)
{
  g_return_val_if_fail(GTK_IS_WIDGET(widget), NULL);

  while (widget && widget->parent && !gtk_type_is_a(GTK_WIDGET_TYPE(widget->parent), GTK_TYPE_NOTEBOOK))
    widget = widget->parent;

  if (!(widget && widget->parent && gtk_type_is_a(GTK_WIDGET_TYPE(widget->parent), GTK_TYPE_NOTEBOOK)))
    return NULL;
      

  return widget;
}
Exemple #2
0
GtkTypeClass*
gtk_type_check_class_cast (GtkTypeClass   *klass,
			   GtkType         cast_type)
{
  if (!klass)
    {
      g_warning ("invalid class cast from (NULL) pointer to `%s'",
		 gtk_type_descriptive_name (cast_type));
      return klass;
    }
  /* currently, GTK_TYPE_OBJECT is the lowest fundamental type
   * dominator for types that introduce classes.
   */
  if (klass->type < GTK_TYPE_OBJECT)
    {
      g_warning ("invalid class type `%s' in class cast to `%s'",
		 gtk_type_descriptive_name (klass->type),
		 gtk_type_descriptive_name (cast_type));
      return klass;
    }
  if (!gtk_type_is_a (klass->type, cast_type))
    {
      g_warning ("invalid class cast from `%s' to `%s'",
		 gtk_type_descriptive_name (klass->type),
		 gtk_type_descriptive_name (cast_type));
      return klass;
    }

  return klass;
}
Exemple #3
0
GtkTypeObject*
gtk_type_check_object_cast (GtkTypeObject  *type_object,
			    GtkType         cast_type)
{
  if (!type_object)
    {
      g_warning ("invalid cast from (NULL) pointer to `%s'",
		 gtk_type_descriptive_name (cast_type));
      return type_object;
    }
  if (!type_object->klass)
    {
      g_warning ("invalid unclassed pointer in cast to `%s'",
		 gtk_type_descriptive_name (cast_type));
      return type_object;
    }
  /* currently, GTK_TYPE_OBJECT is the lowest fundamental type
   * dominator for types that introduce classes.
   */
  if (type_object->klass->type < GTK_TYPE_OBJECT)
    {
      g_warning ("invalid class type `%s' in cast to `%s'",
		 gtk_type_descriptive_name (type_object->klass->type),
		 gtk_type_descriptive_name (cast_type));
      return type_object;
    }
  if (!gtk_type_is_a (type_object->klass->type, cast_type))
    {
      g_warning ("invalid cast from `%s' to `%s'",
		 gtk_type_descriptive_name (type_object->klass->type),
		 gtk_type_descriptive_name (cast_type));
      return type_object;
    }

  return type_object;
}