123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- /*
- * CDE - Common Desktop Environment
- *
- * Copyright (c) 1993-2012, The Open Group. All rights reserved.
- *
- * These libraries and programs are free software; you can
- * redistribute them and/or modify them under the terms of the GNU
- * Lesser General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * These libraries and programs are distributed in the hope that
- * they will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with these libraries and programs; if not, write
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
- * Floor, Boston, MA 02110-1301 USA
- */
- /* util.h 1.5 - Fujitsu source for CDEnext 96/09/18 13:59:22 */
- /* $XConsortium: util.h /main/5 1996/09/19 19:42:11 cde-fuj $ */
- /*
- * (c) Copyright 1995 FUJITSU LIMITED
- * This is source code modified by FUJITSU LIMITED under the Joint
- * Development Agreement for the CDEnext PST.
- * This is unpublished proprietary source code of FUJITSU LIMITED
- */
- #include <Xm/Xm.h>
- #include <Xm/XmStrDefs.h>
- #define MarginWidth 4
- #define RowMarginWidth 11
- #define MarginHeight 11
- #define HeightSpace 4
- #define MinimumSpace 4
- /***** Exclusive Set *****/
- typedef struct _ToggleButt {
- Widget w;
- char * label;
- XtPointer clientdata;
- String name;
- XtArgVal sensitive;
- XtCallbackProc cb;
- XtArgVal set;
- } ToggleButt;
- #define EXARGS( clientdata, name, sensitive, cb, set ){ \
- NULL, \
- (char *) "", \
- (XtPointer) clientdata, \
- name, \
- (XtArgVal) sensitive, \
- (XtCallbackProc) cb, \
- (XtArgVal) set \
- }
- typedef struct _RadioButt {
- String label;
- ToggleButt *items;
- int items_cnt;
- String name;
- Widget w;
- XtPointer udata;
- } RadioButt;
- #define EXCLUSIVE(a) { 0, a, XtNumber(a), 0, 0, 0 }
- #define ExclusiveItems ToggleButt
- #define Exclusive RadioButt
- #define SetItemLabel(b,n,l) (b)->items[(n)].label = (l)
- /***** PushButton Set *****/
- typedef struct _ButtonItems {
- char * label;
- XtCallbackProc cb;
- XtPointer clientdata;
- XtArgVal mnemonic;
- XtArgVal sensitive;
- XtArgVal deflt;
- } ButtonItems;
- #define BTNARGS( cb, clientdata, mnumonic, sensitive, deflt ) { \
- (char *) "", \
- (XtCallbackProc) cb, \
- (XtPointer) clientdata, \
- (XtArgVal) mnumonic, \
- (XtArgVal) sensitive, \
- (XtArgVal) deflt \
- }
- typedef struct _Button {
- Widget *w;
- ButtonItems *items;
- int itemcnt;
- } Button;
- #define BUTTONS( items ) { 0, items, XtNumber(items) }
- /***** MenuButton Set *****/
- typedef struct _menuButtonItems {
- char *label;
- char mnemonic;
- Widget menu;
- } menuButtonItems;
- #define MENUBTNARGS( mnumonic ) { \
- "", \
- mnumonic, \
- NULL, \
- }
- typedef struct _MButton {
- menuButtonItems *items;
- int itemcnt;
- } MButton;
- #define MBUTTONS(items) {items,XtNumber((items))}
- /***** NoticeButton Set *****/
- typedef struct _NoticeButton {
- char *label;
- void (*cb)();
- } NoticeButton;
- #define NBTNARGS( cb, clientdata, mnumonic, sensitive, deflt) { \
- "", \
- cb, \
- }
- typedef struct _NButton {
- NoticeButton *items;
- int itemcnt;
- } NButton;
- #define NBUTTONS(items) {items,XtNumber((items))}
- /***** TextField Set *****/
- typedef struct _TextField {
- Widget w1;
- Widget w2;
- String label;
- } TextField;
- /***** Function Type *****/
- #define D_WARNING XmDIALOG_WARNING
- #define D_QUESTION XmDIALOG_QUESTION
- #define D_ERROR XmDIALOG_ERROR
- #define D_TEMPLATE XmDIALOG_TEMPLATE
- #define L_VERTICAL XmVERTICAL
- #define L_HORIZONTAL XmHORIZONTAL
- #ifdef USE_MACRO
- #define AddLeftAttachWidget( w, ref, offset ) XtVaSetValues( w, \
- XmNleftAttachment, XmATTACH_WIDGET, \
- XmNleftWidget, ref, \
- XmNleftOffset, offset, \
- 0)
- #define AddLeftAttachForm( w, offset ) XtVaSetValues( w, \
- XmNleftAttachment, XmATTACH_FORM, \
- XmNleftOffset, offset, \
- 0)
- #define AddTopAttachWidget( w, ref, offset ) XtVaSetValues( w, \
- XmNtopAttachment, XmATTACH_WIDGET, \
- XmNtopWidget, ref, \
- XmNtopOffset, offset, \
- 0)
- #define AddTopAttachForm( w, offset ) XtVaSetValues( w, \
- XmNtopAttachment, XmATTACH_FORM, \
- XmNtopOffset, offset, \
- 0)
- #define AddRightAttachWidget( w, ref, offset ) XtVaSetValues( w, \
- XmNrightAttachment, XmATTACH_WIDGET, \
- XmNrightWidget, ref, \
- XmNrightOffset, offset, \
- 0)
- #define AddRightAttachForm( w, offset ) XtVaSetValues( w, \
- XmNrightAttachment, XmATTACH_FORM, \
- XmNrightOffset, offset, \
- 0)
- #define AddBottomAttachForm( w, offset ) XtVaSetValues( w, \
- XmNbottomAttachment, XmATTACH_FORM, \
- XmNbottomOffset, offset, \
- 0)
- #endif /* USE_MACRO */
- extern Widget CreateDrawingArea(Widget owner,
- String name,
- int width,
- int height,
- void (*proc)(),
- int val);
- extern Widget CreateDialogAndButtons(Widget owner,
- String name,
- void (*delcb)(),
- Button *btns,
- int btns_cnt,
- Widget *pop);
- extern String GetTextFieldValue(TextField *textf);
- extern Widget CreateTemplateDialog(Widget w,
- char *message,
- unsigned char type,
- NButton *button,
- String title,
- Widget *pop);
- extern Widget CreateScrollBase(Widget owner,
- String name,
- int min,
- int max,
- int val,
- int vcnt,
- void (*sbproc)());
- Widget CreateCaptionFrame(Widget owner,
- String name,
- String labelstr,
- int type,
- int thickness);
- void CreateTextField(Widget owner,
- String name,
- String labelstr,
- TextField *data,
- int maxlength);
- void CreateMenuButtons(Widget owner, Button *buttons, int buttons_cnt);
- Widget GuiInitialize(XtAppContext *app,
- String class_name,
- int *ac,
- String av[]);
- void AddLeftAttachWidget(Widget w, Widget ref, int offset);
- void AddLeftAttachForm(Widget w, int offset);
- void AddTopAttachWidget(Widget w, Widget ref, int offset);
- void AddTopAttachForm(Widget w, int offset);
- void AddRightAttachWidget(Widget w, Widget ref, int offset);
- void AddRightAttachForm(Widget w, int offset);
- void AddBottomAttachForm(Widget w, int offset);
- void PopupDialog(Widget w);
- void PopdownDialog(Widget w);
- void ForcePopdownDialog(Widget w);
- void SetLabelString(Widget w, String str);
- void SetFooterString(Widget w, String str);
- void PopupNotice(Widget owner,
- char *message,
- unsigned char type,
- NButton *button,
- Boolean do_format,
- String title);
- void AddDeleteProc(Widget w, void (*delcb)());
- Widget CreateMenuBarAndFooterMessageForm(Widget owner,
- String name,
- MButton *buttons,
- int bcnt,
- Widget *pop,
- Widget *footer);
- Widget GetMenuWidget(MButton *buttons, int buttons_num);
- Widget CreateForm(Widget owner, String name);
- Widget CreateLabel(Widget owner, String name, String str);
- Widget CreateFrame(Widget owner,
- String name,
- int type,
- int thickness);
- Widget CreateRowColumn(Widget owner,
- String name,
- int layout,
- int space,
- int marginw,
- int marginh);
- Widget CreateScrollBar(Widget owner,
- String name,
- int height,
- int val,
- int min,
- int max,
- void (*proc)());
|