Farbflash projects: Imaging lingo table | 3-D scene list | Find all | Handler menu | Lingo message window
wiki:Purpose
Last modified 4 years ago Last modified on 09/21/07 02:48:08

Imaging lingo table

-- aleXtra -- ©05 Alex da Franca -- alex@… Version 1.2.2, Release date: 09/21/07 (self-install version)


Purpose

Use this LDM to display a grid table, a dialog or a menu as one sprite or overlay in a 3-D scene.

For use with the Macromedia Director.

It is fully customizable and works cross platform and in shockwave


Requirements

"aleXtra_ILtable.dcr" LDM with all its scripts ... and Macromedia Director 8 and higher.


Installation

  • Import "aleXtra_ILtable.dcr" file as Linked Director Movie: File -> Import...
  • Drag it to the score/stage (move it offstage)
  • Extend the sprite span to begin at least one frame before the frame you wish to use the table scripts (in fact you can extend the sprite span to cover all frames in your movie as this sprite is only used as a pool of scripts. Think of it as kind of a castlib.)
  • Move the playback head to a sprite within the sprite range of the sprite with the LDM
  • Type the following into the message window:
    tell sprite <x> to put interface() 
    
    (where <x> is the channelnumber of the LDM sprite)
  • Some infos and the next steps you should take are explained in the message window
  • Basically these are the following options:

-- Install the required scripts to build a simple table:

tell sprite <x> to mInstallRequiredTableScripts <y> 

(<x> => LDM channelnumber and <y> (optional) => table channelnumber, if any)

-- or install the required scripts to build a drop down menu using the table scripts:

tell sprite <x> to mInstallRequiredMenuTableScripts <y> 

(<x> => LDM channelnumber and <y> (optional) => menu button channelnumber, if any)

-- or install the required scripts to build a context menu using the table scripts:

tell sprite <x> to mInstallRequiredContextMenuScripts <y> 

(<x> => LDM channelnumber and <y> (optional) => 3-D sprite, if any)

-- or install the required scripts to build a dialog using the table scripts:

tell sprite <x> to mInstallRequiredDialogTableLoadScripts <y> 

(<x> => LDM channelnumber and <y> (optional) => 3-D sprite, if any)


Customization

Customize the table appearance in the scriptmember "defaultLayoutDefinitions": Background, color, margins etc. There is for each hanlder a case statement, where you can define the variables for a "layout", which you name and use this name when building the table. For the behaviors you can specify which layout to use in the GPDL dialog.


Features at a glance

  • Entirely written in lingo, no xtras required -> x-platform and shockwave safe
  • Data input via lingo lists, tab delimited text or xml string
  • Only one spritechannel needed to render each table as 2-D bitmap sprite OR the exact same scripts can also be dropped onto any existing shockwave3d sprite to display the table as an overlay
  • Additional to the use on a 2-D sprite or 3-D member the "host" can also be a scriptinstance, which retrieves the table image and send the user input events table (e.g. for usage as texture)
  • The appearance is fully customizable through numberous properties, which can be defined in a script, which lists all available options
  • Every cell can override most of the properties and define its own events and additional data
  • Events sent to each cell are selection and rolloevr events and text input events for editable text cells
  • Properties can also be defined on a row- or column-basis
  • Lines can have alternative background colors provided in a list of colors (can be any number of colors, not only 2)
  • Cells can contain text, editable text or images
  • Text cells can either wrap to multiple lines or cropped to fit into one line
  • Editable text cells can constrain char and number of chars
  • Image cells support director ink types and can be defined to either scale or crop or extend the column width
  • Prerendered text can be stored for not dynamic content, so that it builds faster and is independant from fonts or code pages
  • There are many "special" cells to act as a button, checkbox, radio option, sort columns, filter columns.
  • Columns can optional be resizable and/or can be dragged to other position
  • Two rendering modes: all in one big image (fast scrol, but more RAM and time to build) or render on demand in only the visible area
  • Background can be either color, image (scrolling or fixed) or transparent
  • Horizontal cells can be combined (=> colspan > 1)
  • Different highlight and selection modes for cells: #invert, #drawFrame, #useHighLightColor, #blend, #underline
  • Different animation modes for the appearance of the table, menu or dialog on the stage (esp. useful for menus and dialogs)
  • Customizable scrollbars or "autoscroll" mode (scroll on mouseover the egde)
  • Customizable drop shadows
  • Paste tab delimited text into the table
  • Get table data as tab delimited text
  • Insert and delete cells, rows or columns
  • Support for vList xtra -> store the whole list setup in a external vList file
  • Keyboard shortcuts for cells (useful for buttons in dialogs for example)
  • ...more (Please refer to the docs to read a listing of events, which are sent and can be received)


Help

Read the comments at the top of the Behaviors call interface() on the sprites:

put sendSprite(<y>, #interface) 

(NOTE that the movie must be playing to be able to use sendSprite)

Drop me a line: Alex da Franca


Version history