
                    WHAT IS STILL NEEDED TO BE DONE IN TIX

  INDEX
     * General / Misc
     * Documentation
     * Existing Widgets
     * Tix User Commands
     * New Widget Wish-list
     * BUGS reported by users
          + Troubles reported by users

  GENERAL
     * Make test suite
     * install.sh

> I got the following problem when i tried to install the new Tix version Tix4.
\
0a7
> The target machine is an HP9000/735
> the compile went well.
>
> ->make install
> Installing libtix.a
> Installing tixwish
> Making directory /usr/local/lib/tix/beta
> Installing ./../library/Balloon.tcl
> cp: cannot create /usr/local/lib/tix/./../library/Balloon.tcl: No such file o
\
r directory
> install: "/bin/cp ./../library/Balloon.tcl /usr/local/lib/tix/./../library/Ba
\
lloon.tcl" failed

   Looks like there is a problem with install.sh: it should have
       installed to the file /usr/local/lib/tix/Balloon.tcl. I'll try to
       fix that in the next release, 4.0b1.
     * configure
          + Automatically detect the directories of TK and TCL.

  DOCUMENTATION
     * Man pages
          + document the -group option of subwidget
          + make install for HTML pages
          + tixGet3DBorder
          + tixGetInt ?-nocomplain? ?-trunc? string\fR
          + tixGetBoolean - Get the boolean value of a string.
     * Release Notes
          + How to run demos
          + How to set up Tix
     * HTML Home Page
          + Change the references to "Motif" to something else.

  EXISTING WIDGETS
     * General
          + test suite for Tix
          + More docs about SGI library
          + Release 3.6e
     * Balloon
          + handle canvas items, menu items and NB tabs
          + handle compound widgets properly
          + check mouse positions before popping up balloon.
          + -command option

> i would also like the option of binding the appearence of the balloon help
> window to a key or button event instead of just enter/leave events.  that
> way i can display the short status bar message on enter/leave events and
> display a more elaborate balloon help window if the user presses the help
> key (i use button 3).

      > the file menu button.
> When I turn balloon help on, and move the cursor over the menu button, nothin
g
> is displayed. If I move the cursor over some other element which has balloon
> help (e.g. the font chooser below) and then move it back to the file menu, th
en
> the file menu button balloon help is displayed. That is, menu button balloon
> help won't work unless I get balloon help on something else first.

I think this is a problem caused by TK's handling of bindings. I will
double check and try to work around it.

