home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
utilities
/
d
/
desklib
/
!DeskLib
/
h
/
Dialog2
< prev
next >
Wrap
Text File
|
1996-05-21
|
3KB
|
80 lines
#ifndef __Desk_Dialog2_h
#define __Desk_Dialog2_h
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __Desk_Wimp_h
#include "Wimp.h"
#endif
#ifndef __Desk_Window_h
#include "Window.h"
#endif
typedef enum {
Desk_dialog2_type_CLOSED = 0,
Desk_dialog2_type_MENULEAF,
Desk_dialog2_type_MENU,
Desk_dialog2_type_STATIC
}
Desk_dialog2_dialog2type;
typedef struct Desk_dialog2_block *Desk_dialog2_blockptr;
typedef void (*Desk_dialog2_openfn)(Desk_dialog2_blockptr);
typedef void (*Desk_dialog2_okfn)(Desk_dialog2_blockptr);
typedef struct Desk_dialog2_block {
void *reference;
const char *templatename;
Desk_window_handle window;
Desk_dialog2_openfn openfn;
Desk_dialog2_okfn okfn;
union {
int value;
struct {
unsigned int type : 2;
unsigned int keepwindow : 1;
unsigned int notifyclose : 1;
int okbutton : 9;
int cancelbutton : 9;
int maxtitlesize : 10;
}
data;
}
flags;
}
Desk_dialog2_block;
Desk_dialog2_block *Desk_Dialog2_CreateDialogBlock(
const char *templatename,
Desk_icon_handle okbutton,
Desk_icon_handle cancelbutton,
Desk_dialog2_openfn openfn,
Desk_dialog2_okfn okfn,
void *reference
);
void Desk_Dialog2_OpenDialogMenuLeaf(Desk_event_pollblock *event, Desk_dialog2_block *dialog2);
void Desk_Dialog2_OpenDialogMenu(Desk_dialog2_block *dialog2, Desk_window_openpos openpos);
void Desk_Dialog2_OpenDialogStatic(Desk_dialog2_block *dialog2, Desk_window_openpos openpos);
void Desk_Dialog2_CloseDialog(Desk_dialog2_block *dialog2);
void Desk_Dialog2_DeleteDialog(Desk_dialog2_block *dialog2);
#ifdef Desk__using_SDLS
extern Desk_dialog2_block **Desk_Dialog2__Ref_menublock(void);
#endif
#if defined(Desk__using_SDLS) && !defined(Desk__making_Dialog2)
#define Desk_dialog2_menublock (*Desk_Dialog2__Ref_menublock())
#else
extern Desk_dialog2_block *Desk_dialog2_menublock;
#endif
void Desk_Dialog2_Window_GetWindowOpenPos(
Desk_wimp_point *pos, Desk_window_openpos openpos, Desk_window_handle window
);
void Desk_Dialog2_EnsureWindowHandle(Desk_dialog2_block *dialog2);
#define Desk_Dialog2_ChangeCloseNotification(dialog2, x) (dialog2)->flags.data.notifyclose = (x)
#define Desk_Dialog2_NotifyClose(dialog2) Desk_Dialog2_ChangeCloseNotification(dialog2, 1)
#define Desk_Dialog2_DontNotifyClose(dialog2) Desk_Dialog2_ChangeCloseNotification(dialog2, 0)
#define Desk_Dialog2_ChangeKeepWindow(dialog2, x) (dialog2)->flags.data.keepwindow = (x)
#define Desk_Dialog2_KeepWindow(dialog2) Desk_Dialog2_ChangeKeepWindow(dialog2, 1)
#define Desk_Dialog2_DontKeepWindow(dialog2) Desk_Dialog2_ChangeKeepWindow(dialog2, 0)
#define Desk_Dialog2_ChangeTitleSize(dialog2, x) (dialog2)->flags.data.maxtitlesize = (x)
#ifdef __cplusplus
}
#endif
#endif