#193 DrawThemeButton patch for OS X

open-accepted
8
2005-09-16
2005-03-25
No

I just rewrote the tkMacOSXButton.c part of my Theme patches, to
use DrawThemeButton(), to properly get Focus halos, etc. around
buttons. Doing so, I managed to reduce the size of the .c file from
55k to 36k. It simplifies the code, makes focus halos work, and
uses proper Theme calls. The only downside I can see is that '-
default active' buttons won't actually pulse. :/ Apparently
DrawThemeButton() doesn't have support for that in it's API yet.
This change is completely independent of my pinstripe patches, so
the file can be dropped into stock Tk just fine.

Discussion

  • Revar Desmera

    Revar Desmera - 2005-03-25

    Logged In: YES
    user_id=6331

    I think this may need some tweaks to the Geometry calculations.

     
  • Revar Desmera

    Revar Desmera - 2005-03-26

    Logged In: YES
    user_id=6331

    D'oh! I didn't set the checkbox to upload the file. Uploaded now.

     
  • Revar Desmera

    Revar Desmera - 2005-03-30

    Logged In: YES
    user_id=6331

    Okay, I've uploaded a new revision of the file, that uses
    HIDrawThemeButton when possible, though I don't have the timer in to
    make the default buttons animate. I've also fixed the geometry calculation
    errors.

     
  • Revar Desmera

    Revar Desmera - 2005-03-30

    Logged In: YES
    user_id=6331

    HIThemeDrawButton, rather.

     
  • Revar Desmera

    Revar Desmera - 2005-03-31

    Logged In: YES
    user_id=6331

    Okay, since the patch now also needs some changes in
    tkMacOSXDefaults.h, I gave in and made this update a unified diffs file.

    I've implemented default button pulsing, and fixed a number of Geometry
    calculation errors I didn't get before. I changed bevel, pushbutton,
    checkbutton, and radiobuttons to not add borderwidth to their width and
    height, as they don't actually have real borders. Borderwidth only affects
    the bevel style selection, and the relief border for labels, and custom
    drawn radio/checkbuttons with -indicatoroff.

    I've tested this pretty thoroughly with labels, buttons, checkbuttons,
    radiobuttons, with and without images, compound, simple, with and without
    indicatoron, with various borderwidth settings and paddings and
    anchorings. I'm fairly confident of this revision.

     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2005-04-22
    • assigned_to: hobbs --> das
     
  • Revar Desmera

    Revar Desmera - 2005-04-22

    Logged In: YES
    user_id=6331

    May not want to apply this one yet. I've been further working on it, and
    have made a number of off-by-one-pixel fixes, and I've also converted
    tkMacOSXMenubutton.c to use HIThemeDrawButton or DrawThemeButton
    as well.

     
  • Nobody/Anonymous

    Logged In: NO

    Do you have a combined pinstripe/DrawThemeButton patch
    that works with the latest tkaqua 8.4.9 or 8.4.9.1 src, the two
    separate patches refer to different revisions of several files.
    I also got a compile error trying just this patch out with 8.4.9
    refering to TRISTATE not being declared.

     
  • Nobody/Anonymous

    Logged In: NO

    This all is patches to CVS head, so it's not going to work with 8.4.9 without
    some minor modification. The old pinstripe patch included an older
    buttons/menubuttons update, which, frankly, was ugly and suffered from
    my still learning the platform.

    I've cleaned up the buttons/menubuttons code a lot, and it's reasonable
    now. I'm not yet so happy about the pinstripes theme code.

     
  • Revar Desmera

    Revar Desmera - 2005-09-16

    Logged In: YES
    user_id=6331

    I've merged in the pinstripe patches along with the HIThemeDrawButton
    patches for Buttons and Menubuttons. This is for 8.5, CVS head.

     
  • Daniel A. Steffen

    • priority: 5 --> 8
    • status: open --> open-accepted
     
  • Revar Desmera

    Revar Desmera - 2005-09-19

    Logged In: YES
    user_id=6331

    New revision uploaded. Changes pinstripe background color name to
    'systemThemeBackground'. Fixes static declaration and function names
    for various MODULE_SCOPE functions. Adds bitmap/image motion on
    buttonpresses. Fixes clipping in button and menubutton drawing.

     
  • Daniel A. Steffen

    Logged In: YES
    user_id=90580

    revar,

    is there still work outstanding and/or being done on this, or should I look at this
    for integration into HEAD ?

     
  • Revar Desmera

    Revar Desmera - 2006-03-24

    Logged In: YES
    user_id=6331

    Well, I was futzing with seeing if I could fix up the unicode drawing routines, but
    it looks like the ATSUI patch will take care of that. Let me sync my tree and
    upload a new patch against HEAD to make life easier.

     
  • Revar Desmera

    Revar Desmera - 2006-03-24

    Logged In: YES
    user_id=6331

    Okay, here's the updated patch against HEAD. The code in the patch hasn't
    changed much at all since last time.

     
  • Revar Desmera

    Revar Desmera - 2006-03-24

    Logged In: YES
    user_id=6331

    Grr. re-uploaded and checked that dratted upload checkbox.
    And no, there's no ongoing work on this patch. It's complete.

     
  • Adrian Robert

    Adrian Robert - 2007-03-20

    Logged In: YES
    user_id=146959
    Originator: NO

    Hello, what is the status of this patch? It sounded like it was about to be incorporated but then ???
    I just tried to apply it to the 8.5a5 release and most files work except for tkMacOSXButton.c and tkMacOSXDraw.c which appear to have changed so much the entire patches get rejected.
    It would be nice to have this patch as pinstriping would make a tremendous stride for native L&F while using tile or ttk or whatever it is now (aka a whole new widget set) just seems like pain.
    Thanks much..

     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2007-03-22

    Logged In: YES
    user_id=72656
    Originator: NO

    This was deferred in favor of Ttk inclusion. If it is updated, I don't see a problem revisiting it, but ttk should provide all this functionality.

     
  • Revar Desmera

    Revar Desmera - 2007-04-30

    Logged In: YES
    user_id=6331
    Originator: YES

    Recent changes to Tk fixed the pinstriping problem, mostly, but so much code changed that this patch would be difficult to apply. I'm going to work on a new patch to refactor to using the non-deprecated HIThemeDrawButton with proper focus halos, etc. Also I'll try to fix spinbox button backgrounds and compound image/text labels.

     
  • Revar Desmera

    Revar Desmera - 2007-12-13

    Logged In: YES
    user_id=6331
    Originator: YES

    I've uploaded an updated patch that removes the now unnecessary color mods, and which uses the newer context Setup calls for CG use.
    File Added: btndiffs.zip

     
  • Revar Desmera

    Revar Desmera - 2007-12-13

    Logged In: YES
    user_id=6331
    Originator: YES

    As an aside, though I realize that ttk is the future, there's still a lot of existing scripts that use the old widgets. :-)

     
  • Revar Desmera

    Revar Desmera - 2007-12-23

    Updated button and Menubutton patches against core-8-5-0

     
    Attachments
  • Revar Desmera

    Revar Desmera - 2007-12-23

    Logged In: YES
    user_id=6331
    Originator: YES

    Re-diffed to patch against tk core-8-5-0.
    File Added: aquabtns.diff

     

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

Sign up for the SourceForge newsletter:





No, thanks