Example #1
0
/* Prepends to notebook a page whose content is child, and whose
 * bookmark is label. */
int
clip_GTK_NOTEBOOKPREPENDPAGE(ClipMachine * ClipMachineMemory)
{
   C_widget *cntb = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cchild = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   C_widget *clabel;

   GtkWidget *label;

   CHECKCWID(cntb, GTK_IS_NOTEBOOK);
   CHECKARG2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWID(cchild, GTK_IS_WIDGET);
   CHECKARG3(3, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType, CHARACTER_type_of_ClipVarType);
   if (_clip_parinfo(ClipMachineMemory, 3) == CHARACTER_type_of_ClipVarType)
    {
       char     *caption = _clip_parc(ClipMachineMemory, 3);

       LOCALE_TO_UTF(caption);
       label = gtk_label_new(caption);
       FREE_TEXT(caption);
    }
   else
    {
       clabel = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 3));
       CHECKCWID(clabel, GTK_IS_WIDGET);
       if (clabel)
	  label = clabel->widget;
    }
   gtk_notebook_prepend_page(GTK_NOTEBOOK(cntb->widget), cchild->widget, label);
   return 0;
 err:
   return 1;
}
Example #2
0
/**** SCROLLED WINDOW constructor ****/
int
clip_GTK_SCROLLEDWINDOWNEW(ClipMachine * cm)
{
    ClipVar * cv     = _clip_spar(cm, 1);
    C_widget * chadj = _fetch_cwidget(cm,_clip_spar(cm, 2));
    C_widget * cvadj = _fetch_cwidget(cm,_clip_spar(cm, 3));
    GtkWidget *wid = NULL;
    C_widget *cwid;
    C_widget *chscr, *cvscr;
    GtkAdjustment *hadj, *vadj;
    CHECKOPT(1,MAP_t);
    CHECKOPT2(2,MAP_t,NUMERIC_t);
    CHECKCWIDOPT(chadj,GTK_IS_ADJUSTMENT);
    CHECKOPT2(3,MAP_t,NUMERIC_t);
    CHECKCWIDOPT(cvadj,GTK_IS_ADJUSTMENT);

    hadj = chadj ? GTK_ADJUSTMENT(chadj->widget) : NULL;
    vadj = cvadj ? GTK_ADJUSTMENT(cvadj->widget) : NULL;
    wid = gtk_scrolled_window_new(hadj,vadj);
    if (!wid) goto err;
    cwid = _register_widget(cm, wid, cv);

    chscr = _register_widget(cm, GTK_SCROLLED_WINDOW(wid)->hscrollbar, NULL);
    cvscr = _register_widget(cm, GTK_SCROLLED_WINDOW(wid)->vscrollbar, NULL);

    if (chscr) _clip_madd(cm,&cwid->obj,HASH_HSCROLLBAR,&chscr->obj);
    if (cvscr) _clip_madd(cm,&cwid->obj,HASH_VSCROLLBAR,&cvscr->obj);

    _clip_mclone(cm,RETPTR(cm),&cwid->obj);
    return 0;
err:
    return 1;
}
Example #3
0
/* Inserts in notebook a new page whose content is child, and whose bookmark
 * is tab_label. The page is inserted just before the page number position,
 * starting with 0. If position is out of bounds, it is assumed to be the
 * current number of pages.  */
int
clip_GTK_NOTEBOOKINSERTPAGE(ClipMachine * cm)
{
	C_widget   *cntb = _fetch_cw_arg(cm);
	C_widget *cchild = _fetch_cwidget(cm,_clip_spar(cm,2));
	C_widget *clabel; GtkWidget *label;
	gint    position = _clip_parni(cm,4);
	CHECKCWID(cntb,GTK_IS_NOTEBOOK);
	CHECKARG2(2,MAP_t,NUMERIC_t); CHECKCWID(cchild,GTK_IS_WIDGET);
	CHECKARG3(3,MAP_t,NUMERIC_t,CHARACTER_t);
	CHECKOPT(4,NUMERIC_t);
	if (_clip_parinfo(cm,3)==CHARACTER_t) {
		char   * caption = _clip_parc(cm, 3);
		LOCALE_TO_UTF(caption);
		label = gtk_label_new_with_mnemonic(caption);
		FREE_TEXT(caption);
	}
	else
	{
		clabel = _fetch_cwidget(cm,_clip_spar(cm,3));
		CHECKCWID(clabel,GTK_IS_WIDGET);
		if (clabel) label = clabel->widget;
	}
	if (_clip_parinfo(cm,4)==UNDEF_t) position = 1;
	gtk_notebook_insert_page(GTK_NOTEBOOK(cntb->widget), cchild->widget, label, position-1);
	return 0;
err:
	return 1;
}
Example #4
0
/* Changes the menu label of child. Nothing happens if child is not in notebook. */
int
clip_GTK_NOTEBOOKSETMENULABEL(ClipMachine * ClipMachineMemory)
{
   C_widget *cntb = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cchild = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   C_widget *clabel;

   CHECKCWID(cntb, GTK_IS_NOTEBOOK);
   CHECKARG2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWID(cchild, GTK_IS_WIDGET);
   CHECKARG3(3, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType, CHARACTER_type_of_ClipVarType);
   if (_clip_parinfo(ClipMachineMemory, 3) == CHARACTER_type_of_ClipVarType)
    {
       char     *menu_text = _clip_parc(ClipMachineMemory, 3);

       LOCALE_TO_UTF(menu_text);
       gtk_notebook_set_menu_label_text(GTK_NOTEBOOK(cntb->widget), cchild->widget, menu_text);
       FREE_TEXT(menu_text);
    }
   else
    {
       clabel = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 3));
       CHECKCWID(clabel, GTK_IS_WIDGET);
       if (clabel)
	  gtk_notebook_set_menu_label(GTK_NOTEBOOK(cntb->widget), cchild->widget, clabel->widget);

    }
   return 0;
 err:
   return 1;
}
Example #5
0
/* Changes the bookmark label of child. Nothing happens if child is not in notebook. */
int
clip_GTK_NOTEBOOKSETTABLABEL(ClipMachine * cm)
{
	C_widget   *cntb = _fetch_cw_arg(cm);
	C_widget *cchild = _fetch_cwidget(cm,_clip_spar(cm,2));
	C_widget *clabel;
	CHECKCWID(cntb,GTK_IS_NOTEBOOK);
	CHECKARG2(2,MAP_t,NUMERIC_t); CHECKCWID(cchild,GTK_IS_WIDGET);
	CHECKARG3(3,MAP_t,NUMERIC_t,CHARACTER_t);
	if (_clip_parinfo(cm,3)==CHARACTER_t) {
		char   * caption = _clip_parc(cm, 3);
		LOCALE_TO_UTF(caption);
		gtk_notebook_set_tab_label_text(GTK_NOTEBOOK(cntb->widget),
			cchild->widget,caption);
		FREE_TEXT(caption);
	}
	else
	{
		clabel = _fetch_cwidget(cm,_clip_spar(cm,3));
		CHECKCWID(clabel,GTK_IS_WIDGET);
		if (clabel)
			gtk_notebook_set_tab_label(GTK_NOTEBOOK(cntb->widget),
				cchild->widget,clabel->widget);

	}
	return 0;
err:
	return 1;
}
Example #6
0
/**** Viewport constructor ****/
int
clip_GTK_VIEWPORTNEW(ClipMachine * cm)
{
    ClipVar * cv     = _clip_spar(cm, 1);
    C_widget * chadj = _fetch_cwidget(cm,_clip_spar(cm, 2));
    C_widget * cvadj = _fetch_cwidget(cm,_clip_spar(cm, 3));
    GtkWidget *wid = NULL;
    C_widget *cwid;
    GtkAdjustment *hadj, *vadj;
    CHECKOPT(1,MAP_t);
    CHECKOPT2(2,MAP_t,NUMERIC_t);
    CHECKCWIDOPT(chadj,GTK_IS_ADJUSTMENT);
    CHECKOPT2(3,MAP_t,NUMERIC_t);
    CHECKCWIDOPT(cvadj,GTK_IS_ADJUSTMENT);

    hadj = chadj ? GTK_ADJUSTMENT(chadj->widget) : NULL;
    vadj = cvadj ? GTK_ADJUSTMENT(cvadj->widget) : NULL;
    wid = gtk_viewport_new(hadj,vadj);
    if (!wid) goto err;
    cwid = _register_widget(cm, wid, cv);
    _clip_mclone(cm,RETPTR(cm),&cwid->obj);
    return 0;
err:
    return 1;
}
Example #7
0
int
clip_GTK_EXTEXTSETADJUSTMENTS(ClipMachine * cm)
{
   C_widget *extext = _fetch_cw_arg(cm);

   C_widget *chadj = _fetch_cwidget(cm, _clip_spar(cm, 2));

   C_widget *cvadj = _fetch_cwidget(cm, _clip_spar(cm, 3));

   GtkAdjustment *hadj, *vadj;

   CHECKCWID(extext, GTK_IS_EXTEXT);
   CHECKOPT2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWIDOPT(chadj, GTK_IS_ADJUSTMENT);
   CHECKOPT2(3, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWIDOPT(cvadj, GTK_IS_ADJUSTMENT);

   hadj = chadj ? GTK_ADJUSTMENT(chadj->widget) : NULL;
   vadj = cvadj ? GTK_ADJUSTMENT(cvadj->widget) : NULL;
   gtk_extext_set_adjustments(GTK_EXTEXT(extext->widget), hadj, vadj);

   return 0;
 err:
   return 1;
}
Example #8
0
/* Inserts in notebook a new page whose content is child, whose bookmark is
 * tab_label, and whose menu label is menu_label. The page is inserted just
 * before the page number position, starting with 0. If position is out of
 * bounds, it is assumed to be the current number of pages. */
int
clip_GTK_NOTEBOOKINSERTPAGEMENU(ClipMachine * ClipMachineMemory)
{
   C_widget *cntb = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cchild = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   C_widget *ctab_label;

   GtkWidget *tab_label;

   C_widget *cmenu_label;

   GtkWidget *menu_label;

   gint      position = _clip_parni(ClipMachineMemory, 5);

   CHECKCWID(cntb, GTK_IS_NOTEBOOK);
   CHECKARG2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWID(cchild, GTK_IS_WIDGET);
   CHECKARG3(3, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType, CHARACTER_type_of_ClipVarType);
   CHECKARG3(4, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType, CHARACTER_type_of_ClipVarType);
   CHECKOPT(5, NUMERIC_type_of_ClipVarType);
   if (_clip_parinfo(ClipMachineMemory, 3) == CHARACTER_type_of_ClipVarType)
    {
       char     *caption = _clip_parc(ClipMachineMemory, 3);

       LOCALE_TO_UTF(caption);
       tab_label = gtk_label_new(caption);
       FREE_TEXT(caption);
    }
   else
    {
       ctab_label = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 3));
       CHECKCWID(ctab_label, GTK_IS_WIDGET);
       if (ctab_label)
	  tab_label = ctab_label->widget;
    }
   if (_clip_parinfo(ClipMachineMemory, 4) == CHARACTER_type_of_ClipVarType)
    {
       char     *menu_text = _clip_parc(ClipMachineMemory, 4);

       LOCALE_TO_UTF(menu_text);
       menu_label = gtk_label_new(menu_text);
       FREE_TEXT(menu_text);
    }
   else
    {
       cmenu_label = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 4));
       CHECKCWID(cmenu_label, GTK_IS_WIDGET);
       if (cmenu_label)
	  menu_label = cmenu_label->widget;
    }
   if (_clip_parinfo(ClipMachineMemory, 5) == UNDEF_type_of_ClipVarType)
      position = 1;
   gtk_notebook_insert_page_menu(GTK_NOTEBOOK(cntb->widget), cchild->widget, tab_label, menu_label, position - 1);
   return 0;
 err:
   return 1;
}
Example #9
0
/* Sets vertical and horizontal adjustments */
int
clip_GTK_WIDGETSETSCROLLADJUSTMENTS(ClipMachine * cm)
{
	C_widget *cwid = _fetch_cw_arg(cm);
	C_widget *chadj = _fetch_cwidget(cm, _clip_spar(cm,2));
	C_widget *cvadj = _fetch_cwidget(cm, _clip_spar(cm,3));
	CHECKCWID(cwid,GTK_IS_WIDGET);
	CHECKOPT2(2,NUMERIC_t,MAP_t); CHECKCWIDOPT(chadj,GTK_IS_ADJUSTMENT);
	CHECKOPT2(3,NUMERIC_t,MAP_t); CHECKCWIDOPT(cvadj,GTK_IS_ADJUSTMENT);
	_clip_retl(cm, gtk_widget_set_scroll_adjustments(cwid->widget,
		GTK_ADJUSTMENT(chadj->widget),GTK_ADJUSTMENT(cvadj->widget)));
	return 0;
err:
	return 1;
}
Example #10
0
/* Removes a list of items from the GtkTree in tree.

 * If only one item is to be removed from the GtkTree,
 * gtk_container_remove() can be used instead.

 * Removing an item from a GtkTree dereferences the item, and thus
 * usually destroys the item and any subtrees it may contain. If the
 * item is not to be destroyed, use gtk_object_ref() before removing it. */
