7
#include <WINGs/WUtil.h>
10
#define WINGS_H_VERSION 20040406
15
#endif /* __cplusplus */
21
typedef unsigned long WMPixel;
43
#define ClientMessageMask (1L<<30)
46
#ifndef _DEFINED_GNUSTEP_WINDOW_INFO
47
#define _DEFINED_GNUSTEP_WINDOW_INFO
49
* Window levels are taken from GNUstep (gui/AppKit/NSWindow.h)
50
* NSDesktopWindowLevel intended to be the level at which things
51
* on the desktop sit ... so you should be able
52
* to put a desktop background just below it.
54
* Applications are actually permitted to use any value in the
55
* range INT_MIN+1 to INT_MAX
58
WMDesktopWindowLevel = -1000, /* GNUstep addition */
59
WMNormalWindowLevel = 0,
60
WMFloatingWindowLevel = 3,
61
WMSubmenuWindowLevel = 3,
62
WMTornOffMenuWindowLevel = 3,
63
WMMainMenuWindowLevel = 20,
64
WMDockWindowLevel = 21, /* Deprecated - use NSStatusWindowLevel */
65
WMStatusWindowLevel = 21,
66
WMModalPanelWindowLevel = 100,
67
WMPopUpMenuWindowLevel = 101,
68
WMScreenSaverWindowLevel = 1000
72
/* window attributes */
74
WMBorderlessWindowMask = 0,
75
WMTitledWindowMask = 1,
76
WMClosableWindowMask = 2,
77
WMMiniaturizableWindowMask = 4,
78
WMResizableWindowMask = 8,
79
WMIconWindowMask = 64,
80
WMMiniWindowMask = 128
87
/* 0 is reserved for internal use */
93
WBTMomentaryChange = 6,
98
/* button behaviour masks */
100
WBBSpringLoadedMask = (1 << 0),
101
WBBPushInMask = (1 << 1),
102
WBBPushChangeMask = (1 << 2),
103
WBBPushLightMask = (1 << 3),
104
WBBStateLightMask = (1 << 5),
105
WBBStateChangeMask = (1 << 6),
106
WBBStatePushMask = (1 << 7)
110
/* frame title positions */
134
/* alignment types */
139
WAJustified /* not valid for textfields */
155
/* scroller arrow position */
160
} WMScrollArrowPosition;
175
/* usable scroller parts */
180
} WMUsableScrollerParts;
192
WTTopTabsBevelBorder,
199
/* text movement types */
201
WMIllegalTextMovement,
202
WMReturnTextMovement,
203
WMEscapeTextMovement,
205
WMBacktabTextMovement,
212
/* text field special events */
220
WLNotFound = -1 /* element was not found in WMList */
224
/* drag operations */
232
} WMDragOperationType;
236
WMGrayModeColorPanel = 1,
237
WMRGBModeColorPanel = 2,
238
WMCMYKModeColorPanel = 3,
239
WMHSBModeColorPanel = 4,
240
WMCustomPaletteModeColorPanel = 5,
241
WMColorListModeColorPanel = 6,
242
WMWheelModeColorPanel = 7
248
#define WSIReturnArrow 1
249
#define WSIHighlightedReturnArrow 2
250
#define WSIScrollerDimple 3
251
#define WSIArrowLeft 4
252
#define WSIHighlightedArrowLeft 5
253
#define WSIArrowRight 6
254
#define WSIHighlightedArrowRight 7
256
#define WSIHighlightedArrowUp 9
257
#define WSIArrowDown 10
258
#define WSIHighlightedArrowDown 11
259
#define WSICheckMark 12
262
WLDSSelected = (1 << 16),
263
WLDSDisabled = (1 << 17),
264
WLDSFocused = (1 << 18),
265
WLDSIsBranch = (1 << 19)
268
/* alert panel return values */
278
/* types of input observers */
280
WIReadMask = (1 << 0),
281
WIWriteMask = (1 << 1),
282
WIExceptMask = (1 << 2)
302
WC_Matrix = 12, /* not ready */
305
WC_ProgressIndicator = 15,
312
/* All widgets must start with the following structure
313
* in that order. Used for typecasting to get some generic data */
314
typedef struct W_WidgetType {
321
#define WMWidgetClass(widget) (((W_WidgetType*)(widget))->widgetClass)
322
#define WMWidgetView(widget) (((W_WidgetType*)(widget))->view)
327
typedef void WMWidget;
329
typedef struct W_Pixmap WMPixmap;
330
typedef struct W_Font WMFont;
331
typedef struct W_Color WMColor;
333
typedef struct W_Screen WMScreen;
335
typedef struct W_View WMView;
337
typedef struct W_Window WMWindow;
338
typedef struct W_Frame WMFrame;
339
typedef struct W_Button WMButton;
340
typedef struct W_Label WMLabel;
341
typedef struct W_TextField WMTextField;
342
typedef struct W_Scroller WMScroller;
343
typedef struct W_ScrollView WMScrollView;
344
typedef struct W_List WMList;
345
typedef struct W_Browser WMBrowser;
346
typedef struct W_PopUpButton WMPopUpButton;
347
typedef struct W_ProgressIndicator WMProgressIndicator;
348
typedef struct W_ColorWell WMColorWell;
349
typedef struct W_Slider WMSlider;
350
typedef struct W_Matrix WMMatrix; /* not ready */
351
typedef struct W_SplitView WMSplitView;
352
typedef struct W_TabView WMTabView;
353
typedef struct W_Ruler WMRuler;
354
typedef struct W_Text WMText;
355
typedef struct W_Box WMBox;
359
typedef struct W_TabViewItem WMTabViewItem;
360
typedef struct W_MenuItem WMMenuItem;
363
typedef struct W_FilePanel WMFilePanel;
364
typedef WMFilePanel WMOpenPanel;
365
typedef WMFilePanel WMSavePanel;
367
typedef struct W_FontPanel WMFontPanel;
369
typedef struct W_ColorPanel WMColorPanel;
372
/* item for WMList */
373
typedef struct WMListItem {
375
void *clientData; /* ptr for user clientdata. */
377
unsigned int uflags:16; /* flags for the user */
378
unsigned int selected:1;
379
unsigned int disabled:1;
380
unsigned int isBranch:1;
381
unsigned int loaded:1;
384
/* struct for message panel */
385
typedef struct WMAlertPanel {
386
WMWindow *win; /* window */
389
WMButton *defBtn; /* default button */
390
WMButton *altBtn; /* alternative button */
391
WMButton *othBtn; /* other button */
392
WMLabel *iLbl; /* icon label */
393
WMLabel *tLbl; /* title label */
394
WMLabel *mLbl; /* message label */
395
WMFrame *line; /* separator */
396
short result; /* button that was pushed */
400
typedef struct WMGenericPanel {
419
typedef struct WMInputPanel {
420
WMWindow *win; /* window */
421
WMButton *defBtn; /* default button */
422
WMButton *altBtn; /* alternative button */
423
WMLabel *tLbl; /* title label */
424
WMLabel *mLbl; /* message label */
425
WMTextField *text; /* text field */
426
short result; /* button that was pushed */
430
/* Basic font styles. Used to easily get one style from another */
431
typedef enum WMFontStyle {
441
WMArray *tabs; /* a growable array of tabstops */
442
unsigned short left; /* left margin marker */
443
unsigned short right; /* right margin marker */
444
unsigned short first; /* indentation marker for first line only */
445
unsigned short body; /* body indentation marker */
446
unsigned short retainCount;
448
/* All indentation and tab markers are _relative_ to the left margin marker */
451
typedef void WMEventProc(XEvent *event, void *clientData);
453
typedef void WMEventHook(XEvent *event);
455
/* self is set to the widget from where the callback is being called and
456
* clientData to the data set to with WMSetClientData() */
457
typedef void WMAction(WMWidget *self, void *clientData);
459
/* same as WMAction, but for stuff that arent widgets */
460
typedef void WMAction2(void *self, void *clientData);
463
/* delegate method like stuff */
464
typedef void WMListDrawProc(WMList *lPtr, int index, Drawable d, char *text,
465
int state, WMRect *rect);
469
typedef void WMSplitViewResizeSubviewsProc(WMSplitView *sPtr,
470
unsigned int oldWidth,
471
unsigned int oldHeight);
474
typedef void WMSplitViewConstrainProc(WMSplitView *sPtr, int dividerIndex,
475
int *minSize, int *maxSize);
477
typedef WMWidget* WMMatrixCreateCellProc(WMMatrix *mPtr);
482
typedef struct WMBrowserDelegate {
485
void (*createRowsForColumn)(struct WMBrowserDelegate *self,
486
WMBrowser *sender, int column, WMList *list);
488
char* (*titleOfColumn)(struct WMBrowserDelegate *self, WMBrowser *sender,
491
void (*didScroll)(struct WMBrowserDelegate *self, WMBrowser *sender);
493
void (*willScroll)(struct WMBrowserDelegate *self, WMBrowser *sender);
497
typedef struct WMTextFieldDelegate {
500
void (*didBeginEditing)(struct WMTextFieldDelegate *self,
501
WMNotification *notif);
503
void (*didChange)(struct WMTextFieldDelegate *self,
504
WMNotification *notif);
506
void (*didEndEditing)(struct WMTextFieldDelegate *self,
507
WMNotification *notif);
509
Bool (*shouldBeginEditing)(struct WMTextFieldDelegate *self,
512
Bool (*shouldEndEditing)(struct WMTextFieldDelegate *self,
514
} WMTextFieldDelegate;
517
typedef struct WMTextDelegate {
520
Bool (*didDoubleClickOnPicture)(struct WMTextDelegate *self,
527
typedef struct WMTabViewDelegate {
530
void (*didChangeNumberOfItems)(struct WMTabViewDelegate *self,
533
void (*didSelectItem)(struct WMTabViewDelegate *self, WMTabView *tabView,
534
WMTabViewItem *item);
536
Bool (*shouldSelectItem)(struct WMTabViewDelegate *self, WMTabView *tabView,
537
WMTabViewItem *item);
539
void (*willSelectItem)(struct WMTabViewDelegate *self, WMTabView *tabView,
540
WMTabViewItem *item);
546
typedef void WMSelectionCallback(WMView *view, Atom selection, Atom target,
547
Time timestamp, void *cdata, WMData *data);
550
typedef struct WMSelectionProcs {
551
WMData* (*convertSelection)(WMView *view, Atom selection, Atom target,
552
void *cdata, Atom *type);
553
void (*selectionLost)(WMView *view, Atom selection, void *cdata);
554
void (*selectionDone)(WMView *view, Atom selection, Atom target,
559
typedef struct W_DraggingInfo WMDraggingInfo;
562
/* links a label to a dnd operation. */
563
typedef struct W_DragOperationtItem WMDragOperationItem;
566
typedef struct W_DragSourceProcs {
567
WMArray* (*dropDataTypes)(WMView *self);
568
WMDragOperationType (*wantedDropOperation)(WMView *self);
569
WMArray* (*askedOperations)(WMView *self);
570
Bool (*acceptDropOperation)(WMView *self, WMDragOperationType operation);
571
void (*beganDrag)(WMView *self, WMPoint *point);
572
void (*endedDrag)(WMView *self, WMPoint *point, Bool deposited);
573
WMData* (*fetchDragData)(WMView *self, char *type);
574
/*Bool (*ignoreModifierKeysWhileDragging)(WMView *view);*/
579
typedef struct W_DragDestinationProcs {
580
void (*prepareForDragOperation)(WMView *self);
581
WMArray* (*requiredDataTypes)(WMView *self, WMDragOperationType request,
582
WMArray *sourceDataTypes);
583
WMDragOperationType (*allowedOperation)(WMView *self,
584
WMDragOperationType request,
585
WMArray *sourceDataTypes);
586
Bool (*inspectDropData)(WMView *self, WMArray *dropData);
587
void (*performDragOperation)(WMView *self, WMArray *dropData,
588
WMArray *operations, WMPoint *dropLocation);
589
void (*concludeDragOperation)(WMView *self);
590
} WMDragDestinationProcs;
593
/* ...................................................................... */
596
WMPoint wmkpoint(int x, int y);
598
WMSize wmksize(unsigned int width, unsigned int height);
600
WMRect wmkrect(int x, int y, unsigned int width, unsigned int height);
602
#ifdef ANSI_C_DOESNT_LIKE_IT_THIS_WAY
603
#define wmksize(width, height) (WMSize){(width), (height)}
604
#define wmkpoint(x, y) (WMPoint){(x), (y)}
607
/* ....................................................................... */
611
void WMInitializeApplication(char *applicationName, int *argc, char **argv);
613
void WMSetResourcePath(char *path);
615
/* don't free the returned string */
616
char* WMGetApplicationName();
618
/* Try to locate resource file. ext may be NULL */
619
char* WMPathForResourceOfType(char *resource, char *ext);
622
WMScreen* WMOpenScreen(const char *display);
624
WMScreen* WMCreateScreenWithRContext(Display *display, int screen,
627
WMScreen* WMCreateScreen(Display *display, int screen);
629
WMScreen* WMCreateSimpleApplicationScreen(Display *display);
631
void WMScreenMainLoop(WMScreen *scr);
633
void WMBreakModalLoop(WMScreen *scr);
635
void WMRunModalLoop(WMScreen *scr, WMView *view);
637
RContext* WMScreenRContext(WMScreen *scr);
639
Display* WMScreenDisplay(WMScreen *scr);
641
int WMScreenDepth(WMScreen *scr);
645
void WMSetApplicationIconImage(WMScreen *app, RImage *image);
647
RImage* WMGetApplicationIconImage(WMScreen *app);
649
void WMSetApplicationIconPixmap(WMScreen *app, WMPixmap *icon);
651
WMPixmap* WMGetApplicationIconPixmap(WMScreen *app);
653
/* If color==NULL it will use the default color for panels: ae/aa/ae */
654
WMPixmap* WMCreateApplicationIconBlendedPixmap(WMScreen *scr, RColor *color);
656
void WMSetApplicationIconWindow(WMScreen *scr, Window window);
658
void WMSetFocusToWidget(WMWidget *widget);
660
WMEventHook* WMHookEventHandler(WMEventHook *handler);
662
int WMHandleEvent(XEvent *event);
664
Bool WMScreenPending(WMScreen *scr);
666
void WMCreateEventHandler(WMView *view, unsigned long mask,
667
WMEventProc *eventProc, void *clientData);
669
void WMDeleteEventHandler(WMView *view, unsigned long mask,
670
WMEventProc *eventProc, void *clientData);
672
int WMIsDoubleClick(XEvent *event);
674
/*int WMIsTripleClick(XEvent *event);*/
676
void WMNextEvent(Display *dpy, XEvent *event);
678
void WMMaskEvent(Display *dpy, long mask, XEvent *event);
681
/* ....................................................................... */
684
Bool WMCreateSelectionHandler(WMView *view, Atom selection, Time timestamp,
685
WMSelectionProcs *procs, void *cdata);
687
void WMDeleteSelectionHandler(WMView *view, Atom selection, Time timestamp);
689
Bool WMRequestSelection(WMView *view, Atom selection, Atom target,
690
Time timestamp, WMSelectionCallback *callback,
694
extern char *WMSelectionOwnerDidChangeNotification;
696
/* ....................................................................... */
698
WMArray* WMCreateDragOperationArray(int initialSize);
700
WMDragOperationItem* WMCreateDragOperationItem(WMDragOperationType type,
703
WMDragOperationType WMGetDragOperationItemType(WMDragOperationItem* item);
705
char* WMGetDragOperationItemText(WMDragOperationItem* item);
707
void WMSetViewDragImage(WMView* view, WMPixmap *dragImage);
709
void WMReleaseViewDragImage(WMView* view);
711
void WMSetViewDragSourceProcs(WMView *view, WMDragSourceProcs *procs);
713
Bool WMIsDraggingFromView(WMView *view);
715
void WMDragImageFromView(WMView *view, XEvent *event);
717
/* Create a drag handler, associating drag event masks with dragEventProc */
718
void WMCreateDragHandler(WMView *view, WMEventProc *dragEventProc, void *clientData);
720
void WMDeleteDragHandler(WMView *view, WMEventProc *dragEventProc, void *clientData);
722
/* set default drag handler for view */
723
void WMSetViewDraggable(WMView *view, WMDragSourceProcs *procs, WMPixmap *dragImage);
725
void WMUnsetViewDraggable(WMView *view);
727
void WMRegisterViewForDraggedTypes(WMView *view, WMArray *acceptedTypes);
729
void WMUnregisterViewDraggedTypes(WMView *view);
731
void WMSetViewDragDestinationProcs(WMView *view, WMDragDestinationProcs *procs);
733
/* ....................................................................... */
735
Bool WMIsAntialiasingEnabled(WMScreen *scrPtr);
737
/* ....................................................................... */
739
WMFont* WMCreateFont(WMScreen *scrPtr, char *fontName);
741
WMFont* WMCopyFontWithStyle(WMScreen *scrPtr, WMFont *font, WMFontStyle style);
743
WMFont* WMRetainFont(WMFont *font);
745
void WMReleaseFont(WMFont *font);
747
char* WMGetFontName(WMFont *font);
749
unsigned int WMFontHeight(WMFont *font);
751
void WMSetWidgetDefaultFont(WMScreen *scr, WMFont *font);
753
void WMSetWidgetDefaultBoldFont(WMScreen *scr, WMFont *font);
755
WMFont* WMDefaultSystemFont(WMScreen *scrPtr);
757
WMFont* WMDefaultBoldSystemFont(WMScreen *scrPtr);
759
WMFont* WMSystemFontOfSize(WMScreen *scrPtr, int size);
761
WMFont* WMBoldSystemFontOfSize(WMScreen *scrPtr, int size);
763
/* ....................................................................... */
765
WMPixmap* WMRetainPixmap(WMPixmap *pixmap);
767
void WMReleasePixmap(WMPixmap *pixmap);
769
WMPixmap* WMCreatePixmap(WMScreen *scrPtr, int width, int height, int depth,
772
WMPixmap* WMCreatePixmapFromXPixmaps(WMScreen *scrPtr, Pixmap pixmap,
773
Pixmap mask, int width, int height,
776
WMPixmap* WMCreatePixmapFromRImage(WMScreen *scrPtr, RImage *image,
779
WMPixmap* WMCreatePixmapFromXPMData(WMScreen *scrPtr, char **data);
781
WMSize WMGetPixmapSize(WMPixmap *pixmap);
783
WMPixmap* WMCreatePixmapFromFile(WMScreen *scrPtr, char *fileName);
785
WMPixmap* WMCreateBlendedPixmapFromRImage(WMScreen *scrPtr, RImage *image,
788
WMPixmap* WMCreateBlendedPixmapFromFile(WMScreen *scrPtr, char *fileName,
791
void WMDrawPixmap(WMPixmap *pixmap, Drawable d, int x, int y);
793
Pixmap WMGetPixmapXID(WMPixmap *pixmap);
795
Pixmap WMGetPixmapMaskXID(WMPixmap *pixmap);
797
WMPixmap* WMGetSystemPixmap(WMScreen *scr, int image);
799
/* ....................................................................... */
802
WMColor* WMDarkGrayColor(WMScreen *scr);
804
WMColor* WMGrayColor(WMScreen *scr);
806
WMColor* WMBlackColor(WMScreen *scr);
808
WMColor* WMWhiteColor(WMScreen *scr);
810
void WMSetColorInGC(WMColor *color, GC gc);
812
GC WMColorGC(WMColor *color);
814
WMPixel WMColorPixel(WMColor *color);
816
void WMPaintColorSwatch(WMColor *color, Drawable d, int x, int y,
817
unsigned int width, unsigned int height);
819
void WMReleaseColor(WMColor *color);
821
WMColor* WMRetainColor(WMColor *color);
823
WMColor* WMCreateRGBColor(WMScreen *scr, unsigned short red,
824
unsigned short green, unsigned short blue,
827
WMColor* WMCreateRGBAColor(WMScreen *scr, unsigned short red,
828
unsigned short green, unsigned short blue,
829
unsigned short alpha, Bool exact);
831
WMColor* WMCreateNamedColor(WMScreen *scr, char *name, Bool exact);
833
RColor WMGetRColorFromColor(WMColor *color);
835
void WMSetColorAlpha(WMColor *color, unsigned short alpha);
837
unsigned short WMRedComponentOfColor(WMColor *color);
839
unsigned short WMGreenComponentOfColor(WMColor *color);
841
unsigned short WMBlueComponentOfColor(WMColor *color);
843
unsigned short WMGetColorAlpha(WMColor *color);
845
char* WMGetColorRGBDescription(WMColor *color);
847
/* ....................................................................... */
850
void WMDrawString(WMScreen *scr, Drawable d, WMColor *color, WMFont *font,
851
int x, int y, char *text, int length);
853
void WMDrawImageString(WMScreen *scr, Drawable d, WMColor *color,
854
WMColor *background, WMFont *font, int x, int y,
855
char *text, int length);
857
int WMWidthOfString(WMFont *font, char *text, int length);
861
/* ....................................................................... */
863
WMScreen* WMWidgetScreen(WMWidget *w);
865
unsigned int WMScreenWidth(WMScreen *scr);
867
unsigned int WMScreenHeight(WMScreen *scr);
869
void WMUnmapWidget(WMWidget *w);
871
void WMMapWidget(WMWidget *w);
873
Bool WMWidgetIsMapped(WMWidget *w);
875
void WMRaiseWidget(WMWidget *w);
877
void WMLowerWidget(WMWidget *w);
879
void WMMoveWidget(WMWidget *w, int x, int y);
881
void WMResizeWidget(WMWidget *w, unsigned int width, unsigned int height);
883
void WMSetWidgetBackgroundColor(WMWidget *w, WMColor *color);
885
WMColor* WMGetWidgetBackgroundColor(WMWidget *w);
887
void WMMapSubwidgets(WMWidget *w);
889
void WMUnmapSubwidgets(WMWidget *w);
891
void WMRealizeWidget(WMWidget *w);
893
void WMReparentWidget(WMWidget *w, WMWidget *newParent, int x, int y);
895
void WMDestroyWidget(WMWidget *widget);
897
void WMHangData(WMWidget *widget, void *data);
899
void* WMGetHangedData(WMWidget *widget);
901
unsigned int WMWidgetWidth(WMWidget *w);
903
unsigned int WMWidgetHeight(WMWidget *w);
905
Window WMWidgetXID(WMWidget *w);
907
Window WMViewXID(WMView *view);
909
void WMRedisplayWidget(WMWidget *w);
911
void WMSetViewNotifySizeChanges(WMView *view, Bool flag);
913
void WMSetViewExpandsToParent(WMView *view, int topOffs, int leftOffs,
914
int rightOffs, int bottomOffs);
916
WMSize WMGetViewSize(WMView *view);
918
WMPoint WMGetViewPosition(WMView *view);
920
WMPoint WMGetViewScreenPosition(WMView *view);
922
WMWidget* WMWidgetOfView(WMView *view);
924
void WMSetViewNextResponder(WMView *view, WMView *responder);
926
void WMRelayToNextResponder(WMView *view, XEvent *event);
929
extern char *WMViewSizeDidChangeNotification;
931
extern char *WMViewFocusDidChangeNotification;
933
extern char *WMViewRealizedNotification;
936
/* ....................................................................... */
938
void WMSetBalloonTextForView(char *text, WMView *view);
940
void WMSetBalloonTextAlignment(WMScreen *scr, WMAlignment alignment);
942
void WMSetBalloonFont(WMScreen *scr, WMFont *font);
944
void WMSetBalloonTextColor(WMScreen *scr, WMColor *color);
946
void WMSetBalloonDelay(WMScreen *scr, int delay);
948
void WMSetBalloonEnabled(WMScreen *scr, Bool flag);
951
/* ....................................................................... */
953
WMWindow* WMCreateWindow(WMScreen *screen, char *name);
955
WMWindow* WMCreateWindowWithStyle(WMScreen *screen, char *name, int style);
957
WMWindow* WMCreatePanelWithStyleForWindow(WMWindow *owner, char *name,
960
WMWindow* WMCreatePanelForWindow(WMWindow *owner, char *name);
962
void WMChangePanelOwner(WMWindow *win, WMWindow *newOwner);
964
void WMSetWindowTitle(WMWindow *wPtr, char *title);
966
void WMSetWindowMiniwindowTitle(WMWindow *win, char *title);
968
void WMSetWindowMiniwindowImage(WMWindow *win, RImage *image);
970
void WMSetWindowMiniwindowPixmap(WMWindow *win, WMPixmap *pixmap);
972
void WMSetWindowCloseAction(WMWindow *win, WMAction *action, void *clientData);
974
void WMSetWindowInitialPosition(WMWindow *win, int x, int y);
976
void WMSetWindowUserPosition(WMWindow *win, int x, int y);
978
void WMSetWindowAspectRatio(WMWindow *win, int minX, int minY,
981
void WMSetWindowMaxSize(WMWindow *win, unsigned width, unsigned height);
983
void WMSetWindowMinSize(WMWindow *win, unsigned width, unsigned height);
985
void WMSetWindowBaseSize(WMWindow *win, unsigned width, unsigned height);
987
void WMSetWindowResizeIncrements(WMWindow *win, unsigned wIncr, unsigned hIncr);
989
void WMSetWindowLevel(WMWindow *win, int level);
991
void WMSetWindowDocumentEdited(WMWindow *win, Bool flag);
993
void WMCloseWindow(WMWindow *win);
995
/* ....................................................................... */
997
void WMSetButtonAction(WMButton *bPtr, WMAction *action, void *clientData);
999
#define WMCreateCommandButton(parent) \
1000
WMCreateCustomButton((parent), WBBSpringLoadedMask\
1005
#define WMCreateRadioButton(parent) \
1006
WMCreateButton((parent), WBTRadio)
1008
#define WMCreateSwitchButton(parent) \
1009
WMCreateButton((parent), WBTSwitch)
1011
WMButton* WMCreateButton(WMWidget *parent, WMButtonType type);
1013
WMButton* WMCreateCustomButton(WMWidget *parent, int behaviourMask);
1015
void WMSetButtonImageDefault(WMButton *bPtr);
1017
void WMSetButtonImage(WMButton *bPtr, WMPixmap *image);
1019
void WMSetButtonAltImage(WMButton *bPtr, WMPixmap *image);
1021
void WMSetButtonImagePosition(WMButton *bPtr, WMImagePosition position);
1023
void WMSetButtonFont(WMButton *bPtr, WMFont *font);
1025
void WMSetButtonTextAlignment(WMButton *bPtr, WMAlignment alignment);
1027
void WMSetButtonText(WMButton *bPtr, char *text);
1029
void WMSetButtonAltText(WMButton *bPtr, char *text);
1031
void WMSetButtonTextColor(WMButton *bPtr, WMColor *color);
1033
void WMSetButtonAltTextColor(WMButton *bPtr, WMColor *color);
1035
void WMSetButtonDisabledTextColor(WMButton *bPtr, WMColor *color);
1037
void WMSetButtonSelected(WMButton *bPtr, int isSelected);
1039
int WMGetButtonSelected(WMButton *bPtr);
1041
void WMSetButtonBordered(WMButton *bPtr, int isBordered);
1043
void WMSetButtonEnabled(WMButton *bPtr, Bool flag);
1045
int WMGetButtonEnabled(WMButton *bPtr);
1047
void WMSetButtonImageDimsWhenDisabled(WMButton *bPtr, Bool flag);
1049
void WMSetButtonTag(WMButton *bPtr, int tag);
1051
void WMGroupButtons(WMButton *bPtr, WMButton *newMember);
1053
void WMPerformButtonClick(WMButton *bPtr);
1055
void WMSetButtonContinuous(WMButton *bPtr, Bool flag);
1057
void WMSetButtonPeriodicDelay(WMButton *bPtr, float delay, float interval);
1059
/* ....................................................................... */
1061
WMLabel* WMCreateLabel(WMWidget *parent);
1063
void WMSetLabelWraps(WMLabel *lPtr, Bool flag);
1065
void WMSetLabelImage(WMLabel *lPtr, WMPixmap *image);
1067
WMPixmap* WMGetLabelImage(WMLabel *lPtr);
1069
char* WMGetLabelText(WMLabel *lPtr);
1071
void WMSetLabelImagePosition(WMLabel *lPtr, WMImagePosition position);
1073
void WMSetLabelTextAlignment(WMLabel *lPtr, WMAlignment alignment);
1075
void WMSetLabelRelief(WMLabel *lPtr, WMReliefType relief);
1077
void WMSetLabelText(WMLabel *lPtr, char *text);
1079
WMFont* WMGetLabelFont(WMLabel *lPtr);
1081
void WMSetLabelFont(WMLabel *lPtr, WMFont *font);
1083
void WMSetLabelTextColor(WMLabel *lPtr, WMColor *color);
1085
/* ....................................................................... */
1087
WMFrame* WMCreateFrame(WMWidget *parent);
1089
void WMSetFrameTitlePosition(WMFrame *fPtr, WMTitlePosition position);
1091
void WMSetFrameRelief(WMFrame *fPtr, WMReliefType relief);
1093
void WMSetFrameTitle(WMFrame *fPtr, char *title);
1095
/* ....................................................................... */
1097
WMTextField* WMCreateTextField(WMWidget *parent);
1099
void WMInsertTextFieldText(WMTextField *tPtr, char *text, int position);
1101
void WMDeleteTextFieldRange(WMTextField *tPtr, WMRange range);
1103
/* you can free the returned string */
1104
char* WMGetTextFieldText(WMTextField *tPtr);
1106
void WMSetTextFieldText(WMTextField *tPtr, char *text);
1108
void WMSetTextFieldAlignment(WMTextField *tPtr, WMAlignment alignment);
1110
void WMSetTextFieldFont(WMTextField *tPtr, WMFont *font);
1112
WMFont* WMGetTextFieldFont(WMTextField *tPtr);
1114
void WMSetTextFieldBordered(WMTextField *tPtr, Bool bordered);
1116
void WMSetTextFieldBeveled(WMTextField *tPtr, Bool flag);
1118
Bool WMGetTextFieldEditable(WMTextField *tPtr);
1120
void WMSetTextFieldEditable(WMTextField *tPtr, Bool flag);
1122
void WMSetTextFieldSecure(WMTextField *tPtr, Bool flag);
1124
void WMSelectTextFieldRange(WMTextField *tPtr, WMRange range);
1126
void WMSetTextFieldCursorPosition(WMTextField *tPtr, unsigned int position);
1128
void WMSetTextFieldNextTextField(WMTextField *tPtr, WMTextField *next);
1130
void WMSetTextFieldPrevTextField(WMTextField *tPtr, WMTextField *prev);
1132
void WMSetTextFieldDelegate(WMTextField *tPtr, WMTextFieldDelegate *delegate);
1134
WMTextFieldDelegate* WMGetTextFieldDelegate(WMTextField *tPtr);
1136
extern char *WMTextDidChangeNotification;
1137
extern char *WMTextDidBeginEditingNotification;
1138
extern char *WMTextDidEndEditingNotification;
1140
/* ....................................................................... */
1142
WMScroller* WMCreateScroller(WMWidget *parent);
1144
void WMSetScrollerParameters(WMScroller *sPtr, float floatValue,
1145
float knobProportion);
1147
float WMGetScrollerKnobProportion(WMScroller *sPtr);
1149
float WMGetScrollerValue(WMScroller *sPtr);
1151
WMScrollerPart WMGetScrollerHitPart(WMScroller *sPtr);
1153
void WMSetScrollerAction(WMScroller *sPtr, WMAction *action, void *clientData);
1155
void WMSetScrollerArrowsPosition(WMScroller *sPtr,
1156
WMScrollArrowPosition position);
1158
extern char *WMScrollerDidScrollNotification;
1160
/* ....................................................................... */
1162
WMList* WMCreateList(WMWidget *parent);
1164
void WMSetListAllowMultipleSelection(WMList *lPtr, Bool flag);
1166
void WMSetListAllowEmptySelection(WMList *lPtr, Bool flag);
1168
#define WMAddListItem(lPtr, text) WMInsertListItem((lPtr), -1, (text))
1170
WMListItem* WMInsertListItem(WMList *lPtr, int row, char *text);
1172
void WMSortListItems(WMList *lPtr);
1174
void WMSortListItemsWithComparer(WMList *lPtr, WMCompareDataProc *func);
1176
int WMFindRowOfListItemWithTitle(WMList *lPtr, char *title);
1178
WMListItem* WMGetListItem(WMList *lPtr, int row);
1180
WMArray* WMGetListItems(WMList *lPtr);
1182
void WMRemoveListItem(WMList *lPtr, int row);
1184
void WMSelectListItem(WMList *lPtr, int row);
1186
void WMUnselectListItem(WMList *lPtr, int row);
1188
/* This will select all items in range, and deselect all the others */
1189
void WMSetListSelectionToRange(WMList *lPtr, WMRange range);
1191
/* This will select all items in range, leaving the others as they are */
1192
void WMSelectListItemsInRange(WMList *lPtr, WMRange range);
1194
void WMSelectAllListItems(WMList *lPtr);
1196
void WMUnselectAllListItems(WMList *lPtr);
1198
void WMSetListUserDrawProc(WMList *lPtr, WMListDrawProc *proc);
1200
void WMSetListUserDrawItemHeight(WMList *lPtr, unsigned short height);
1202
int WMGetListItemHeight(WMList *lPtr);
1204
/* don't free the returned data */
1205
WMArray* WMGetListSelectedItems(WMList *lPtr);
1208
* For the following 2 functions, in case WMList allows multiple selection,
1209
* the first item in the list of selected items, respective its row number,
1213
/* don't free the returned data */
1214
WMListItem* WMGetListSelectedItem(WMList *lPtr);
1216
int WMGetListSelectedItemRow(WMList *lPtr);
1218
void WMSetListAction(WMList *lPtr, WMAction *action, void *clientData);
1220
void WMSetListDoubleAction(WMList *lPtr, WMAction *action, void *clientData);
1222
void WMClearList(WMList *lPtr);
1224
int WMGetListNumberOfRows(WMList *lPtr);
1226
void WMSetListPosition(WMList *lPtr, int row);
1228
void WMSetListBottomPosition(WMList *lPtr, int row);
1230
int WMGetListPosition(WMList *lPtr);
1232
Bool WMListAllowsMultipleSelection(WMList *lPtr);
1234
Bool WMListAllowsEmptySelection(WMList *lPtr);
1237
extern char *WMListDidScrollNotification;
1238
extern char *WMListSelectionDidChangeNotification;
1240
/* ....................................................................... */
1242
WMBrowser* WMCreateBrowser(WMWidget *parent);
1244
void WMSetBrowserAllowMultipleSelection(WMBrowser *bPtr, Bool flag);
1246
void WMSetBrowserAllowEmptySelection(WMBrowser *bPtr, Bool flag);
1248
void WMSetBrowserPathSeparator(WMBrowser *bPtr, char *separator);
1250
void WMSetBrowserTitled(WMBrowser *bPtr, Bool flag);
1252
void WMLoadBrowserColumnZero(WMBrowser *bPtr);
1254
int WMAddBrowserColumn(WMBrowser *bPtr);
1256
void WMRemoveBrowserItem(WMBrowser *bPtr, int column, int row);
1258
void WMSetBrowserMaxVisibleColumns(WMBrowser *bPtr, int columns);
1260
void WMSetBrowserColumnTitle(WMBrowser *bPtr, int column, char *title);
1262
WMListItem* WMInsertBrowserItem(WMBrowser *bPtr, int column, int row, char *text, Bool isBranch);
1264
void WMSortBrowserColumn(WMBrowser *bPtr, int column);
1266
void WMSortBrowserColumnWithComparer(WMBrowser *bPtr, int column,
1267
WMCompareDataProc *func);
1269
/* Don't free the returned string. */
1270
char* WMSetBrowserPath(WMBrowser *bPtr, char *path);
1272
/* free the returned string */
1273
char* WMGetBrowserPath(WMBrowser *bPtr);
1275
/* free the returned string */
1276
char* WMGetBrowserPathToColumn(WMBrowser *bPtr, int column);
1278
/* free the returned array */
1279
WMArray* WMGetBrowserPaths(WMBrowser *bPtr);
1281
void WMSetBrowserAction(WMBrowser *bPtr, WMAction *action, void *clientData);
1283
void WMSetBrowserDoubleAction(WMBrowser *bPtr, WMAction *action,
1286
WMListItem* WMGetBrowserSelectedItemInColumn(WMBrowser *bPtr, int column);
1288
int WMGetBrowserFirstVisibleColumn(WMBrowser *bPtr);
1290
int WMGetBrowserSelectedColumn(WMBrowser *bPtr);
1292
int WMGetBrowserSelectedRowInColumn(WMBrowser *bPtr, int column);
1294
int WMGetBrowserNumberOfColumns(WMBrowser *bPtr);
1296
int WMGetBrowserMaxVisibleColumns(WMBrowser *bPtr);
1298
WMList* WMGetBrowserListInColumn(WMBrowser *bPtr, int column);
1300
void WMSetBrowserDelegate(WMBrowser *bPtr, WMBrowserDelegate *delegate);
1302
Bool WMBrowserAllowsMultipleSelection(WMBrowser *bPtr);
1304
Bool WMBrowserAllowsEmptySelection(WMBrowser *bPtr);
1306
void WMSetBrowserHasScroller(WMBrowser *bPtr, int hasScroller);
1308
/* ....................................................................... */
1311
Bool WMMenuItemIsSeparator(WMMenuItem *item);
1313
WMMenuItem* WMCreateMenuItem(void);
1315
void WMDestroyMenuItem(WMMenuItem *item);
1317
Bool WMGetMenuItemEnabled(WMMenuItem *item);
1319
void WMSetMenuItemEnabled(WMMenuItem *item, Bool flag);
1321
char* WMGetMenuItemShortcut(WMMenuItem *item);
1323
unsigned WMGetMenuItemShortcutModifierMask(WMMenuItem *item);
1325
void WMSetMenuItemShortcut(WMMenuItem *item, char *shortcut);
1327
void WMSetMenuItemShortcutModifierMask(WMMenuItem *item, unsigned mask);
1329
void* WMGetMenuItemRepresentedObject(WMMenuItem *item);
1331
void WMSetMenuItemRepresentedObject(WMMenuItem *item, void *object);
1333
void WMSetMenuItemAction(WMMenuItem *item, WMAction *action, void *data);
1335
WMAction* WMGetMenuItemAction(WMMenuItem *item);
1337
void* WMGetMenuItemData(WMMenuItem *item);
1339
void WMSetMenuItemTitle(WMMenuItem *item, char *title);
1341
char* WMGetMenuItemTitle(WMMenuItem *item);
1343
void WMSetMenuItemState(WMMenuItem *item, int state);
1345
int WMGetMenuItemState(WMMenuItem *item);
1347
void WMSetMenuItemPixmap(WMMenuItem *item, WMPixmap *pixmap);
1349
WMPixmap* WMGetMenuItemPixmap(WMMenuItem *item);
1351
void WMSetMenuItemOnStatePixmap(WMMenuItem *item, WMPixmap *pixmap);
1353
WMPixmap* WMGetMenuItemOnStatePixmap(WMMenuItem *item);
1355
void WMSetMenuItemOffStatePixmap(WMMenuItem *item, WMPixmap *pixmap);
1357
WMPixmap* WMGetMenuItemOffStatePixmap(WMMenuItem *item);
1359
void WMSetMenuItemMixedStatePixmap(WMMenuItem *item, WMPixmap *pixmap);
1361
WMPixmap* WMGetMenuItemMixedStatePixmap(WMMenuItem *item);
1363
/*void WMSetMenuItemSubmenu(WMMenuItem *item, WMMenu *submenu);
1366
WMMenu* WMGetMenuItemSubmenu(WMMenuItem *item);
1368
Bool WMGetMenuItemHasSubmenu(WMMenuItem *item);
1371
/* ....................................................................... */
1373
WMPopUpButton* WMCreatePopUpButton(WMWidget *parent);
1375
void WMSetPopUpButtonAction(WMPopUpButton *sPtr, WMAction *action,
1378
void WMSetPopUpButtonPullsDown(WMPopUpButton *bPtr, Bool flag);
1380
WMMenuItem* WMAddPopUpButtonItem(WMPopUpButton *bPtr, char *title);
1382
WMMenuItem* WMInsertPopUpButtonItem(WMPopUpButton *bPtr, int index,
1385
void WMRemovePopUpButtonItem(WMPopUpButton *bPtr, int index);
1387
void WMSetPopUpButtonItemEnabled(WMPopUpButton *bPtr, int index, Bool flag);
1389
Bool WMGetPopUpButtonItemEnabled(WMPopUpButton *bPtr, int index);
1391
void WMSetPopUpButtonSelectedItem(WMPopUpButton *bPtr, int index);
1393
int WMGetPopUpButtonSelectedItem(WMPopUpButton *bPtr);
1395
void WMSetPopUpButtonText(WMPopUpButton *bPtr, char *text);
1397
/* don't free the returned data */
1398
char* WMGetPopUpButtonItem(WMPopUpButton *bPtr, int index);
1400
WMMenuItem* WMGetPopUpButtonMenuItem(WMPopUpButton *bPtr, int index);
1402
int WMGetPopUpButtonNumberOfItems(WMPopUpButton *bPtr);
1404
void WMSetPopUpButtonEnabled(WMPopUpButton *bPtr, Bool flag);
1406
Bool WMGetPopUpButtonEnabled(WMPopUpButton *bPtr);
1408
/* ....................................................................... */
1410
WMProgressIndicator* WMCreateProgressIndicator(WMWidget *parent);
1412
void WMSetProgressIndicatorMinValue(WMProgressIndicator *progressindicator, int value);
1414
void WMSetProgressIndicatorMaxValue(WMProgressIndicator *progressindicator, int value);
1416
void WMSetProgressIndicatorValue(WMProgressIndicator *progressindicator, int value);
1418
int WMGetProgressIndicatorMinValue(WMProgressIndicator *progressindicator);
1420
int WMGetProgressIndicatorMaxValue(WMProgressIndicator *progressindicator);
1422
int WMGetProgressIndicatorValue(WMProgressIndicator *progressindicator);
1425
/* ....................................................................... */
1427
WMColorPanel* WMGetColorPanel(WMScreen *scrPtr);
1429
void WMFreeColorPanel(WMColorPanel *panel);
1431
void WMShowColorPanel(WMColorPanel *panel);
1433
void WMCloseColorPanel(WMColorPanel *panel);
1435
void WMSetColorPanelColor(WMColorPanel *panel, WMColor *color);
1437
WMColor* WMGetColorPanelColor(WMColorPanel *panel);
1439
void WMSetColorPanelPickerMode(WMColorPanel *panel, WMColorPanelMode mode);
1441
void WMSetColorPanelAction(WMColorPanel *panel, WMAction2 *action, void *data);
1443
extern char *WMColorPanelColorChangedNotification;
1445
/* ....................................................................... */
1447
WMColorWell* WMCreateColorWell(WMWidget *parent);
1449
void WMSetColorWellColor(WMColorWell *cPtr, WMColor *color);
1451
WMColor* WMGetColorWellColor(WMColorWell *cPtr);
1453
void WSetColorWellBordered(WMColorWell *cPtr, Bool flag);
1456
extern char *WMColorWellDidChangeNotification;
1459
/* ...................................................................... */
1461
WMScrollView* WMCreateScrollView(WMWidget *parent);
1463
void WMResizeScrollViewContent(WMScrollView *sPtr, unsigned int width,
1464
unsigned int height);
1466
void WMSetScrollViewHasHorizontalScroller(WMScrollView *sPtr, Bool flag);
1468
void WMSetScrollViewHasVerticalScroller(WMScrollView *sPtr, Bool flag);
1470
void WMSetScrollViewContentView(WMScrollView *sPtr, WMView *view);
1472
void WMSetScrollViewRelief(WMScrollView *sPtr, WMReliefType type);
1474
WMRect WMGetScrollViewVisibleRect(WMScrollView *sPtr);
1476
WMScroller* WMGetScrollViewHorizontalScroller(WMScrollView *sPtr);
1478
WMScroller* WMGetScrollViewVerticalScroller(WMScrollView *sPtr);
1480
void WMSetScrollViewLineScroll(WMScrollView *sPtr, int amount);
1482
void WMSetScrollViewPageScroll(WMScrollView *sPtr, int amount);
1484
/* ....................................................................... */
1486
WMSlider* WMCreateSlider(WMWidget *parent);
1488
int WMGetSliderMinValue(WMSlider *slider);
1490
int WMGetSliderMaxValue(WMSlider *slider);
1492
int WMGetSliderValue(WMSlider *slider);
1494
void WMSetSliderMinValue(WMSlider *slider, int value);
1496
void WMSetSliderMaxValue(WMSlider *slider, int value);
1498
void WMSetSliderValue(WMSlider *slider, int value);
1500
void WMSetSliderContinuous(WMSlider *slider, Bool flag);
1502
void WMSetSliderAction(WMSlider *slider, WMAction *action, void *data);
1504
void WMSetSliderKnobThickness(WMSlider *sPtr, int thickness);
1506
void WMSetSliderImage(WMSlider *sPtr, WMPixmap *pixmap);
1508
/* ....................................................................... */
1511
WMSplitView* WMCreateSplitView(WMWidget *parent);
1513
Bool WMGetSplitViewVertical(WMSplitView *sPtr);
1515
void WMSetSplitViewVertical(WMSplitView *sPtr, Bool flag);
1517
int WMGetSplitViewSubviewsCount(WMSplitView *sPtr); /* ??? remove ??? */
1519
WMView* WMGetSplitViewSubviewAt(WMSplitView *sPtr, int index);
1521
/* remove the first subview == view */
1522
void WMRemoveSplitViewSubview(WMSplitView *sPtr, WMView *view);
1524
void WMRemoveSplitViewSubviewAt(WMSplitView *sPtr, int index);
1527
void WMAddSplitViewSubview(WMSplitView *sPtr, WMView *subview);
1529
void WMAdjustSplitViewSubviews(WMSplitView *sPtr);
1531
void WMSetSplitViewConstrainProc(WMSplitView *sPtr,
1532
WMSplitViewConstrainProc *proc);
1535
void WMSetSplitViewResizeSubviewsProc(WMSplitView *sPtr,
1536
WMSplitViewResizeSubviewsProc *proc);
1539
int WMGetSplitViewDividerThickness(WMSplitView *sPtr);
1541
/* ...................................................................... */
1543
WMRuler* WMCreateRuler (WMWidget *parent);
1545
WMRulerMargins* WMGetRulerMargins(WMRuler *rPtr);
1547
void WMSetRulerMargins(WMRuler *rPtr, WMRulerMargins margins);
1549
Bool WMIsMarginEqualToMargin(WMRulerMargins *aMargin, WMRulerMargins *anotherMargin);
1551
int WMGetGrabbedRulerMargin(WMRuler *rPtr);
1553
int WMGetReleasedRulerMargin(WMRuler *rPtr);
1555
int WMGetRulerOffset(WMRuler *rPtr);
1557
void WMSetRulerOffset(WMRuler *rPtr, int pixels);
1559
void WMSetRulerMoveAction(WMRuler *rPtr, WMAction *action, void *clientData);
1561
void WMSetRulerReleaseAction(WMRuler *rPtr, WMAction *action, void *clientData);
1563
/* ....................................................................... */
1566
#define WMCreateText(parent) WMCreateTextForDocumentType \
1567
((parent), (NULL), (NULL))
1569
WMText* WMCreateTextForDocumentType(WMWidget *parent, WMAction *parser,
1572
void WMSetTextDelegate(WMText *tPtr, WMTextDelegate *delegate);
1574
void WMFreezeText(WMText *tPtr);
1576
#define WMRefreshText(tPtr) WMThawText((tPtr))
1578
void WMThawText(WMText *tPtr);
1580
int WMScrollText(WMText *tPtr, int amount);
1582
int WMPageText(WMText *tPtr, Bool direction);
1584
void WMSetTextHasHorizontalScroller(WMText *tPtr, Bool shouldhave);
1586
void WMSetTextHasVerticalScroller(WMText *tPtr, Bool shouldhave);
1588
void WMSetTextHasRuler(WMText *tPtr, Bool shouldhave);
1590
void WMShowTextRuler(WMText *tPtr, Bool show);
1592
int WMGetTextRulerShown(WMText *tPtr);
1594
void WMSetTextEditable(WMText *tPtr, Bool editable);
1596
int WMGetTextEditable(WMText *tPtr);
1598
void WMSetTextUsesMonoFont(WMText *tPtr, Bool mono);
1600
int WMGetTextUsesMonoFont(WMText *tPtr);
1602
void WMSetTextIndentNewLines(WMText *tPtr, Bool indent);
1604
void WMSetTextIgnoresNewline(WMText *tPtr, Bool ignore);
1606
int WMGetTextIgnoresNewline(WMText *tPtr);
1608
void WMSetTextDefaultFont(WMText *tPtr, WMFont *font);
1610
WMFont* WMGetTextDefaultFont(WMText *tPtr);
1612
void WMSetTextDefaultColor(WMText *tPtr, WMColor *color);
1614
WMColor* WMGetTextDefaultColor(WMText *tPtr);
1616
void WMSetTextRelief(WMText *tPtr, WMReliefType relief);
1618
void WMSetTextForegroundColor(WMText *tPtr, WMColor *color);
1620
void WMSetTextBackgroundColor(WMText *tPtr, WMColor *color);
1622
void WMSetTextBackgroundPixmap(WMText *tPtr, WMPixmap *pixmap);
1624
void WMPrependTextStream(WMText *tPtr, char *text);
1626
void WMAppendTextStream(WMText *tPtr, char *text);
1628
#define WMClearText(tPtr) WMAppendTextStream \
1632
char* WMGetTextStream(WMText *tPtr);
1635
char* WMGetTextSelectedStream(WMText *tPtr);
1637
/* destroy the array */
1638
WMArray* WMGetTextObjects(WMText *tPtr);
1640
/* destroy the array */
1641
WMArray* WMGetTextSelectedObjects(WMText *tPtr);
1643
void WMSetTextSelectionColor(WMText *tPtr, WMColor *color);
1645
WMColor* WMGetTextSelectionColor(WMText *tPtr);
1647
void WMSetTextSelectionFont(WMText *tPtr, WMFont *font);
1649
WMFont* WMGetTextSelectionFont(WMText *tPtr);
1651
void WMSetTextSelectionUnderlined(WMText *tPtr, int underlined);
1653
int WMGetTextSelectionUnderlined(WMText *tPtr);
1655
void WMSetTextAlignment(WMText *tPtr, WMAlignment alignment);
1657
Bool WMFindInTextStream(WMText *tPtr, char *needle, Bool direction,
1658
Bool caseSensitive);
1660
Bool WMReplaceTextSelection(WMText *tPtr, char *replacement);
1663
/* parser related stuff... use only if implementing a new parser */
1665
void* WMCreateTextBlockWithObject(WMText *tPtr, WMWidget *w, char *description,
1666
WMColor *color, unsigned short first,
1667
unsigned short extraInfo);
1669
void* WMCreateTextBlockWithPixmap(WMText *tPtr, WMPixmap *p, char *description,
1670
WMColor *color, unsigned short first,
1671
unsigned short extraInfo);
1673
void* WMCreateTextBlockWithText(WMText *tPtr, char *text, WMFont *font,
1674
WMColor *color, unsigned short first,
1675
unsigned short length);
1677
void WMSetTextBlockProperties(WMText *tPtr, void *vtb, unsigned int first,
1678
unsigned int kanji, unsigned int underlined,
1679
int script, WMRulerMargins *margins);
1681
/* do NOT free the margins */
1682
void WMGetTextBlockProperties(WMText *tPtr, void *vtb, unsigned int *first,
1683
unsigned int *kanji, unsigned int *underlined,
1684
int *script, WMRulerMargins *margins);
1686
int WMGetTextInsertType(WMText *tPtr);
1688
/*int WMGetTextBlocks(WMText *tPtr);
1690
void WMSetCurrentTextBlock(WMText *tPtr, int current);
1692
int WMGetCurrentTextBlock(WMText *tPtr);*/
1694
void WMPrependTextBlock(WMText *tPtr, void *vtb);
1696
void WMAppendTextBlock(WMText *tPtr, void *vtb);
1698
void* WMRemoveTextBlock(WMText *tPtr);
1700
void WMDestroyTextBlock(WMText *tPtr, void *vtb);
1702
/* ....................................................................... */
1705
WMTabView* WMCreateTabView(WMWidget *parent);
1707
void WMSetTabViewType(WMTabView *tPtr, WMTabViewType type);
1709
void WMSetTabViewEnabled(WMTabView *tPtr, Bool flag);
1711
void WMSetTabViewFont(WMTabView *tPtr, WMFont *font);
1713
void WMAddItemInTabView(WMTabView *tPtr, WMTabViewItem *item);
1715
void WMInsertItemInTabView(WMTabView *tPtr, int index, WMTabViewItem *item);
1717
void WMRemoveTabViewItem(WMTabView *tPtr, WMTabViewItem *item);
1719
WMTabViewItem* WMAddTabViewItemWithView(WMTabView *tPtr, WMView *view,
1720
int identifier, char *label);
1722
WMTabViewItem* WMTabViewItemAtPoint(WMTabView *tPtr, int x, int y);
1724
void WMSelectFirstTabViewItem(WMTabView *tPtr);
1726
void WMSelectLastTabViewItem(WMTabView *tPtr);
1728
void WMSelectNextTabViewItem(WMTabView *tPtr);
1730
void WMSelectPreviousTabViewItem(WMTabView *tPtr);
1732
WMTabViewItem* WMGetSelectedTabViewItem(WMTabView *tPtr);
1734
void WMSelectTabViewItem(WMTabView *tPtr, WMTabViewItem *item);
1736
void WMSelectTabViewItemAtIndex(WMTabView *tPtr, int index);
1738
void WMSetTabViewDelegate(WMTabView *tPtr, WMTabViewDelegate *delegate);
1741
WMTabViewItem* WMCreateTabViewItemWithIdentifier(int identifier);
1743
void WMSetTabViewItemEnabled(WMTabViewItem *tPtr, Bool flag);
1745
int WMGetTabViewItemIdentifier(WMTabViewItem *item);
1747
void WMSetTabViewItemLabel(WMTabViewItem *item, char *label);
1749
char* WMGetTabViewItemLabel(WMTabViewItem *item);
1751
void WMSetTabViewItemView(WMTabViewItem *item, WMView *view);
1753
WMView* WMGetTabViewItemView(WMTabViewItem *item);
1755
void WMDestroyTabViewItem(WMTabViewItem *item);
1758
/* ....................................................................... */
1760
WMBox* WMCreateBox(WMWidget *parent);
1762
void WMSetBoxBorderWidth(WMBox *box, unsigned width);
1764
void WMAddBoxSubview(WMBox *bPtr, WMView *view, Bool expand, Bool fill,
1765
int minSize, int maxSize, int space);
1767
void WMAddBoxSubviewAtEnd(WMBox *bPtr, WMView *view, Bool expand, Bool fill,
1768
int minSize, int maxSize, int space);
1770
void WMRemoveBoxSubview(WMBox *bPtr, WMView *view);
1772
void WMSetBoxHorizontal(WMBox *box, Bool flag);
1774
/* ....................................................................... */
1776
int WMRunAlertPanel(WMScreen *app, WMWindow *owner, char *title, char *msg,
1777
char *defaultButton, char *alternateButton,
1780
/* you can free the returned string */
1781
char* WMRunInputPanel(WMScreen *app, WMWindow *owner, char *title, char *msg,
1782
char *defaultText, char *okButton, char *cancelButton);
1784
WMAlertPanel* WMCreateAlertPanel(WMScreen *app, WMWindow *owner, char *title,
1785
char *msg, char *defaultButton,
1786
char *alternateButton, char *otherButton);
1788
WMInputPanel* WMCreateInputPanel(WMScreen *app, WMWindow *owner, char *title,
1789
char *msg, char *defaultText, char *okButton,
1790
char *cancelButton);
1793
WMGenericPanel* WMCreateGenericPanel(WMScreen *scrPtr, WMWindow *owner,
1794
char *title, char *defaultButton,
1795
char *alternateButton);
1797
void WMDestroyAlertPanel(WMAlertPanel *panel);
1799
void WMDestroyInputPanel(WMInputPanel *panel);
1801
void WMDestroyGenericPanel(WMGenericPanel *panel);
1803
/* ....................................................................... */
1805
/* only 1 instance per WMScreen */
1806
WMOpenPanel* WMGetOpenPanel(WMScreen *scrPtr);
1808
WMSavePanel* WMGetSavePanel(WMScreen *scrPtr);
1810
void WMSetFilePanelCanChooseDirectories(WMFilePanel *panel, Bool flag);
1812
void WMSetFilePanelCanChooseFiles(WMFilePanel *panel, Bool flag);
1814
void WMSetFilePanelAutoCompletion(WMFilePanel *panel, Bool flag);
1816
void WMSetFilePanelDirectory(WMFilePanel *panel, char *path);
1818
/* you can free the returned string */
1819
char* WMGetFilePanelFileName(WMFilePanel *panel);
1821
void WMFreeFilePanel(WMFilePanel *panel);
1823
int WMRunModalFilePanelForDirectory(WMFilePanel *panel, WMWindow *owner,
1824
char *path, char *name, char **fileTypes);
1826
void WMSetFilePanelAccessoryView(WMFilePanel *panel, WMView *view);
1828
WMView* WMGetFilePanelAccessoryView(WMFilePanel *panel);
1831
/* ...................................................................... */
1833
/* only 1 instance per WMScreen */
1834
WMFontPanel* WMGetFontPanel(WMScreen *scr);
1836
void WMShowFontPanel(WMFontPanel *panel);
1838
void WMHideFontPanel(WMFontPanel *panel);
1840
void WMFreeFontPanel(WMFontPanel *panel);
1842
void WMSetFontPanelAction(WMFontPanel *panel, WMAction2 *action, void *data);
1844
void WMSetFontPanelFont(WMFontPanel *panel, char *fontName);
1846
WMFont* WMGetFontPanelFont(WMFontPanel *panel);
1850
#endif /* __cplusplus */