> A couple of other questions about balloon help:

     * ComboBox
          + -tabcompletion option : maybe a user command, too When the
            combobox is static: If the selection is focused and the user
            types, then the entry which matches what is typed is placed
            in the selection. eg: selection choices are:

                        a
                        abc
                        hello

        User types a, so a is selected, User then types b, so b is
            selected User types h, so hello is selected, since there is
            no match for abh.

            When the combobox is editable: Use emacs style Tab
            completion.

            What I'll probably do is generalize it so that you can call a
            routine on any listbox and have it acquire that behavior.
     * Control
     * EFileBox
          + Make reading directory more efficient : use C code
          + EFileDialog does not handle "~" or "//" properly
          + -directoryok option: when set, display directory names as
            well as file names in the filename list
          + Keyboard bindings for directory/file name completion/hotkey
     * Filebox:
          + the menu is not implemented yet
     * HList
          + Make b1-motion handling more efficient
          + C interface for efficiently handling large lists
          + sort entries
          + bg, fg, options for individual entries
          + disablebg, ,, etc
          + bindtags for internal windows (for dragging ...)
          + little triangles for collapse/expand
          + -clone option to make hlist act like TK listbox
          + option to print the selection background across the whole
            widget.
     * NoteBook:
          + Fix the focus handling -- conform to Tk's model: don't set
            focus after mouse click.
          + Background color of tabs: Kurt Reisler : Quick question about
            the tixNoteBook widgets. Is is possible to set the background
            color of the tabs (created via an add command) to different
            colors? What I would like to be able to do is set the
            background color of the tab depending on whether or not the
            contents of the associated notebook page has been changed.
            -background -foreground -disabledforeground
            -disabledbackground -state
          + Can't get FocusOut events if it is caused by the mouse ..?
          +

              - For PanedWindows, it would be nice to:
                      - specify the size as a proportion (instead of absolute
                      values) of the enclosing window
                      i.e.
                      tixPanedWindow .foo ....
                      .foo add p1 -size .3
                      .foo add p2 -size .6
                      .foo add p3 -size .1

                      and have it respect the proportions when the
                      enclosing window is resized.

     * DirList
          + key bindings for fast traversal (hit M -> goto Makefile)
          + -validatecmd .. etc not implemented
     * OptionMenu
          + Doesn't have -validatecmd or -variable
          + A delete command
     * PopupMenu
          + a -stayup option (when set to false, the menu has the
            "spring" style as the xterm popup menus
     * Select
          + do new feature: disabling individual widgets
          + option "-buttontype" {button checkbutton radiobutton} use
            this to implement RadioBox and CheckBox
          + transform -buttonbg to new subwidget mechanism
     * Drag+Drop
     * Examples for new widget

  COMMANDS
     * Implement tixCancelDoWhenIdle.
     * Intrinsics
          + type checker for options
          + comments for tixWidgetClass and tixClass
          + inherit -default from superclasses
          + quick calling of methods
          + -command NOT be called when widget is created
          + Destructor for tixClass objects
     * It should be safe to call "destroy" from within a Tix callback
     * TixForm
          + Change -pad to accept all screen distance value (in man
            page!)
          + Change panic() to backgrounderror()
          + round off error when 100% is calculated!!
     * tixManageGeometry
          + does not delete binding when widget is destroyed or when
            slave is lost.
     * Pixmap image: cannot handle -data well.
     * Compound image:
          + lineconfig and itemconfig commands
          + handle widgets
     * tkWm.c: wm capture... etc:
          + Make the file into patches.

  NEW WIDGET WISH-LIST
     * DirectorySelectDialog widget for selection directories only
     * Standard Dialog Widgets
          + Something like the standard Motif info, prompt dilogs (will
            do Real Soon Now)
     * FloatEntry: you can place it over any widget. for example, put it
       on top of a listbox item to change its text string.
     * tixDirectorySelectDialog : from darrel@slc.com (Darrel Schneider) 

       What I need is a simple way to allow the user to specify a
       directory. My understanding of tix[Ex]FileSelectDialog is that
       they only allow you to request a file; not a directory. I'm
       looking for something like a tixDirectorySelectDialog. It would
       have a DirList subwidget and a entry widget and a couple of
       buttons (much simpler than the file dialogs).
     * Multi-list: one scrollbar n listboxes
     * ScrolledWindow: move-Button-2 does not work (at least in the
       sample 'widget' program. But IMHO it should be there for
       consistency with other tk widgets.
     * Tabel/SpreadSheet widget
          + Will do it over the summer holiday
     * Terminal widget.
          + Now lingmin Zhu is doing it. lzhu@graphics.cis.upenn.edu
     * Themometer widget
     * StepWindow:

       a notebook like widget, with "Next >>" ,"Prev >>" buttons.
     * Ruler widget
     * Request by Martin Vette 

     o  A popup/pulldown "tixMenuSelect".
        This widget has a optional label beneath a button containing
        some variable value. The button has a little icon on it
        marking it as some kind of menu button. When selecting the
        button, a popup/pulldown menu comes up showing the possible
        alternatives, with the actual entry already selected. With
        this widget you can make selections of (a few) alternatives
        with only one drag and release of the mouse.

     o  A "tixMultiColumnBrowser".
        This widget could be an alternate style of selecting
        files or other items. It features a user defined number
        of listboxes with attached vertical scrollbars and labels
        describing their contents and a horizontal scrollbar for
        navigating between them if they don't fit into the
        surrounding frame.
        While the tixHList is good for selecting items if one knows
        where to look for them, it can get difficult when navigating
        deep and wide item trees. The browser is better for browsing
        (oh, what an insight ;^), but needs more screen space and
        is perhaps not as attractive as the graphical list.

     _________________________________________________________________

  OLD STUFF

(0) Add argument verification in Widget creation and $w config

3) Clean up C interface
   Add a "read stdin" command

4) A printconfig widget command

5) Allow InitWidgetRec to detect wrong value assignment and return an
   error message.

5) A TCL command to get the upper and lower shades.

        Not portable to mono displays ...

19) Make some dialog boxes transient

23) Material editor not working perperly with the color editor.

Inform
----------------------------------------------------------------------
10) InfCanvas widget
        Handle most features in C code.

12) Form:
        Give many information:
           (1) A chain of attachment of a particular widget
           (2) Query the chain of circular dependency.

Low Priority
----------------------------------------------------------------------
6) FreeOptions for custom options

#----------------------------------------------------------------------

5) wm transient support

*******************
Widgets, Intrinsics
*******************
DrawnWidget (planned only)
        - subclass of canvas
        - support draw: rectangle, triangle, lines, bitmap
        - support events

LabelWidget:
        - -padx is the option for the "outmost" frame
          subclass must use:
            a) -ipadx if there is only two levels of padding
            b) -somethingpadx if more than two levels of padding.

MDIWindow:
        - needs change its size dynamically

MwmClient:
        - needs better handling of "place" when gridded is true
        - since the border is now set to 1, need to change some code ..

-----------------------------------------------------------------------------

&& Section four: New widgets

3) MDI window

   Hi,

        I am in the process of making an MDIWindow widget. It is
   supposed to behave similar to the Windows MDIWindow widget so that
   applications can be ported between X and Windows more easily. Does
   this get anyone excited? Please tell me what kind of functionality you
   want from this widget.

   Here is a list of things I have in mind:

   1) It should automatically detect the style and type of the window
      manager, and make the MDI client windows behave as close to the
      toplevel windows as possible. i.e., the MDI clients should have
      different decorations when running under twm or mwm.

   2) Should support all the tricks of window managing: resize, move,
      cascade, tile, iconize.

   3) Maybe it should provide a feature of "dynamic detaching": the user
      can choose to detach a MDI client window from the main MDI window
      and float it around as a normal X toplevel window.

   4) Fancy features such as wallpaper?

   5) Is it possible to reparent other X clients into the MDI window and
      manage them as MDI clients? If we can do this, we can just make a
      big MDI window that covers the whole screen and use it as the window
      manager. Since my MDI window is written completely in TCL, it will
      make it easy for everyone to *write his own window manager* !

-----------------------------------------------------------------------------

&& Section five: Widget Programming Guide

1) All the commands of a class must be in the same file.

2) Each class definition file should contain only one class. Just for
   the sake of clarity.

3) Each class definition file MUST contain these commands:
   a) tixClass tixSomeClass { ... }
   b) a standard documentation section. (cut and paste from
      ../demos/widgets/worksheet.tcl)

4) All class definition files' names must follow the 8.3 convention.
   (to be portable to MSDOS file systems).
----------------------------------------------------------------------

  BUGS REPORTES BY USERS

    These used to reside in the BUGS.html file.

From ioi

    CheckList for 4.0b1

        - Improve the bindings mechanism
        - work on focus management
        - have better scheme supports

        - the "xview" and "yview" commands of HList
          do not return the fractions.
        - progress meter and labeled entry
        - do more memory debugging on

Memory Leaks:
        - A lot of places in tixWidgetClass ..
            (0) Should free old class record if new record is defined with
                same class name
            (1) destroying widgets
            (2) tixIntrinsics: destructor left behind the variable
                data(context)
        - TCL geometry manager interface
                Should have "lost_proc"
        - form forget ??

From Ed Dudenhoefer                  Oct 11, 95 12:00:29

1) will -window always tie the compound image to THAT window? or could the
   -window be more like -refwindow and not use the [optional] frame-like
   master effects?

   (ie, i would like to use compound images from a general per-display
    image server point of view like "tix getimage" operates)

2) will there be a way to do individual item reconfig/query?

   image create compound cimg -window $w
   cimg add line line1
   set item1 [cimg add image -image [tix getimage folder]]
   cimg itemconfig line1 -padx 0
   cimg itemconfig item1 -anchor n

3) will there be config options like -offsetx and -offsety per-item that
   effectively allow me to control the drawing position?

   ie, to create an overlay effect of two images superimposed directly:

   cimg add image -image [tix getimage folder]
   cimg add image -image [tix getimage linkchain] -offsetx -32
   cimg add line
   cimg add text -text "symbolic link"
     - or -
   cimg add image -image [tix getimage folder] -movex 0
   cimg add image -image [tix getimage linkchain]
   cimg add line
   cimg add text -text "symbolic link"

From someone
         resizeh.tcl

         Behaved OK on the whole. although some rubberband droppings
         were left behind from time to time. Also the application took
         the focus away from all of my other windows. Couldn't ^C in
         the window it was started from - had to delete via window
         manager to recover.

From mohan kannapareddy (mokannap@grail.cba.csuohio.edu)  Apr 24, 95

  Making it possible to load the Tix library in a stand-alone bunary:

  I wrote:

      I'll put this on my wishlist: i.e., separating tixWidgetClass
      calls and the widget "class commands"

      The new syntax will look like:

        proc tixComboBox {w args} {
            tixCreateClass tixComboBox
            # a new command called tixComboBox is now created.
            #
            return [eval tixComboBox $w $args]
        }

From Peter Sutton                   Aug 15, 95 11:33:23 am -0400

    DOCUMENTATION OMISSIONS
    tix command
        option "addbitmapdir" not described (used in widget demo)

    tixScrolledHList
        option "-options" not described (used in SHList2.tcl)

From Sven Delmas                      Apr 23, 95 12:22:18 pm -0600

5)
        LabelFrame widgets have a different left offset that differs
        from the on on the right side. Also the offset differs when
        there is no label. This makes it hard to mix both types of
        label frames.

From sven       Mar 9

        2) For resize handles I added some additional features. First
           I now support the packer and the table geometry manager
           too. I know this is not really nice but it is better than
           nothing. To make this support a little nicer I added popup
           menus to the small buttons of the frame (this makes the
           support for the new managers quite usefull). Then I added
           support for relative placing geometries (bound to a
           different mouse event). If you are interested I can mail
           you the code... It is implemented as a subclass if
           ResizeH. If your new -command option is intended to serve
           as a entrypoint for new geometry manager support you should
           not first place the widget.

        4) The resize handle does not work if a widget deeper in the
           widget structure is handled. Is this intentionally (in
           other words... do I have to create a resize handle on each
           level) ?