int
clip_GTK_TREEREMOVEITEMS(ClipMachine * ClipMachineMemory)
{
   C_widget *ctree = _fetch_cw_arg(ClipMachineMemory);

   ClipVar  *items = _clip_spar(ClipMachineMemory, 2);

   CHECKCWID(ctree, GTK_IS_TREE);
   CHECKOPT3(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType, ARRAY_type_of_ClipVarType);

   if (items->t.ClipVartype_type_of_ClipType == MAP_type_of_ClipVarType
       || items->t.ClipVartype_type_of_ClipType == NUMERIC_type_of_ClipVarType)
    {
       C_widget *citem = _fetch_cwidget(ClipMachineMemory, items);

       gtk_tree_remove_item(GTK_TREE(ctree->widget), citem->widget);
    }
   if (items->t.ClipVartype_type_of_ClipType == ARRAY_type_of_ClipVarType)
    {
       GList    *list = NULL;

       unsigned short i;

       ClipVar  *item;

       C_widget *citem;

       for (i = 0; i < items->a.count; i++)
	{
	   item = &items->a.items[i];
	   if (item->t.ClipVartype_type_of_ClipType == NUMERIC_type_of_ClipVarType
	       || item->t.ClipVartype_type_of_ClipType == MAP_type_of_ClipVarType)
	    {
	       citem = _fetch_cwidget(ClipMachineMemory, item);
	       CHECKCWID(citem, GTK_IS_TREE_ITEM);
	       list = g_list_append(list, citem->widget);
	    }
	}
       if (list)
	{
	   gtk_tree_remove_items(GTK_TREE(ctree->widget), list);
	   g_list_free(list);
	}
    }
   return 0;
 err:
   return 1;
}
Example #11
0
/* Moves a child of a GtkFixed container to the given position. */
int
clip_GTK_FIXEDMOVE(ClipMachine * ClipMachineMemory)
{
   C_widget *cfix = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cwid = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   gint      x = _clip_parni(ClipMachineMemory, 3);

   gint      y = _clip_parni(ClipMachineMemory, 4);

   CHECKARG2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKOPT(3, NUMERIC_type_of_ClipVarType);
   CHECKOPT(4, NUMERIC_type_of_ClipVarType);
   CHECKCWID(cfix, GTK_IS_FIXED);
   CHECKCWID(cwid, GTK_IS_WIDGET);
   if (_clip_parinfo(ClipMachineMemory, 3) == UNDEF_type_of_ClipVarType)
      x = cwid->widget->allocation.x;
   if (_clip_parinfo(ClipMachineMemory, 4) == UNDEF_type_of_ClipVarType)
      y = cwid->widget->allocation.y;
   gtk_fixed_move(GTK_FIXED(cfix->widget), cwid->widget, x, y);

   return 0;
 err:
   return 1;
}
Example #12
0
int
clip_GTK_SPINBUTTONCONFIGURE(ClipMachine * ClipMachineMemory)
{
   C_widget *cspb = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cadj = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   gfloat    climb_rate = DBL_OPTION(ClipMachineMemory, 3, 1);

   guint     digits = INT_OPTION(ClipMachineMemory, 4, 1);

   GtkAdjustment *adj;

   CHECKARG2(1, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWID(cspb, GTK_IS_SPIN_BUTTON);
   CHECKOPT2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWIDOPT(cadj, GTK_IS_ADJUSTMENT);
   CHECKOPT(3, NUMERIC_type_of_ClipVarType);
   CHECKOPT(4, NUMERIC_type_of_ClipVarType);
   adj = cadj ? GTK_ADJUSTMENT(cadj->widget) : NULL;
   gtk_spin_button_configure(GTK_SPIN_BUTTON(cspb->widget), adj, climb_rate, digits);
   return 0;
 err:
   return 1;
}
Example #13
0
/* Set the pixmap in a node. */
int
clip_GTK_CTREENODESETPIXTEXT(ClipMachine * cm)
{
	C_widget   *cctree = _fetch_cw_arg(cm);
	C_object    *cnode = _fetch_cobject(cm,_clip_spar(cm,2));
	gint        column = _clip_parni(cm,3);
	gchar        *text = _clip_parc(cm,4);
	gint       spacing = _clip_parni(cm,5);
	C_widget  *cpixmap = _fetch_cwidget(cm,_clip_spar(cm,6));
	GdkPixmap *pixmap=NULL; GdkBitmap *mask=NULL;
	CHECKCWID(cctree,GTK_IS_CTREE);
	CHECKOPT2(2,MAP_t,NUMERIC_t); CHECKCOBJOPT(cnode,cnode->type==GTK_TYPE_CTREE_NODE);
	CHECKOPT(3,NUMERIC_t); CHECKOPT(4,CHARACTER_t); CHECKOPT(5,NUMERIC_t);
	CHECKOPT2(6,MAP_t,NUMERIC_t); CHECKCWIDOPT(cpixmap,GTK_IS_PIXMAP);
	if (_clip_parinfo(cm,3)==UNDEF_t) column = 1;
	if (_clip_parinfo(cm,4)==UNDEF_t) text = "";
	if (cpixmap)
	{
		pixmap = GTK_PIXMAP(cpixmap->widget)->pixmap;
		mask = GTK_PIXMAP(cpixmap->widget)->mask;
	}
	LOCALE_TO_UTF(text);
	gtk_ctree_node_set_pixtext(GTK_CTREE(cctree->widget),
			GTK_CTREE_NODE(cnode->object), column-1,
			text,spacing,pixmap,mask);
	FREE_TEXT(text);
	return 0;
err:
	return 1;
}
Example #14
0
int
clip_GTK_EXTEXTSETPOPUPMENU(ClipMachine * cm)
{
	C_widget     *extext = _fetch_cw_arg(cm);
	C_widget     *widget = _fetch_cwidget(cm, _clip_spar(cm, 2));
	C_widget *marginmenu = _fetch_cwidget(cm, _clip_spar(cm, 3));

	CHECKCWID(extext, GTK_IS_EXTEXT);
	CHECKOPT2(2, MAP_t, NUMERIC_t); CHECKCWID(widget, GTK_IS_WIDGET);
	CHECKOPT2(3, MAP_t, NUMERIC_t); CHECKCWID(marginmenu, GTK_IS_WIDGET);

	gtk_extext_set_popup_menu(GTK_EXTEXT(extext->widget), GTK_WIDGET(widget->widget), GTK_WIDGET(marginmenu->widget));
	return 0;
err:
	return 1;
}
Example #15
0
int
clip_GTK_IMAGEMENUITEMNEWFROMSTOCK(ClipMachine * cm)
{
	ClipVar        *cv = _clip_spar(cm, 1);
        gchar    *stock_id = _clip_parc(cm, 2);
        C_widget  *accelgr = _fetch_cwidget(cm, _clip_spar(cm, 3));
        C_widget   *cimage ;
        GtkWidget   *image ;

	CHECKOPT(1,MAP_t);
        CHECKARG(2, CHARACTER_t);
        CHECKOPT2(3, MAP_t, NUMERIC_t); CHECKCWIDOPT(accelgr, GTK_IS_ACCEL_GROUP);

	image = gtk_image_menu_item_new_from_stock(stock_id,
		(accelgr != NULL)?GTK_ACCEL_GROUP(accelgr->widget):NULL);

	if (image)
        {
        	cimage = _list_get_cwidget(cm, image);
                if (!cimage) cimage = _register_widget(cm, image, cv);
                if (cimage) _clip_mclone(cm, RETPTR(cm), &cimage->obj);
        }
	return 0;
err:
	return 1;
}
Example #16
0
/* Adds a tooltip containing the message tip_text to the specified GtkWidget. */
int
clip_GTK_TOOLTIPSSETTIP(ClipMachine * ClipMachineMemory)
{
   C_widget *ctt = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cwid = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   gchar    *tip_text = _clip_parc(ClipMachineMemory, 3);

   gchar    *tip_private = _clip_parc(ClipMachineMemory, 4);

   CHECKCWID(ctt, GTK_IS_TOOLTIPS);
   CHECKARG2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWID(cwid, GTK_IS_WIDGET);
   CHECKOPT(3, CHARACTER_type_of_ClipVarType);
   CHECKOPT(4, CHARACTER_type_of_ClipVarType);
   LOCALE_TO_UTF(tip_text);
   LOCALE_TO_UTF(tip_private);
   gtk_tooltips_set_tip(GTK_TOOLTIPS(ctt->widget), cwid->widget, tip_text, tip_private);
   FREE_TEXT(tip_text);
   FREE_TEXT(tip_private);
   return 0;
 err:
   return 1;
}
Example #17
0
int
clip_GTK_MENUATTACH(ClipMachine * ClipMachineMemory)
{
   C_widget *cmnu = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cwid = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   guint     left_attach = _clip_parni(ClipMachineMemory, 3);

   guint     right_attach = _clip_parni(ClipMachineMemory, 4);

   guint     top_attach = _clip_parni(ClipMachineMemory, 5);

   guint     bottom_attach = _clip_parni(ClipMachineMemory, 6);

   CHECKCWID(cmnu, GTK_IS_MENU);
   CHECKCWID(cwid, GTK_IS_WIDGET);
   CHECKARG(3, NUMERIC_type_of_ClipVarType);
   CHECKARG(4, NUMERIC_type_of_ClipVarType);
   CHECKARG(5, NUMERIC_type_of_ClipVarType);
   CHECKARG(6, NUMERIC_type_of_ClipVarType);

   gtk_menu_attach(GTK_MENU(cmnu->widget), GTK_WIDGET(cwid->widget), left_attach, right_attach, top_attach, bottom_attach);
   return 0;
 err:
   return 1;
}
Example #18
0
/* Add accelerator to a widget */
int
clip_GTK_WIDGETADDACCELERATOR(ClipMachine * cm)
{
	C_widget *cwid   = _fetch_cw_arg(cm);
	int      sigid   = _clip_parni(cm, 2);
	char * signame   = _clip_parc(cm,2);
	C_widget *cwin   = _fetch_cwidget(cm,_clip_spar(cm,3));
	guint accel_key  = _clip_parni(cm,4);
	guint accel_mods = _clip_parni(cm,5);
	GtkAccelFlags accel_flags = _clip_parni(cm,6);
	int ret = FALSE;

	CHECKCWID(cwid,GTK_IS_WIDGET);
	CHECKARG2(2, NUMERIC_t, CHARACTER_t);
	CHECKARG2(3, MAP_t, NUMERIC_t);
	CHECKARG(4, NUMERIC_t); CHECKOPT(5, NUMERIC_t); CHECKOPT(6, NUMERIC_t);

	if (cwin && cwin->accel_group)
	{
		if (_clip_parinfo(cm,2) == NUMERIC_t)
			signame = _sig_name_by_id(sigid);

		if (signame != NULL)
		{
			gtk_widget_add_accelerator(cwid->widget, signame, cwin->accel_group,
					   accel_key, accel_mods, accel_flags);
			ret = TRUE;
		}
	}
	_clip_retl(cm, ret);
	return 0;
err:
	_clip_retl(cm, ret);
	return 1;
}
Example #19
0
/* Remove accelerator by shortcut */
int
clip_GTK_WIDGETREMOVEACCELERATOR(ClipMachine * cm)
{
	C_widget *cwid = _fetch_cw_arg(cm);
	C_widget *cwin   = _fetch_cwidget(cm,_clip_spar(cm,2));
	guint accel_key  = _clip_parni(cm,3);
	guint accel_mods = _clip_parni(cm,4);
	int ret = FALSE;

	CHECKCWID(cwid,GTK_IS_WIDGET);
	CHECKARG2(2, MAP_t, NUMERIC_t);
	CHECKARG(3, NUMERIC_t); CHECKOPT(4, NUMERIC_t);

	if (cwin && cwin->accel_group)
	{
		gtk_widget_remove_accelerator(cwid->widget, cwin->accel_group,
				   accel_key, accel_mods);
		ret = TRUE;
	}
	_clip_retl(cm, ret);
	return 0;
err:
	_clip_retl(cm, ret);
	return 1;
}
Example #20
0
/* Sets the packing parameters for the bookmark of child.
 * See GtkBoxPackStart for the exact meanings. */
int
clip_GTK_NOTEBOOKSETTABLABELPACKING(ClipMachine * ClipMachineMemory)
{
   C_widget *cntb = _fetch_cw_arg(ClipMachineMemory);

   C_widget *cchild = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   gboolean  expand = _clip_parl(ClipMachineMemory, 3);

   gboolean  fill = _clip_parl(ClipMachineMemory, 4);

   guint     packing_type = _clip_parni(ClipMachineMemory, 5);

   CHECKCWID(cntb, GTK_IS_NOTEBOOK);
   CHECKARG2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWID(cchild, GTK_IS_WIDGET);
   CHECKOPT(3, LOGICAL_type_of_ClipVarType);
   CHECKOPT(4, LOGICAL_type_of_ClipVarType);
   CHECKOPT(5, NUMERIC_type_of_ClipVarType);
   if (_clip_parinfo(ClipMachineMemory, 3) == UNDEF_type_of_ClipVarType)
      expand = TRUE;
   if (_clip_parinfo(ClipMachineMemory, 4) == UNDEF_type_of_ClipVarType)
      fill = TRUE;
   gtk_notebook_set_tab_label_packing(GTK_NOTEBOOK(cntb->widget), cchild->widget, expand, fill, packing_type);
   return 0;
 err:
   return 1;
}
Example #21
0
/* Create a new graphics context with default values. */
int
clip_GDK_GCNEW(ClipMachine * cm)
{
	ClipVar    *cv = _clip_spar(cm,1);
	C_widget *cwid = _fetch_cwidget(cm,_clip_spar(cm,2));
	GdkGC *gc;
	C_object *cgc;
	CHECKOPT(1,MAP_t); CHECKARG2(2,NUMERIC_t,MAP_t);
	gc = gdk_gc_new(cwid->widget->window);
	if (gc)
	{
//		gdk_gc_ref(gc);
		cgc = _register_object(cm,gc,GDK_OBJECT_GC,cv,
			(coDestructor)gdk_object_gc_destructor);
		if (cgc)
		{
	    //		cgc->ref_count=1;
			_clip_mclone(cm,RETPTR(cm),&cgc->obj);
		}
	      //	else
	      //		gdk_gc_unref(gc);

	}
	return 0;
err:
	return 1;
}
Example #22
0
/**** SPIN BUTTON constructor ****/
int
clip_GTK_SPINBUTTONNEW(ClipMachine * ClipMachineMemory)
{
   ClipVar  *cv = _clip_spar(ClipMachineMemory, 1);

   C_widget *cadj = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   gfloat    climb_rate = DBL_OPTION(ClipMachineMemory, 3, 1);

   guint     digits = INT_OPTION(ClipMachineMemory, 4, 1);

   GtkWidget *wid = NULL;

   GtkAdjustment *adj;

   C_widget *cwid;

   CHECKOPT(1, MAP_type_of_ClipVarType);
   CHECKOPT2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWIDOPT(cadj, GTK_IS_ADJUSTMENT);
   CHECKOPT(3, NUMERIC_type_of_ClipVarType);
   CHECKOPT(4, NUMERIC_type_of_ClipVarType);
   adj = cadj ? GTK_ADJUSTMENT(cadj->widget) : NULL;
   wid = gtk_spin_button_new(adj, climb_rate, digits);
   if (!wid)
      goto err;
   cwid = _register_widget(ClipMachineMemory, wid, cv);
   _clip_mclone(ClipMachineMemory, RETPTR(ClipMachineMemory), &cwid->obj);
   return 0;
 err:
   return 1;
}
Example #23
0
/****  LIST ITEM constructor ****/
int
clip_GTK_LISTITEMNEW(ClipMachine * cm)
{
	ClipVar * cv   = _clip_spar(cm, 1);
        C_widget *cchild;
	GtkWidget *wid = NULL;
	C_widget *cwid;
	CHECKOPT(1,MAP_t);
        CHECKOPT3(2,CHARACTER_t,MAP_t,NUMERIC_t);
        switch (_clip_parinfo(cm,2))
        {
        	case CHARACTER_t:
                	wid = gtk_list_item_new_with_label(_clip_parc(cm,2));
                        break;
                case MAP_t:
                case NUMERIC_t:
                        wid = gtk_list_item_new();
                        cchild = _fetch_cwidget(cm,_clip_spar(cm,2));
                        CHECKCWID(cchild,GTK_IS_WIDGET);
                        gtk_container_add(GTK_CONTAINER(wid), cchild->widget);
                        break;
        }

        if (!wid) goto err;
	cwid = _register_widget(cm, wid, cv);

	_clip_mclone(cm,RETPTR(cm),&cwid->obj);
	return 0;
err:
	return 1;
}
Example #24
0
/****  Horizontal scrollbar constructor ****/
int
clip_GTK_HSCROLLBARNEW(ClipMachine * ClipMachineMemory)
{
   ClipVar  *cv = _clip_spar(ClipMachineMemory, 1);

   C_widget *cadj = _fetch_cwidget(ClipMachineMemory, _clip_spar(ClipMachineMemory, 2));

   GtkAdjustment *adj;

   GtkWidget *wid = NULL;

   C_widget *cwid;

   CHECKOPT(1, MAP_type_of_ClipVarType);
   CHECKOPT2(2, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType);
   CHECKCWIDOPT(cadj, GTK_IS_ADJUSTMENT);

   adj = cadj ? GTK_ADJUSTMENT(cadj->widget) : NULL;
   wid = gtk_hscrollbar_new(adj);
   if (!wid)
      goto err;
   cwid = _register_widget(ClipMachineMemory, wid, cv);
   _clip_mclone(ClipMachineMemory, RETPTR(ClipMachineMemory), &cwid->obj);
   return 0;
 err:
   return 1;
}
Example #25
0
/* Removes the items from the list, without unreferencing them.
 * It may be useful if you want to move the items from one list to another. */
int
clip_GTK_LISTREMOVEITEMSNOUNREF(ClipMachine * ClipMachineMemory)
{
   C_widget *clst = _fetch_cw_arg(ClipMachineMemory);

   ClipVar  *cv = _clip_spar(ClipMachineMemory, 2);

   GList    *items = NULL;

   C_widget *citem;

   int       i;

   CHECKCWID(clst, GTK_IS_LIST);
   CHECKARG(2, ARRAY_type_of_ClipVarType);
   for (i = 0; i < cv->ClipArrVar_a_of_ClipVar.count_of_ClipArrVar; i++)
    {
       switch (cv->ClipArrVar_a_of_ClipVar.ClipVar_items_of_ClipArrVar[i].ClipType_t_of_ClipVar.ClipVartype_type_of_ClipType)
	{
	case MAP_type_of_ClipVarType:
	case NUMERIC_type_of_ClipVarType:
	   citem = _fetch_cwidget(ClipMachineMemory, &cv->ClipArrVar_a_of_ClipVar.ClipVar_items_of_ClipArrVar[i]);
	   CHECKCWID(citem, GTK_IS_LIST_ITEM);
	   items = g_list_append(items, citem->widget);
	   break;
	default:
	   break;
	}
    }
   gtk_list_remove_items_no_unref(GTK_LIST(clst->widget), items);
   return 0;
 err:
   return 1;
}
Example #26
0
/* Returns the page number of child in notebook. */
int
clip_GTK_NOTEBOOKPAGENUM(ClipMachine * cm)
{
	C_widget   *cntb = _fetch_cw_arg(cm);
	C_widget *cchild = _fetch_cwidget(cm,_clip_spar(cm,2));
	CHECKCWID(cntb,GTK_IS_NOTEBOOK);
	CHECKARG2(2,MAP_t,NUMERIC_t); CHECKCWID(cchild,GTK_IS_WIDGET);
	_clip_retni(cm,gtk_notebook_page_num(GTK_NOTEBOOK(cntb->widget), cchild->widget)+1);
	return 0;
err:
	return 1;
}
Example #27
0
/* Sets default widget in window */
int
clip_GTK_WINDOWSETDEFAULT(ClipMachine * cm)
{
	C_widget *cwin  = _fetch_cw_arg(cm);
	C_widget *cwid  = _fetch_cwidget(cm,_clip_spar(cm,2));
	CHECKARG2(2,MAP_t,NUMERIC_t);
	CHECKCWID(cwin,GTK_IS_WINDOW); CHECKCWID(cwid,GTK_IS_WIDGET);
	GTK_WINDOW(cwin->widget)->default_widget = cwid->widget;
	return 0;
err:
	return 1;
}
Example #28
0
int
clip_GTK_WINDOWSETTRANSIENTFOR(ClipMachine * cm)
{
	C_widget *cwin  = _fetch_cw_arg(cm);
	C_widget *cwin2 = _fetch_cwidget(cm,_clip_spar(cm,2));
	CHECKARG2(2,MAP_t,NUMERIC_t);
	CHECKCWID(cwin,GTK_IS_WINDOW); CHECKCWID(cwin2,GTK_IS_WINDOW);
	gtk_window_set_transient_for(GTK_WINDOW(cwin->widget),GTK_WINDOW(cwin2->widget));
	return 0;
err:
	return 1;
}
Example #29
0
int
clip_GTK_MENUSHELLPREPEND(ClipMachine * cm)
{
	C_widget *cmns = _fetch_cw_arg(cm);
	C_widget *cwid = _fetch_cwidget(cm,_clip_spar(cm,2));
        CHECKCWID(cmns,GTK_IS_MENU_SHELL);
	CHECKARG2(2,MAP_t,NUMERIC_t); CHECKCWID(cwid,GTK_IS_WIDGET);
        gtk_menu_shell_prepend(GTK_MENU_SHELL(cmns->widget), cwid->widget);
	return 0;
err:
	return 1;
}
Example #30
0
/* Sets focus to widget */
int
clip_GTK_WINDOWSETFOCUS(ClipMachine * cm)
{
	C_widget *cwin  = _fetch_cw_arg(cm);
	C_widget *cwid  = _fetch_cwidget(cm,_clip_spar(cm,2));
	CHECKARG2(2,MAP_t,NUMERIC_t);
	CHECKCWID(cwin,GTK_IS_WINDOW); CHECKCWID(cwid,GTK_IS_WIDGET);
	gtk_window_set_focus(GTK_WINDOW(cwin->widget),cwid->widget);
	return 0;
err:
	return 1;
}