#ifndef GADGETS_GETFILE_H #define GADGETS_GETFILE_H /* ** $VER: getfile.h 44.1 (19.10.1999) ** Includes Release 44.1 ** ** Definitions for the getfile.gadget BOOPSI class ** ** (C) Copyright 1987-1999 Amiga, Inc. ** All Rights Reserved */ /*****************************************************************************/ #ifndef REACTION_REACTION_H #include <reaction/reaction.h> #endif #ifndef INTUITION_GADGETCLASS_H #include <intuition/gadgetclass.h> #endif /*****************************************************************************/ /* Attributes defined by the getfile.gadget class */ #define GETFILE_Dummy (REACTION_Dummy + 0x60000) #define GETFILE_TitleText (GETFILE_Dummy+1) /* (STRPTR) Requester title text (default: None) (OM_NEW, OM_SET) */ #define GETFILE_LeftEdge (GETFILE_Dummy+2) #define GETFILE_TopEdge (GETFILE_Dummy+3) /* (WORD) Requester coordinates (default leftedge: 30, topedge: 20) (OM_NEW, OM_SET, OM_GET) */ #define GETFILE_Width (GETFILE_Dummy+4) #define GETFILE_Height (GETFILE_Dummy+5) /* (WORD) Requester dimensions (default height: 200, width: 300) (OM_NEW, OM_SET, OM_GET) */ #define GETFILE_File (GETFILE_Dummy+6) /* (STRPTR) Contents of File gadget (default: None) (OM_NEW, OM_SET, OM_GET, OM_NOTIFY) */ #define GETFILE_Drawer (GETFILE_Dummy+7) /* (STRPTR) Contents of Drawer gadget (default: None) (OM_NEW, OM_SET, OM_GET, OM_NOTIFY) */ #define GETFILE_FullFile (GETFILE_Dummy+8) /* (STRPTR) Complete file name. Replaces GETFILE_Drawer and GETFILE_File (default: None) (OM_NEW, OM_SET, OM_GET, OM_NOTIFY) */ #define GETFILE_FullFileExpand (GETFILE_Dummy+9) /* (BOOL) GETFILE_FullFile will give complete file name(s) expanded with NameFromLock() to remove relative paths. (default: TRUE) (OM_NEW, OM_SET) */ #define GETFILE_Pattern (GETFILE_Dummy+10) /* (STRPTR) Contents of Pattern gadget (default: "#?") (OM_NEW, OM_SET, OM_GET) */ #define GETFILE_DoSaveMode (GETFILE_Dummy+11) /* (BOOL) Being used for saving? (default: FALSE) (OM_NEW, OM_SET) */ #define GETFILE_DoMultiSelect (GETFILE_Dummy+12) /* (BOOL) Do multi-select? (default: FALSE) (OM_NEW, OM_SET) */ #define GETFILE_DoPatterns (GETFILE_Dummy+13) /* (BOOL) Display a Pattern gadget? (default: FALSE) (OM_NEW, OM_SET) */ #define GETFILE_DrawersOnly (GETFILE_Dummy+14) /* (BOOL) Don't display files? (default: FALSE) (OM_NEW, OM_SET) */ #define GETFILE_FilterFunc (GETFILE_Dummy+15) /* (struct Hook *) Function to filter files (default: None) (OM_NEW, OM_SET) */ #define GETFILE_RejectIcons (GETFILE_Dummy+16) /* (BOOL) Display .info files? (default: FALSE) (OM_NEW, OM_SET) */ #define GETFILE_RejectPattern (GETFILE_Dummy+17) /* (UBYTE *) Don't display files matching pattern (default: None) (OM_NEW, OM_SET) */ #define GETFILE_AcceptPattern (GETFILE_Dummy+18) /* (UBYTE *) Accept only files matching pattern (default: None) (OM_NEW, OM_SET) */ #define GETFILE_FilterDrawers (GETFILE_Dummy+19) /* (BOOL) Also filter drawers with pattern (default: FALSE) (OM_NEW, OM_SET) */ #define GETFILE_Filelist (GETFILE_Dummy+20) /* (struct List *) If the GETFILE_DoMultiSelect tags was used, you can get a pointer to the list of selected files/drawers using this tag. The ln_Name part of each node will contain the filename/drawername for each selected file with a fully qualified path, even if you didn't use the GETFILE_FullFileExpand. In single-selected mode, the list will contain the single selected file for notification purposes. Don't forget to free the list using the GFILE_FREELIST method! (OM_GET, OM_NOTIFY) */ #define GETFILE_LBNodeStructs (GETFILE_Dummy+21) /* (BOOL) GETFILE_Filelist will give a list with ListBrowserNodes instead of normal struct Node node structures (default: FALSE) (OM_NEW) */ #define GETFILE_ReadOnly (GETFILE_Dummy+22) /* (BOOL) If TRUE, a read-only recessed button gadget is used to present the file/drawer information. If FALSE, an editable string gadget is used. (default: TRUE) (OM_NEW) */ #define GETFILE_FilePartOnly (GETFILE_Dummy+23) /* (BOOL) display file part only - valid ONLY in readonly mode! */ /*****************************************************************************/ /* * getfile.gadget methods */ #define GFILE_REQUEST (0x620001L) #define GFILE_FREELIST (0x620002L) /* The GFILE_REQUEST method should be called whenever you want to open * a file/dir requester. */ struct gfileRequest { ULONG MethodID; /* GFILE_REQUEST */ struct Window *gfile_Window; /* The window that will be locked when the requester is active. MUST be provided! */ }; /* The GFILE_FREELIST method SHOULD be called when you are done doing a multiselect * a file/dir select using the tag GETFILE_DoMultiSelect and have processed the result. * This method will free the list of struct Node structures. If you do not free this * list using this method, the list will not be freed until you dispose the class. */ struct gfileFreelist { ULONG MethodID; /* GFILE_FREELIST */ struct List *gfile_Filelist; /* The list of struct Node obtained using the GETFILE_Filelist tag in OM_GET. Can be NULL, in which case this method will do nothing. */ }; /* macros for calling the methods easily */ #define gfRequestFile(obj, win) DoMethod(obj, GFILE_REQUEST, win) #define gfRequestDir(obj, win) DoMethod(obj, GFILE_REQUEST, win) #define gfFreeFilelist(obj, list) DoMethod(obj, GFILE_FREELIST, list) #endif /* GADGETS_GETFILE_H */