Everything only IMO of course. Achim. ################## TO DO ########################## Toplevel: ========= So it should be moved to 14 The Window Manager or To Toplevel, MainWindow, Menu (etc?). And should be written as: $is_a_toplevel->Popup(?I?) Where options can be B<-popover>, B<-popanchor>, B<-overanchor> or any other I<$is_a_toplevel>. Mhmm the 3 options above are 'regular' Toplevel option that are not mentioned in the Tks pod docs. Sigh. JATI (just another todo item) :-( added ptk special featues: ========================== ---- Achim Bohnet writes: >tagConfigurere returns a -data option for Tk402.003 and Tk800.003 >tcls Tk8.0 does not have it and therefore it's not in the POD docs. > >Are there other places where pTk has more options than tcltk that >are waiting to be documented? Not many, but I would not be surprised. HList and TList elements have -data too. And of course we have property "command" (at least on X). ---- fileevent: o remove tcl remnants like gets. o use 'fileevent' thread of Nick and Andreas Borchert to clarify the perl/Tk situation. o Add an save EXAMPLE for cut and paste so people don't have to worry how to implenent the described details. Widget.pod o misses Busy/Unbusy. Check how it's implemtented to understand why it works as it does =item I<$widget>-EB Turn the pointer into a 'watch' for I<$widget> and all decendants. Beeps on key events for all these widgets. (Eh? Beeps on mouse clicks for all widgets in the Toplevel Eh?) Note: Does only with I that have a undefined B<-cursor> value. E.g., B and B widgets don't work with B by default. A simple work around it to set B<-cursor>=EB. =item I<$widget>-EB Undo last L. Balloon.pod =========== -statusbar: Label + -text has the disadvantage Label may resize for messages that are too long. Entry + -textvariable has not the problem but it's editable. -> ROEntry ??? configspec.pod ============== o IMO use 'fallback' instead of 'default' because the default a widget uses is taken from the resource database and if there's nothing it fallbacks to the value specified in ConfigSpecs. o one should now be able to use $self instead of 'SELF' but I've not verified it so this is more a reminder for my pod/TODO file :-) STANDARD OPTIONS ================ o -width listed in Listbox but not in options.pod There a need for a check what options are listed in STD OPTIONS section and what's really in options.pod (maybe same what in options but also listed in widget specific WIDGET OPTIONS getOpenFile: ============ o perlize filePattern when it's clear what it should be (It's not clear if Tcl/Tk scheme will be adopted discrepancies with docs (on Unix): o One does not get a dialog when the file does not exists and path is not absolute as stated in the docs ptksh> p $mw->getOpenFile ./bla| o Centers itself always over the parent widget. Even if parent is small and e.g. in the upper left corner So a lot of the Dialog is outside the of the screen. E.g. create a main window and ptksh> $mw->geometry('+0+0') ptksh> $mw->getOpenFile o -filetypes option not supported (could be PASSIVE for now). ptksh> p $mw->getOpenFile(-filetypes=>'*.pod') Can't set -filetypes to `*.pod' for Tk::FileSelect=HASH(0x1402bbb08): Can't set -filetypes to `*.pod' for Tk::Frame=HASH(0x14061cc78): Bad option `-filetypes' at /home/ach/perl/5.004_64/site+standard/Tk/Derived.pm line 290. o defaultextention docs not work: ptksh> p $mw->getOpenFile(-defaultextension=>'pod') ./bla| ptksh> p $mw->getOpenFile(-defaultextension=>'.pod') ./bla| o if one currently gives a filepattern '.pod' the filter displays './*..pod' so one should use 'pod'. On the other hand SPECIFING FILE PATTERS suggest to use .pod. Misc. comments: o It would be useful if the 'File' entry would get the focus on startup So one can start typing without selecting the entry (with click to focus policy o If one clicks on a filename. This is interpreted as the 'accept' and Dialog disapprear. While confirm with tcl/tk it makes me nervous. I prefer a double click o Still much functionality not implemented HList (and some BUGS) =========== 1) headerSize still returns tclish string. (As documented but this should change) 2) headerSize err msg for non existant col contains garbage IMO ptksh> $h->entryconfigure('one.two', -text=>'bar') ptksh> $h->headerCreate(0, -text=>'heading') ptksh> $h->configure(-header=>1) ptksh> p $h->headerSize(0) 74 22| ptksh> p $h->headerSize(1) Column "KC@" does not exist at /home/ach/perl/5.004_64/site+standard/Tk/Submethods.pm line 19. 3) Not all Submethods are defined and documented. E.g. ptksh> p $h->infoSelection Goto undefined subroutine &Tk::HList::infoSelection at /home/ach/perl/5.004_64/site+standard/Tk/Widget.pm line 305. ptksh> p $h->info('selection') one| one.two| Wm.pod (BUG?) ====== Eh? What's that? ptksh> print "okay\n\n" if defined($mw->wm('aspect') ) ptksh> print "okay\n\n" if ("" eq $mw->wm('aspect') ) okay ptksh> p scalar( $mw->wm('aspect') ) | Image stuff: ============ o ?? Extract standard constructor options like -file, -data into Tk::Image/"STANDARD OPTIONS" o same for common method, e.g., type() o Use $image or $bitmap, $photo, $pixmap (like $widget and $text, ...) o DefineBitmap shares names between mainwindows and croak on dubl. names (See e.g., Tk::Numentry) Photo.pod ========= o check and perlize RHS lists of => o Photo configure resName, resClass are undefined so optiondb is not used. Intention? If yes this should be mentioned in POD. options.pod =========== o add note about undef name class prevents optiondb lookup SYNTAX: ======= o , and ? are not correct (?I,? I?I?) should be IMO (?I,? I?, I?) But first ,? is correct second isn't. !!!! o Inconsistency in submethod describtion some one methSub, I've added some meth('sub'.. and methSub, other use only methSub MARKUP: ====== still lot of $widget instead of I<$widget> Maybe still some buggy window->$widget from autoconvertion LINKS: ====== B --> L B --> L Tk_GetBool.* not found in pTk pods .... check for other, general case B ?? POD Conflict: ============= pod/Font.pod Tk/Font.pm (I assume pod/Font sould be pod/font.pm (my guess first char case script got it wrong) but having Font and font is same mess as grid and Grid before. STILL TCLISH: ============= getOpenFile messageBox ?...? Canvas.pod ========== o bind method: + to append a binding is not available in perl. Somewhere (bind.pod?) should be a blurb how to do it. Or provide a AddBind method. o Mhmm, ->bind without callback returns an error when no callback is defined bind return undef, blech! (check if really the case) o Tcl B -> return from callback or is there more magic. Check it! o Find Nick's mail that one can't prevent from item callback that canvas callback get invoked. o No docs for update method in Widget or After. L (check also other pod so insert the link) o No CanvasLower CanvasRaise methods. ??? Is there a Raise Lower method that always works on the widget? Pixmap.pod ========== o -id not documented tk8 font: ========= o I've added L to Widget.pod. May be wrong. Deps. on final name and now tools prefers of name.pod or name.pm o L but /scaling will not work I guess push A support on top of TODO list :-) o Add link to Grahams Tk::Font where X11 XFLD are mentioned. Currently Font.pm and Font.pod collide tkerror : ========= o *** Add stuff Nick explained on ptk when 'ideal error msg' thread finds an end *** Old questions of mine: o Is it save to document that first arg of Tk::Error is a $mainwindow? E.g., $label->Error('shit') works (a widget is-a tk). So should it be Tk::MainWindow::Error to disable $label->Error? o $w->BackTrace not mentioned/explained. Should it be mentioned? Has someone a BackTrace describtion at hand? :-) o what to do with 'command Tk::Error'? Use 'method Tk::Error'? (Hmm Tk.pm provides default Tk::Error so $w->Tk::Error(...) is effectively always the same as Tk::Error($w,...) So it would IMO make more sense to write 'Tk::Error subroutine' or use 'Error method'. o IMO require Tk::ErrorDialog should only be used in perl script and *not* in modules. I would consider it bad style when a script 'overrides' global error handling (that may occur delayed due to 'require only when need' of such a module. o I've also have a need for a special Tk::Error function. How to get *all* die, warn (even before MainLoop is reached) return a complete stack trace. If this is not easy to achieve (as I think I found out :-( ) should tkerror include a suggestion to 'use Carp' in Tk:: modules to help debugging? Geometry manager: ================= o Describe their behaviour if a toplevel widget gets resized so available space is smaller than the requested x/y of the widgets. o use same style SYNOPSIS and KEYWORDS' section o gridSize $master not managed by grid return (0,0) not documented (intentional)? o Form: o check/verify/understand I syntax: '%$a' could only work with dyn. var. not lex. \$a man->pod error? o make undocumented/partial impl. 'spring' invisible and a add TODO ??? o add a intro I<-side>, I<-side>B, -pad so one faster sees what's going on o check TRUE FALSE return of formCheck o try formGrid. the description seem wrong. Missing 'not'? o check form(-top... -left...) != form(-left...-top...) o ABREVIATIONS "-0", versus -0 wasn't there something about that on p5p? o grid mention raise lower to change stacking order. Works for non toplevel too. Try it. (add links for raise lower) o Add a ptkmgr.pod explaining common stuff (e.g., possible $master's, command 'submethods' mgr, mgrForget, mgrInfo) mention manager (wm for toplevels: are there similar wmForget etc. methods, seams useful). *Propagate, Raise Lower explanations. $master <=> widgettree correlation composite: o note that ..$opt=delete $args->{-opt}.. handles const. only options is confusing. a) There would not be a 'readonly' option as for -class, visual, ... Using CreateArgs does not work for composites, cries for a support method (where=READONLY in configspec?) o Add skeleton of a Frame based composite? callbacks: o IMO remove BUGs section closure are not 'the' solution especially they are not (?) useable in ClassInit o add some more 'normal' callback examples. o 'pronouce' that the actual arguments list passed to a callback may differ. o Then concentate 'special' handling of a bind callback in it's own section. o Describe how emulate bind in your callback handling o Ev() example/explanations better moved to Tk::bind ? o BUGS entry?: Missing is a -callback switch that treats callbacks as bind does automaticly configspec: o SETMETHOD, GETMETHOD undocumented (check Derived.pm for more) Configure: o detail about composite widgets are distributed in the docs. Bundle them into a separate section. First discribe general interface then go into details about composite: o Add section with details about Tk::Configure->new DItem: o pod markup of ITEM OPTIONS and STYLE OPTIONS is wrong but fix would conflict with pending Config:,Name:,Class change o all STANARD OPTIONS still use res. name not option name o remove C<> Text: o Intentional(?): o Tag and Tags not documented (doc for Text::Tag?) o TIE interface undocumented o Go through EMB IMAGE and image method stuff o textBind describtion still tclish. See also same item in Canvas.pod below o dump method output already perlish?? o windowCreate -create requires pathname as return value (as documented) but should also accepts Fix Text.pod when $w is also okay. o windowNames return path of emb. widgets. So IMO there's a windowObjects|Refs missing returning the ref to the widgets o Missing (intentional?) Tk::submethods x|yview => [ qw(moveto scroll) ] a specialcase for x|yviewPickplace ?????????? o sub Tag; and sub Tags; predeclared. Isn't this be done by autosplit.ix and AutoLoader ? TList: ====== o Click on 'one' in example at the end does not make it 'one' the 'active item __END__