From walsh@ibgmail.ljo.dec.com  Fri Mar 17 11:34:19 1995 (Dan Walsh)

    Subject: Probelms with tixFileSelectbox

        I am using BL3 on an Alpha OSF/1 machine and when I run the
        filedlg.tcl file with tixwish I get an error box when I select
        "open file".  The selection box comes up without the two list
        boxes.  Although it looks like their is a little piece of a
        widget off to the left where the list box should be.

        The error message is

        Error:grab failed: window not viewable

        stack trace shows
        while executing
        "grab -global $data(dummy)"
        ("global" arm line 2)
        invoked from within
        "case $data(-grab) {
                global {
                        grab -global $data(dummy)
                        $data(dummy)config -cursor "[tix getbitmap
        hourglass] [string range [tix getbitma ..."

From Brian Oakly

    It looks like when you set the colors for Tix you are using a
    priority of 79, just one below "interactive". It seems to me if
    you set a default color the priority should be 20 (widgetDefault)
    or below.  By setting the priority so high you disallow
    programmers like me from setting our own defaults that the user
    can override.

From Mark_Wheeler@A.GP.CS.CMU.EDU     Apr 4, 95

        There is a possible problem with the FileDialog widget and
        focus management (v 4.0b1). I open a file dialog, get the
        filename and if it is invalid, popup a tk_dialog warning.  The
        tk_dialog grabs the focus and resets it on return. On the next
        button click, the program crashes with a SetFocus in 2 windows
        error.  If I modify tk_dialog not to reset the focus on return
        but to focus follow curso r then the error can be avoided.
        Essentially, the reset of the focus sets it to the fileselect
        text box widget after the fileselect box is closed.

From Gregory Gee

        disabled_color not good on mono display

From walsh@ibgmail.ljo.dec.com (Dan Walsh) Wed Mar 29 08:27:03 1995

        >Does this happen only on Alpha machines? Have you tried other
        >machines? I tried to run my 4.0a4 test/filedlg.tcl on an SGI and it
        >works fine.
        >
        >Actually I don't quite understand what your problem is: does the
        >listbox show (do you see the border of the listbox?). If not, I
        >suspect this is an X11 portability problem ...
        >

        Yes I have only seen it on Alpha, the list box works fine on
        Ultrix.  Their is a stretch bar on the Far Left corner.  When
        you reach over and grab it and drag it to the middle of the
        screen the Directory and File labels appear, but the list box
        never appears.  Where in the code do you think the problem
        could be.  I would take a look at it.  It probably is a 64 Bit
        problem.

From sven@cimetrix.com  Mon Mar 20 19:36:32 1995

        3) When using panes this creates a huge amount of garbage on
           the screen (same for moving widgets around with the resize
           handle).

From nchannen@hookup.net, Neil Channen, Wed Mar 29 13:02:19 1995

5.  I had numerous problems building Tix 4.0a4 on an HP workstation running
    HP-UX 9.05 with X11R5.  Specifically, the Makefile generated by the
    'configure' system appears to have these problems:

    c)  No shared library support.  I changed the Makefile to generate
        both 'libtix.a' and 'libtix.sl', and use 'libtix.sl' to build
        'tixwish'.  For HP-UX, add '+z' to 'CFLAGS', and use 'ld -b -s
        -o libtix.sl $(OBJS)' to generate the shared library file.

From Sven Delmas Jun 20, 95 07:49:05 am

    I have also seen problems when a notebook widget is child of a
    toplevel and the toplevel is destroyed with the window manager (at
    least on certain systems). I do not remember exactly what I did,
    but maybe you can give it a try... otherwise I have to look into
    this problem again.

From Ignacio Martin Campos ( imartin@turing.upc.es) Jun 20, 95 07:34:42 pm

    I've installed the Tix4.0a7 with tcl7.4b3 and tk4.0b3. All wish
    and tixwish work fine, but i'am not able to make tixwish work with
    pipes. It seems that when tixwish finds a stdin that it's not a
    tty doesn't work. On the other hand, the new version of wish works
    properly with the same code.

----------------------------------------------------------------------
[LOW]
From sven@cimetrix.com  Mon Mar 20 19:34:32 1995

        - BTW it would be nice if you could introduce a
          "small font" for icons etc.

        - right now it seems that I am not able to set the scheme
          etc. It would be nice to have a way to that even from within
          (or outside) a personal wish.

        Ioi --> document

        1) Please, please, please make the -labelside option a
           nonstatic option. The reason is that under certain
           circumstances I do not know what value the label will
           have. If it should be empty I want no label, and if
           contains something I want it to be displayed.

        2) PopMenu should also have an unbind (or clear) method, to
           remove the bindings.

        - Just a thought... you might want to look on some of the new Tk
          commands (like after idle) to make sure that you do not have
          to implement this by yourselfe.

From Someone else

        - Can you supply the changes to tkEntry, tkPack .... as patch-files?
          This makes it easier to apply the same changes to future releases
          of Tk, without supplying new files for every new version of Tk.
          Also, the distributed tar-file can be smaller if the files are
          just copied from Tk4.0 and then the necessary patches applied.

