зеркало из https://github.com/mozilla/pjs.git
Add caption files.
This commit is contained in:
Родитель
21880b5e7c
Коммит
05bb69e0dc
|
@ -35,6 +35,7 @@ endif
|
|||
|
||||
ifdef eXFE_WIDGETS_BUILD_UNUSED
|
||||
UNUSED_DIRS = \
|
||||
XfeCaption \
|
||||
XfeComboBox \
|
||||
$(NULL)
|
||||
endif
|
||||
|
|
|
@ -271,6 +271,7 @@
|
|||
#define XmNtabOffset "TabOffset"
|
||||
#define XmNtaskBar "taskBar"
|
||||
#define XmNtaskBarDocked "taskBarDocked"
|
||||
#define XmNtitleFontList "titleFontList"
|
||||
#define XmNtoggleBehavior "toggleBehavior"
|
||||
#define XmNtoolBar "toolBar"
|
||||
#define XmNtoolBarPosition "toolBarPosition"
|
||||
|
@ -450,6 +451,7 @@
|
|||
#define XmCSubMenuLocation "SubMenuLocation"
|
||||
#define XmCSwapThreshold "SwapThreshold"
|
||||
#define XmCTaskBarDocked "TaskBarDocked"
|
||||
#define XmCTitleFontList "TitleFontList"
|
||||
#define XmCToggleBehavior "ToggleBehavior"
|
||||
#define XmCToolBarPosition "ToolBarPosition"
|
||||
#define XmCToolBarSelectionPolicy "ToolBarSelectionPolicy"
|
||||
|
|
|
@ -0,0 +1,994 @@
|
|||
/* -*- 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: <Xfe/Caption.c> */
|
||||
/* Description: XfeCaption widget source. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include <Xfe/CaptionP.h>
|
||||
#include <Xfe/Button.h>
|
||||
#include <Xm/RepType.h>
|
||||
|
||||
#define MESSAGE1 "Widget is not an XfeCaption."
|
||||
#define MESSAGE2 "XmNtitleDirection is not XmSTRING_DIRECTION_L_TO_R or XmSTRING_DIRECTION_R_TO_L."
|
||||
|
||||
#define TITLE_NAME "CaptionTitle"
|
||||
#define DEFAULT_SUB_TITLE_NAME "CaptionSubTitle"
|
||||
|
||||
#define DEFAULT_MAX_CHILD_WIDTH 65535
|
||||
#define DEFAULT_MAX_CHILD_HEIGHT 65535
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Core class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void ClassInitialize (void);
|
||||
static void ClassPartInit (WidgetClass);
|
||||
static void Initialize (Widget,Widget,ArgList,Cardinal *);
|
||||
static void Destroy (Widget);
|
||||
static Boolean SetValues (Widget,Widget,Widget,ArgList,Cardinal *);
|
||||
static void GetValuesHook (Widget,ArgList,Cardinal *);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeManager class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void PreferredGeometry (Widget,Dimension *,Dimension *);
|
||||
static Boolean AcceptChild (Widget);
|
||||
static Boolean InsertChild (Widget);
|
||||
static Boolean DeleteChild (Widget);
|
||||
static void ChangeManaged (Widget);
|
||||
static void PrepareComponents (Widget,int);
|
||||
static void LayoutComponents (Widget);
|
||||
static void DrawComponents (Widget,XEvent *,Region,XRectangle *);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption action procedures */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void Activate (Widget,XEvent *,char **,Cardinal *);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Title functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Widget TitleCreate (Widget);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Title callbacks */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void TitleActivateCB (Widget,XtPointer,XtPointer);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Layout functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void LayoutChildOnBottom (Widget);
|
||||
static void LayoutChildOnLeft (Widget);
|
||||
static void LayoutChildOnRight (Widget);
|
||||
static void LayoutChildOnTop (Widget);
|
||||
static void LayoutTitleOnly (Widget);
|
||||
static void LayoutChildOnly (Widget);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* RepType registration functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void RegisterCaptionLayout (void);
|
||||
static void RegisterCaptionHorizontalAlignment (void);
|
||||
static void RegisterCaptionVerticalAlignment (void);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption resources */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static XtResource resources[] =
|
||||
{
|
||||
/* Layout resources */
|
||||
{
|
||||
XmNcaptionLayout,
|
||||
XmCCaptionLayout,
|
||||
XmRCaptionLayout,
|
||||
sizeof(unsigned char),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . caption_layout),
|
||||
XmRImmediate,
|
||||
(XtPointer) XmCAPTION_CHILD_ON_RIGHT
|
||||
},
|
||||
{
|
||||
XmNspacing,
|
||||
XmCSpacing,
|
||||
XmRHorizontalDimension,
|
||||
sizeof(Dimension),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . spacing),
|
||||
XmRImmediate,
|
||||
(XtPointer) 2
|
||||
},
|
||||
|
||||
/* Title resources */
|
||||
{
|
||||
XmNtitle,
|
||||
XmCReadOnly,
|
||||
XmRWidget,
|
||||
sizeof(Widget),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . title),
|
||||
XmRImmediate,
|
||||
(XtPointer) NULL
|
||||
},
|
||||
{
|
||||
XmNtitleHorizontalAlignment,
|
||||
XmCCaptionHorizontalAlignment,
|
||||
XmRCaptionHorizontalAlignment,
|
||||
sizeof(unsigned char),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . title_hor_alignment),
|
||||
XmRImmediate,
|
||||
(XtPointer) XmCAPTION_HORIZONTAL_ALIGNMENT_LEFT
|
||||
},
|
||||
{
|
||||
XmNtitleVerticalAlignment,
|
||||
XmCCaptionVerticalAlignment,
|
||||
XmRCaptionVerticalAlignment,
|
||||
sizeof(unsigned char),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . title_ver_alignment),
|
||||
XmRImmediate,
|
||||
(XtPointer) XmCAPTION_VERTICAL_ALIGNMENT_CENTER
|
||||
},
|
||||
{
|
||||
XmNtitleDirection,
|
||||
XmCTitleDirection,
|
||||
XmRStringDirection,
|
||||
sizeof(unsigned char),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . title_direction),
|
||||
XmRImmediate,
|
||||
(XtPointer) XmSTRING_DIRECTION_L_TO_R
|
||||
},
|
||||
{
|
||||
XmNtitleFontList,
|
||||
XmCTitleFontList,
|
||||
XmRFontList,
|
||||
sizeof(XmFontList),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . title_font_list),
|
||||
XmRCallProc,
|
||||
(XtPointer) _XfeCallProcDefaultLabelFontList
|
||||
},
|
||||
{
|
||||
XmNtitleString,
|
||||
XmCTitleString,
|
||||
XmRXmString,
|
||||
sizeof(XmString),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . title_string),
|
||||
XmRImmediate,
|
||||
(XtPointer) NULL
|
||||
},
|
||||
|
||||
/* Child resources */
|
||||
{
|
||||
XmNchild,
|
||||
XmCReadOnly,
|
||||
XmRWidget,
|
||||
sizeof(Widget),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . child),
|
||||
XmRImmediate,
|
||||
(XtPointer) NULL
|
||||
},
|
||||
{
|
||||
XmNchildHorizontalAlignment,
|
||||
XmCCaptionHorizontalAlignment,
|
||||
XmRCaptionHorizontalAlignment,
|
||||
sizeof(unsigned char),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . child_hor_alignment),
|
||||
XmRImmediate,
|
||||
(XtPointer) XmCAPTION_HORIZONTAL_ALIGNMENT_LEFT
|
||||
},
|
||||
{
|
||||
XmNchildVerticalAlignment,
|
||||
XmCCaptionVerticalAlignment,
|
||||
XmRCaptionVerticalAlignment,
|
||||
sizeof(unsigned char),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . child_ver_alignment),
|
||||
XmRImmediate,
|
||||
(XtPointer) XmCAPTION_VERTICAL_ALIGNMENT_CENTER
|
||||
},
|
||||
{
|
||||
XmNchildResize,
|
||||
XmCChildResize,
|
||||
XmRBoolean,
|
||||
sizeof(Boolean),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . child_resize),
|
||||
XmRImmediate,
|
||||
(XtPointer) False
|
||||
},
|
||||
|
||||
/* Dimension resources */
|
||||
{
|
||||
XmNmaxChildHeight,
|
||||
XmCMaxChildHeight,
|
||||
XmRVerticalDimension,
|
||||
sizeof(Dimension),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . max_child_height),
|
||||
XmRImmediate,
|
||||
(XtPointer) DEFAULT_MAX_CHILD_HEIGHT
|
||||
},
|
||||
{
|
||||
XmNmaxChildWidth,
|
||||
XmCMaxChildWidth,
|
||||
XmRHorizontalDimension,
|
||||
sizeof(Dimension),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . max_child_width),
|
||||
XmRImmediate,
|
||||
(XtPointer) DEFAULT_MAX_CHILD_WIDTH
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption synthetic resources */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static XmSyntheticResource synthetic_resources[] =
|
||||
{
|
||||
{
|
||||
XmNmaxChildHeight,
|
||||
sizeof(Dimension),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . max_child_height),
|
||||
_XmFromVerticalPixels,
|
||||
_XmToVerticalPixels
|
||||
},
|
||||
{
|
||||
XmNmaxChildWidth,
|
||||
sizeof(Dimension),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . max_child_width),
|
||||
_XmFromHorizontalPixels,
|
||||
_XmToHorizontalPixels
|
||||
},
|
||||
{
|
||||
XmNspacing,
|
||||
sizeof(Dimension),
|
||||
XtOffsetOf(XfeCaptionRec , xfe_caption . spacing),
|
||||
_XmFromHorizontalPixels,
|
||||
_XmToHorizontalPixels
|
||||
},
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption extra translations */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* extern */ char _XfeCaptionExtraTranslations[] ="\
|
||||
<BtnUp>: Activate()\n\
|
||||
<BtnDown>: Activate()";
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption actions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static XtActionsRec actions[] =
|
||||
{
|
||||
{ "Activate", Activate },
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Widget Class Record Initialization */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
_XFE_WIDGET_CLASS_RECORD(caption,Caption) =
|
||||
{
|
||||
{
|
||||
(WidgetClass) &xfeManagerClassRec, /* superclass */
|
||||
"XfeCaption", /* class_name */
|
||||
sizeof(XfeCaptionRec), /* widget_size */
|
||||
ClassInitialize, /* class_initialize */
|
||||
ClassPartInit, /* class_part_initialize*/
|
||||
FALSE, /* class_inited */
|
||||
Initialize, /* initialize */
|
||||
NULL, /* initialize_hook */
|
||||
XtInheritRealize, /* realize */
|
||||
actions, /* actions */
|
||||
XtNumber(actions), /* num_actions */
|
||||
resources, /* resources */
|
||||
XtNumber(resources), /* num_resources */
|
||||
NULLQUARK, /* xrm_class */
|
||||
TRUE, /* compress_motion */
|
||||
XtExposeCompressMaximal, /* compress_exposure */
|
||||
TRUE, /* compress_enterleave */
|
||||
FALSE, /* visible_interest */
|
||||
Destroy, /* destroy */
|
||||
XtInheritResize, /* resize */
|
||||
XtInheritExpose, /* expose */
|
||||
SetValues, /* set_values */
|
||||
NULL, /* set_values_hook */
|
||||
XtInheritSetValuesAlmost, /* set_values_almost */
|
||||
GetValuesHook, /* get_values_hook */
|
||||
NULL, /* access_focus */
|
||||
XtVersion, /* version */
|
||||
NULL, /* callback_private */
|
||||
XtInheritTranslations, /* tm_table */
|
||||
XtInheritQueryGeometry, /* query_geometry */
|
||||
XtInheritDisplayAccelerator, /* display accelerator */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* Composite Part */
|
||||
{
|
||||
XtInheritGeometryManager, /* geometry_manager */
|
||||
XtInheritChangeManaged, /* change_managed */
|
||||
XtInheritInsertChild, /* insert_child */
|
||||
XtInheritDeleteChild, /* delete_child */
|
||||
NULL /* extension */
|
||||
},
|
||||
|
||||
/* Constraint Part */
|
||||
{
|
||||
NULL, /* syn resources */
|
||||
0, /* num syn_resources */
|
||||
sizeof(XfeManagerConstraintRec), /* constraint size */
|
||||
NULL, /* init proc */
|
||||
NULL, /* destroy proc */
|
||||
NULL, /* set values proc */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* XmManager Part */
|
||||
{
|
||||
XtInheritTranslations, /* tm_table */
|
||||
synthetic_resources, /* syn resources */
|
||||
XtNumber(synthetic_resources), /* num syn_resources */
|
||||
NULL, /* syn_cont_resources */
|
||||
0, /* num_syn_cont_resource*/
|
||||
XmInheritParentProcess, /* parent_process */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* XfeManager Part */
|
||||
{
|
||||
XfeInheritBitGravity, /* bit_gravity */
|
||||
PreferredGeometry, /* preferred_geometry */
|
||||
XfeInheritMinimumGeometry, /* minimum_geometry */
|
||||
XfeInheritUpdateRect, /* update_rect */
|
||||
AcceptChild, /* accept_child */
|
||||
InsertChild, /* insert_child */
|
||||
DeleteChild, /* delete_child */
|
||||
ChangeManaged, /* change_managed */
|
||||
PrepareComponents, /* prepare_components */
|
||||
LayoutComponents, /* layout_components */
|
||||
NULL, /* layout_children */
|
||||
NULL, /* draw_background */
|
||||
XfeInheritDrawShadow, /* draw_shadow */
|
||||
DrawComponents, /* draw_components */
|
||||
False, /* count_layable_children*/
|
||||
NULL, /* child_is_layable */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* XfeCaption Part */
|
||||
{
|
||||
NULL, /* activate */
|
||||
NULL, /* extension */
|
||||
},
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* xfeCaptionWidgetClass declaration. */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
_XFE_WIDGET_CLASS(caption,Caption);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Core Class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
ClassInitialize()
|
||||
{
|
||||
/* Register XfeCaption Representation Types */
|
||||
RegisterCaptionLayout();
|
||||
RegisterCaptionHorizontalAlignment();
|
||||
RegisterCaptionVerticalAlignment();
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
ClassPartInit(WidgetClass wc)
|
||||
{
|
||||
XfeCaptionWidgetClass cc = (XfeCaptionWidgetClass) wc;
|
||||
XfeCaptionWidgetClass sc = (XfeCaptionWidgetClass) wc->core_class.superclass;
|
||||
|
||||
_XfeResolve(cc,sc,xfe_caption_class,activate,XfeInheritCaptionActivate);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
Initialize(Widget rw,Widget nw,ArgList args,Cardinal *nargs)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(nw);
|
||||
|
||||
/* Create private components */
|
||||
pp->title = TitleCreate(nw);
|
||||
|
||||
/* Initialize private members */
|
||||
|
||||
/* Add extra caption translations */
|
||||
XfeOverrideTranslations(nw,_XfeCaptionExtraTranslations);
|
||||
|
||||
/* Finish of initialization */
|
||||
_XfeManagerChainInitialize(rw,nw,xfeCaptionWidgetClass);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
Destroy(Widget w)
|
||||
{
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Boolean
|
||||
SetValues(Widget ow,Widget rw,Widget nw,ArgList args,Cardinal *nargs)
|
||||
{
|
||||
/* XfeCaptionPart * np = _XfeCaptionPart(nw); */
|
||||
/* XfeCaptionPart * op = _XfeCaptionPart(ow); */
|
||||
|
||||
/* shadow_thickness */
|
||||
if (_XfemShadowThickness(nw) != _XfemShadowThickness(ow))
|
||||
{
|
||||
_XfemConfigFlags(nw) |= XfeConfigLE;
|
||||
}
|
||||
|
||||
|
||||
return _XfeManagerChainSetValues(ow,rw,nw,xfeCaptionWidgetClass);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
GetValuesHook(Widget w,ArgList args,Cardinal* nargs)
|
||||
{
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
Cardinal i;
|
||||
|
||||
for (i = 0; i < *nargs; i++)
|
||||
{
|
||||
#if 0
|
||||
/* label_string */
|
||||
if (strcmp(args[i].name,XmNlabelString) == 0)
|
||||
{
|
||||
*((XtArgVal *) args[i].value) =
|
||||
(XtArgVal) XmStringCopy(lp->label_string);
|
||||
}
|
||||
/* font_list */
|
||||
else if (strcmp(args[i].name,XmNfontList) == 0)
|
||||
{
|
||||
*((XtArgVal *) args[i].value) =
|
||||
(XtArgVal) XmFontListCopy(lp->font_list);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeManager class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
PreferredGeometry(Widget w,Dimension * width,Dimension * height)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
*width = _XfemOffsetLeft(w) + _XfemOffsetRight(w);
|
||||
*height = _XfemOffsetTop(w) + _XfemOffsetBottom(w);
|
||||
|
||||
/* Both */
|
||||
if (_XfeChildIsShown(pp->title) && _XfeChildIsShown(pp->child))
|
||||
{
|
||||
if (pp->caption_layout == XmCAPTION_CHILD_ON_BOTTOM ||
|
||||
pp->caption_layout == XmCAPTION_CHILD_ON_TOP)
|
||||
{
|
||||
*width += XfeMax(_XfeWidth(pp->title),_XfeWidth(pp->child));
|
||||
|
||||
*height +=
|
||||
(_XfeHeight(pp->title) +
|
||||
pp->spacing +
|
||||
_XfeHeight(pp->child));
|
||||
}
|
||||
else if (pp->caption_layout == XmCAPTION_CHILD_ON_LEFT ||
|
||||
pp->caption_layout == XmCAPTION_CHILD_ON_RIGHT)
|
||||
{
|
||||
*width +=
|
||||
(_XfeWidth(pp->title) +
|
||||
pp->spacing +
|
||||
_XfeWidth(pp->child));
|
||||
|
||||
*height += XfeMax(_XfeHeight(pp->title),_XfeHeight(pp->child));
|
||||
}
|
||||
#ifdef DEBUG_ramiro
|
||||
else
|
||||
{
|
||||
assert( 0 );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/* Title only */
|
||||
else if (_XfeChildIsShown(pp->title))
|
||||
{
|
||||
*width += _XfeWidth(pp->title);
|
||||
|
||||
*height += _XfeHeight(pp->title);
|
||||
}
|
||||
/* Child only */
|
||||
else if (_XfeChildIsShown(pp->child))
|
||||
{
|
||||
*width += _XfeWidth(pp->child);
|
||||
|
||||
*height += _XfeHeight(pp->child);
|
||||
}
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Boolean
|
||||
AcceptChild(Widget child)
|
||||
{
|
||||
return True;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Boolean
|
||||
InsertChild(Widget child)
|
||||
{
|
||||
/* Widget w = XtParent(child); */
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
|
||||
return True;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Boolean
|
||||
DeleteChild(Widget child)
|
||||
{
|
||||
/* Widget w = XtParent(child); */
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
|
||||
return True;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
ChangeManaged(Widget w)
|
||||
{
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
PrepareComponents(Widget w,int flags)
|
||||
{
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
|
||||
/* if (flags & _XFE_PREPARE_CLOSE_PIXMAP_MASK) */
|
||||
/* { */
|
||||
/* } */
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
LayoutComponents(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
/* Both */
|
||||
if (_XfeChildIsShown(pp->title) && _XfeChildIsShown(pp->child))
|
||||
{
|
||||
if (pp->caption_layout == XmCAPTION_CHILD_ON_BOTTOM)
|
||||
{
|
||||
LayoutChildOnBottom(w);
|
||||
}
|
||||
else if (pp->caption_layout == XmCAPTION_CHILD_ON_LEFT)
|
||||
{
|
||||
LayoutChildOnLeft(w);
|
||||
}
|
||||
else if (pp->caption_layout == XmCAPTION_CHILD_ON_RIGHT)
|
||||
{
|
||||
LayoutChildOnRight(w);
|
||||
}
|
||||
else if (pp->caption_layout == XmCAPTION_CHILD_ON_TOP)
|
||||
{
|
||||
LayoutChildOnTop(w);
|
||||
}
|
||||
}
|
||||
/* Title only */
|
||||
else if (_XfeChildIsShown(pp->title))
|
||||
{
|
||||
LayoutTitleOnly(w);
|
||||
}
|
||||
/* Child only */
|
||||
else if (_XfeChildIsShown(pp->child))
|
||||
{
|
||||
LayoutChildOnly(w);
|
||||
}
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
DrawComponents(Widget w,XEvent * event,Region region,XRectangle * clip_rect)
|
||||
{
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption action procedures */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
Activate(Widget w,XEvent * event,char ** params,Cardinal * nparams)
|
||||
{
|
||||
_XfeCaptionActivate(w);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Title functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Widget
|
||||
TitleCreate(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
Widget title = NULL;
|
||||
Arg av[20];
|
||||
Cardinal ac = 0;
|
||||
|
||||
/* XtSetArg(av[ac],XmNbackground, pp->title_background); ac++; */
|
||||
/* XtSetArg(av[ac],XmNforeground, pp->title_foreground); ac++; */
|
||||
/* XtSetArg(av[ac],XmNalignment, pp->title_alignment); ac++; */
|
||||
|
||||
XtSetArg(av[ac],XmNshadowThickness, 0); ac++;
|
||||
XtSetArg(av[ac],XmNstringDirection, pp->title_direction); ac++;
|
||||
XtSetArg(av[ac],XmNraiseBorderThickness, 0); ac++;
|
||||
XtSetArg(av[ac],XmNraiseOnEnter, False); ac++;
|
||||
XtSetArg(av[ac],XmNfillOnArm, False); ac++;
|
||||
XtSetArg(av[ac],XmNarmOffset, 0); ac++;
|
||||
|
||||
if (pp->title_font_list != NULL)
|
||||
{
|
||||
XtSetArg(av[ac],XmNfontList, pp->title_font_list); ac++;
|
||||
}
|
||||
|
||||
if (pp->title_string != NULL)
|
||||
{
|
||||
XtSetArg(av[ac],XmNlabelString, pp->title_string); ac++;
|
||||
}
|
||||
|
||||
title = XtCreateManagedWidget(TITLE_NAME,
|
||||
xfeButtonWidgetClass,
|
||||
w,
|
||||
av,
|
||||
ac);
|
||||
|
||||
XtAddCallback(title,XmNactivateCallback,TitleActivateCB,w);
|
||||
|
||||
return title;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Title callbacks */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
TitleActivateCB(Widget title,XtPointer client_data,XtPointer call_data)
|
||||
{
|
||||
Widget w = (Widget) client_data;
|
||||
|
||||
_XfeCaptionActivate(w);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Layout functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
LayoutChildOnBottom(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
assert( _XfeChildIsShown(pp->title) );
|
||||
assert( _XfeChildIsShown(pp->child) );
|
||||
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
LayoutChildOnLeft(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
assert( _XfeChildIsShown(pp->title) );
|
||||
assert( _XfeChildIsShown(pp->child) );
|
||||
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
LayoutChildOnRight(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
int title_x;
|
||||
int title_y;
|
||||
int child_x;
|
||||
int child_y;
|
||||
int child_width;
|
||||
int child_height;
|
||||
|
||||
assert( _XfeChildIsShown(pp->title) );
|
||||
assert( _XfeChildIsShown(pp->child) );
|
||||
|
||||
if (pp->child_resize)
|
||||
{
|
||||
child_width =
|
||||
_XfemRectWidth(w) -
|
||||
_XfeWidth(pp->title) -
|
||||
pp->spacing;
|
||||
|
||||
/* child_width = XfeMax(_XfeWidth(pp->child),child_width); */
|
||||
}
|
||||
else
|
||||
{
|
||||
child_width = _XfeWidth(pp->child);
|
||||
}
|
||||
|
||||
if (child_width > pp->max_child_width)
|
||||
{
|
||||
child_width = pp->max_child_width;
|
||||
}
|
||||
|
||||
child_height = _XfeHeight(pp->child);
|
||||
|
||||
/* Child x */
|
||||
if (pp->child_hor_alignment == XmCAPTION_HORIZONTAL_ALIGNMENT_LEFT)
|
||||
{
|
||||
child_x =
|
||||
_XfeWidth(w) -
|
||||
_XfemOffsetRight(w) -
|
||||
child_width;
|
||||
|
||||
}
|
||||
else if (pp->child_hor_alignment == XmCAPTION_HORIZONTAL_ALIGNMENT_CENTER)
|
||||
{
|
||||
child_x =
|
||||
_XfeWidth(w) -
|
||||
_XfemOffsetRight(w) -
|
||||
child_width;
|
||||
|
||||
}
|
||||
else if (pp->child_hor_alignment == XmCAPTION_HORIZONTAL_ALIGNMENT_RIGHT)
|
||||
{
|
||||
child_x =
|
||||
_XfeWidth(w) -
|
||||
_XfemOffsetRight(w) -
|
||||
child_width;
|
||||
}
|
||||
|
||||
/* Child y */
|
||||
if (pp->child_ver_alignment == XmCAPTION_VERTICAL_ALIGNMENT_TOP)
|
||||
{
|
||||
child_y = _XfemOffsetTop(w);
|
||||
}
|
||||
else if (pp->child_ver_alignment == XmCAPTION_VERTICAL_ALIGNMENT_CENTER)
|
||||
{
|
||||
child_y = (_XfeHeight(w) - child_height) / 2;
|
||||
}
|
||||
else if (pp->child_ver_alignment == XmCAPTION_VERTICAL_ALIGNMENT_BOTTOM)
|
||||
{
|
||||
child_y = _XfeHeight(w) - _XfemOffsetBottom(w) - child_height;
|
||||
}
|
||||
|
||||
/* Title x */
|
||||
if (pp->title_hor_alignment == XmCAPTION_HORIZONTAL_ALIGNMENT_LEFT)
|
||||
{
|
||||
title_x = _XfemOffsetLeft(w);
|
||||
}
|
||||
else if (pp->title_hor_alignment == XmCAPTION_HORIZONTAL_ALIGNMENT_CENTER)
|
||||
{
|
||||
title_x = _XfemOffsetLeft(w);
|
||||
}
|
||||
else if (pp->title_hor_alignment == XmCAPTION_HORIZONTAL_ALIGNMENT_RIGHT)
|
||||
{
|
||||
title_x = _XfemOffsetLeft(w);
|
||||
}
|
||||
|
||||
/* Title y */
|
||||
if (pp->title_ver_alignment == XmCAPTION_VERTICAL_ALIGNMENT_TOP)
|
||||
{
|
||||
title_y = _XfemOffsetTop(w);
|
||||
}
|
||||
else if (pp->title_ver_alignment == XmCAPTION_VERTICAL_ALIGNMENT_CENTER)
|
||||
{
|
||||
title_y = (_XfeHeight(w) - _XfeHeight(pp->title)) / 2;
|
||||
}
|
||||
else if (pp->title_ver_alignment == XmCAPTION_VERTICAL_ALIGNMENT_BOTTOM)
|
||||
{
|
||||
title_y = _XfeHeight(w) - _XfemOffsetBottom(w) - _XfeHeight(pp->title);
|
||||
}
|
||||
|
||||
_XfeMoveWidget(pp->title,title_x,title_y);
|
||||
/* _XfeMoveWidget(pp->child,child_x,child_y); */
|
||||
|
||||
_XfeConfigureWidget(pp->child,child_x,child_y,child_width,child_height);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
LayoutChildOnTop(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
assert( _XfeChildIsShown(pp->title) );
|
||||
assert( _XfeChildIsShown(pp->child) );
|
||||
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
LayoutTitleOnly (Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
assert( _XfeChildIsShown(pp->title) );
|
||||
|
||||
printf("LayoutChildTitleOnly(%s)\n",XtName(w));
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
LayoutChildOnly (Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
assert( _XfeChildIsShown(pp->child) );
|
||||
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* RepType registration functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
RegisterCaptionLayout(void)
|
||||
{
|
||||
static String names[] =
|
||||
{
|
||||
"caption_child_on_bottom",
|
||||
"caption_child_on_left",
|
||||
"caption_child_on_right",
|
||||
"caption_child_on_top"
|
||||
};
|
||||
|
||||
XmRepTypeRegister(XmRCaptionLayout,names,NULL,XtNumber(names));
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
RegisterCaptionHorizontalAlignment(void)
|
||||
{
|
||||
static String names[] =
|
||||
{
|
||||
"caption_vertical_alignment_left",
|
||||
"caption_vertical_alignment_center",
|
||||
"caption_vertical_alignment_right"
|
||||
};
|
||||
|
||||
XmRepTypeRegister(XmRCaptionVerticalAlignment,names,NULL,XtNumber(names));
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
RegisterCaptionVerticalAlignment(void)
|
||||
{
|
||||
static String names[] =
|
||||
{
|
||||
"caption_vertical_alignment_bottom",
|
||||
"caption_vertical_alignment_center",
|
||||
"caption_vertical_alignment_top"
|
||||
};
|
||||
|
||||
XmRepTypeRegister(XmRCaptionVerticalAlignment,names,NULL,XtNumber(names));
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Misc functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption method invocation functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* extern */ void
|
||||
_XfeCaptionActivate(Widget w)
|
||||
{
|
||||
XfeCaptionWidgetClass mc = (XfeCaptionWidgetClass) XtClass(w);
|
||||
|
||||
if (mc->xfe_caption_class.activate)
|
||||
{
|
||||
(*mc->xfe_caption_class.activate)(w);
|
||||
}
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption Public Methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* extern */ Widget
|
||||
XfeCreateCaption(Widget pw,char * name,Arg * av,Cardinal ac)
|
||||
{
|
||||
return XtCreateWidget(name,xfeCaptionWidgetClass,pw,av,ac);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
extern Dimension
|
||||
XfeCaptionMaxChildWidth(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
Dimension max_child_width = 0;
|
||||
|
||||
assert( _XfeIsAlive(w) );
|
||||
|
||||
/* Both */
|
||||
if (_XfeChildIsShown(pp->title) && _XfeChildIsShown(pp->child))
|
||||
{
|
||||
if (pp->caption_layout == XmCAPTION_CHILD_ON_BOTTOM ||
|
||||
pp->caption_layout == XmCAPTION_CHILD_ON_TOP)
|
||||
{
|
||||
max_child_width = _XfemRectWidth(w);
|
||||
}
|
||||
else if (pp->caption_layout == XmCAPTION_CHILD_ON_LEFT ||
|
||||
pp->caption_layout == XmCAPTION_CHILD_ON_RIGHT)
|
||||
{
|
||||
max_child_width =
|
||||
_XfemRectWidth(w) -
|
||||
_XfeWidth(pp->title) -
|
||||
pp->spacing;
|
||||
}
|
||||
}
|
||||
/* Title only */
|
||||
else if (_XfeChildIsShown(pp->title))
|
||||
{
|
||||
max_child_width = 0;
|
||||
}
|
||||
/* Child only */
|
||||
else if (_XfeChildIsShown(pp->child))
|
||||
{
|
||||
max_child_width = _XfemRectWidth(w);
|
||||
}
|
||||
|
||||
return max_child_width;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
|
@ -0,0 +1,122 @@
|
|||
/* -*- 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: <Xfe/Caption.h> */
|
||||
/* Description: XfeCaption widget public header file. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _XfeCaption_h_ /* start Caption.h */
|
||||
#define _XfeCaption_h_
|
||||
|
||||
#include <Xfe/Manager.h>
|
||||
#include <Xfe/CaptionStringDefs.h>
|
||||
|
||||
XFE_BEGIN_CPLUSPLUS_PROTECTION
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XmRCaptionLayout */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
enum
|
||||
{
|
||||
XmCAPTION_CHILD_ON_BOTTOM,
|
||||
XmCAPTION_CHILD_ON_LEFT,
|
||||
XmCAPTION_CHILD_ON_RIGHT,
|
||||
XmCAPTION_CHILD_ON_TOP
|
||||
};
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XmRHorizontalAlignment */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
enum
|
||||
{
|
||||
XmCAPTION_HORIZONTAL_ALIGNMENT_LEFT,
|
||||
XmCAPTION_HORIZONTAL_ALIGNMENT_CENTER,
|
||||
XmCAPTION_HORIZONTAL_ALIGNMENT_RIGHT
|
||||
};
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XmRVerticalAlignment */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
enum
|
||||
{
|
||||
XmCAPTION_VERTICAL_ALIGNMENT_BOTTOM,
|
||||
XmCAPTION_VERTICAL_ALIGNMENT_CENTER,
|
||||
XmCAPTION_VERTICAL_ALIGNMENT_TOP
|
||||
};
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Caption max dimensions callback structure */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
int reason; /* Reason why CB was invoked */
|
||||
XEvent * event; /* Event that triggered CB */
|
||||
Dimension max_child_width; /* Max child width */
|
||||
Dimension max_child_height; /* Max child height */
|
||||
} XfeCaptionMaxDimensionsCallbackStruct;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeBox class names */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
externalref WidgetClass xfeCaptionWidgetClass;
|
||||
|
||||
typedef struct _XfeCaptionClassRec * XfeCaptionWidgetClass;
|
||||
typedef struct _XfeCaptionRec * XfeCaptionWidget;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeBox subclass test macro */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define XfeIsCaption(w) XtIsSubclass(w,xfeCaptionWidgetClass)
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption public methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
extern Widget
|
||||
XfeCreateCaption (Widget pw,
|
||||
String name,
|
||||
Arg * av,
|
||||
Cardinal ac);
|
||||
/*----------------------------------------------------------------------*/
|
||||
extern Dimension
|
||||
XfeCaptionMaxChildWidth (Widget w);
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
XFE_END_CPLUSPLUS_PROTECTION
|
||||
|
||||
#endif /* end Caption.h */
|
|
@ -0,0 +1,138 @@
|
|||
/* -*- 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: <Xfe/CaptionP.h> */
|
||||
/* Description: XfeCaption widget private header file. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _XfeCaptionP_h_ /* start CaptionP.h */
|
||||
#define _XfeCaptionP_h_
|
||||
|
||||
#include <Xfe/Caption.h>
|
||||
#include <Xfe/ManagerP.h>
|
||||
|
||||
XFE_BEGIN_CPLUSPLUS_PROTECTION
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption Widget method inheritance macros */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define XfeInheritCaptionActivate ((XtWidgetProc) _XtInherit)
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaptionClassPart */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
XtWidgetProc activate; /* activate */
|
||||
XtPointer extension; /* extension */
|
||||
} XfeCaptionClassPart;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaptionClassRec */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct _XfeCaptionClassRec
|
||||
{
|
||||
CoreClassPart core_class;
|
||||
CompositeClassPart composite_class;
|
||||
ConstraintClassPart constraint_class;
|
||||
XmManagerClassPart manager_class;
|
||||
XfeManagerClassPart xfe_manager_class;
|
||||
XfeCaptionClassPart xfe_caption_class;
|
||||
} XfeCaptionClassRec;
|
||||
|
||||
externalref XfeCaptionClassRec xfeCaptionClassRec;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaptionPart */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct _XfeCaptionPart
|
||||
{
|
||||
/* Layout resources */
|
||||
unsigned char caption_layout; /* Caption layout */
|
||||
Dimension spacing; /* Spacing */
|
||||
|
||||
/* Title resources */
|
||||
Widget title; /* Title */
|
||||
unsigned char title_hor_alignment; /* Title hor alignment */
|
||||
unsigned char title_ver_alignment; /* Title ver alignment */
|
||||
unsigned char title_direction; /* Title direction */
|
||||
XmFontList title_font_list; /* Title font list */
|
||||
XmString title_string; /* Title string */
|
||||
|
||||
/* Child resources */
|
||||
Widget child; /* Child */
|
||||
unsigned char child_hor_alignment; /* Child hor alignment */
|
||||
unsigned char child_ver_alignment; /* Child ver alignment */
|
||||
Boolean child_resize; /* Child Resize */
|
||||
|
||||
/* Dimension resources */
|
||||
unsigned char max_child_method; /* Max child method */
|
||||
Dimension max_child_width; /* Max child width */
|
||||
Dimension max_child_height; /* Max child height */
|
||||
|
||||
/* Private data -- Dont even look past this comment -- */
|
||||
|
||||
} XfeCaptionPart;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaptionRec */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct _XfeCaptionRec
|
||||
{
|
||||
CorePart core;
|
||||
CompositePart composite;
|
||||
ConstraintPart constraint;
|
||||
XmManagerPart manager;
|
||||
XfeManagerPart xfe_manager;
|
||||
XfeCaptionPart xfe_caption;
|
||||
} XfeCaptionRec;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaptionPart Access Macro */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define _XfeCaptionPart(w) &(((XfeCaptionWidget) w) -> xfe_caption)
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption Method invocation functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
extern void
|
||||
_XfeCaptionActivate (Widget w);
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
XFE_END_CPLUSPLUS_PROTECTION
|
||||
|
||||
#endif /* end CaptionP.h */
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
#!gmake
|
||||
#
|
||||
# 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: Makefile
|
||||
# Description: Makefile for XfeCaption library
|
||||
# Author: Ramiro Estrugo <ramiro@netscape.com>
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
|
||||
DEPTH = ../../../..
|
||||
|
||||
# XfeWidgets headers are exported to dist/public/XfeCaption/Xfe. We use
|
||||
# the 'Xfe' directory to avoid the hasstle of having to remember yet another
|
||||
# include prefix.
|
||||
MODULE = XfeCaption/Xfe
|
||||
|
||||
LIBRARY_NAME = XfeCaption
|
||||
|
||||
CSRCS = \
|
||||
Caption.c \
|
||||
TextCaption.c \
|
||||
$(NULL)
|
||||
|
||||
REQUIRES = \
|
||||
XfeCaption \
|
||||
XfeWidgets
|
||||
|
||||
|
||||
EXPORTS = \
|
||||
Caption.h \
|
||||
CaptionP.h \
|
||||
TextCaption.h \
|
||||
TextCaptionP.h \
|
||||
CaptionStringDefs.h \
|
||||
$(NULL)
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
|
@ -0,0 +1,359 @@
|
|||
/* -*- 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: <Xfe/TextCaption.c> */
|
||||
/* Description: XfeTextCaption widget source. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include <Xfe/TextCaptionP.h>
|
||||
#include <Xm/TextF.h>
|
||||
|
||||
#define MESSAGE1 "Widget is not an XfeTextCaption."
|
||||
#define MESSAGE2 "XmNtitleDirection is not XmSTRING_DIRECTION_L_TO_R or XmSTRING_DIRECTION_R_TO_L."
|
||||
|
||||
#define TEXT_NAME "CaptionText"
|
||||
#define DEFAULT_SUB_TITLE_NAME "TextCaptionSubTitle"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Core class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void Initialize (Widget,Widget,ArgList,Cardinal *);
|
||||
static void Destroy (Widget);
|
||||
static Boolean SetValues (Widget,Widget,Widget,ArgList,Cardinal *);
|
||||
static void GetValuesHook (Widget,ArgList,Cardinal *);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeManager class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void Activate (Widget);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Text functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Widget TextCreate (Widget);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption resources */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static XtResource resources[] =
|
||||
{
|
||||
/* Text resources */
|
||||
{
|
||||
XmNtextFontList,
|
||||
XmCTextFontList,
|
||||
XmRFontList,
|
||||
sizeof(XmFontList),
|
||||
XtOffsetOf(XfeTextCaptionRec , xfe_text_caption . text_font_list),
|
||||
XmRCallProc,
|
||||
(XtPointer) _XfeCallProcDefaultLabelFontList
|
||||
},
|
||||
{
|
||||
XmNtextString,
|
||||
XmCTextString,
|
||||
XmRXmString,
|
||||
sizeof(XmString),
|
||||
XtOffsetOf(XfeTextCaptionRec , xfe_text_caption . text_string),
|
||||
XmRImmediate,
|
||||
(XtPointer) NULL
|
||||
},
|
||||
};
|
||||
|
||||
#if 0
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption synthetic resources */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static XmSyntheticResource synthetic_resources[] =
|
||||
{
|
||||
{
|
||||
XmNtitleSpacing,
|
||||
sizeof(Dimension),
|
||||
XtOffsetOf(XfeTextCaptionRec , xfe_text_caption . title_spacing),
|
||||
_XmFromHorizontalPixels,
|
||||
_XmToHorizontalPixels
|
||||
},
|
||||
};
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Widget Class Record Initialization */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
_XFE_WIDGET_CLASS_RECORD(textcaption,TextCaption) =
|
||||
{
|
||||
{
|
||||
(WidgetClass) &xfeCaptionClassRec, /* superclass */
|
||||
"XfeTextCaption", /* class_name */
|
||||
sizeof(XfeTextCaptionRec), /* widget_size */
|
||||
NULL, /* class_initialize */
|
||||
NULL, /* class_part_initialize*/
|
||||
FALSE, /* class_inited */
|
||||
Initialize, /* initialize */
|
||||
NULL, /* initialize_hook */
|
||||
XtInheritRealize, /* realize */
|
||||
NULL, /* actions */
|
||||
0, /* num_actions */
|
||||
resources, /* resources */
|
||||
XtNumber(resources), /* num_resources */
|
||||
NULLQUARK, /* xrm_class */
|
||||
TRUE, /* compress_motion */
|
||||
XtExposeCompressMaximal, /* compress_exposure */
|
||||
TRUE, /* compress_enterleave */
|
||||
FALSE, /* visible_interest */
|
||||
Destroy, /* destroy */
|
||||
XtInheritResize, /* resize */
|
||||
XtInheritExpose, /* expose */
|
||||
SetValues, /* set_values */
|
||||
NULL, /* set_values_hook */
|
||||
XtInheritSetValuesAlmost, /* set_values_almost */
|
||||
GetValuesHook, /* get_values_hook */
|
||||
NULL, /* access_focus */
|
||||
XtVersion, /* version */
|
||||
NULL, /* callback_private */
|
||||
XtInheritTranslations, /* tm_table */
|
||||
XtInheritQueryGeometry, /* query_geometry */
|
||||
XtInheritDisplayAccelerator, /* display accelerator */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* Composite Part */
|
||||
{
|
||||
XtInheritGeometryManager, /* geometry_manager */
|
||||
XtInheritChangeManaged, /* change_managed */
|
||||
XtInheritInsertChild, /* insert_child */
|
||||
XtInheritDeleteChild, /* delete_child */
|
||||
NULL /* extension */
|
||||
},
|
||||
|
||||
/* Constraint Part */
|
||||
{
|
||||
NULL, /* syn resources */
|
||||
0, /* num syn_resources */
|
||||
sizeof(XfeManagerConstraintRec), /* constraint size */
|
||||
NULL, /* init proc */
|
||||
NULL, /* destroy proc */
|
||||
NULL, /* set values proc */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* XmManager Part */
|
||||
{
|
||||
XtInheritTranslations, /* tm_table */
|
||||
#if 0
|
||||
synthetic_resources, /* syn resources */
|
||||
XtNumber(synthetic_resources), /* num syn_resources */
|
||||
#else
|
||||
NULL, /* syn resources */
|
||||
0, /* num syn_resources */
|
||||
#endif
|
||||
NULL, /* syn_cont_resources */
|
||||
0, /* num_syn_cont_resource*/
|
||||
XmInheritParentProcess, /* parent_process */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* XfeManager Part */
|
||||
{
|
||||
XfeInheritBitGravity, /* bit_gravity */
|
||||
XfeInheritPreferredGeometry, /* preferred_geometry */
|
||||
XfeInheritMinimumGeometry, /* minimum_geometry */
|
||||
XfeInheritUpdateRect, /* update_rect */
|
||||
XfeInheritAcceptChild, /* accept_child */
|
||||
XfeInheritInsertChild, /* insert_child */
|
||||
XfeInheritDeleteChild, /* delete_child */
|
||||
NULL, /* change_managed */
|
||||
NULL, /* prepare_components */
|
||||
XfeInheritLayoutComponents, /* layout_components */
|
||||
NULL, /* layout_children */
|
||||
NULL, /* draw_background */
|
||||
XfeInheritDrawShadow, /* draw_shadow */
|
||||
XfeInheritDrawComponents, /* draw_components */
|
||||
False, /* count_layable_children*/
|
||||
NULL, /* child_is_layable */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* XfeCaption Part */
|
||||
{
|
||||
Activate, /* activate */
|
||||
NULL, /* extension */
|
||||
},
|
||||
|
||||
/* XfeTextCaption Part */
|
||||
{
|
||||
NULL, /* extension */
|
||||
},
|
||||
};
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* xfeTextCaptionWidgetClass declaration. */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
_XFE_WIDGET_CLASS(textcaption,TextCaption);
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Core Class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
Initialize(Widget rw,Widget nw,ArgList args,Cardinal *nargs)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(nw);
|
||||
/* XfeTextCaptionPart * tp = _XfeTextCaptionPart(nw); */
|
||||
|
||||
/* Create private components */
|
||||
pp->child = TextCreate(nw);
|
||||
|
||||
/* Finish of initialization */
|
||||
_XfeManagerChainInitialize(rw,nw,xfeTextCaptionWidgetClass);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
Destroy(Widget w)
|
||||
{
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Boolean
|
||||
SetValues(Widget ow,Widget rw,Widget nw,ArgList args,Cardinal *nargs)
|
||||
{
|
||||
/* XfeCaptionPart * np = _XfeCaptionPart(nw); */
|
||||
/* XfeCaptionPart * op = _XfeCaptionPart(ow); */
|
||||
|
||||
/* shadow_thickness */
|
||||
if (_XfemShadowThickness(nw) != _XfemShadowThickness(ow))
|
||||
{
|
||||
_XfemConfigFlags(nw) |= XfeConfigLE;
|
||||
}
|
||||
|
||||
|
||||
return _XfeManagerChainSetValues(ow,rw,nw,xfeTextCaptionWidgetClass);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
GetValuesHook(Widget w,ArgList args,Cardinal* nargs)
|
||||
{
|
||||
/* XfeCaptionPart * pp = _XfeCaptionPart(w); */
|
||||
Cardinal i;
|
||||
|
||||
for (i = 0; i < *nargs; i++)
|
||||
{
|
||||
#if 0
|
||||
/* label_string */
|
||||
if (strcmp(args[i].name,XmNlabelString) == 0)
|
||||
{
|
||||
*((XtArgVal *) args[i].value) =
|
||||
(XtArgVal) XmStringCopy(lp->label_string);
|
||||
}
|
||||
/* font_list */
|
||||
else if (strcmp(args[i].name,XmNfontList) == 0)
|
||||
{
|
||||
*((XtArgVal *) args[i].value) =
|
||||
(XtArgVal) XmFontListCopy(lp->font_list);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption class methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static void
|
||||
Activate(Widget w)
|
||||
{
|
||||
XfeCaptionPart * pp = _XfeCaptionPart(w);
|
||||
|
||||
/* Traverse to the child if its alive */
|
||||
if (_XfeChildIsShown(pp->child))
|
||||
{
|
||||
XmProcessTraversal(pp->child,XmTRAVERSE_CURRENT);
|
||||
}
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Text functions */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Widget
|
||||
TextCreate(Widget w)
|
||||
{
|
||||
XfeTextCaptionPart * tp = _XfeTextCaptionPart(w);
|
||||
Widget text = NULL;
|
||||
Arg av[20];
|
||||
Cardinal ac = 0;
|
||||
|
||||
/* XtSetArg(av[ac],XmNbackground, tp->text_background); ac++; */
|
||||
/* XtSetArg(av[ac],XmNforeground, tp->text_foreground); ac++; */
|
||||
/* XtSetArg(av[ac],XmNshadowThickness, 0); ac++; */
|
||||
/* XtSetArg(av[ac],XmNstringDirection, tp->text_direction); ac++; */
|
||||
/* XtSetArg(av[ac],XmNalignment, tp->text_alignment); ac++; */
|
||||
|
||||
if (tp->text_font_list != NULL)
|
||||
{
|
||||
XtSetArg(av[ac],XmNfontList, tp->text_font_list); ac++;
|
||||
}
|
||||
|
||||
text = XtCreateManagedWidget(TEXT_NAME,
|
||||
xmTextFieldWidgetClass,
|
||||
w,
|
||||
av,
|
||||
ac);
|
||||
|
||||
return text;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeCaption Public Methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* extern */ Widget
|
||||
XfeCreateTextCaption(Widget pw,char * name,Arg * av,Cardinal ac)
|
||||
{
|
||||
return XtCreateWidget(name,xfeTextCaptionWidgetClass,pw,av,ac);
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
|
@ -0,0 +1,65 @@
|
|||
/* -*- 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: <Xfe/TextCaption.h> */
|
||||
/* Description: XfeTextCaption widget public header file. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _XfeTextCaption_h_ /* start TextCaption.h */
|
||||
#define _XfeTextCaption_h_
|
||||
|
||||
#include <Xfe/Caption.h>
|
||||
|
||||
XFE_BEGIN_CPLUSPLUS_PROTECTION
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaption class names */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
externalref WidgetClass xfeTextCaptionWidgetClass;
|
||||
|
||||
typedef struct _XfeTextCaptionClassRec * XfeTextCaptionWidgetClass;
|
||||
typedef struct _XfeTextCaptionRec * XfeTextCaptionWidget;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaption subclass test macro */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define XfeIsTextCaption(w) XtIsSubclass(w,xfeTextCaptionWidgetClass)
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaption public methods */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
extern Widget
|
||||
XfeCreateTextCaption (Widget pw,
|
||||
String name,
|
||||
Arg * av,
|
||||
Cardinal ac);
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
XFE_END_CPLUSPLUS_PROTECTION
|
||||
|
||||
#endif /* end Caption.h */
|
|
@ -0,0 +1,104 @@
|
|||
/* -*- 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: <Xfe/TextCaptionP.h> */
|
||||
/* Description: XfeTextCaption widget private header file. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _XfeTextCaptionP_h_ /* start TextCaptionP.h */
|
||||
#define _XfeTextCaptionP_h_
|
||||
|
||||
#include <Xfe/CaptionP.h>
|
||||
#include <Xfe/TextCaption.h>
|
||||
|
||||
XFE_BEGIN_CPLUSPLUS_PROTECTION
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaptionClassPart */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct
|
||||
{
|
||||
XtPointer extension; /* extension */
|
||||
} XfeTextCaptionClassPart;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaptionClassRec */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct _XfeTextCaptionClassRec
|
||||
{
|
||||
CoreClassPart core_class;
|
||||
CompositeClassPart composite_class;
|
||||
ConstraintClassPart constraint_class;
|
||||
XmManagerClassPart manager_class;
|
||||
XfeManagerClassPart xfe_manager_class;
|
||||
XfeCaptionClassPart xfe_caption_class;
|
||||
XfeTextCaptionClassPart xfe_text_caption_class;
|
||||
} XfeTextCaptionClassRec;
|
||||
|
||||
externalref XfeTextCaptionClassRec xfeTextCaptionClassRec;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaptionPart */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct _XfeTextCaptionPart
|
||||
{
|
||||
/* Text resources */
|
||||
XmString text_string; /* Text string */
|
||||
XmFontList text_font_list; /* Text font list */
|
||||
|
||||
/* Private data -- Dont even look past this comment -- */
|
||||
} XfeTextCaptionPart;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaptionRec */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
typedef struct _XfeTextCaptionRec
|
||||
{
|
||||
CorePart core;
|
||||
CompositePart composite;
|
||||
ConstraintPart constraint;
|
||||
XmManagerPart manager;
|
||||
XfeManagerPart xfe_manager;
|
||||
XfeCaptionPart xfe_caption;
|
||||
XfeTextCaptionPart xfe_text_caption;
|
||||
} XfeTextCaptionRec;
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* XfeTextCaptionPart Access Macro */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define _XfeTextCaptionPart(w) \
|
||||
&(((XfeTextCaptionWidget) w) -> xfe_text_caption)
|
||||
|
||||
XFE_END_CPLUSPLUS_PROTECTION
|
||||
|
||||
#endif /* end TextCaptionP.h */
|
||||
|
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include <Xm/TextF.h>
|
||||
#include <Xm/List.h>
|
||||
#include <Xm/RepType.h>
|
||||
|
||||
#include <Xfe/Button.h>
|
||||
#include <Xfe/Arrow.h>
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
/* -*- 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: <Xfe/ComboBoxStringDefs.h> */
|
||||
/* Description: XfeComboBox string definitions. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _XfeComboBoxStringDefs_h_ /* start ComboBoxStringDefs.h*/
|
||||
#define _XfeComboBoxStringDefs_h_
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Callback Names */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Resource Names */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define XmNarrow "arrow"
|
||||
#define XmNlistFontList "listFontList"
|
||||
#define XmNshareShell "shareShell"
|
||||
#define XmNshell "shell"
|
||||
#define XmNtitleShadowThickness "titleShadowThickness"
|
||||
#define XmNtitleShadowType "titleShadowType"
|
||||
#define XmNtitleFontList "titleFontList"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Class Names */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define XmCListFontList "ListFontList"
|
||||
#define XmCTitleFontList "TitleFontList"
|
||||
#define XmCShareShell "ShareShell"
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Things that conflict with Motif 2.x */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#if XmVersion < 2000
|
||||
#define XmNcomboBoxType "comboBoxType"
|
||||
#define XmCComboBoxType "ComboBoxType"
|
||||
#define XmRComboBoxType "ComboBoxType"
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* */
|
||||
/* Things that conflict elsewhere */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#ifndef XmNlist
|
||||
#define XmNlist "list"
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* end ComboBoxStringDefs.h */
|
|
@ -0,0 +1,55 @@
|
|||
#!gmake
|
||||
#
|
||||
# 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: Makefile
|
||||
# Description: Makefile for XfeComboBox library
|
||||
# Author: Ramiro Estrugo <ramiro@netscape.com>
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
|
||||
DEPTH = ../../../..
|
||||
|
||||
# XfeWidgets headers are exported to dist/public/XfeComboBox/Xfe. We use
|
||||
# the 'Xfe' directory to avoid the hasstle of having to remember yet another
|
||||
# include prefix.
|
||||
MODULE = XfeComboBox/Xfe
|
||||
|
||||
LIBRARY_NAME = XfeComboBox
|
||||
|
||||
CSRCS = \
|
||||
ComboBox.c \
|
||||
FancyBox.c \
|
||||
$(NULL)
|
||||
|
||||
REQUIRES = \
|
||||
XfeComboBox \
|
||||
XfeWidgets
|
||||
|
||||
|
||||
EXPORTS = \
|
||||
ComboBox.h \
|
||||
ComboBoxP.h \
|
||||
ComboBoxStringDefs.h \
|
||||
FancyBox.h \
|
||||
FancyBoxP.h \
|
||||
$(NULL)
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
|
@ -29,6 +29,7 @@ DEPTH = ../../../..
|
|||
ifdef eXFE_WIDGETS_BUILD_UNUSED
|
||||
UNUSED_DIRS = \
|
||||
XfeComboBox \
|
||||
XfeCaption \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ DEPTH = ../../../../..
|
|||
ifdef XFE_WIDGETS_BUILD_UNUSED
|
||||
UNUSED_CSRCS = \
|
||||
ChromeTest.c \
|
||||
ComboBoxTest.c \
|
||||
FontChooserTest.c \
|
||||
FrameShellTest.c \
|
||||
$(NULL)
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
! -*- Mode: Fundamental; tab-width: 4; indent-tabs-mode: nil -*-
|
||||
!
|
||||
! 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.
|
||||
|
||||
|
||||
CaptionTest*MainForm.width: 800
|
||||
CaptionTest*MainForm.height: 400
|
||||
CaptionTest*MainForm.background: Gray60
|
||||
CaptionTest*MainForm.shadowThickness: 0
|
||||
CaptionTest*MainForm.shadowType: shadow_in
|
||||
|
||||
CaptionTest*fontList: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*
|
||||
CaptionTest*labelFontList: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*
|
||||
CaptionTest*foreground: Black
|
||||
|
||||
CaptionTest*Caption.bottomAttachment: attach_form
|
||||
CaptionTest*Caption.leftAttachment: attach_form
|
||||
CaptionTest*Caption.rightAttachment: attach_form
|
||||
CaptionTest*Caption.topAttachment: attach_form
|
||||
|
||||
CaptionTest*Caption.bottomOffset: 10
|
||||
CaptionTest*Caption.leftOffset: 10
|
||||
CaptionTest*Caption.rightOffset: 10
|
||||
CaptionTest*Caption.topOffset: 10
|
||||
|
||||
CaptionTest*Caption*background: Gray60
|
||||
|
||||
CaptionTest*Caption.usePreferredWidth: false
|
||||
CaptionTest*Caption.usePreferredHeight: false
|
||||
|
||||
CaptionTest*Caption.titleFontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
|
||||
CaptionTest*Caption.subTitleFontList: -*-helvetica-medium-r-*-*-*-100-*-*-*-*-iso8859-*
|
||||
|
||||
!CaptionTest*Caption.titleDirection: string_direction_r_to_l
|
||||
CaptionTest*Caption.titleAlignment: alignment_beginning
|
||||
CaptionTest*Caption.subTitleAlignment: alignment_end
|
||||
|
||||
CaptionTest*Caption.frameThickness: 3
|
||||
CaptionTest*Caption.frameType: shadow_etched_in
|
||||
|
||||
|
||||
CaptionTest*Caption.titleWidgetName: Caca
|
||||
CaptionTest*Caption.subTitleWidgetName: Vaca
|
||||
!CaptionTest*Caption*Caca*background: red
|
||||
|
||||
|
||||
!CaptionTest*CaptionselectBackground: #FFFFCC
|
||||
!CaptionTest*Caption*selectForeground: Black
|
||||
!CaptionTest*Caption.background: red
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/* -*- 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: CaptionTest.c */
|
||||
/* Description: Test for XfeCaption widget. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include <Xfe/XfeTest.h>
|
||||
#include <Xfe/Caption.h>
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
int
|
||||
main(int argc,char *argv[])
|
||||
{
|
||||
Widget form;
|
||||
Widget frame;
|
||||
Widget pref_item;
|
||||
|
||||
XfeAppCreateSimple("CaptionTest",&argc,argv,"MainFrame",&frame,&form);
|
||||
|
||||
pref_item = XtVaCreateManagedWidget("Caption",
|
||||
xfeCaptionWidgetClass,
|
||||
form,
|
||||
NULL);
|
||||
|
||||
XtPopup(frame,XtGrabNone);
|
||||
|
||||
XfeAppMainLoop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
|
@ -0,0 +1,44 @@
|
|||
#! gmake
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
#
|
||||
|
||||
DEPTH = ../../../../..
|
||||
|
||||
CSRCS = \
|
||||
CaptionTest.c \
|
||||
TextCaptionTest.c \
|
||||
$(NULL)
|
||||
|
||||
REQUIRES = \
|
||||
XfeTest \
|
||||
XfeCaption \
|
||||
XfeBm \
|
||||
XfeWidgets
|
||||
|
||||
STATIC_PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=.static))
|
||||
SHARED_PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=.shared))
|
||||
|
||||
include $(DEPTH)/config/rules.mk
|
||||
include $(DEPTH)/cmd/xfe/XfeWidgets/XfeWidgets.mk
|
||||
|
||||
all:: $(STATIC_PROGS) $(SHARED_PROGS)
|
||||
install:: $(STATIC_PROGS) $(SHARED_PROGS)
|
||||
|
||||
shared: $(SHARED_PROGS)
|
||||
static: $(STATIC_PROGS)
|
|
@ -0,0 +1,80 @@
|
|||
! -*- Mode: Fundamental; tab-width: 4; indent-tabs-mode: nil -*-
|
||||
!
|
||||
! 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.
|
||||
|
||||
|
||||
TextCaptionTest*MainForm.width: 800
|
||||
TextCaptionTest*MainForm.height: 400
|
||||
TextCaptionTest*MainForm.background: Gray60
|
||||
TextCaptionTest*MainForm.shadowThickness: 0
|
||||
TextCaptionTest*MainForm.shadowType: shadow_in
|
||||
|
||||
!TextCaptionTest*fontList: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*
|
||||
!TextCaptionTest*labelFontList: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*
|
||||
TextCaptionTest*foreground: Black
|
||||
|
||||
TextCaptionTest*titleFontList: -*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*
|
||||
|
||||
TextCaptionTest*textFontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*
|
||||
|
||||
TextCaptionTest*XfeTextCaption*background: CadetBlue
|
||||
TextCaptionTest*XfeTextCaption*CaptionText.shadowThickness: 1
|
||||
TextCaptionTest*XfeTextCaption.shadowThickness: 1
|
||||
|
||||
TextCaptionTest*XfeTextCaption.childResize: true
|
||||
!TextCaptionTest*XfeTextCaption.maxChildWidth: 400
|
||||
|
||||
TextCaptionTest*XfeTextCaption.usePreferredWidth: false
|
||||
TextCaptionTest*XfeTextCaption.usePreferredHeight: true
|
||||
|
||||
|
||||
TextCaptionTest*Caption1.topAttachment: attach_form
|
||||
TextCaptionTest*Caption1.bottomAttachment: attach_none
|
||||
TextCaptionTest*Caption1.leftAttachment: attach_form
|
||||
TextCaptionTest*Caption1.rightAttachment: attach_form
|
||||
|
||||
TextCaptionTest*Caption1.bottomOffset: 10
|
||||
TextCaptionTest*Caption1.leftOffset: 10
|
||||
TextCaptionTest*Caption1.rightOffset: 10
|
||||
TextCaptionTest*Caption1.topOffset: 10
|
||||
|
||||
TextCaptionTest*Caption2.topAttachment: attach_widget
|
||||
TextCaptionTest*Caption2.bottomAttachment: attach_none
|
||||
TextCaptionTest*Caption2.leftAttachment: attach_form
|
||||
TextCaptionTest*Caption2.rightAttachment: attach_form
|
||||
|
||||
TextCaptionTest*Caption2.topWidget: Caption1
|
||||
|
||||
TextCaptionTest*Caption2.bottomOffset: 10
|
||||
TextCaptionTest*Caption2.leftOffset: 10
|
||||
TextCaptionTest*Caption2.rightOffset: 10
|
||||
TextCaptionTest*Caption2.topOffset: 10
|
||||
|
||||
TextCaptionTest*Caption3.topAttachment: attach_widget
|
||||
TextCaptionTest*Caption3.bottomAttachment: attach_none
|
||||
TextCaptionTest*Caption3.leftAttachment: attach_form
|
||||
TextCaptionTest*Caption3.rightAttachment: attach_form
|
||||
|
||||
TextCaptionTest*Caption3.topWidget: Caption2
|
||||
|
||||
TextCaptionTest*Caption3.bottomOffset: 10
|
||||
TextCaptionTest*Caption3.leftOffset: 10
|
||||
TextCaptionTest*Caption3.rightOffset: 10
|
||||
TextCaptionTest*Caption3.topOffset: 10
|
||||
|
||||
TextCaptionTest*Caption1.titleString: Phone Number:
|
||||
TextCaptionTest*Caption2.titleString: Address:
|
||||
TextCaptionTest*Caption3.titleString: Name:
|
|
@ -0,0 +1,66 @@
|
|||
/* -*- 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: TextCaptionTest.c */
|
||||
/* Description: Test for XfeTextCaption widget. */
|
||||
/* Author: Ramiro Estrugo <ramiro@netscape.com> */
|
||||
/* */
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#include <Xfe/XfeTest.h>
|
||||
#include <Xfe/TextCaption.h>
|
||||
|
||||
static Widget create_caption (Widget,String);
|
||||
|
||||
static Widget _captions[3];
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
int
|
||||
main(int argc,char *argv[])
|
||||
{
|
||||
Widget form;
|
||||
Widget frame;
|
||||
|
||||
XfeAppCreateSimple("TextCaptionTest",&argc,argv,"MainFrame",&frame,&form);
|
||||
|
||||
_captions[0] = create_caption(form,"Caption1");
|
||||
_captions[1] = create_caption(form,"Caption2");
|
||||
_captions[2] = create_caption(form,"Caption3");
|
||||
|
||||
XtPopup(frame,XtGrabNone);
|
||||
|
||||
XfeAppMainLoop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
||||
static Widget
|
||||
create_caption(Widget pw,String name)
|
||||
{
|
||||
Widget caption;
|
||||
|
||||
caption = XtVaCreateManagedWidget(name,
|
||||
xfeTextCaptionWidgetClass,
|
||||
pw,
|
||||
NULL);
|
||||
|
||||
return caption;
|
||||
}
|
||||
/*----------------------------------------------------------------------*/
|
Загрузка…
Ссылка в новой задаче