i'm trying to build an experimental application to browse a hypertext
space. it's an unusual approach so before i ask a Tk specific question
please let me explain some details of what i want to achieve.
the idea is to have pages with text and links (like the
wikipedia). the text is structurized - among the others it has
sections, subsections, paragraphs etc. what i want to achieve is to
zoom_in/zoom_out (using mouse roll) on the text so more specific
description (e.g. subsections of section) appear or hide. it means
that the text can expand and shrink. secondly user can click on any
link to choose it. after that new small area (window) should appear in
the position of the choosen link. inside this area i will put
information pointed by the link - e.g. description of new
concept, starting with short description. further zooming in/out
should concern new area (window). it should grow taking more and more
place so more and more information could be put (subsections,
paragraphs, etc.). during the growth the previous text from where the
link was choosen should also be shown. its content should shrink and
disappear slowly as new area (window) grows.
at a time there can be more than 1 or 2 windows beceuse user could
e.g. pick another link in newly created area an proceed to it.
i want to build it to ease the exploration of big hypertext spaces
like wikipedia; to present more detailed information if requested
(zooming); to faster navigate and search for the information etc.
so to summarize:
- shrink/expand text by scrolling a mouse roll
- new areas (windows) which can grow and shrink and contain some text
- old text disappear (e.g. fade out (color changing), or transparency)
i was wondering what widgets (approach) to choose in Tk to achive
above. i thought of using frames with textareas, splitting them when
new link is choosen and insert new frame with textarea in the
middle. when the user is zooming in i could expand inner frame, put
there more and more text and smaller the outer one. color of the new
and old text could be manipulated to achieve smoothness.
i was also thinking about using TkZinc beceuse of nice feature of
transparency but i don't know if there is any nice textarea which
could limit inserted text.
do you think it could work with frames? or maybe TkZinc or maybe there
are any other widgets (not necessarly native) which could be helpful?
if you have also any ideas, suggestions or whatever what could be
helpful please answer.
sorry for long post but it's hard for me to explain it
shortly. if any example figures could help, please let me know.
best regards,
ks
For Tk i would use something like either Tkzinc or Tcl3d to provide
smooth zooming and transparency effects. You could do it with the
canvas, but using one of the OpenGL things would be better.
Michael
Sounds like the work done on Pad++ about 8 years ago. See:
http://www.usenix.org/publications/library/proceedings/tcl95/bederson.html
--
+--------------------------------+---------------------------------------+
| Gerald W. Lester |
|"The man who fights for his ideals is the man who is alive." - Cervantes|
+------------------------------------------------------------------------+
See also http://www.cs.umd.edu/hcil/pad++/
>Gerald W. Lester wrote:
>> ks wrote:
>>>...
>> Sounds like the work done on Pad++ about 8 years ago. See:
>> http://www.usenix.org/publications/library/proceedings/tcl95/bederson.html
>>
>
>See also http://www.cs.umd.edu/hcil/pad++/
thank you for the link. it is really cool and partially what i'm
looking to achieve. i didn't explain it well but zooming in and out
aside from enlarging/shrinking the bounding box also add/remove some
text (and this is the main idea). i'm not focusing on enlarging a font
(maybe a little to enrich the user experience) but enlarging the
description. i want to show the user a simple description at the
beginning (e.g. about a particular concept) and further zooming in
would enlarge the bounding area for it and add new more detailed
information, links, etc. i'm mainly considering the ways to create and
manipulate such bounding areas for text. transparency, enlarging the
font etc. are just nice additional features. is there a way in
tkzinc/tcl3d/canvas to create a scalable boudings for a text? i know
how much text i want to display at a time - i have to create a space
for it and add additional features like transparency etc. maybe you
have further thoughts which could be helpful? thanks for all in
advance.
best regards,
ks
tcl3d can be a very nice option.
You can have transparency, animations and many more things in OpenGL.
But take into account that current version does not support printing
characters outside of the 7bit ASCII. I hope that future versions will
be fixed to allow this.
Regards,
Ramon Ribó
--
Compass Ing. y Sistemas Dr. Ramon Ribo
http://www.compassis.com ram...@compassis.com
c/ Tuset, 8 7-2 tel. +34 93 218 19 89
08006 Barcelona, Spain fax. +34 93 396 97 46