⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 feedback.itk

📁 windows下的GDB insight前端
💻 ITK
字号:
## Feedback# ----------------------------------------------------------------------# Implements a Feedback widget, to display feedback on the status of an # process to the user. Display is given as a percentage and as a # thermometer type bar. Options exist for adding a label and controlling its# position.## ----------------------------------------------------------------------#  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# ======================================================================# Permission to use, copy, modify, distribute and license this software# and its documentation for any purpose, and without fee or written# agreement with DSC, is hereby granted, provided that the above copyright# notice appears in all copies and that both the copyright notice and# warranty disclaimer below appear in supporting documentation, and that# the names of DSC Technologies Corporation or DSC Communications# Corporation not be used in advertising or publicity pertaining to the# software without specific, written prior permission.## DSC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING# ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, AND NON-# INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE# AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE,# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. IN NO EVENT SHALL# DSC BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR# ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTUOUS ACTION,# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS# SOFTWARE.# ======================================================================# Acknowledgements:## Special thanks go to Sam Shen(SLShen@lbl.gov), as this code is based on his # feedback.tcl code from tk inspect. The original code is copyright 1995# Lawrence Berkeley Laboratory.## This software is copyright (C) 1994 by the Lawrence Berkeley Laboratory.#  # Redistribution and use in source and binary forms, with or without# modification, are permitted provided that: (1) source code distributions# retain the above copyright notice and this paragraph in its entirety, (2)# distributions including binary code include the above copyright notice and# this paragraph in its entirety in the documentation or other materials# provided with the distribution, and (3) all advertising materials mentioning# features or use of this software display the following acknowledgement:# ``This product includes software developed by the University of California,# Lawrence Berkeley Laboratory and its contributors.'' Neither the name of# the University nor the names of its contributors may be used to endorse# or promote products derived from this software without specific prior# written permission.#  # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.## Default resources.#option add *Feedback.borderWidth	2		widgetDefaultoption add *Feedback.labelPos		n		widgetDefaultoption add *Feedback.barHeight		20		widgetDefaultoption add *Feedback.troughColor	White		widgetDefaultoption add *Feedback.barColor		Blue	        widgetDefault## Usual options.#itk::usual Feedback {    keep -background -cursor -foreground}# ------------------------------------------------------------------#                          FEEDBACK# ------------------------------------------------------------------itcl::class iwidgets::Feedback {    inherit iwidgets::Labeledwidget    constructor {args} {}    destructor {}    itk_option define -steps steps Steps 10    public {	method reset {}	method step {{inc 1}}    }    private {	method _display	variable _barwidth 0	variable _stepval 0    }}## Provide a lowercased access method for the Dialogshell class.# proc ::iwidgets::feedback {pathName args} {    uplevel ::iwidgets::Feedback $pathName $args}# ------------------------------------------------------------------#                        CONSTRUCTOR# ------------------------------------------------------------------itcl::body iwidgets::Feedback::constructor {args} {    itk_component add trough {	frame $itk_interior.trough -relief sunken    } {	usual	keep -borderwidth	rename -background -troughcolor troughColor TroughColor	rename -height -barheight barHeight Height    }    itk_component add bar {	frame $itk_component(trough).bar -relief raised    } {	usual	keep -borderwidth	rename -background -barcolor barColor BarColor	rename -height -barheight barHeight Height    }    pack $itk_component(bar) -side left -fill y -anchor w    itk_component add percentage {	label $itk_interior.percentage -text "0%"    }    grid $itk_component(trough) -row 1 -column 0 -sticky sew -padx 2 -pady 2    grid $itk_component(percentage) -row 2 -column 0 -sticky nsew -padx 2 -pady 2    grid rowconfigure $itk_interior 0 -weight 1    grid rowconfigure $itk_interior 1 -weight 1    grid columnconfigure $itk_interior 0 -weight 1    bind $itk_component(hull) <Configure> [itcl::code $this _display]    eval itk_initialize $args}# ------------------------------------------------------------------#                          DESTRUCTOR# ------------------------------------------------------------------itcl::body iwidgets::Feedback::destructor {} {}# ------------------------------------------------------------------#                            OPTIONS# ------------------------------------------------------------------# ------------------------------------------------------------------# OPTION: -steps## Set the total number of steps.# ------------------------------------------------------------------itcl::configbody iwidgets::Feedback::steps {    step 0}# ------------------------------------------------------------------#                            METHODS# ------------------------------------------------------------------# -----------------------------------------------------------------------------# PROTECTED METHOD: _display ## Displays the bar in the trough with the width set using the current number# of steps.# -----------------------------------------------------------------------------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}# ------------------------------------------------------------------# METHOD: reset## Resets the status bar to 0# ------------------------------------------------------------------itcl::body iwidgets::Feedback::reset {} {    set _stepval 0    _display }# ------------------------------------------------------------------# METHOD: step ?inc?## Increase the value of the status bar by inc. Default to 1# ------------------------------------------------------------------itcl::body iwidgets::Feedback::step {{inc 1}} {    if {$_stepval >= $itk_option(-steps)} {	return    }    incr _stepval $inc    _display }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -