1 #ifndef CLASSES_REQUESTER_H
    2 #define CLASSES_REQUESTER_H
    3 
    4 /*
    5 	requester.class definitions (V45)
    6 
    7 	Copyright © 2002 The MorphOS Development Team, All Rights Reserved.
    8 */
    9 
   10 #ifndef REACTION_REACTION_H
   11 # include <reaction/reaction.h>
   12 #endif
   13 
   14 #pragma pack(2)
   15 
   16 
   17 /* Attributes defined by requester.gadget */
   18 
   19 #define REQ_Dummy   (REACTION_Dummy + 0x45000)
   20 #define REQS_Dummy  (REQ_Dummy + 0x100)
   21 #define REQI_Dummy  (REQ_Dummy + 0x200)
   22 #define REQP_Dummy  (REQ_Dummy + 0x300)
   23 
   24 #define REQ_Type            (REQ_Dummy + 1)
   25 #define REQ_TitleText       (REQ_Dummy + 2)
   26 #define REQ_BodyText        (REQ_Dummy + 3)
   27 #define REQ_GadgetText      (REQ_Dummy + 4)
   28 #define REQ_ReturnCode      (REQ_Dummy + 5)
   29 #define REQ_TabSize         (REQ_Dummy + 6)
   30 
   31 
   32 /* Integer-request type attributes */
   33 
   34 #define REQI_Minimum        (REQI_Dummy + 1)
   35 #define REQI_Maximum        (REQI_Dummy + 2)
   36 #define REQI_Invisible      (REQI_Dummy + 3)
   37 #define REQI_Number         (REQI_Dummy + 4)
   38 #define REQI_Arrows         (REQI_Dummy + 5)
   39 #define REQI_MaxChars       (REQI_Dummy + 6)
   40 
   41 
   42 /* String-request type attributes */
   43 
   44 #define REQS_AllowEmpty     (REQS_Dummy + 1)
   45 #define REQS_Invisible      (REQI_Invisible)
   46 #define REQS_Buffer         (REQS_Dummy + 2)
   47 #define REQS_ShowDefault    (REQS_Dummy + 3)
   48 #define REQS_MaxChars       (REQS_Dummy + 4)
   49 #define REQS_ChooserArray   (REQS_Dummy + 5)
   50 #define REQS_ChooserActive  (REQS_Dummy + 6)
   51 
   52 
   53 /* Progress-window type attributes */
   54 
   55 #define REQP_Total          (REQP_Dummy + 1)
   56 #define REQP_Current        (REQP_Dummy + 2)
   57 #define REQP_AbortText      (REQ_GadgetText)
   58 #define REQP_ProgressText   (REQ_BodyText)
   59 #define REQP_OpenInactive   (REQP_Dummy + 3)
   60 #define REQP_NoText         (REQP_Dummy + 4)
   61 #define REQP_Dynamic        (REQP_Dummy + 5)
   62 #define REQP_CenterWindow   (REQP_Dummy + 6)
   63 #define REQP_LastPosition   (REQP_Dummy + 7)
   64 #define REQP_Percent        (REQP_Dummy + 8)
   65 #define REQP_Ticks          (REQP_Dummy + 9)
   66 #define REQP_ShortTicks     (REQP_Dummy + 10)
   67 
   68 
   69 /* requester.class methods */
   70 
   71 #define RM_OPENREQ  (0x650001L)
   72 
   73 
   74 struct orRequest
   75 {
   76 	ULONG            MethodID;
   77 	struct TagItem  *or_Attrs;
   78 	struct Window   *or_Window;
   79 	struct Screen   *or_Screen;
   80 };
   81 
   82 
   83 /* REQ_Type definitions */
   84 
   85 #define REQTYPE_INFO      0
   86 #define REQTYPE_INTEGER   1
   87 #define REQTYPE_STRING    2
   88 #define REQTYPE_PROGRESS  3
   89 
   90 
   91 /* Useful macros */
   92 
   93 #ifndef RequesterObject
   94 # define OpenRequester(obj, win)  DoMethod(obj, RM_OPENREQ, NULL, win, NULL, TAG_DONE)
   95 # define RequesterObject          NewObject(REQUESTER_GetClass(), NULL
   96 #endif
   97 
   98 
   99 #pragma pack()
  100 
  101 #endif /* CLASSES_REQUESTER_H */