home .. forth .. colorforth mail list archive ..

[colorforth] My ideal colorForth user interface:


My ideal colorForth user interface:

ON Robert's  wish list.  Some ideas have been tested but have not been
integrated into one source.  Some ideas are still not compatible with each
other. More ideas avalible. Just ask.

bottom line: the data stack ,  last word, keyboard icon.

 The data stack is light yellow for decimal  and darker yellow for
hexadecimal. ( a
yellow word is medium yellow )
 The "b key"  does  "drop"    the editor leaves the last  block on stack  to
use  with words
like "edit load copy"  I will press "b key" to drop stack data I don't need.
When  keys are
appended to the top of data stack  the top of data stack and the key map are
displayed in
the current tag color.  If I can append  " key top characters"  the key map
will  not be
displayed.   The keyboard icon (lower right) will be displayed in the
current  tag color with
a four quadrant  square icon  displaying the current  tag bits.      The " t
key" will change
 upper 2 bits of current tag  stepping through  the four classes of word (
comment, label, literal, state )
The "y key" will change lower two bit of the current tag (  extenuation
text Cap CAPS,
name make use build, use27Bit make27bit  use32bit  make32bit, variable user1
user2 key).
The "g key" will repeat the last word.  the "h key" will put h on the stack.

"keyboard"  is just a pointer into source and  show displays next 24 cells
on three rows
of eight cells each any extensions of word displayed in white.  "left hand
words" on dark
gray background and "right hand words on black background"   taping a key
will place
corresponding cell on  data stack.  Holding down the key will display the
words
definition  then words description as the keyboard map.   Taping the " space
bar"  will
execute word on top of stack and/or insert at  the cursor if editing source.
Holding down
the spacebar  will display the stack and the root  keyboard map.   Taping a
key will select
that  keyboard map as current and immediately show it .    While the "space
bar"  is down
the   "n  and  alt key"  will move the keyboard pointer  24 cells  +-.  When
the " spacebar
is released the current keymap is redisplayed.   If  no  keyboard is
selected while the
spacebar was down the current keyboard will be the last selected keyboard.
Taping "any
unassigned key" on the keyboard will hide the keyboard map  and data stack.
and  if the
space bar is taped while holding down a key that key number is placed on
stack.   When
the keyboard is inactive for a preset time  execute " screensaver load ".
When the space
bar is up the "n  and  alt key"   delete and insert words to and from
designated
"clipboard"   block

Make the "f tag "  a key definition tag   that will display the   icon  in
its position in
the key map and when executed append icon id bits to top of stack.  When
leaving the
icon editor leave  the text form of this icon "key definition tag" on the
stack,  for other words
to modify.  For example: change to being a digit   in a selected number
base.  Or machine
instruction  or other icon to be append to  top of stack.

Source is displayed on a black background.   Text to be moved when the
"space bar "
inserts the word on top of stack,  or when word is deleted  is displayed on
a dark gray
background.   This  eliminates the need for a cursor.    "Show" just changes
background
color  when the word count of the inset pointer is reached.  This will also
eliminate special
handling for start of line cursor handling and when cursor is  within a
word.

The word  " list "  takes a cell count and address  from  stack and
displays source from
address until screen is full or count is reached.  Null cells displayed
with icon with a single
dot in center in the current tag color. This will allow complete inspection
of  block or
display  counted source strings  like keyboard maps.    "fore"  "ground"
 "xy"  "font"   are
variables that "show" can save and restore  allowing the keyboard task to
control the
areas of the screen not used by show.  This will allow  words executed from
the keyboard
to display on portions of the screen not overwritten by  show.     This is
needed for
teaching,  interactive testing  and learning how graphics words work.


 Word lists are consecutive blocks with the first cell  yellow  number
indicating the number
of words  in the list.   The second  cell the yellow word " find ". Words in
the list are red
words with the extensions missing.  The reaming words are displayed in
orange indicating
that they wore trimmed by "empt"  when loaded will  do search for label on
stack and
return matching address that will be executed if in program area  or
displayed as  the
current keyboard if in  a source block.

 The word "edit"   does empty then loads the editor and displays the block .
Then  does
a modified  load on the block building  wordlists with associated  source
addresses  and
makes them available  in the root keyboard map.      Also " edit "  makes a
undefined label
list that is included in the root keyboard map.   The associated address is
the first usage of
the undefined label.


---------------------------------------------------------------------
To unsubscribe, e-mail: colorforth-unsubscribe@xxxxxxxxxxxxxxxxxx
For additional commands, e-mail: colorforth-help@xxxxxxxxxxxxxxxxxx
Main web page - http://www.colorforth.com