Everything only IMO of course.

Achim.

################## TO DO  ##########################

added ptk special featues:

----
Achim Bohnet <ach@mpe.mpg.de> 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>-E<gt>B<Busy>

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<descendants> that have a undefined B<-cursor>
value.  E.g., B<Entry> and B<Text> widgets don't work with B<Busy>
by default.  A simple work around it to set B<-cursor>=E<gt>B<undef>.

=item I<$widget>-E<gt>B<Unbusy>

Undo last L<Busy|/Busy>.

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<switches>,? I<pattern, index, >?I<stopIndex>?)
    should be IMO
	(?I<switches>,? I<pattern, index>?, I<stopIndex>?)
    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<Tk_GetPixels> --> L<Tk_GetPixels|Tk::pTk::GetPixels/"DESCRIPTION">
	B<Tk_GetBoolean> --> L<Tk_GetBoolean|Tk::pTk::??????????????>
				Tk_GetBool.* not found in pTk pods

	.... check for other, general case B<Tk_.*> ??


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<continue>  -> 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<update|Tk::?????>
  (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<Tk::Font> to Widget.pod. May be wrong. Deps. on final
	  name and now tools prefers of name.pod or name.pm

	o L<scaling|Tk::Widget/scaling>  but /scaling will not work I guess
	  push A<show this|anchorname> 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<anchor_point> 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<spring>, -pad<side> 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__
