in reply to Re: perl tk button on windows 8 touchpad is doesn't not animate if touched
in thread perl tk button on windows 8 touchpad does not animate if touched as expected

Thank a lot Zentara . i'll try your suggestion tomorrow at work , where i have the touchpad, and a i'll let you know. Only one doubt. How to force the button update to show the state change? .Could be sufficient call tk::button->update?

  • Comment on Re^2: perl tk button on windows 8 touchpad is doesn't not animate if touched

Replies are listed 'Best First'.
Re^3: perl tk button on windows 8 touchpad is doesn't not animate if touched
by Anonymous Monk on May 08, 2014 at 06:57 UTC

    HI all , I workaround this problem doing a change of the background of the button at the begining and the ending of the -command action. As the -command action is relatively long this work in an acceptable way. From a logic point of view:

    -command => sub { my $caller_ = $Tk::widget; $caller_->configure(-bg ='red'); $caller_->update; ........................ .....long operation on db $caller_->configure(-bg ='grey'); $caller_->update; }

    This work quite well for my needs . Thank a lot

      .....long operation on db

      Hi, I would just mention that your Tk interface may become unresponsive during that long operation, since it will block the Tk event-loop. You may want to sprinkle some $mw->update; statements in your long db operation, if possible, to keep the eventloop active. For instance, what if you wanted a Cancel button to cancel the long db operation midstream? The Cancel button will not respond.

      There are ways around this, like using threads or forks to do the long db operation and set a threads shared variable when done. But that is getting way beyond what you probably want to do.

      See PerlTk on a thread... for an introduction.

      BTW, did $button->activate() in the -command callback give any animation?


      I'm not really a human, but I play one on earth.
      Old Perl Programmer Haiku ................... flash japh