home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Extras / IFF / IFF_Forms / TMUI.doc < prev    next >
Encoding:
Text File  |  1999-10-27  |  14.4 KB  |  517 lines

  1. Toolmaker IFF project file format (ToolMaker V1.19)
  2. ---------------------------------
  3.  
  4. FORM TMUI
  5.  
  6. Description by Michael Erwin
  7.  
  8.  
  9. The TMUI FORM is used by Toolmaker to describe the created graphical user
  10. interface.  TMUI stands for Toolmaker User Interface.  This description is
  11. for the output of Toolmaker V1.19 and may change in the future.
  12.  
  13. ZTS in the following FORMs and chunks means Zero Terminated String.  All
  14. reserved fields must be set to 0.
  15.  
  16.  
  17. FORMs and chunks:
  18.  
  19.   THDR
  20.  
  21.     The THDR chunk contains the project's header information.  It is always
  22.     located within the TMUI FORM.
  23.  
  24.       - ZTS version - the project's version string. (Ex: '$VER: Toolmaker
  25.                       Project 1.19 (8.7.92)\0')
  26.  
  27.       - ULONG reserved
  28.  
  29.       - ULONG reserved
  30.  
  31.   ANNO
  32.  
  33.     The ANNO chunk contains the project's annotation information.  It is always
  34.     located within the TMUI FORM.
  35.  
  36.       - ZTS description - a string describing the project file. (Ex: 'Project
  37.                           file created by Toolmaker (c) 1992-1999 Amiga,
  38.                           Inc. (c) 1991 Michael J. Erwin\0')
  39.  
  40.   TMSE
  41.  
  42.     The TMSE FORM contains all settings information.  It is always located
  43.     within the TMUI FORM.  Each setting is contained in its own chunk within
  44.     the TMSE FORM.
  45.  
  46.   SATB
  47.  
  48.     The SATB chunk contains information for the Top Border Adjust setting.  It
  49.     is always located within the TMSE FORM.
  50.  
  51.       - UBYTE flags - Top Border Adjust flags.
  52.  
  53.                       bit    0: 1 = Top Border Adjust on.
  54.                       bit 1-31: reserved
  55.  
  56.   SCOM
  57.  
  58.     The SCOM chunk contains information for the Code Comments setting. It is
  59.     always located within the TMSE FORM.
  60.  
  61.       - UBYTE flags - Code Comments flags.
  62.  
  63.                       bit    0: 1 = Code Comments on.
  64.                       bit 1-31: reserved
  65.  
  66.   SPRA
  67.  
  68.     The SPRA chunk contains information for the Use Pragmas setting.  It is
  69.     always located within the TMSE FORM.
  70.  
  71.       - UBYTE flags - Use Pragmas flags.
  72.  
  73.                       bit    0: 1 = Use Pragmas on.
  74.                       bit 1-31: reserved
  75.  
  76.   SICN
  77.  
  78.     The SICN chunk contains information for the Create Icons setting.  It is
  79.     always located within the TMSE FORM.
  80.  
  81.       - UBYTE flags - Create Icons flags.
  82.  
  83.                       bit    0: 1 = Create Icons on.
  84.                       bit 1-31: reserved
  85.  
  86.   SUSG
  87.  
  88.     The SUSG chunk contains information for the User Wait Signal setting.  It
  89.     is always located within the TMSE FORM.
  90.  
  91.       - UBYTE flags - User Wait Signal flags.
  92.  
  93.                       bit    0: 1 = Create Icons on.
  94.                       bit 1-31: reserved
  95.  
  96.   SARX
  97.  
  98.     The SARX chunk contains information for the Use SimpleRexx setting.  It is
  99.     always located within the TMSE FORM.
  100.  
  101.       - UBYTE flags - Use SimpleRexx flags.
  102.  
  103.                       bit    0: 1 = Use SimpleRexx on.
  104.                       bit 1-31: reserved
  105.  
  106.   SCHP
  107.  
  108.     The SCHP chunk contains information for the Use __chip Keyword setting.  It
  109.     is always located within the TMSE FORM.:
  110.  
  111.       - UBYTE flags - Use __chip Keyword flags.
  112.  
  113.                       bit    0: 1 = Use __chip Keyword on.
  114.                       bit 1-31: reserved
  115.  
  116.   SUDA
  117.  
  118.     The SUDA chunk contains information for the Use UserData Structures setting.
  119.     It is always located within the TMSE FORM.
  120.  
  121.       - UBYTE flags - Use UserData Structures flags.
  122.  
  123.                       bit    0: 1 = Use UserData Structures on.
  124.                       bit 1-31: reserved
  125.  
  126.   SFRQ
  127.  
  128.     The SFRQ chunk contains information for the Use ASL File Requester setting.
  129.     It is always located within the TMSE FORM.
  130.  
  131.       - UBYTE flags - Use ASL File Requester flags.
  132.  
  133.                       bit    0: 1 = Use ASL File Requester on.
  134.                       bit 1-31: reserved
  135.  
  136.   SGSZ
  137.  
  138.     The SGSZ chunk contains information for the Grid Snap setting.  It is
  139.     always located within the TMSE FORM.
  140.  
  141.       - UBYTE gridsize - the size of the grid spacing.  Future versions of
  142.                          Toolmaker may use other values.
  143.  
  144.                          1 = Grid Snap Off.
  145.                          2 = Grid Snap at 2 pixels.
  146.                          4 = Grid Snap at 4 pixels.
  147.                          8 = Grid Snap at 8 pixels.
  148.  
  149.       - UBYTE reserved
  150.  
  151.   TSCR
  152.  
  153.     The TSCR FORM contains all information for a screen.  It is always
  154.     located within the TMUI FORM.  There is one TSCR FORM for each screen.
  155.     As of V1.19 only one TSCR FORM is created and looked for.  A TSCR FORM
  156.     exists even if the Workbench screen is used instead of a custom screen.
  157.  
  158.   TSDA
  159.  
  160.     The TSDA chunk contains general screen data.  It is always located within
  161.     a TSCR FORM.  For the Workbench screen only the displayID and mode fields
  162.     are used.  All others are ignored.
  163.  
  164.       - ULONG displayID - DisplayID as defined in <graphics/modeid.h>.
  165.                           (0 = Workbench screen)
  166.  
  167.       - ULONG width - the screen's width.
  168.  
  169.       - ULONG height - the screen's height.
  170.  
  171.       - ULONG depth - the screen's depth (number of bitplanes).
  172.  
  173.       - ULONG overscan - overscan as defined in <intuition/screens.h>.
  174.  
  175.       - ULONG TMflags - Toolmaker screen flags.
  176.  
  177.                         bit  0-2: reserved
  178.                         bit    3: 1 = open at start
  179.                         bit 4-31: reserved
  180.  
  181.       - ULONG mode - Toolmaker internal screen mode flags.  Future versions
  182.                      of Toolmaker may ignore this info since this data is
  183.                      redundant.
  184.  
  185.                      bit     0: 1 = NTSC
  186.                      bit     1: 1 = PAL
  187.                      bit     2: 1 = Interlace
  188.                      bit     3: 1 = HIRES
  189.                      bit     4: 1 = SuperHIRES
  190.                      bit     5: 1 = Productivity
  191.                      bit     6: 1 = A2024 10Hz
  192.                      bit     7: 1 = A2024 15Hz
  193.                      bit     8: 1 = Overscan TEXT
  194.                      bit     9: 1 = Overscan STANDARD
  195.                      bit    10: 1 = Overscan MAX
  196.                      bit    11: 1 = Overscan VIDEO
  197.                      bit    12: reserved
  198.                      bit    13: 1 = Custom palette
  199.                      bit    14: 1 = Default width
  200.                      bit    15: 1 = Default height
  201.                      bit 16-30: reserved
  202.                      bit    31: 1 = Workbench
  203.  
  204.       - struct Rectangle reserved
  205.  
  206.       - ULONG reserved
  207.  
  208.       - ULONG reserved
  209.  
  210.       - ZTS title - the screen's title bar text.
  211.  
  212.       - ZTS label - the screen's source code label.
  213.  
  214.       - ZTS reserved
  215.  
  216.   CMAP
  217.  
  218.     The CMAP chunk contains color map data for the screen.  It is in the same
  219.     format as the CMAP in the ILBM FORM and is always located within a TSCR
  220.     FORM.  There are three UBYTEs for each bitplane of the screen.
  221.  
  222.       - UBYTE red level.
  223.  
  224.       - UBYTE green level.
  225.  
  226.       - UBYTE blue level.
  227.  
  228.         .
  229.         .
  230.         .
  231.  
  232.   TWIN
  233.  
  234.     The TWIN FORM contains all information for a window.  It is always
  235.     located within a TSCR FORM.  There is one TWIN FORM for each window
  236.     of the screen.
  237.  
  238.   TWDA
  239.  
  240.     The TWDA chunk contains general window data.  It is always located within
  241.     a TWIN FORM.
  242.  
  243.       - ULONG IDCMP - the window's IDCMP flags.
  244.  
  245.       - ULONG TMflags - Toolmaker window flags.
  246.  
  247.                         bit    0: 1 = gimmezerozero
  248.                         bit    1: reserved
  249.                         bit    2: 1 = open at start
  250.                         bit 4-31: reserved
  251.  
  252.       - ULONG reserved
  253.  
  254.       - ULONG reserved
  255.  
  256.       - ZTS title - the window's title bar text.
  257.  
  258.       - ZTS label - the window's source code label.
  259.  
  260.       - ZTS reserved
  261.  
  262.   TMEN
  263.  
  264.     The TMEN FORM contains all information for a menu.  It is always located
  265.     within a TWIN FORM.  There is one TMEN FORM for each menu within a menu
  266.     bar.
  267.  
  268.   TMDA
  269.  
  270.     The TMDA chunk contains general menu data.  It is always located within a
  271.     TWIN FORM.
  272.  
  273.       - ULONG number - the menu's number counting from the left.  For V1.19
  274.                        this number is ignored and the menus are expected to be
  275.                        in the correct order within the TWIN FORM.
  276.  
  277.       - UWORD flags - the menu's flags as defined in <intuition/intuition.h>.
  278.  
  279.       - ULONG TMflags - Toolmaker menu flags.
  280.  
  281.                         bit 0-31: reserved
  282.  
  283.       - ULONG reserved
  284.  
  285.       - ULONG reserved
  286.  
  287.       - ZTS text - the menu's text
  288.  
  289.       - ZTS label - the menu's source label
  290.  
  291.       - ZTS reserved
  292.  
  293.   TITE
  294.  
  295.     The TITE FORM contains all information for a menu item.  It is always
  296.     located within a TMEN FORM.  There is one TITE FORM for each item within
  297.     the menu.
  298.  
  299.   TIDA
  300.  
  301.     The TIDA chunk contains general a menu item data.  It is always located
  302.     within a TITE FORM.
  303.  
  304.       - ULONG number - the item's number counting from the top.  For V1.19
  305.                        this number is ignored and the items are expected to be
  306.                        in the correct order within the TMEN FORM.
  307.  
  308.       - UWORD flags - the item's flags as defined in <intuition/intuition.h>.
  309.  
  310.       - ULONG TMflags - Toolmaker menu item flags.
  311.  
  312.                         bit    0: 1 = mutual exclude all other items.
  313.                         bit 1-31: reserved
  314.  
  315.       - ULONG reserved
  316.  
  317.       - ULONG reserved
  318.  
  319.       - ULONG reserved
  320.  
  321.       - ZTS text - the item's text.
  322.  
  323.       - ZTS commkey - a character for the item's keyboard shortcut.
  324.  
  325.       - ZTS label - the item's source code label.
  326.  
  327.       - ZTS reserved
  328.  
  329.   TSID
  330.  
  331.     The TSID chunk contains all information for a menu subitem.  It is always
  332.     located within a TITE FORM.  There is one TSID chunk for each subitem
  333.     within an item.
  334.  
  335.       - ULONG number - the subitem's number counting from the top.  For V1.19
  336.                        this number is ignored and the subitems are expected to be
  337.                        in the correct order within the TITE FORM.
  338.  
  339.       - UWORD flags - the subitem's flags as described in <intuition/intuition.h>.
  340.  
  341.       - ULONG TMflags - Toolmaker menu subitem flags.
  342.  
  343.                         bit    0: 1 = mutual exclude all other subitems.
  344.                         bit 1-31: reserved
  345.  
  346.       - ULONG reserved
  347.  
  348.       - ULONG reserved
  349.  
  350.       - ULONG reserved
  351.  
  352.       - ZTS text - the subitem's text.
  353.  
  354.       - ZTS commkey - the subitem's keyboard shortcut character. (Ex: "A")
  355.  
  356.       - ZTS label - the subitem's source code label.
  357.  
  358.       - ZTS reserved
  359.  
  360.   TGAD
  361.  
  362.     The TGAD FORM contains all information for a gadget.  It is always located
  363.     within a TWIN FORM.  There is one TGAD FORM for each gadget within the
  364.     window.
  365.  
  366.   TGDA
  367.  
  368.     The TGDA chunk contains general gadget data.  It is always located within
  369.     a TGAD FORM.
  370.  
  371.       - ULONG number - the gadgets's number counting from the first one to
  372.                        display.  For V1.19 this number is ignored and the
  373.                        gadgets are expected to be in the correct order within
  374.                        the TWIN FORM.
  375.  
  376.       - ULONG kind - the gadget's kind as described in <libraries/gadtools.h>.
  377.  
  378.       - ULONG TMflags - Toolmaker gadget flags.
  379.  
  380.                         bit 0-31: reserved
  381.  
  382.       - struct NewGadget newgadget - the gadget's NewGadget structure.
  383.                                      The ng_GadgetText, ng_TextAttr,
  384.                                      ng_GadgetID, ng_VisualInfo, and
  385.                                      ng_UserData fields are ignored.
  386.  
  387.                                      * The ng_TopEdge is from the bottom of
  388.                                      the window's top border and the
  389.                                      ng_LeftEdge is from the right edge of
  390.                                      the window's left border if the Auto Top
  391.                                      Border setting is on.
  392.  
  393.       - ULONG reserved
  394.  
  395.       - ULONG reserved
  396.  
  397.       - ZTS text - the gadget's text.
  398.  
  399.       - ZTS label - the gadget's source code label.
  400.  
  401.       - ZTS reserved
  402.  
  403.   TFON
  404.  
  405.     The TFON FORM contains all information for a font.  It may be located
  406.     within a TSCR or TGAD FORM.
  407.  
  408.   TTAT
  409.  
  410.     The TTAT chunk contains general font data.  Is is always located within
  411.     a TFON FORM.
  412.  
  413.       - struct TextAttr textattr - the font's TextAttr structure.  The ta_Name
  414.                                    field is ignored.
  415.  
  416.       - ZTS name - the font's name (Ex: "topaz.font").
  417.  
  418.   TINT
  419.  
  420.     The TINT chunk contains information for an integer tag.  It may be located
  421.     within a TSCR, TWIN, TGAD, or TFON FORM.
  422.  
  423.       - ULONG tag - the tag.
  424.  
  425.       - ULONG data - the tag's integer value.
  426.  
  427.       - ULONG reserved
  428.  
  429.       - ZTS data - the tag's value in character form.  This is used mostly
  430.                    for constants such as TRUE and FALSE.  (Ex: "TRUE" or "1")
  431.  
  432.   TCHA
  433.  
  434.     The TCHA chunk contains information for a character tag.  It may be located
  435.     within a TSCR, TWIN, TGAD, or TFON FORM.
  436.  
  437.       - ULONG tag - the tag.
  438.  
  439.       - ULONG character - the tag's ASCII character value (Ex: 'a' or 'b')
  440.  
  441.       - ULONG reserved
  442.  
  443.       - ZTS character - the tag's value in character form. (Ex: "a" or "b")
  444.  
  445.   TWLS
  446.  
  447.     The TWLS chunk contains information for a WORD list tag.  It may be located
  448.     within a TSCR, TWIN, TGAD, or TFON FORM.
  449.  
  450.       - SHORT count - the number of WORDs in the list.
  451.  
  452.       - ULONG tag - the tag.
  453.  
  454.       - ULONG reserved
  455.  
  456.       - WORD[count] - the list of WORDs.
  457.  
  458.   TSTR
  459.  
  460.     The TSTR chunk contains information for a string tag.  It may be located
  461.     within a TSCR, TWIN, TGAD, or TFON FORM.
  462.  
  463.       - ULONG tag - the tag.
  464.  
  465.       - ULONG reserved
  466.  
  467.       - ULONG reserved
  468.  
  469.       - ZTS string - the string.
  470.  
  471.   TSLS
  472.  
  473.     The TSLS chunk contains information for a string list tag.  It may be
  474.     located within a TSCR, TWIN, TGAD, or TFON FORM.
  475.  
  476.       - SHORT count - the number of strings in the list.
  477.  
  478.       - ULONG tag - the tag.
  479.  
  480.       - ULONG reserved1[count] - a reserved ULONG for each string in the list.
  481.  
  482.       - ULONG reserved2[count] - a reserved ULONG for each string in the list.
  483.  
  484.       - ZTS string[count] - the list of strings.
  485.  
  486.       - ZTS label[count] - the source labels for each string.
  487.  
  488.   TLLS
  489.  
  490.     The TLLS chunk contains information for a linked list tag.  It may be
  491.     located within a TSCR, TWIN, TGAD, or TFON FORM.
  492.  
  493.       - SHORT count - the number of items in the list.
  494.  
  495.       - ULONG tag - the tag.
  496.  
  497.       - ULONG reserved1[count] - a reserved ULONG for each item in the list.
  498.  
  499.       - ULONG reserved2[count] - a reserved ULONG for each item in the list.
  500.  
  501.       - ZTS item[count] - the list of items.
  502.  
  503.       - ZTS label[count] - the source labels for each item.
  504.  
  505.   TNIN
  506.  
  507.     The TNIN chunk contains information for a non-interactive tag.  It may be
  508.     located within a TSCR, TWIN, TGAD, or TFON FORM.
  509.  
  510.       - ULONG tag - the tag.
  511.  
  512.       - ULONG reserved
  513.  
  514.       - ZTS data - the tag's value in character form. (Ex: "TRUE" or "12")
  515.  
  516.  
  517.