What is still needed to be done in Tix

Index

General

Documentation

Existing Widgets

Commands

New Widget Wish-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  vetter@fokus.gmd.de Fri, 19 May 1995 18:00:27 -0400 (EDT)

    > when playing around with Tix4.0a5 und Tix4.0a6 and the
    > "tests/optmenu.tcl" I got a option menu button, but without
    > the button's border. Attached to this mail is a gif of the
    > display contents I got. Also attached is a gif showing the
    > intro screen of the Tix4.0a6 "demos/widget" with a upper
    > corner showing the original TCL colors. I'm running
    > Solaris 2.4 on a SparcStation, if this is of interest ;^)

    This is a result of the way TK handles options. It creates the
    main window "." befors any "option add" calls can be made. So the
    Tix options does not propagate to the main window. I'll try to fix
    this problem by some hacking :-)

    Ioi

From vetter@fokus.gmd.de Martin Vetter  Thu May 18 13:14:13 1995

    when playing around with Tix4.0a5 und Tix4.0a6 and the
    "tests/optmenu.tcl" I got a option menu button, but without the
    button's border. Attached to this mail is a gif of the display
    contents I got. Also attached is a gif showing the intro screen of
    the Tix4.0a6 "demos/widget" with a upper corner showing the
    original TCL colors. I'm running Solaris 2.4 on a SparcStation, if
    this is of interest ;^)

	
From Svan Delmas


     strdup is not POSIX? I am surprised. It works on my SGI IRIX
     5.2. Anyways, do you know of a POSIX manual of something liks that
     (just for the C API).

     Ioi

   Yea... I was surprised too... but our POSIX manual says there is no
   strdup(). We are using the O'Reiley manuals... and even the SGI 5.3
   manuals don't refer to strdup (there is a prototype in the include
   file which is only valid for non POSIX code). As far as I can tell
   there is no direct replacement for strdup... unfortunately...

   Greetings, Sven


From vetter@fokus.gmd.de  

Strange bug with OptionDB.tcl

   when playing around with Tix4.0a5 und Tix4.0a6 and the
   "tests/optmenu.tcl" I got a option menu button, but without the
   button's border. Attached to this mail is a gif of the display
   contents I got. Also attached is a gif showing the intro screen of
   the Tix4.0a6 "demos/widget" with a upper corner showing the
   original TCL colors. I'm running Solaris 2.4 on a SparcStation, if
   this is of interest ;^)


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 is 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 Sven Delmas                      Apr 11, 95 01:37:46 pm -0600


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

1)
        OptionMenu should have a way to set the value silent too... if
        this is not already there...

2)
        In OptionMenu either a "configitem" is needed, or another way
        to access, modify and delete existing menu items. In that area
        it would be nice if you could use the parameters you allow for
        menu items (-label, -underline and -accelerator) would only be
        used to set the inital value. After that the value should not
        be stored in variables, but accessed and set directly in the
        menu (hidden from the user of course). The reason is that
        under XF the menu is changable (directly right now as there is
        no item configuration method). With your locally stored
        parameters the optionmenu and the attached menu get out of
        sync.


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 TJF@aaoepp2.aao.GOV.AU, Tony Farrell Apr  2 

   Widget problems.


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]


----------------------------------------------------------------------
<3.6d>

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 Makefile outputs these lines: LIBS = libtix.a
    $(LIB_TK_DIR)/libtk.a $(LIB_TCL_DIR)/libtcl.a -ltk -ltcl \
    $(X11_LIB_SWITCHES) -lX11 -lm


From nijtmans@NICI.KUN.NL          Jul 12, 95 11:12:09 am +0200

   ** Install libtix.a as libtix4.0.a and tixwish as tixwish4.0
      My patch already does this, and also creates links from libtix.a to
      libtix4.0.a and from tixwish to tixwish4.0. Also, if users have
      a previous version of Tix (for Tk3.6) these will not be overwritten
      but renamed to tixwish.old. The user then still can rename it
      to tixwish3.6.

   ** Add a file patchlevel.h, which defines the constant TIX_PATCH_LEVEL.
      Also define TIX_VERSION in tix.h. (Don't use TIX_PATCHLEVEL but
      TIX_PATCH_LEVEL)

Last modified May 8 21:01 ---
Last modified Jul 23 20:14 --- Serial 806555651