From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12945 invoked by alias); 22 Mar 2002 17:31:00 -0000 Mailing-List: contact insight-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: insight-owner@sources.redhat.com Received: (qmail 12925 invoked from network); 22 Mar 2002 17:30:54 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 22 Mar 2002 17:30:54 -0000 Received: from makita.cygnus.com (makita.cygnus.com [205.180.230.78]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id JAA11862 for ; Fri, 22 Mar 2002 09:30:54 -0800 (PST) Received: from localhost (keiths@localhost) by makita.cygnus.com (8.8.8+Sun/8.6.4) with ESMTP id JAA17081 for ; Fri, 22 Mar 2002 09:30:54 -0800 (PST) X-Authentication-Warning: makita.cygnus.com: keiths owned process doing -bs Date: Fri, 22 Mar 2002 09:31:00 -0000 From: Keith Seitz X-X-Sender: To: Insight Maling List Subject: Re: [RFA] iwidgets: update and add "-fraction" option In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2002-q1/txt/msg00220.txt.bz2 On Fri, 22 Mar 2002, Keith Seitz wrote: > I really hated the way this widget worked, so I: > > 1) merged with current sources (formatting changes, really) > 2) Added a sanity check in iwidgets::Feedback::step > 3) Added a new "-fraction" option so that we could tell it to display > a fraction instead of just stepping it. > > I will submit the "-fraction" patch to the iwidgets maintainers. > > (Is Ian still around? Shall we nominate a new or more tcl/tk/tix/itcl > maintainer(s)?) Hmmm. I'll bet someone wants to see the patch! :-) ChangeLog 2002-03-22 Keith Seitz * iwidgets3.0.0/generic/feedback.itk: Import version 1.5. (iwidgets::Feedback): Define new option, "-fraction". (fraction): New configbody. (step): Cap the step increment at the total number of requested steps. Patch Index: itcl/iwidgets3.0.0/generic/feedback.itk =================================================================== RCS file: /cvs/src/src/itcl/iwidgets3.0.0/generic/feedback.itk,v retrieving revision 1.1.1.2 diff -p -r1.1.1.2 feedback.itk *** itcl/iwidgets3.0.0/generic/feedback.itk 2001/09/09 19:49:08 1.1.1.2 --- itcl/iwidgets3.0.0/generic/feedback.itk 2002/03/22 17:14:55 *************** *** 9,15 **** # ---------------------------------------------------------------------- # AUTHOR: Kris Raney EMAIL: kraney@spd.dsccc.com # ! # @(#) $Id: feedback.itk,v 1.2.172.1 2001/05/18 02:21:48 mdejong Exp $ # ---------------------------------------------------------------------- # Copyright (c) 1996 DSC Technologies Corporation # ====================================================================== --- 9,15 ---- # ---------------------------------------------------------------------- # AUTHOR: Kris Raney EMAIL: kraney@spd.dsccc.com # ! # @(#) $Id: feedback.itk,v 1.5 2001/08/15 18:32:18 smithc Exp $ # ---------------------------------------------------------------------- # Copyright (c) 1996 DSC Technologies Corporation # ====================================================================== *************** itk::usual Feedback { *** 78,90 **** # ------------------------------------------------------------------ # FEEDBACK # ------------------------------------------------------------------ ! class iwidgets::Feedback { inherit iwidgets::Labeledwidget constructor {args} {} destructor {} itk_option define -steps steps Steps 10 public { method reset {} --- 78,91 ---- # ------------------------------------------------------------------ # FEEDBACK # ------------------------------------------------------------------ ! itcl::class iwidgets::Feedback { inherit iwidgets::Labeledwidget constructor {args} {} destructor {} itk_option define -steps steps Steps 10 + itk_option define -fraction fraction Fraction 0 public { method reset {} *************** itcl::configbody iwidgets::Feedback::ste *** 163,168 **** --- 164,186 ---- } # ------------------------------------------------------------------ + # OPTION: -fraction + # + # Configure the widget to display the given fractional completion + # ------------------------------------------------------------------ + itcl::configbody iwidgets::Feedback::fraction { + + set newval [expr {ceil($itk_option(-steps) * $itk_option(-fraction))}] + if {$newval > $itk_option(-steps)} { + set newval $itk_option(-steps) + } + if {$newval != $_stepval} { + set _stepval $newval + _display + } + } + + # ------------------------------------------------------------------ # METHODS # ------------------------------------------------------------------ *************** itcl::configbody iwidgets::Feedback::ste *** 175,187 **** itcl::body iwidgets::Feedback::_display {} { update idletasks set troughwidth [winfo width $itk_component(trough)] ! set _barwidth [expr \ ! (1.0*$troughwidth-(2.0*[$itk_component(trough) cget -borderwidth])) / \ ! $itk_option(-steps)] ! set fraction [expr int((1.0*$_stepval)/$itk_option(-steps)*100.0)] $itk_component(percentage) config -text "$fraction%" ! $itk_component(bar) config -width [expr $_barwidth*$_stepval] update } --- 193,205 ---- itcl::body iwidgets::Feedback::_display {} { update idletasks set troughwidth [winfo width $itk_component(trough)] ! set _barwidth [expr { ! (1.0*$troughwidth-(2.0*[$itk_component(trough) cget -borderwidth])) / ! $itk_option(-steps)}] ! set fraction [expr {int((1.0*$_stepval)/$itk_option(-steps)*100.0)}] $itk_component(percentage) config -text "$fraction%" ! $itk_component(bar) config -width [expr {$_barwidth*$_stepval}] update } *************** itcl::body iwidgets::Feedback::step {{in *** 208,212 **** --- 226,233 ---- } incr _stepval $inc + if {$_stepval > $itk_option(-steps)} { + set _stepval $itk_option(-steps) + } _display }