Changeset 4315

Show
Ignore:
Timestamp:
03/07/12 10:49:12 (7 years ago)
Author:
josp
Message:

fixes #1450, una curva con omitidos genera múltiples segmentos al igual que en el gráfico de series temporales

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • tolp/trunk/tolbase/lib/toltk/setgraph.tcl

    r3574 r4315  
    6060  set gInfo(xTicks)  "" 
    6161 
     62  #puts "***** info : ***** \n$info" 
    6263  array set gInfo $info 
    6364 
     
    8485  } 
    8586  set i 0 
    86   foreach vec $gInfo(vectors) { 
     87  # TICKET 1450 
     88  foreach segments $gInfo(vectors) { 
     89    #puts "**** $i -- [llength $segments] -- $segments" 
    8790    set j  0 
    88     set segs  {} 
    89  
    90     set xdata [lindex $vec 0] 
    91     set ydata [lindex $vec 1] 
    92  
    93     $grpath line create l$ii-$j -xdata $xdata -ydata $ydata 
    94     lappend segs l$ii-$j 
    95     if { $j } { 
    96       $grpath line configure l$i-$j -label "" 
    97     } else { 
    98       set _label_ [lindex $gInfo(names) $i] 
    99       foreach _it_ [$grpath element names] { 
    100         if {$_label_ eq [$grpath element cget $_it_ -label]} { 
    101           append _label_ "x" 
     91    set segIds  {} 
     92 
     93    foreach seg $segments { 
     94      set xdata [lindex $seg 0] 
     95      set ydata [lindex $seg 1] 
     96      $grpath line create l$ii-$j -xdata $xdata -ydata $ydata 
     97      lappend segIds l$ii-$j 
     98      if { $j } { 
     99        $grpath line configure l$i-$j -label "" 
     100      } else { 
     101        set _label_ [lindex $gInfo(names) $i] 
     102        foreach _it_ [$grpath element names] { 
     103          if {$_label_ eq [$grpath element cget $_it_ -label]} { 
     104            append _label_ "x" 
     105          } 
    102106        } 
    103       } 
    104       $grpath line configure l$ii-0 -label $_label_ 
     107        $grpath line configure l$ii-0 -label $_label_ 
     108      } 
     109      incr j 
    105110    } 
    106111    incr i 
    107112    incr ii 
    108     lappend data(gr,$gr,elements) $segs 
     113    lappend data(gr,$gr,elements) $segIds 
    109114  } 
    110115  ::bayesGraph::BindLegend $Instance 
     
    294299  } else  { 
    295300        set tl [::project::CreateForm \ 
    296               -title    "[mc "Set table"]: $nameSet" \ 
    297               -iniconfig Tables \ 
    298               -type     Tables ] 
     301                    -title    "[mc {Set table}]: $nameSet" \ 
     302                    -iniconfig Tables \ 
     303                    -type     Tables ] 
    299304 
    300305    $tl withdraw 
     
    442447  variable data 
    443448 
     449  #puts "**** ::SetGraphDialog::DrawSet $tableset type=$type" 
     450 
    444451  ::SetGraphDialog::InitData $tableset 
    445452 
     
    452459    1 { 
    453460      # fill listX and listY 
    454       ::SetGraphDialog::SetDataVarList 
     461      # TICKET 1450 
     462      #::SetGraphDialog::SetDataVarList 
    455463      switch $type { 
    456464        0 { 
     
    492500        return $instance 
    493501      } else { 
    494         set msg [mc "Series do not exist that to draw"]  
     502        set msg [mc "There are no data to draw"]  
    495503        ::TolConsole::HciWriter "<W>$msg</W>" 
    496504      } 
     
    563571  variable data 
    564572 
     573  set data(var,listX) \ 
     574    [list [list -1 "<Generic 1-[$tableset info datarows]>"]] 
     575 
     576  set data(var,listY) {} 
     577 
    565578  set idx 0 
    566579  for {set i 1} {$i <= 4} {incr i} { 
     
    569582  } 
    570583  foreach it [$tableset info columns] { 
     584    #puts "**** it = $it" 
    571585    foreach {key value} $it { 
    572586      set data(infCols,$idx,$key) $value 
     
    581595 
    582596        lappend data(idxColsType2) $idx 
     597        lappend data(var,listX) [ list $idx $data(infCols,$idx,name) ] 
    583598      } 
    584599      Real { 
     
    590605          lappend data(idxColsType4) $idx 
    591606#         lappend data(idxColsType1) $idx 
     607          lappend data(var,listY) [ list $idx $data(infCols,$idx,name) ] 
    592608        } elseif {$data(infCols,$idx,unknown)} { 
    593609          lappend data(idxColsType3) $idx 
     610          lappend data(var,listY) [ list $idx $data(infCols,$idx,name) ] 
    594611        } else { 
    595612          lappend data(idxColsType1) $idx  
     613          lappend data(var,listX) [ list $idx $data(infCols,$idx,name) ] 
     614          lappend data(var,listY) [ list $idx $data(infCols,$idx,name) ] 
    596615        } 
    597616      } 
     
    634653  variable tmpOpt 
    635654 
     655  #puts "******* ::SetGraphDialog::DrawDialog" 
    636656  set dialog [Dialog .t -title [mc "Columns Selector"] -separator yes\ 
    637657                -modal local -parent .] 
     
    644664   
    645665  # fill listX and listY 
    646   ::SetGraphDialog::SetDataVarList 
     666  # TICKET 1450 
     667  #::SetGraphDialog::SetDataVarList 
    647668 
    648669  set values "" 
     
    837858    } 
    838859    set parent   
    839     set msg "[mc {Item not selectionable}].\n[mc UniqueXAxis]" 
     860    set msg "[mc {Item not selectable}].\n[mc UniqueXAxis]" 
    840861    tk_messageBox -type ok -icon warning -message $msg\ 
    841862                  -parent $parent        -title [mc Warning]  
     
    890911  #puts "DEBUG: ::SetGraphDialog::GrapthEvenUneven" 
    891912  set row 0 
     913 
     914  # TICKET 1450: que cosa mas rara se hace aqui!!!!!!! 
    892915  for {set i 0} {$i<[expr [llength $data(var,listY)] - 1]} {incr i 2} { 
    893916    set colX [lindex [lindex $data(var,listY) $i] 0] 
     
    11581181} 
    11591182 
     1183# TICKET #1450: aqui es donde se ponen los datos que luego se pintan. 
    11601184#///////////////////////////////////////////////////////////////////////////// 
    11611185  proc ::SetGraphDialog::SetSelection {} { 
     
    12011225      set i 0 
    12021226      set subVectors "" 
     1227      set subcurves {} 
    12031228      set lstX {} 
     1229      set segX {} 
    12041230      set lstY {} 
     1231      set segY {} 
    12051232      foreach item $vecsY { 
    12061233        #si no es un omitido (vacio o ?) 
    12071234        if {[string equal $item ""] || [string equal $item "?"]} { 
    1208           incr i 
     1235          # TICKET 1450 
     1236          # close this segment 
     1237          if { [ llength $segX ] } { 
     1238            lappend subcurves [ list $segX $segY ] 
     1239            set segX {} 
     1240            set segY {} 
     1241          } 
    12091242        } else  { 
    1210           set datX [lindex $vecX $i]  
    1211           lappend lstX $datX  
    1212           lappend lstY $item 
    1213           incr i 
     1243          # TICKET 1450 
     1244          #set datX [lindex $vecX $i]  
     1245          #lappend lstX $datX  
     1246          #lappend lstY $item 
     1247          lappend segX [lindex $vecX $i] 
     1248          lappend segY $item 
    12141249        } 
    1215       } 
    1216       lappend data(vectors) [list $lstX $lstY] 
     1250        incr i 
     1251      } 
     1252      # TICKET 1450 
     1253      #lappend data(vectors) [list $lstX $lstY] 
     1254      if { [ llength $segX ] } { 
     1255        lappend subcurves [ list $segX $segY ] 
     1256      } 
     1257      lappend data(vectors) $subcurves 
    12171258    } else { 
     1259      #puts "****** lappend data(vectors) [list [list $vecX $vecsY]]" 
    12181260      lappend data(vectors) [list [list $vecX $vecsY]] 
    12191261    }