* Declares the internal functions and data types for the Tix Form
* Copyright (c) 1996, Expert Interface Technologies
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#define NEXT_SIDE(x) (!x)
* The following structures carry information about the client windows
struct _FormInfo
* widget
;
int pcnt
; /* percentage anchor point */
int disp
; /* displacement from the percentage anchor point*/
typedef struct _FormInfo
{
struct _MasterInfo
* master
; /* The master of this window */
int depend
; /* used to detect circular dependency*/
/* These are specified by the user and set by the "tixForm" command
Attachment att
[2][2]; /* anchor of attachment */
int off
[2][2]; /* offset of attachment */
char isDefault
[2][2];/* Is this side a default attachment*/
char attType
[2][2]; /* type of attachment
int pad
[2][2]; /* value of padding */
/* These values are calculated by the PinnClient() functions
* and are used to calculated the required size of the master
* inside CalculateMasterGeometry(), as well as the positions
* of the clients inside ArrangeGeometry()
/* These values are used to place the clients into the clients
/* These things are for Spring'ing */
struct _FormInfo
* strWidget
[2][2];
* The following structures carry information about the master windows
unsigned int isDeleted
: 1;
unsigned int repackPending
: 1;
typedef struct _MasterInfo
{
struct _FormInfo
* client
;
struct _FormInfo
* client_tail
;
int numRequests
; /* This is used to detect
* whether two geometry managers
* are used to manage the same
EXTERN
int TixFm_Configure
_ANSI_ARGS_((FormInfo
*clientPtr
,
Tcl_Interp
* interp
, int argc
, Tcl_Obj
**objv
));
EXTERN FormInfo
* TixFm_GetFormInfo
_ANSI_ARGS_((Tk_Window tkwin
,
EXTERN
void TixFm_StructureProc
_ANSI_ARGS_((ClientData clientData
,
EXTERN
void TixFm_AddToMaster
_ANSI_ARGS_((MasterInfo
*masterPtr
,
EXTERN
void TixFm_DeleteMaster
_ANSI_ARGS_((
EXTERN
void TixFm_FreeMasterInfo
_ANSI_ARGS_((
EXTERN FormInfo
* TixFm_FindClientPtrByName
_ANSI_ARGS_((
Tcl_Interp
* interp
, char * name
,
EXTERN
void TixFm_ForgetOneClient
_ANSI_ARGS_((
EXTERN
void TixFm_Unlink
_ANSI_ARGS_((FormInfo
*clientPtr
));
EXTERN
void TixFm_UnlinkFromMaster
_ANSI_ARGS_((