zoukankan      html  css  js  c++  java
  • Iwidgets class tcl tk

    package require Iwidgets
    namespace import itcl::*
    namespace import itk::*

    option add *TextDisplay.wrap none widgetDefault
    option add *TextDisplay.textBackground ivory widgetDefault
    option add *TextDisplay.width 40 widgetDefault
    option add *TextDisplay.height 10 widgetDefault

    class TextDisplay {
        inherit itk::Widget

        constructor {args} {
     itk_component add text {
         text $itk_interior.info -state  disabled -yscrollcommand [code $itk_interior.sbar set]
     } {
         usual
         keep -tabs -wrap -width -height
         rename -background -textbackground textBackground Background
     }
     pack $itk_component(text) -side left -expand yes -fill both

     itk_component add scrollbar {
         scrollbar $itk_interior.sbar -command [code $itk_interior.info yview]
     }
     pack $itk_component(scrollbar) -side right -fill y

     eval itk_initialize $args
        }

        public method display {info}
        public method append {info}
    }

    body TextDisplay::display {info} {
        $itk_component(text) configure -state normal
        $itk_component(text) delete 1.0 end
        $itk_component(text) insert 1.0 $info
        $itk_component(text) configure -state disabled
    }

    body TextDisplay::append {info} {
        $itk_component(text) configure -state normal
        $itk_component(text) insert end $info
        $itk_component(text) configure -state disabled
    }

    usual TextDisplay {
        keep -background -cursor -foreground -font
        keep -activebackground -activerelief
        keep -highlightcolor -highlightthickness
        keep -insertbackground -insertborderwidth -insertwidth
        keep -insertontime -insertofftime
        keep -selectbackground -selectborderwidth -selectforeground
        keep -textbackground -troughcolor
    }

    #
    # EXAMPLE:  Display the /etc/passwd file
    #
    TextDisplay .file -background red

    # new a widigets class as .file, and with the args as -background red.
    pack .file

    .file display [exec cat /etc/passwd]

    # .file has following methods:

    #  .file append info
    # .file cget option
    #  .file component ?name? ?arg arg ...?
    #  .file config ?option? ?arg arg ...?
    #  .file configure ?option? ?arg arg ...?
    #  .file display info
    #  .file isa className
    #    while executing

  • 相关阅读:
    收集一些dos网络配置命令,从新获取ip刷新dns
    多个线程访问共享对象和数据的方式
    Oracle rownum 分页, 排序
    ORACLE中用rownum分页并排序的SQL语句
    CentOS 6.5安装MongoDB 2.6(多yum数据源)
    【编程练习】收集的一些c++代码片,算法排序,读文件,写日志,快速求积分等等
    java枚举使用详解
    PHP+MySQL动态网站开发从入门到精通(视频教学版)
    Premiere Pro CS6标准教程
    黑客攻防:实战加密与解密
  • 原文地址:https://www.cnblogs.com/greencolor/p/2036479.html
Copyright © 2011-2022 走看看