From Sven Delmas                      Apr 23, 95 12:22:18 pm -0600
6)
        For notebooks it would be nice to have stackable notebook
        pages. I am running out of horizontal space (BTW... how about
        a vertival stack... or is that already possible ?), so
        something like this would be nice...

        +-------+ +-------+ +-------+
        | Page1 | | Page2 | | Page3 |
      +-------+ +-------+ +-------+
      | Page4 | | Page5 | | Page6 |

        I am not sure if this has to be done by your widget, or I can
        do it myselfe (at least for automatic adjustment it would be
        nice to have your widget do the work :-). I am not sure how
        this should work exactly. This probably mnakes it necessary to
        be able to lower a page explicitly (showing the "next" page in
        order... what ever this may be...).

From Ioi:
        - Material editor doesn't work yet

[Very Low]

----------------------------------------------------------------------

From Scott T. McColl facgate.bellhow.com  Apr 6, 95

        Using Tix3.6d

        I have discovered an interesting "feature" to the tixFileSelectbox,
        the "Filter" portion in particular. This is what happens:

        1. I type a valid pattern into the filter entry,

                /home/users5/zito/Image/FV4/*

           and I get the correct list of files for that directory.

        2. Now I add a non-existent directory to the end of the pattern,

                /home/users5/zito/Image/FV4/junk/*

           my file list is the same as generated for Step #1, however I
           am unable to open a selected file.

        3. But if I leave the '*' off the pattern,

                /home/users5/zito/Image/FV4/junk/

           the list the file list is cleared, leaving nothing to be selected.

        Is this normal behavior? It is my opinion that the reaction to
        step #2 should be the same as to step #3 or some dialog should
        have been popped up by filter informing the user that the
        invalid directory does not exist. Will Tix 4.0 handle this any
        differently? Any other opinions on this?

        Thanks much - Scott

  TROUBLES REPORTED BY USERS

        I've installed the Tix4.0a7 with tcl7.4b3 and tk4.0b3. All
        wish and tixwish work fine, but i'am not able to make tixwish
        work with pipes. It seems that when tixwish finds a stdin that
        it's not a tty doesn't work. On the other hand, the new
        version of wish works properly with the same code.  Sorry if
        this is a naive question but i don't what to do.
Ioi>>

  You can execute the following command at the first line of your tcl
  script and tixwish will always read from stdin

        set tcl_interactive 1

From Achim Bohnet                     Jun 28, 95 11:57:53 pm +0200

  linking tixwish:
        linking tix: I got several tk_* unresolved symbol. The reason
        was that you try to link with -ltk -ltcl and that the DEC OSF/1
        C compiler first walks through the library path to sind a shared
        version. A has this beast but in tk3.7 tcl7.3 flavor. :-( I think
        to add a note about such conflicts is not too bad (as far as I
        remember gcc also first searches shared libs)

  tixwish:
        what confuses me is that tixwish return a prompt when started
        as script interpreter e.g '#!/usr/local/bin/tixwish'. All other
        interpreter as tclsh, blt, tk ... (perl) don't do this.

  HTML docs:
        it would be nice if there would be a 'make' target to install
        them. Using your tix home page is hopeless due to bad bandwidth
        to the states from Europe.

From Norm Shelley                     Jul 6, 95 11:53:16 am -0700

    o Running the demos/widget example and looking at the Scrolled
    Widgets Notebook, occasionally when resizing using the handles,
    parts of the dashed lines are not removed when resizing is
    finished. I tried to determine how to do this everytime but was
    unable to do so.

    Minor Issues o Running the demos/widget example and looking at the
    Directory List Notebook, the list of files underneath the "Files:"
    combo box appears to be smashed to the left side of the box. A
    couple of pixels of margin between the left side and the text
    would make it easier on the eye.

    o The generated Makef

  __________________________________________________________________________

Last modified  Jan 31 11:53 

