Changeset 2765 for branches/blt4


Ignore:
Timestamp:
Jan 15, 2012, 8:23:10 PM (13 years ago)
Author:
gah
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/blt4/gui/scripts/xyprint.tcl

    r2748 r2765  
    4040    private variable _outputFormatType "";
    4141    private variable _formatIcon "";
     42    private variable _colorIcon "";
     43    private variable _colorText "";
    4244
    4345    private common _oldSettingsFile "~/.rpsettings"
     
    8183    private method GetAxisType { axis }
    8284    private method restore { toolName plotName data }
     85    private method AddColorToMenu { menu name color }
    8386
    8487    # Same dialog may be used for different graphs
     
    564567itcl::body Rappture::XyPrint::GetElement { args } {
    565568    set index 1
     569    set page $itk_component(legend_page)
    566570    array unset _settings $this-element-*
    567571    foreach elem [$_clone element show] {
     
    572576    set elem $_settings($this-element-$index)
    573577    set _settings($this-element-label) [$_clone element cget $elem -label]
    574     set _settings($this-element-color) [$_clone element cget $elem -color]
     578
     579    set color [$_clone element cget $elem -color]
     580    set found 0
     581    set m $page.color.menu
     582    foreach item [$m names] {
     583        set c [$m item cget $item -value]
     584        if { $c == $color } {
     585            set color $item
     586            set found 1
     587            break
     588        }
     589    }
     590    if { !$found } {
     591        AddColorToMenu $m $color $color
     592    }
     593    $m select $color
     594
    575595    if { [$_clone element type $elem] != "bar" } {
    576596        set _settings($this-element-symbol) [$_clone element cget $elem -symbol]
    577597        set _settings($this-element-dashes) [$_clone element cget $elem -dashes]
    578     }
    579     set page $itk_component(legend_page)
    580     set color [$page.color label $_settings($this-element-color)]
    581     if { $color == "" } {
    582         set color [Color2RGB $_settings($this-element-color)]
    583         $page.color choices insert end $color $color
    584         $page.color value $color
    585     } else {
    586         $page.color value [$page.color label $_settings($this-element-color)]
    587598    }
    588599    if { [$_clone element type $elem] != "bar" } {
     
    764775        "Display the legend."
    765776
    766     label $page.position_l -text "position"
     777    blt::tk::label $page.position_l -text "position"
    767778    Rappture::Combobox $page.position -width 15 -editable no
    768779    $page.position choices insert end \
     
    807818        "Select the current entry."
    808819
    809     label $page.label_l -text "label"
     820    blt::tk::label $page.label_l -text "label"
    810821    entry $page.label \
    811822        -background white \
     
    815826        "Set the label of the current entry in the legend."
    816827
     828    blt::tk::label $page.color_l -text "color"
     829    set m $page.color.menu
     830    blt::comboentry $page.color \
     831        -width 1i \
     832        -textvariable [itcl::scope _colorText] \
     833        -iconvariable [itcl::scope _colorIcon] \
     834        -editable no -menu $m \
     835        -command [itcl::code $this ApplyElementSettings]
     836    blt::combomenu $m \
     837        -xscrollbar $m.xs \
     838        -yscrollbar $m.ys  \
     839        -textvariable [itcl::scope _colorText] \
     840        -iconvariable [itcl::scope _colorIcon] \
     841        -height { 0 2i }
     842    blt::tk::scrollbar $m.xs
     843    blt::tk::scrollbar $m.ys
     844    foreach {rgb name} {
     845        "#000000" "black"
     846        "#ffffff" "white"
     847        "#0000cd" "blue"
     848        "#cd0000" "red"
     849        "#00cd00" "green"
     850        "#3a5fcd" "royal blue"
     851        "#cdcd00" "yellow"
     852        "#cd1076" "deep pink"
     853        "#009acd" "deep sky blue"
     854        "#00c5cd" "turquoise"
     855        "#a2b5cd" "light steel blue"
     856        "#7ac5cd" "cadet blue"
     857        "#66cdaa" "aquamarine"
     858        "#a2cd5a" "dark olive green"
     859        "#cd9b9b" "rosy brown"
     860        "#0000ff" "blue1"
     861        "#ff0000" "red1"
     862        "#00ff00" "green1"
     863    } {
     864        AddColorToMenu $m $name $rgb
     865    }
     866    Rappture::Tooltip::for $page.color \
     867        "Set the color of the current entry."
     868
     869    if 0 {
    817870    label $page.color_l -text "color "
    818871    Rappture::Combobox $page.color -width 15 -editable no
     
    839892    Rappture::Tooltip::for $page.color \
    840893        "Set the color of the current entry."
    841 
    842     label $page.dashes_l -text "line style"
     894    }
     895    blt::tk::label $page.dashes_l -text "line style"
    843896    Rappture::Combobox $page.dashes -width 15 -editable no
    844897    $page.dashes choices insert end \
     
    852905        "Set the line style of the current entry."
    853906
    854     label $page.symbol_l -text "symbol"
     907    blt::tk::label $page.symbol_l -text "symbol"
    855908    Rappture::Combobox $page.symbol -editable no
    856909    $page.symbol choices insert end \
     
    12781331    set index [$itk_component(element_slider) get]
    12791332    set page $itk_component(legend_page)
    1280     set _settings($this-element-color)  [$page.color current]
    12811333    if { $_clone != "" } {
    12821334        set elem $_settings($this-element-$index)
     
    15451597    return $out
    15461598}
     1599
     1600itcl::body Rappture::XyPrint::AddColorToMenu { m name color } {
     1601    set icon [image create picture -width 19 -height 17]
     1602    $icon blank 0x0
     1603    $icon draw circle 7 7 8 -color black \
     1604        -antialiased 1 -linewidth 0 -shadow { -width 1 -offset 1 }
     1605    $icon draw circle 7 7 7 -color $color \
     1606        -antialiased 1 -linewidth 0
     1607    $m add -text $name -icon $icon -value $color \
     1608        -variable [itcl::scope _settings($this-element-color)]
     1609}
Note: See TracChangeset for help on using the changeset viewer.