#2327 ttk::[a-z]* public?

obsolete: 8.5b1
closed-wont-fix
9
2007-11-01
2007-09-27
Don Porter
No

Is the [ttk::clickToFocus] meant
to be public? If so, needs docs.

If not, convention would suggest
we name it ttk::ClickToFocus instead.

Discussion

  • Don Porter

    Don Porter - 2007-09-27

    Logged In: YES
    user_id=80530
    Originator: YES

    ditto

    ttk::copyBindings
    ttk::deprecated
    ttk::deprecated'warning
    ttk::do'deprecate
    ttk::focusFirst
    ttk::globalGrab
    ttk::grabWindow
    ttk::setTheme
    ttk::takeFocus
    ttk::takesFocus
    ttk::themes
    ttk::traverseTo

     
  • Don Porter

    Don Porter - 2007-09-27
    • summary: ttk::clickToFocus public? --> ttk::[a-z]* public?
     
  • Don Porter

    Don Porter - 2007-09-27

    Logged In: YES
    user_id=80530
    Originator: YES

    ditto

    ::ttk::button::activate
    ::ttk::notebook::enableTraversal
    ::ttk::progressbar::stop
    ::ttk::progressbar::start
    ::ttk::treeview::resize.release
    ::ttk::treeview::between
    ::ttk::treeview::select.toggle.none
    ::ttk::treeview::select.toggle.extended ::ttk::treeview::select.toggle.browse
    ::ttk::treeview::heading.press
    ::ttk::treeview::select.extend.none
    ::ttk::treeview::heading.drag
    ::ttk::treeview::select.extend.extended
    ::ttk::treeview::select.choose.none
    ::ttk::treeview::resize.press
    ::ttk::treeview::select.choose.extended ::ttk::treeview::select.extend.browse
    ::ttk::treeview::resize.drag
    ::ttk::treeview::select.choose.browse
    ::ttk::treeview::heading.release

     
  • Joe English

    Joe English - 2007-09-30

    Logged In: YES
    user_id=68433
    Originator: NO

    The status of most of these is "intended for eventual public consumption but no guarantee of stability until Tile 1.0." There is an unresolved conflict between Tile's current state of stability and what we'd like to have for Tk 8.5.0.

    Some of these routines I know are wrong (most of the grab-related stuff), some I suspect are wrong (takeFocus/takesFocus/clickToFocus), and others I'm pretty sure are OK; but I'm reluctant for any of them to be carved into stone at this point.

     
  • Don Porter

    Don Porter - 2007-10-01

    Logged In: YES
    user_id=80530
    Originator: YES

    One approach we've used in this
    situation before is an "unsupported"
    command. For commands we want available,
    but aren't fully ready to commit to
    preserving, define them in and export
    them from the

    ::<pkg>::unsupported

    namespace. For example, we had
    [::tcl::unsupported::EncodingDirs] for
    a few releases before enshrining it
    as the new [encoding dirs].

    Just a suggestion if it fits in
    with other constraints.

     
  • Don Porter

    Don Porter - 2007-10-31
    • priority: 5 --> 9
     
  • Joe English

    Joe English - 2007-11-01
    • status: open --> closed-wont-fix
     
  • Joe English

    Joe English - 2007-11-01

    Logged In: YES
    user_id=68433
    Originator: NO

    Can we just live with this for 8.5? Hobgoblinning the core code that's shared with Tile would do more harm than good at this point.

    See also:

    http://sourceforge.net/mailarchive/message.php?msg_name=200509111830.j8BIU6K22992%40flightlab.com
    http://sourceforge.net/mailarchive/message.php?msg_id=200508101305.j7AD53K11274%40flightlab.com

    The status of most of these is "Used internally, but intended for public consumption." One of two things can happen in future:

    (1) The interface turns out to be OK and is made public. In this case, I just need to write TFM and nobody needs to change any code.

    (2) The interface turns out to be wrong and needs to be changed. In this case, the old routine is [ttk::deprecate]d in version N+1 and can be killed in version N+2. In the meantime, application code gets a warning message.

    Capitalizing all the function names or using the ::unsupported:: convention just causes code churn in the event of case (1), both internally and for application code that used the semi-public routines, and forces such code to add otherwise unnecessary version tests if it wants to continue to work with version N-1. And making these routines "fully public" for 8.5 means that they're carved in stone and can't ever be killed in the event of case (2).

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks