> Like the default TiddlyWiki slices the first column is an index.
> Unlike the default slices, you can have multiple columns, and
> access a column by name, the names coming from the title row.
> | |!column1 |!column2 |!column3 |
> |row1| a | b | c |
> |row2| d | e | f |
> |row3| g | h | i |
>     <<slice [[Data]] "row1" "column2">>
> returns "b".
> I dare say there are other ways of accessing the
> wide values, via the tiddler macro

I like the notion of a 2D 'slice array', addressable by row and column
names... and I especially like that fact that the additional table
syntax doesn't interfere with the TW standard slice table handling,
e.g., using the above table, you could still retrieve values where
TiddlerName::row1="a", TiddlerName::row2="d", TiddlerName::row3="g",
etc.

However, I think that rather than defining a new <<slice>> macro to
access the 'fat' slices (i.e., the extra columns in each row), a more
transparent way to achieve this would be to enhance the
store.getTiddlerText() function so that it would be able to recognize
an extended syntax for specifying a slice *column name* in addition to
a *row name* (which is currently supported by the
"TiddlerName::slicename" syntax)

I'm thinking something like this might work:
   TiddlerName::SliceRowName(SliceColumnName)
where the "(SliceColumnName)" portion is optional.  If no column name
is specified, the standard handling (i.e., returning the value from
the first column) would be applied.

For example, given this slice array:
   [[FavoritesThings]]
   | |!Color|!Fruit|!Drink|
   |Jim|red|watermelon|tomato juice|
   |Jane|blue|berries|koolaid|
   |Stanley|orange|apples|coffee|
   |Edith|green|kiwi|lemon grass tea|
You could then write things like:
   <<tiddler [[FavoriteThings::Jim(Color)]]>>
   <<tiddler [[FavoriteThings::Edith(Fruit)]]>>
   <<tiddler [[FavoriteThings::Stanley(Drink)]]>>
to display "red", "kiwi", and "coffee" respectively.

One really big advantage of extending the getTiddlerText() function is
that every plugin and core macro handler that uses getTiddlerText() to
access slices will immediately have the ability to reference values
stored in "row(column)" slice arrays as well, without needing any code
changes in those plugins or core functions!

thoughts?

-e

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To post to this group, send email to TiddlyWiki@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/TiddlyWiki?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to