GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  EZ_REGISTERWIDGET (3)

NAME

EZ_RegisterWidget - register your own widget

CONTENTS

Synopsis
Arguments
Description

SYNOPSIS


#include <EZ.h> 

void EZ_RegisterWidget( int type, void(*Setup)(EZ_Widget*widget), void(*ComputeSize)(EZ_Widget*widget,int*w,int*h), void(*DrawWidget)(EZ_Widget*widget), void(*FreeData)(EZ_Widget*widget)), void(*EventHandle)(EZ_Widget*widget,XEvent*event));

ARGUMENTS

type Specifies an integer, must be bigger than 65536.

Setup Specifies a procedure. This procedure is invoked whenever a new widget of the specified type is created.

ComputeSize Specifies a procedure. This procedure will be invoked when the geometry manager needs to update the geometry of widgets of the specified type.

DrawWidget Specifies a procedure. This procedure will be executed when the display of a widget of the given type need to be updated.

FreeData Specifies a procedure. This procedure will be invoked when a widget of the specified type is being destroyed.

EventHandle Specifies a generic event handler for widgets of the specified type.

DESCRIPTION

EZ_RegisterWidget registers a custom designed widget to the EZ widget library. After a new widget is registered, it can be handled the same as other widgets in the library. Here is an example

#include "EZ.h"

#define TEST_TYPE 65537 /* type starts at 65537 */

void TESTsetup(EZ_Widget *widget) { }

void TESTfreeData(EZ_Widget *widget) { }

void TESTcomputeSize(EZ_Widget *widget, int *w, int *h) { *w =200; *h=60; }

void TESTdraw(EZ_Widget *widget) { EZ_DrawRectBorder(widget, EZ_GetWidgetWindow(widget)); }       

void TESTeventHandle(EZ_Widget *widget, XEvent *event) { if(event->type == Expose) TESTdraw(widget); }

main(int ac, char **av) { EZ_Widget *frame1, *test, *btn;

EZ_Initialize(ac,av,0);

/* register our TEST widget  */ EZ_RegisterWidget(TEST_TYPE, TESTsetup, TESTcomputeSize,                  TESTdraw, TESTfreeData, TESTeventHandle);

frame1 = EZ_CreateWidget(EZ_WIDGET_FRAME, NULL, EZ_FILL_MODE, EZ_FILL_BOTH, EZ_LABEL_STRING, "Test Widget", NULL);

test = EZ_CreateWidget(TEST_TYPE, frame1,                  EZ_BORDER_TYPE, EZ_BORDER_UP, EZ_FOREGROUND, "red",                          EZ_BACKGROUND, "#00afaf",                          EZ_BORDER_WIDTH, 6, NULL); btn = EZ_CreateWidget(EZ_WIDGET_NORMAL_BUTTON, tmp, EZ_LABEL_STRING, "A Button", EZ_BACKGROUND, "#af00af",                          NULL); EZ_DisplayWidget(frame1); EZ_EventMainLoop(); }

SEE ALSO

EZ_GetWritableGC(3)

Search for    or go to Top of page |  Section 3 |  Main Index


EZWGL EZ_REGISTERWIDGET (3)

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.