🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.acorn.tech
1 messages
1 total messages Started by Olaf Krumnow Wed, 06 Jan 1993 10:14
Glass Format / extension for menus
#836
Author: Olaf Krumnow
Date: Wed, 06 Jan 1993 10:14
73 lines
3559 bytes
To extend the Glass chunk file format for menus:

GLS_MENU
========
Header field
      Offset      Size  Meaning
        0           8   Menu_Datestamp
                        date&time of last change of this chunk
        8           4   Menu_NumMenus
                        number of menus defined in this chunk
       12           4   Menu_MenuDefnSize
                        size of Menu_MenuDefn fields. At present 28,
                        may change (but unlikely) in future.
       16           4   Menu_ItemDefnSize
                        size of Menu_ItemDefn fields. At present 24,
                        may change (but unlikely) in future.
       20           4   Menu_IndDataOffset
                        Chunk offset of indirected data table for
                        this menu.
       24           8   Menu_Reserved1
                        reserved for future enhancement, set to 0

Index (following immediately)
      i+0          40   Menu_Id
                        0-terminated string identifying the menu,
                        eg. "MainMenu"
      i+40          4   Menu_Offset
                        Chunk offset for data for this menu entry.
      i+44          4   Menu_Size
                        Size of data for this menu entry.
      i+48         16   Menu_Reserved2
                        reserved for future enhancement, set to 0

Menu data blocks (addressed by chunk offset)
      d+0         (28)  Menu_MenuDefn
                        A menu definition block as passed to
                        SWI Wimp_CreateMenu. Note exceptions stated
                        below.
      d+28        (24)  Menu_ItemDefn 0
                        Data for first menu item, as passed to
                        SWI Wimp_CreateMenu. Note exceptions stated
                        below.
      d+52        (24)  Menu_ItemDefn 1
      ...         ...   ...etc...

Indirected data tables (addressed by chunk offset)
      t+0           4   Menu_IndNumEntries
                        number of entries in this table.
      t+4           4   Menu_IndChunkOffset 0
                        Chunk offset for entry 0
      t+8           4   Menu_IndChunkOffset 1
      ...         ...   ...etc...

Indirected data blocks (addressed by chunk offset)
      id+0        nn    0-terminated strings of any length,
                        representing indirected data.

Notes
~~~~~
      Exceptions as noted for GLS_WIND. Item naming in chunk
      GLS_NAME the same way as icon naming for windows.
      Submenu links are pointing into indirected data tables,
      therefore pointing to another submenu name, or a window name.

Olaf.

------------------------------------------------------------
Olaf Krumnow                 e-mail: okrumnow@mcshh.hanse.de
                             snail : August-Bebel-Str. 102c
Headquarter of the                   W-2050 Hamburg 80
German Archimedes Group              Germany
------------------------------------------------------------
      
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads