WB Types Reference¶
Per-function autodoc pages link to these types via the type name (e.g., [List](types-wb.md#list)).
Clickable inner types: inside each struct definition, field types that are themselves structs/unions/enums are clickable hyperlinks to their own definitions.
Contents¶
startup.h¶
workbench.h¶
- Workbench object type constants
struct AppIconstruct AppIconRenderMsgstruct AppMenustruct AppMenuItemstruct AppMessagestruct AppWindowstruct AppWindowDropZonestruct AppWindowDropZoneMsgstruct CopyBeginMsgstruct CopyDataMsgstruct CopyEndMsgstruct DeleteBeginMsgstruct DeleteDataMsgstruct DeleteEndMsgstruct DiskObjectstruct DrawerDatastruct FreeListstruct IconSelectMsgstruct OldDrawerDatastruct SetupCleanupHookMsgstruct TextInputMsg
Workbench object type constants¶
Source: workbench/workbench.h
#define WBDISK 1
#define WBDRAWER 2
#define WBTOOL 3
#define WBPROJECT 4
#define WBGARBAGE 5
#define WBDEVICE 6
#define WBKICK 7
#define WBAPPICON 8
These constants are passed to icon.library functions such as NewDiskObject(), GetDefDiskObject() and PutIconTagList(), and also appear in the ism_Type field of struct IconSelectMsg.
WBArg¶
Source: workbench/startup.h
struct WBArg {
BPTR wa_Lock; /* a lock descriptor */
STRPTR wa_Name; /* a string relative to that lock */
};
WBStartup¶
Source: workbench/startup.h
struct WBStartup {
struct Message sm_Message; /* a standard message structure */
struct MsgPort * sm_Process; /* the process descriptor for you */
BPTR sm_Segment; /* a descriptor for your code */
LONG sm_NumArgs; /* the number of elements in ArgList */
STRPTR sm_ToolWindow; /* description of window */
struct WBArg * sm_ArgList; /* the arguments themselves */
};
AppIcon¶
Source: workbench/workbench.h
struct AppIcon { void * ai_PRIVATE; };
AppIconRenderMsg¶
Source: workbench/workbench.h
struct AppIconRenderMsg
{
struct RastPort * arm_RastPort; /* RastPort to render into */
struct DiskObject * arm_Icon; /* The icon to be rendered */
STRPTR arm_Label; /* The icon label txt */
struct TagItem * arm_Tags; /* Further tags to be passed on
* to DrawIconStateA().
*/
WORD arm_Left; /* \ Rendering origin, not taking the */
WORD arm_Top; /* / button border into account. */
WORD arm_Width; /* \ Limit your rendering to */
WORD arm_Height; /* / this area. */
ULONG arm_State; /* IDS_SELECTED, IDS_NORMAL, etc. */
};
AppMenu¶
Source: workbench/workbench.h
struct AppMenu { void * am_PRIVATE; };
AppMenuItem¶
Source: workbench/workbench.h
struct AppMenuItem { void * ami_PRIVATE; };
AppMessage¶
Source: workbench/workbench.h
struct AppMessage {
struct Message am_Message; /* standard message structure */
UWORD am_Type; /* message type */
ULONG am_UserData; /* application specific */
ULONG am_ID; /* application definable ID */
LONG am_NumArgs; /* # of elements in arglist */
struct WBArg *am_ArgList; /* the arguments themselves */
UWORD am_Version; /* will be >= AM_VERSION */
UWORD am_Class; /* message class */
WORD am_MouseX; /* mouse x position of event */
WORD am_MouseY; /* mouse y position of event */
ULONG am_Seconds; /* current system clock time */
ULONG am_Micros; /* current system clock time */
ULONG am_Reserved[8]; /* avoid recompilation */
};
AppWindow¶
Source: workbench/workbench.h
struct AppWindow { void * aw_PRIVATE; };
AppWindowDropZone¶
Source: workbench/workbench.h
struct AppWindowDropZone { void * awdz_PRIVATE; };
AppWindowDropZoneMsg¶
Source: workbench/workbench.h
struct AppWindowDropZoneMsg
{
struct RastPort * adzm_RastPort; /* RastPort to render into. */
struct IBox adzm_DropZoneBox; /* Limit your rendering to this area. */
ULONG adzm_ID; /* \ These come from straight */
ULONG adzm_UserData; /* / from AddAppWindowDropZoneA(). */
LONG adzm_Action; /* See below for a list of actions. */
};
CopyBeginMsg¶
Source: workbench/workbench.h
struct CopyBeginMsg
{
ULONG cbm_Length; /* Size of this data structure in bytes. */
LONG cbm_Action; /* Will be set to CPACTION_Begin (see below). */
BPTR cbm_SourceDrawer; /* A lock on the source drawer. */
BPTR cbm_DestinationDrawer; /* A lock on the destination drawer. */
};
CopyDataMsg¶
Source: workbench/workbench.h
struct CopyDataMsg
{
ULONG cdm_Length; /* Size of this data structure in bytes. */
LONG cdm_Action; /* Will be set to CPACTION_Copy (see below). */
BPTR cdm_SourceLock; /* A lock on the parent directory of the
* source file/drawer.
*/
STRPTR cdm_SourceName; /* The name of the source file or drawer. */
BPTR cdm_DestinationLock; /* A lock on the parent directory of the
* destination file/drawer.
*/
STRPTR cdm_DestinationName; /* The name of the destination file/drawer.
* This may or may not match the name of
* the source file/drawer in case the
* data is to be copied under a different
* name. For example, this is the case
* with the Workbench "Copy" command which
* creates duplicates of file/drawers by
* prefixing the duplicate's name with
* "Copy_XXX_of".
*/
LONG cdm_DestinationX; /* When the icon corresponding to the
* destination is written to disk, this
* is the position (put into its
* DiskObject->do_CurrentX/DiskObject->do_CurrentY
* fields) it should be placed at.
*/
LONG cdm_DestinationY;
};
CopyEndMsg¶
Source: workbench/workbench.h
struct CopyEndMsg
{
ULONG cem_Length; /* Size of this data structure in bytes. */
LONG cem_Action; /* Will be set to CPACTION_End (see below). */
};
DeleteBeginMsg¶
Source: workbench/workbench.h
struct DeleteBeginMsg
{
ULONG dbm_Length; /* Size of this data structure in bytes. */
LONG dbm_Action; /* Will be set to either DLACTION_BeginDiscard
* or DLACTION_BeginEmptyTrash (see below).
*/
};
DeleteDataMsg¶
Source: workbench/workbench.h
struct DeleteDataMsg
{
ULONG ddm_Length; /* Size of this data structure in bytes. */
LONG ddm_Action; /* Will be set to either DLACTION_DeleteContents
* or DLACTION_DeleteObject (see below).
*/
BPTR ddm_Lock; /* A Lock on the parent directory of the object
* whose contents or which itself should be
* deleted.
*/
STRPTR ddm_Name; /* The name of the object whose contents or
* which itself should be deleted.
*/
};
DeleteEndMsg¶
Source: workbench/workbench.h
struct DeleteEndMsg
{
ULONG dem_Length; /* Size of this data structure in bytes. */
LONG dem_Action; /* Will be set to DLACTION_End (see below). */
};
DiskObject¶
Source: workbench/workbench.h
struct DiskObject {
UWORD do_Magic; /* a magic number at the start of the file */
UWORD do_Version; /* a version number, so we can change it */
struct Gadget do_Gadget; /* a copy of in core gadget */
UBYTE do_Type;
STRPTR do_DefaultTool;
STRPTR * do_ToolTypes;
LONG do_CurrentX;
LONG do_CurrentY;
struct DrawerData * do_DrawerData;
STRPTR do_ToolWindow; /* only applies to tools */
LONG do_StackSize; /* only applies to tools */
};
DrawerData¶
Source: workbench/workbench.h
struct DrawerData {
struct NewWindow dd_NewWindow; /* args to open window */
LONG dd_CurrentX; /* current x coordinate of origin */
LONG dd_CurrentY; /* current y coordinate of origin */
ULONG dd_Flags; /* flags for drawer */
UWORD dd_ViewModes; /* view mode for drawer */
};
FreeList¶
Source: workbench/workbench.h
struct FreeList {
WORD fl_NumFree;
struct List fl_MemList;
};
IconSelectMsg¶
Source: workbench/workbench.h
struct IconSelectMsg
{
/* Size of this data structure (in bytes). */
ULONG ism_Length;
/* Lock on the drawer this object resides in,
* NULL for Workbench backdrop (devices).
*/
BPTR ism_Drawer;
/* Name of the object in question. */
STRPTR ism_Name;
/* One of WBDISK, WBDRAWER, WBTOOL, WBPROJECT,
* WBGARBAGE, WBDEVICE, WBKICK or WBAPPICON.
*/
UWORD ism_Type;
/* TRUE if currently selected, FALSE otherwise. */
BOOL ism_Selected;
/* Pointer to the list of tag items passed to
* ChangeWorkbenchSelectionA().
*/
struct TagItem * ism_Tags;
/* Pointer to the window attached to this icon,
* if the icon is a drawer-like object.
*/
struct Window * ism_DrawerWindow;
/* Pointer to the window the icon resides in. */
struct Window * ism_ParentWindow;
/* Position and size of the icon; note that the
* icon may not entirely reside within the visible
* bounds of the parent window.
*/
WORD ism_Left;
WORD ism_Top;
WORD ism_Width;
WORD ism_Height;
};
OldDrawerData¶
Source: workbench/workbench.h
struct OldDrawerData { /* pre V36 definition */
struct NewWindow dd_NewWindow; /* args to open window */
LONG dd_CurrentX; /* current x coordinate of origin */
LONG dd_CurrentY; /* current y coordinate of origin */
};
SetupCleanupHookMsg¶
Source: workbench/workbench.h
struct SetupCleanupHookMsg
{
ULONG schm_Length; /* Size of this data structure (in bytes). */
LONG schm_State; /* See below for definitions. */
};
TextInputMsg¶
Source: workbench/workbench.h
struct TextInputMsg
{
ULONG tim_Length; /* Size of this data structure
* in bytes.
*/
LONG tim_Action; /* One of the TIACTION_...
* values listed below.
*/
STRPTR tim_Prompt; /* The Workbench suggested
* result, depending on what
* kind of input is requested
* (as indicated by the
* tim_Action member).
*/
};