home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All Rights
- * Reserved.
- */
- /*-----------------------------------------*/
- /* */
- /* Name: <XfeTest/TestCreate.c> */
- /* Description: Xfe widget tests convenience creation funcs. */
- /* Author: Ramiro Estrugo <ramiro@netscape.com> */
- /* */
- /*----------------------------------------------------------------------*/
-
-
- #include <Xfe/XfeTest.h>
-
- static String tool_names[] =
- {
- "back",
- "forward",
- "home",
- "loadimages",
- "mixsecurity",
- "places",
- "print",
- "reload",
- "search",
- "secure",
- "stop",
- "unsecure"
- };
-
- #define num_tool_names XtNumber(tool_names)
-
- /*----------------------------------------------------------------------*/
- /* extern */ void
- XfeLoadToolBar(Widget tool_bar,
- String item_prefix,
- Cardinal tool_count,
- Cardinal sep_count,
- XtCallbackProc arm_cb,
- XtCallbackProc disarm_cb,
- XtCallbackProc activate_cb,
- WidgetList * tool_items_out)
- {
- Cardinal i;
- WidgetList tool_items = NULL;
- int sep_offset = (int) tool_count / ((int) sep_count + 1);
- unsigned char orientation;
-
- assert( XfeIsAlive(tool_bar) );
- assert( item_prefix != NULL );
- assert( tool_count > 0 );
-
- if (sep_count > 0)
- {
- XtVaGetValues(tool_bar,XmNorientation,&orientation,NULL);
- }
-
- tool_items = XfeMalloc(Widget,tool_count);
-
- XtVaSetValues(tool_bar,XmNignoreConfigure,True,NULL);
-
- for (i = 0; i < tool_count; i++)
- {
- int index = i % num_tool_names;
- char name_icon[1024];
- char name_raised[1024];
- char name_armed[1024];
-
- sprintf(name_icon,"tb_%s",tool_names[index]);
- sprintf(name_armed,"tb_%s_armed",tool_names[index]);
- sprintf(name_raised,"tb_%s_raised",tool_names[index]);
-
- tool_items[i] = XtVaCreateManagedWidget(
- XfeNameIndex(item_prefix,i + 1),
- xfeButtonWidgetClass,
- tool_bar,
- XmNbackground, XfeBackground(tool_bar),
- XmNpixmap, XfeGetPixmap(tool_bar,name_icon),
- XmNpixmapMask, XfeGetMask(tool_bar,name_icon),
- XmNarmedPixmap, XfeGetPixmap(tool_bar,name_armed),
- XmNarmedPixmapMask, XfeGetMask(tool_bar,name_armed),
- XmNraisedPixmap, XfeGetPixmap(tool_bar,name_raised),
- XmNraisedPixmapMask, XfeGetMask(tool_bar,name_raised),
- XmNallowDrag, True,
- NULL);
-
- if (arm_cb)
- {
- XtAddCallback(tool_items[i],XmNarmCallback,arm_cb,NULL);
- }
-
- if (disarm_cb)
- {
- XtAddCallback(tool_items[i],XmNdisarmCallback,disarm_cb,NULL);
- }
-
- if (activate_cb)
- {
- XtAddCallback(tool_items[i],XmNactivateCallback,activate_cb,NULL);
- }
-
- if ((i % sep_offset) == 0)
- {
- Widget sep = XmCreateSeparator(tool_bar,
- (orientation == XmVERTICAL) ?
- "vsep" : "hsep",
- NULL,0);
-
- XtManageChild(sep);
- }
- }
-
- XtVaSetValues(tool_bar,XmNignoreConfigure,False,NULL);
-
- XfeManagerLayout(tool_bar);
-
- if (tool_items_out)
- *tool_items_out = tool_items;
- }
- /*----------------------------------------------------------------------*/
- /* extern */ Widget
- XfeCreateLoadedToolBar(Widget pw,
- String name,
- String item_prefix,
- Cardinal tool_count,
- Cardinal sep_count,
- XtCallbackProc arm_cb,
- XtCallbackProc disarm_cb,
- XtCallbackProc activate_cb,
- WidgetList * tool_items_out)
- {
- Widget tool_bar;
-
- assert( XfeIsAlive(pw) );
- assert( name != NULL );
- assert( item_prefix != NULL );
-
- tool_bar = XtVaCreateManagedWidget(
- name,
- xfeToolBarWidgetClass,
- pw,
- XmNbackground, XfeBackground(pw),
- XmNbuttonLayout, XmBUTTON_LABEL_ON_BOTTOM,
- NULL);
-
- if (tool_count > 0)
- {
- XfeLoadToolBar(tool_bar,
- item_prefix,
- tool_count,
- sep_count,
- arm_cb,
- disarm_cb,
- activate_cb,
- tool_items_out);
- }
-
- return tool_bar;
- }
- /*----------------------------------------------------------------------*/
- /* extern */ Widget
- XfeCreateLoadedDashBoard(Widget pw,
- String name,
- String tool_prefix,
- XtCallbackProc tool_cb,
- Cardinal tool_count,
- String task_prefix,
- Boolean task_large,
- XtCallbackProc task_cb,
- Cardinal task_count,
- Widget * tool_bar_out,
- Widget * progress_bar_out,
- Widget * status_bar_out,
- Widget * task_bar_out,
- WidgetList * tool_items_out,
- WidgetList * task_items_out)
- {
- Widget dash_board = NULL;
- Widget tool_bar = NULL;
- Widget status_bar = NULL;
- Widget progress_bar = NULL;
- Widget task_bar = NULL;
-
- assert( XfeIsAlive(pw) );
- assert( name != NULL );
-
- dash_board = XtVaCreateManagedWidget(name,
- xfeDashBoardWidgetClass,
- pw,
- NULL);
-
- tool_bar = XtVaCreateManagedWidget("ToolBar",
- xfeToolBarWidgetClass,
- dash_board,
- NULL);
-
- XfeLoadToolBar(tool_bar,
- tool_prefix,
- tool_count,
- tool_count / 10,
- NULL,
- NULL,
- tool_cb,
- tool_items_out);
-
- progress_bar = XtVaCreateManagedWidget("ProgressBar",
- xfeProgressBarWidgetClass,
- dash_board,
- NULL);
-
- status_bar = XtVaCreateManagedWidget("StatusBar",
- xfeLabelWidgetClass,
- dash_board,
- NULL);
-
- task_bar = XfeCreateLoadedTaskBar(dash_board,
- "TaskBar",
- task_large,
- task_prefix,
- task_cb,
- task_count,
- task_items_out);
- if (tool_bar_out)
- *tool_bar_out = tool_bar;
-
- if (progress_bar_out)
- *progress_bar_out = progress_bar;
-
-
- if (status_bar_out)
- *status_bar_out = status_bar;
-
- return dash_board;
- }
- /*----------------------------------------------------------------------*/
-
- static String task_names[] =
- {
- "browser",
- "mail",
- "news",
- "editor"
- };
-
- #define num_task_names XtNumber(task_names)
-
- /*----------------------------------------------------------------------*/
- /* extern */ void
- XfeLoadTaskBar(Widget task_bar,
- Boolean large,
- String task_prefix,
- XtCallbackProc task_cb,
- Cardinal task_count,
- WidgetList * task_items_out)
- {
- WidgetList task_items = NULL;
- Cardinal i;
-
- assert( XfeIsAlive(task_bar) );
- assert( task_count > 0 );
-
- task_items = XfeMalloc(Widget,task_count);
-
- XtVaSetValues(task_bar,XmNignoreConfigure,True,NULL);
-
- for(i = 0; i < task_count; i++)
- {
- int index = i % num_task_names;
- char name_icon[1024];
- char name_raised[1024];
- char name_armed[1024];
- String suffix = large ? "" : "small_";
-
- sprintf(name_icon,"task_%s%s",suffix,task_names[index]);
- sprintf(name_armed,"task_%s%s_armed",suffix,task_names[index]);
- sprintf(name_raised,"task_%s%s_raised",suffix,task_names[index]);
-
- task_items[i] =
- XtVaCreateManagedWidget(XfeNameIndex(task_prefix,i + 1),
- xfeButtonWidgetClass,
- task_bar,
- XmNbackground, XfeBackground(task_bar),
- NULL);
-
- XtVaSetValues(
- task_items[i],
- XmNpixmap, XfeGetPixmap(task_bar,name_icon),
- XmNpixmapMask, XfeGetMask(task_bar,name_icon),
- XmNarmedPixmap, XfeGetPixmap(task_bar,name_armed),
- XmNarmedPixmapMask, XfeGetMask(task_bar,name_armed),
- XmNraisedPixmap, XfeGetPixmap(task_bar,name_raised),
- XmNraisedPixmapMask, XfeGetMask(task_bar,name_raised),
- NULL);
-
- if (task_cb)
- {
- XtAddCallback(task_items[i],XmNactivateCallback,task_cb,NULL);
- }
- }
-
- XtVaSetValues(task_bar,XmNignoreConfigure,False,NULL);
-
- XfeManagerLayout(task_bar);
-
- if (task_items_out)
- *task_items_out = task_items;
- }
- /*----------------------------------------------------------------------*/
- /* extern */ Widget
- XfeCreateLoadedTaskBar(Widget pw,
- String name,
- Boolean large,
- String task_prefix,
- XtCallbackProc task_cb,
- Cardinal task_count,
- WidgetList * task_items_out)
- {
- Widget task_bar = NULL;
- unsigned char layout =
- large ? XmBUTTON_LABEL_ON_BOTTOM : XmBUTTON_PIXMAP_ONLY;
-
- assert( XfeIsAlive(pw) );
- assert( name != NULL );
-
- task_bar = XtVaCreateManagedWidget(
- "TaskBar",
- xfeTaskBarWidgetClass,
- pw,
- XmNbackground, XfeBackground(pw),
- XmNbuttonLayout, layout,
- NULL);
-
-
- XtVaSetValues(task_bar,
- XmNactionPixmap, XfeGetPixmap(task_bar,"task_small_handle"),
- NULL);
-
- if (task_count)
- {
- XfeLoadTaskBar(task_bar,
- large,
- task_prefix,
- task_cb,
- task_count,
- task_items_out);
- }
-
- return task_bar;
- }
- /*----------------------------------------------------------------------*/
- /* extern */ Widget
- XfeCreateLoadedToolBox(Widget pw,String name,ArgList av,Cardinal ac)
- {
- Widget tb;
-
- assert( XfeIsAlive(pw) );
- assert( name != NULL );
-
- tb = XtCreateManagedWidget(name,xfeToolBoxWidgetClass,pw,av,ac);
-
- #if 0
- XtAddCallback(tb,XmNopenCallback,XfeToolBoxOpenCallback,NULL);
- XtAddCallback(tb,XmNcloseCallback,XfeToolBoxCloseCallback,NULL);
- #endif
-
- #if 0
- XtAddCallback(tb,XmNsnapCallback,snap_cb,NULL);
- XtAddCallback(tb,XmNswapCallback,swap_cb,NULL);
- XtAddCallback(tb,XmNnewItemCallback,new_item_cb,NULL);
- #endif
-
- XtVaSetValues(
- tb,
- XmNbottomPixmap, XfeGetPixmap(tb,"dtb_bottom"),
- XmNhorizontalPixmap, XfeGetPixmap(tb,"dtb_horizontal"),
- XmNleftPixmap, XfeGetPixmap(tb,"dtb_left"),
- XmNrightPixmap, XfeGetPixmap(tb,"dtb_right"),
- XmNtopPixmap, XfeGetPixmap(tb,"dtb_top"),
- XmNverticalPixmap, XfeGetPixmap(tb,"dtb_vertical"),
- XmNbottomRaisedPixmap, XfeGetPixmap(tb,"dtb_bottom_raised"),
- XmNhorizontalRaisedPixmap, XfeGetPixmap(tb,"dtb_horizontal_raised"),
- XmNleftRaisedPixmap, XfeGetPixmap(tb,"dtb_left_raised"),
- XmNrightRaisedPixmap, XfeGetPixmap(tb,"dtb_right_raised"),
- XmNtopRaisedPixmap, XfeGetPixmap(tb,"dtb_top_raised"),
- XmNverticalRaisedPixmap, XfeGetPixmap(tb,"dtb_vertical_raised"),
- XmNdragCursor, XfeCursorGetDragHand(tb),
-
- NULL);
-
- return tb;
- }
- /*----------------------------------------------------------------------*/
- /* extern */ Widget
- XfeCreateLoadedTab(Widget pw,String name,ArgList av,Cardinal ac)
- {
- Widget tab;
- Pixel background;
- Pixel foreground;
- Pixel raise_background;
- Pixel raise_foreground;
-
- assert( XfeIsAlive(pw) );
- assert( name != NULL );
-
- tab = XtCreateManagedWidget(name,xfeTabWidgetClass,pw,av,ac);
-
- XtVaGetValues(tab,
- XmNbackground, &background,
- XmNforeground, &foreground,
- XmNraiseBackground, &raise_background,
- XmNraiseForeground, &raise_foreground,
- NULL);
-
- XtVaSetValues(
- tab,
- XmNbottomPixmap, XfeGetPixmap(tab,"dtb_bottom"),
- XmNhorizontalPixmap, XfeGetPixmap(tab,"dtb_horizontal"),
- XmNleftPixmap, XfeGetPixmap(tab,"dtb_left"),
- XmNrightPixmap, XfeGetPixmap(tab,"dtb_right"),
- XmNtopPixmap, XfeGetPixmap(tab,"dtb_top"),
- XmNverticalPixmap, XfeGetPixmap(tab,"dtb_vertical"),
- XmNbottomRaisedPixmap, XfeGetPixmap(tab,"dtb_bottom_raised"),
- XmNhorizontalRaisedPixmap, XfeGetPixmap(tab,"dtb_horizontal_raised"),
- XmNleftRaisedPixmap, XfeGetPixmap(tab,"dtb_left_raised"),
- XmNrightRaisedPixmap, XfeGetPixmap(tab,"dtb_right_raised"),
- XmNtopRaisedPixmap, XfeGetPixmap(tab,"dtb_top_raised"),
- XmNverticalRaisedPixmap, XfeGetPixmap(tab,"dtb_vertical_raised"),
-
- NULL);
-
- return tab;
- }
- /*----------------------------------------------------------------------*/
- /* extern */ Widget
- XfeCreateFormAndButton(Widget pw,
- String name,
- String button_name,
- Dimension offset,
- Boolean use_gadget,
- ArgList av,
- Cardinal ac)
- {
- Widget form;
- Widget button;
-
- assert( XfeIsAlive(pw) );
- assert( name != NULL );
- assert( button_name != NULL );
-
- form = XtCreateManagedWidget(name,xmFormWidgetClass,pw,av,ac);
-
- button = XtVaCreateManagedWidget(button_name,
- (use_gadget ?
- xmPushButtonGadgetClass :
- xmPushButtonWidgetClass),
- form,
- XmNleftAttachment, XmATTACH_FORM,
- XmNrightAttachment, XmATTACH_FORM,
- XmNtopAttachment, XmATTACH_FORM,
- XmNbottomAttachment, XmATTACH_FORM,
- XmNleftOffset, offset,
- XmNrightOffset, offset,
- XmNtopOffset, offset,
- XmNbottomOffset, offset,
- XmNbackground, XfeBackground(form),
- NULL);
-
- return form;
- }
- /*----------------------------------------------------------------------*/
- Widget
- XfeCreateManagedForm(Widget parent,String name,ArgList args,Cardinal n)
- {
- return XtCreateManagedWidget(name,xmFormWidgetClass,parent,args,n);
- }
- /*----------------------------------------------------------------------*/
- Widget
- XfeCreateManagedFrame(Widget parent,String name,ArgList args,Cardinal n)
- {
- return XtCreateManagedWidget(name,xmFrameWidgetClass,parent,args,n);
- }
- /*----------------------------------------------------------------------*/
- Widget
- XfeCreateManagedRowColumn(Widget parent,String name,ArgList args,Cardinal n)
- {
- return XtCreateManagedWidget(name,xmRowColumnWidgetClass,parent,args,n);
- }
- /*----------------------------------------------------------------------*/
-