Version 12 of Ttk

Updated 2005-11-16 02:11:29

Ttk is the Tile extension integrated into Tk as approved in TIP #248 [L1 ].

This page details the transition from the existing Tile extension to Ttk package inside the Tk source base.

The Ttk package will be a static package inside Tk. It will not be made a separate binary library. It will use the ttk:: namespace for the most part, sharing the tk:: namespace where appropriate. The classic Tk widgets will all be referenceable from the tk:: namespace, in addition to remaining as toplevel commands (for 8.x at least).

See also [L2 ]

JE What mechanisms (if any) do you intend to use to keep the two codebases in sync after the merge? Parallel DARCS repositories on top of the Tile and Tk CVS repositories might be one solution.

JE Also: it's worth considering removing some or all of tk/generic/tkStyle.c (TIP#48 support)

 Current tile source base     => Tk source base integration '''(currently incomplete)'''

 tile:                        => tk
  aclocal.m4                  =>
  ChangeLog                   =>
  configure*                  =>
  configure.in                =>
  demos/                      =>
  doc/                        =>
  generic/                    =>
  library/                    =>
  license.terms               =>
  macosx/                     =>
  Makefile.in                 =>
  README.txt                  =>
  tclconfig/                  =>
  tests/                      =>
  tools/                      =>
  win/                        =>

 tile/demos:                  => tk/demos
  autocomplete.tcl            =>
  demo.tcl                    =>
  dirbrowser.tcl              =>
  dlgtest.tcl                 =>
  iconlib.tcl                 =>
  repeater.tcl                =>
  themes/                     =>
  toolbutton.tcl              =>

 tile/demos/themes:           => should probably not be merged
  blue/                       => tk/demos/blue_theme
  blue.tcl                    =>
  pkgIndex.tcl                =>

 tile/demos/themes/blue:      => should probably not be merged
  (image based theme files)   =>

 tile/doc:                    => tk/doc
  button.n                    => ttk_
  checkbutton.n               => ttk_
  combobox.n                  => ttk_
  converting.txt              => ttk_converting.n
  dialog.n                    => ttk_
  entry.n                     => ttk_
  frame.n                     => ttk_
  Geometry.3                  => ttk_
  image.n                     => ttk_
  labelframe.n                => ttk_
  label.n                     => ttk_
  Makefile                    =>
  man.macros                  =>
  menubutton.n                => ttk_
  notebook.n                  => ttk_
  paned.n                     => ttk_
  progressbar.n               => ttk_
  radiobutton.n               => ttk_
  scrollbar.n                 => ttk_
  separator.n                 => ttk_
  style.n                     => ttk_
  Theme.3                     => ttk_
  tile-intro.n                => ttk_intro.n
  TILE.XML                    =>
  tmml.options                =>
  treeview.n                  => ttk_
  widget.n                    => ttk_

 tile/generic:                => tk/generic
  altTheme.c                  => ttkDefaultTheme.c
  blink.c                     =>
  button.c                    => ttkButton.c
  cache.c                     => ttkCache.c
  clamTheme.c                 => remove?
  classicTheme.c              => 
  compat.h                    => gone now.
  configure*                  => not needed.
  configure.in                => not needed.
  entry.c                     => ttkEntry.c
  frame.c                     => ttkFrame.c
  gunk.h                      =>
  image.c                     => ttkImage.c
  label.c                     => ttkLabel.c
  layout.c                    => ttkLayout.c
  Makefile.in                 => not needed.
  manager.c                   =>
  manager.h                   =>
  notebook.c                  =>
  paned.c                     =>
  pkgIndex.tcl.in             => ???
  progress.c                  =>
  scale.c                     =>
  scrollbar.c                 =>
  scroll.c                    =>
  separator.c                 =>
  square.c                    =>
  stepTheme.c                 => remove?
  tile.c                      =>
  tkElements.c                =>
  tkstate.c                   =>
  tkTheme.c                   =>
  tkTheme.h                   =>
  tkThemeInt.h                =>
  TODO                        =>
  trace.c                     =>
  track.c                     =>
  treeview.c                  =>
  ttk.decls                   =>
  ttkDecls.h                  =>
  ttkStubInit.c               =>
  ttkStubLib.c                =>
  widget.c                    =>
  widget.h                    =>

 tile/library:                      =>
  altTheme.tcl                =>
  aquaTheme.tcl               =>
  button.tcl                  => ttk_$0.tcl (t$0.tcl?)
  clamTheme.tcl               =>
  classicTheme.tcl            =>
  combobox.tcl                => ttk_$0.tcl (t$0.tcl?)
  cursors.tcl                 => ttk_$0.tcl (t$0.tcl?)
  defaults.tcl                =>
  dialog.tcl                  => remove
  entry.tcl                   => ttk_$0.tcl (t$0.tcl?)
  fonts.tcl                   => ttk_$0.tcl (t$0.tcl?)
  icons.tcl                   => ttk_$0.tcl (t$0.tcl?)
  keynav.tcl                  =>
  menubutton.tcl              => ttk_$0.tcl (t$0.tcl?)
  notebook.tcl                => ttk_$0.tcl (t$0.tcl?)
  paned.tcl                   => ttk_panedwindow.tcl (tpanedwindow.tcl?)
  progress.tcl                => ttk_progressbar.tcl (tprogressbar.tcl?)
  scale.tcl                   => ttk_$0.tcl (t$0.tcl?)
  scrollbar.tcl               => ttk_$0.tcl (t$0.tcl?)
  stepTheme.tcl               =>
  tile.tcl                    => ttk.tcl
  treeview.tcl                => ttk_$0.tcl (t$0.tcl?)
  winTheme.tcl                =>
  xpTheme.tcl*                =>

 tile/macosx:                      => tk/macosx
  aquaTheme.c                 => ttkMacOSXAquaTheme.c

 tile/tclconfig:              => whole directory unneeded; just use core build system
  install-sh*                 =>
  kde-qt.m4                   => where did this come from?
  tcl.m4                      =>
  teax.m4                     =>

JE The *.tcl files in tile/tests (except for all.tcl) are mostly small interactive tests that I used during development. There's no real need to import them into the Tk CVS repository.

 tile/tests:                      => tk/tests
  all.tcl                     => merge
  bwidget.test                => remove
  cbtest.tcl                  => ttk_cbtest.tcl
  compound.tcl                => ttk_compound.tcl
  entry.test                  => ttk_entry.test
  entrytest.tcl               =>
  image.test                  =>
  labelframe.tcl              =>
  labelframe.test             =>
  layout.test                 =>
  mbtest.tcl                  =>
  notebook.test               =>
  paned.test                  =>
  progress.test               =>
  sbtest.tcl                  =>
  scrollbar.test              =>
  testutils.tcl               => probably not needed anymore
  tile.test                   =>
  treeview.test               =>
  tvtest.tcl                  =>
  validate.test               =>

 tile/tools:                  => tk/tools
  genStubs.tcl                => Please read header comments.
  optiondiff.tcl              => Gone now.

 tile/win:                      => tk/win
  makefile.vc                 =>
  monitor.c                   =>
  nmakehlp.c                  =>
  rules.vc                    =>
  Tile.dsp                    =>
  winTheme.c                  => ttkWinTheme.c
  xpTheme.c                   => ttkWinXPTheme.c

Category GUI | Category Package | Category Widget