Ignore:
Timestamp:
Oct 22, 2010, 4:06:10 PM (14 years ago)
Author:
gah
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/scripts/dropdown.tcl

    r1594 r1929  
    3737
    3838    bind RapptureDropdown <ButtonPress> \
    39         {if {[Rappture::Dropdown::outside %W %X %Y]} {%W unpost}}
     39        {if {[Rappture::Dropdown::outside %W %X %Y]} {%W unpost}}
    4040}
    4141
     
    7575
    7676    if {[string length $itk_option(-postcommand)] > 0} {
    77         set cmd [list uplevel #0 $itk_option(-postcommand)]
    78         if {[catch $cmd result]} {
    79             bgerror $result
    80         }
     77        set cmd [list uplevel #0 $itk_option(-postcommand)]
     78        if {[catch $cmd result]} {
     79            bgerror $result
     80        }
    8181    }
    8282
     
    8787
    8888    if {[regexp {^@([0-9]+),([0-9]+)$} $where match x y]} {
    89         set xpos $x
    90         set ypos $y
     89        set xpos $x
     90        set ypos $y
    9191    } elseif {[winfo exists $where]} {
    92         set x0 [winfo rootx $where]
    93         switch -- $args {
    94             left { set xpos $x0 }
    95             right { set xpos [expr {$x0 + [winfo width $where] - $sw}] }
    96             default {
    97                 error "bad option \"$args\": should be left, right"
    98             }
    99         }
    100         set ypos [expr {[winfo rooty $where]+[winfo height $where]}]
     92        set x0 [winfo rootx $where]
     93        switch -- $args {
     94            left { set xpos $x0 }
     95            right { set xpos [expr {$x0 + [winfo width $where] - $sw}] }
     96            default {
     97                error "bad option \"$args\": should be left, right"
     98            }
     99        }
     100        set ypos [expr {[winfo rooty $where]+[winfo height $where]}]
    101101    } else {
    102         error "bad position \"$where\": should be widget name or @x,y"
     102        error "bad position \"$where\": should be widget name or @x,y"
    103103    }
    104104
    105105    # make sure the dropdown doesn't go off screen
    106106    if {$xpos > 0} {
    107         # left-justified positions
    108         if {$xpos + $w > $sw} {
    109             set xpos [expr {$sw-$w}]
    110             if {$xpos < 0} { set xpos 0 }
    111         }
    112         set xpos "+$xpos"
     107        # left-justified positions
     108        if {$xpos + $w > $sw} {
     109            set xpos [expr {$sw-$w}]
     110            if {$xpos < 0} { set xpos 0 }
     111        }
     112        set xpos "+$xpos"
    113113    } else {
    114         # right-justified positions
    115         if {$xpos - $w < -$sw} {
    116             set xpos [expr {-$sw+$w}]
    117             if {$xpos > 0} { set xpos -1 }
    118         }
     114        # right-justified positions
     115        if {$xpos - $w < -$sw} {
     116            set xpos [expr {-$sw+$w}]
     117            if {$xpos > 0} { set xpos -1 }
     118        }
    119119    }
    120120    if {$ypos + $h > $sh} {
    121         set ypos [expr {$sh-$h}]
    122         if {$ypos < 0} { set ypos 0 }
     121        set ypos [expr {$sh-$h}]
     122        if {$ypos < 0} { set ypos 0 }
    123123    }
    124124
     
    133133    update
    134134    while {[catch {grab set -global $itk_component(hull)}]} {
    135         after 100
     135        after 100
    136136    }
    137137}
     
    147147
    148148    if {[string length $itk_option(-unpostcommand)] > 0} {
    149         set cmd [list uplevel #0 $itk_option(-unpostcommand)]
    150         if {[catch $cmd result]} {
    151             bgerror $result
    152         }
     149        set cmd [list uplevel #0 $itk_option(-unpostcommand)]
     150        if {[catch $cmd result]} {
     151            bgerror $result
     152        }
    153153    }
    154154}
     
    172172itcl::body Rappture::Dropdown::outside {widget x y} {
    173173    return [expr {$x < [winfo rootx $widget]
    174              || $x > [winfo rootx $widget]+[winfo width $widget]
    175              || $y < [winfo rooty $widget]
    176              || $y > [winfo rooty $widget]+[winfo height $widget]}]
     174             || $x > [winfo rootx $widget]+[winfo width $widget]
     175             || $y < [winfo rooty $widget]
     176             || $y > [winfo rooty $widget]+[winfo height $widget]}]
    177177}
    178178
Note: See TracChangeset for help on using the changeset viewer.