Version 6 of Obsolete Suggestions for Tk 9.0

Updated 2009-02-24 15:18:15 by dkf

This page contains bits from the Tk 9.0 WishList that have been removed, plus a reason for this removal.


1. GPS - I would like the Tk scrollbar to function properly with lines that wrap in version 9.0. I feel that having this bug present in new and old releases contributes to doubt about the capabilities and quality of Tcl/Tk. See Ideas to Fix the Tk Scrollbar

DKF - Why wait for 9.0? I want it fixed now and I wouldn't even consider it a real incompatability.

GPS - It seems like it will be a difficult bug to fix, because the bug has been in Tk for years. That is why I suggested it for 9.0.

DKF - While it is a fairly big change to the [text] internals (which are specifically designed not to try to work out the display area) it shouldn't be visible outside except as a change in scrollbar (and possibly scanning) behaviour. If someone can make the changes in time, I'm sure that this would make 8.4.0; I don't know of anyone that thinks the old behaviour is a Good Thing...

GPS - Anybody found the bug yet?

DKF - Easy one. The bug is in the conceptual design of the text widget. Which is why fixing it is a complete PITA since it forces re-engineering of the way the widget manages its internal data structures, and a round of performance tuning as well. :^(

Vince - Please test the patch for TIP 155, which fixes this problem...(it also fixes WHD's problem below).

DKF - This works for me in 8.5a0! TIP#155[L1 ] means that this request is fully satisfied.

IMPLEMENTED!


2. WHD - I'd hope this would fix the cursor key problem with wrapped lines as well.

IMPLEMENTED! (see above)


12. and 42. (duplicate) A native notebook widget. I believe this has been discussed, but I am not up to date on its status.

Steve Offutt 4/7/01 - mailto:[email protected] -- also still wanting...

(coalescing from elsewhere...)

Native 'tabbed page' or 'notebook' widget

Megawidget implementations are available, but these do not have quite the look and feel of the native widgets (esp. on MacOS X).

DKF - I agree with this very, very much. I'd like Tk on XP to not just have a notebook widget, but a notebook widget that looks like the notebook widgets used in the system properties dialogs. Doing the same on OSX only seems fair to me.

DKF: The Tile project has a notebook and a high probability of getting into Tk. It's also waaaay cool for many other reasons.

KJN: I've just run the Tile demo script (on X11) and I think it's not very nice-looking. BLT's tabnotebook looks more professional, because more care has been taken over the artwork.

In Tk 8.5, there is ttk::notebook.

IMPLEMENTED!


14. IDG Rotatable (at least in 90 deg increments) text in canvas widget.

GPS This is definitely needed in the Tk core. It is requested often enough to warrant it. If Xlib had functions for this we probably would have had it years ago. You can rotate to some degree some fonts with Tk in Unix, but it doesn't look very good, and last time I tried the script that does it, it didn't work in Windows.

If you need it now you can use BLT. I've heard that it allows drawing a font into a bitmap which can then be rotated.

DKF: Some Xservers can do rotate individual characters natively (and even by non 90-degree increments - see Rotated canvas text) but it is definitely not a universal capability.

CME: 2Jul2003 TkZinc or Zinc could easily be extended to rotate texts (using openGL). It already rotates all graphic items.

CME: 8OctJul2004 TkZinc or Zinc 3.3 can rotate texts (and images). Rendering is better with openGL, but also works with X11.

DKF: Fully rotatable text is in 8.6.

IMPLEMENTED!


15. GPS I want the ability to use the XFree font antialiasing extension. I think someone even wrote a patch. Did this make it into the cvs head? I'm willing to write a patch in my spare time to do this if it hasn't been done.

DKF notes that there was a patch, but it was too grotty to go in as-is.

DKF: See Tk patch #535541 [L2 ]

See also Xft support

IMPLEMENTED!


26. Lars H: Cubic Bezier curves on the canvas. The current smooth curve are quadratic splines (mostly), and those are much too rigid (there is not much freedom in a segment) for my taste. Another annoying feature is that the only points you specify that actually fall on the spline are the endpoints. Cubic curves are what is used in the PS/PDF world, and supporting those in the canvas would simplify having the same curve in the canvas as in a PDF.

KPV See Cubic Splines.

FYI: one thing to know about the current spline system is that the spline will pass through the midpoint of the line segment between to control points. You can exploit that to force the spline through specific points. BTAIM, I'd still also like cubic splines. KPV

Lars H (2 April 2003): I just read about TkSpline [L3 ]. Does anyone know if these are true cubic splines, or just quadratic splines with an interface similar to the traditional cubic ones? (Either way would be an improvement on the current interface.)

JCE TkSpline just uses the spline code already in the canvas widget. It just bypasses the smoothing function to give access to the spline control points.

Lars H (20 December 2003): Having (finally) looked at how the -smooth option is implemented in the core (mostly in the TkMakeBezierCurve function of tkTrig.c, it seems), I am nothing short of amazed; the thing nearly qualifies as built-in uselessness! A -smooth true line or polygon geometrically becomes a spline whose curve segments are parametrized by quadratics. What is strange is that these curve segments are converted to cubic Bezier curves before they are rendered. Tk can render arbitrary cubic paths (as used in Postscript and friends) on the canvas, but this functionality is hidden from the script level!

Lars H (3 February 2004): I went ahead and TIPed my wish; see TIP 168 [L4 ].

IMPLEMENTED!


31. Ability to attach random data to an event -- particularly virtual events -- so they can be used as a general message-passing mechanism.

(Also from Bryan Oakley)

DKF - This is closely related to, but not the same as, TIP#42 [L5 ]

DKF / 11Mar2003 - I perhaps should note that this is definitely a feature that I'd like to see in the core. :^)

DKF: See TIP#165 [L6 ]

IMPLEMENTED!


MSW / 20. Feb 2003:

    % event add <<Banzai>>
    >> mind the lacking association with an actual event-sequence,
    >> i.e. TRUE virtual events.

DKF - I thought we supported virtual events without real event sequences backing them up already. In fact, I believe the core already uses quite a few of them for things like delivering modification notifications to text widgets...

MSW: If so, since when (and if so, I'll delete that point of course)?

    % info patchlevel
    8.3.3
    % event add <<Banzai>>
    wrong # args: should be "event add virtual sequence ?sequence ...?"

DKF - I think you can just use the virtual event without having to [event add] it first...

EB: Yes, no need to add, just generate:

    % info patchlevel
    8.4.1
    % event generate . <<Banzai>>
    % bind . <<Banzai>> {puts "Banzai!"}
    % event generate . <<Banzai>>
    Banzai!

MSW: aha! sorry then, feel free to delete this entry & thanks for the clarification :)


36. FW: An ability to set a scrollbar as disabled in Windows (usually represented as the scrollbar being "grayed out"). This is the recommended behavior for scrollbars that are not presently needed on Windows - at the moment, Tk handles this by simply making the elevator occupy the entire scrollbar.

DKF - This behaviour might have actually been implemented in 8.4.2 as part of fixing a bug! :^)

FW: Which bug? The one where the scrollbar locks up if you try to grab the elevator on a scrollbar that is not needed? 'Cause that happens for me.

DKF: Yes. That one.

FW: Yep, it is a general bug with Windows XP (unneeded but non-disabled scrollbars lock up when you try to manipulate their elevator), and now the disabling behavior has been implemented for all Windowses. Whee!


40. ChooseFont megawidget

DKF: Perhaps I should contribute mine...? KPV or mine at Another Font Chooser Dialog. I'm quite pleased with this dialog, it's virtually identical to the native windows one, but it's all tcl and thus cross-platform.

40.1. FW: Access to the platform's native font selector, in a similar fashion to tk_chooseColor. This could revert to a Tcl version like chooseColor does.

Wish fulfilled by TIP#324 [L7 ].

IMPLEMENTED!


Bryan Oakley 41. combobox

In Tk 8.5, there is ttk::combobox.

IMPLEMENTED!