home *** CD-ROM | disk | FTP | other *** search
/ Network PC / Network PC.iso / amiga utilities / disk utilities / backup / backup_restore / backup_src_v3.20.lha / FileSelect.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-30  |  4.0 KB  |  151 lines

  1. /* FileSelect.h */
  2. /* 20 May 1996 21:19:31 */
  3.  
  4. #include <Gadgets/ALVGadget.h>
  5.  
  6. #define    FNAME_MAX    30        /* Filename max. Länge */
  7.  
  8.  
  9. #define    IDCMPCODE_SELECTRECORD    993    // code für IDCMP_IDCMPUPDATE wenn Record selektiert
  10.  
  11.  
  12. /* bei Änderungen an den GadgetIDs : context[] in Backup_Help.c mit ändern ! */
  13. #define FSDrawerGadget 1000
  14. #define FSPatternGadget 1001
  15. #define FSFromDateGadget 1002
  16. #define FSToDateGadget 1003
  17. #define FSHelpGadget 1004
  18. #define FSGlobOptGadget 1005
  19. #define FSArcSetGadget 1006
  20. #define FSFromOnGadget 1007
  21. #define FSToOnGadget 1008
  22. #define FSStartGadget 1009
  23. #define FSParentGadget 1010
  24. #define FSVolumesGadget 1011
  25. #define FSRereadGadget 1012
  26. #define FSCancelGadget 1013
  27. #define FSSwapDateGadget 1014
  28. #define FSSelectAttrGadget 1015
  29. #define FSDeselectAttrGadget 1016
  30. #define FSALVGadget 1017
  31. #define FSWildTypeGadget 1018
  32. #define GD_FSDrawerGadget 1000
  33. #define GD_FSPatternGadget 1001
  34. #define GD_FSFromDateGadget 1002
  35. #define GD_FSToDateGadget 1003
  36. #define GD_FSHelpGadget 1004
  37. #define GD_FSGlobOptGadget 1005
  38. #define GD_FSArcSetGadget 1006
  39. #define GD_FSFromOnGadget 1007
  40. #define GD_FSToOnGadget 1008
  41. #define GD_FSStartGadget 1009
  42. #define GD_FSParentGadget 1010
  43. #define GD_FSVolumesGadget 1011
  44. #define GD_FSRereadGadget 1012
  45. #define GD_FSCancelGadget 1013
  46. #define GD_FSSwapDateGadget 1014
  47. #define GD_FSSelectAttrGadget 1015
  48. #define GD_FSDeselectAttrGadget 1016
  49. #define GD_FSALVGadget 1017
  50. #define GD_FSWildTypeGadget 1018
  51. #define GDX_FSDrawerGadget 0
  52. #define GDX_FSPatternGadget 1
  53. #define GDX_FSFromDateGadget 2
  54. #define GDX_FSToDateGadget 3
  55. #define GDX_FSHelpGadget 4
  56. #define GDX_FSGlobOptGadget 5
  57. #define GDX_FSArcSetGadget 6
  58. #define GDX_FSFromOnGadget 7
  59. #define GDX_FSToOnGadget 8
  60. #define GDX_FSStartGadget 9
  61. #define GDX_FSParentGadget 10
  62. #define GDX_FSVolumesGadget 11
  63. #define GDX_FSRereadGadget 12
  64. #define GDX_FSCancelGadget 13
  65. #define GDX_FSSwapDateGadget 14
  66. #define GDX_FSSelectAttrGadget 15
  67. #define GDX_FSDeselectAttrGadget 16
  68. #define GDX_FSALVGadget 17
  69. #define GDX_FSWildTypeGadget 18
  70.  
  71. #define FS_CNT 19
  72.  
  73. /* zusätzliche IDs für Hilfe-Bereiche OHNE Gadgets */
  74. #define    HELPID_FSWINDOW        1098
  75. #define    HELPID_FSWINDOW_OUTSIDE    1099
  76.  
  77.  
  78. enum ArchiveSelect { ARCSEL_ignore, ARCSEL_Cleared, ARCSEL_Set };
  79.  
  80. enum WindowSizeChg { WSC_SameSize, WSC_SizeChanged, WSC_SizeAdjusted };
  81.  
  82. enum RedisplayMode { RDM_FlagsChanged, RDM_ContentsChanged };
  83.  
  84.  
  85. /* hier werden Hilfswerte für Window-Größenabhöngige GadTools-Gadgets eingetragen */
  86. struct GadgetOffset
  87.     {
  88.     short Left, Top;
  89.     short Width, Height;
  90.     };
  91.  
  92.  
  93. struct FSDir
  94.     {
  95.     struct FSDirEntry *fsd_ParentEntry;
  96.     struct BackupOptions *fsd_DirOptions;
  97.     size_t fsd_DirCount;            // gesamte Anzahl Einträge
  98.     size_t fsd_SelectCount;            // alle selektierten Einträge
  99.     size_t fsd_ListSize;            // Größe von EntryList
  100.     ULONG fsd_TopLine;            // Nummer der obersten angezeigten Zeile (fürs Display)
  101.     char fsd_ParentSelected;        // Parent-Directory wurde ausgewählt
  102.     char fsd_HasSelects;            // Einträge hier oder in Subdirectories sind selektiert
  103.     char fsd_isComplete;            // wurde komplett gelesen
  104.     char fsd_isVolList;            // ist kein Directory, sondern die Volume List
  105.     struct FSDirEntry **fsd_EntryList;
  106.     char *fsd_Name;
  107.     };
  108.  
  109. struct FSDirEntry
  110.     {
  111.     struct ALVRecord fse_fsRecord;
  112.  
  113.     struct FSDir *fse_Contents;        // Inhalt, bei Volumes und Directories
  114.     enum FType fse_Typ;
  115.  
  116.     enum SelectType fse_ManualSelect;    // wurde manuell (de)selektiert
  117.     enum SelectType fse_Selected;
  118.  
  119.     char fse_HasSelects;            // innerhalb wurden einzelne Files/Dirs ausgewählt
  120.     unsigned long fse_Protection;
  121.     unsigned long fse_Size;
  122.     struct DateStamp fse_Date;
  123.  
  124.     APTR fse_eInfo;                // struct DosEnvec
  125.  
  126.     struct DiskObject *fse_Icon;
  127.  
  128.     struct Image *fse_Image;        // Image als Anzeige-Symbol
  129.  
  130.     unsigned short fse_NameLength;
  131.     char fse_Name[1];
  132.     };
  133.  
  134.  
  135. struct FSSelectedRecord
  136.     {
  137.     struct MinNode fsr_Node;
  138.     struct FSDirEntry *fsr_Record;
  139.     };
  140.  
  141.  
  142. /* aus FSMenu.c */
  143. extern struct Menu *FSMenuList;
  144.  
  145. /* aus FileSelectGadget.c */
  146. extern UBYTE *FSArcSetGadget0Labels[];
  147. extern UWORD FSGTypes[];
  148. extern struct NewGadget FSNGad[];
  149. extern ULONG FSGTags[];
  150. extern struct GadgetOffset FSGadgetOff[FS_CNT];
  151.