Changeset 6b3f93a in tol


Ignore:
Timestamp:
Feb 10, 2011, 9:48:18 AM (16 years ago)
Author:
Pedro Gea <pgea@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
ecd37ad
Parents:
e7fa2f1
Message:

Se introducen los siguientes cambios:
En la información en columnas del inspector:

  • Se oculta la columna con la referencia-tcl del objeto.
  • Se modifica el contenido de la columna "content" para las instancias.

En la pestaña de información de TOLBase:

  • Se muestran opcionalmente (si no es vacío) tanto el campo "path" como la descripción.
  • Se renombra el campo "Value" a "Content" por coherencia con las columnas del inspector y se utiliza la información de instancia como en las columnas.
  • Se muestra la información específica de las instancias.

Refs #1092

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@3160 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tolbase/lib/toltk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tolbase/lib/toltk/tolbase.tcl

    re7fa2f1 r6b3f93a  
    174174  # INFO CONSOLE COMPONENT
    175175  set widgets(info) $sw3.info
    176   set w_info [text $widgets(info) -wrap word -cursor ""\
     176  #(pgea) se elimina  -wrap word
     177  set w_info [text $widgets(info) -cursor ""\
    177178     -state disabled -font $data(font,info)]
    178179  $sw3 setwidget $w_info
    … …  
    450451    }
    451452    default {
     453      #(pgea) se modifica el mecanismo de escritura de la información
     454      #(pgea) en tolbase incluyendo la información de instancia
     455      proc w_insert {w_info w_text w_token w_tag} {
     456        set idx_start [$w_info index "end -1 chars"]
     457        $w_info insert end $w_text
     458        $w_info insert end $w_token
     459        set idx_end   [$w_info index "end -1 chars"]
     460        $w_info tag add $w_tag $idx_start $idx_end
     461      }
    452462      #$w_info configure -wrap none
    453       foreach {icon grammar name value path desc} $args {}
    454         foreach {prop val} [list "Grammar: " $grammar "Name: " $name "Value: " $value "Path: " $path] {
    455         set idx_start [$w_info index "end -1 chars"]
    456         $w_info insert end $prop
    457         set idx_end   [$w_info index "end -1 chars"]
    458         $w_info tag add tagLabel $idx_start $idx_end
    459         if {[string equal $prop "Grammar: "]} {
    460           $w_info image create end -image $icon
    461           $w_info insert end "  "
     463      foreach {icon grammar name content path desc objRef} $args {}
     464      #(pgea) Si es NameBlock busco su clase e información de instancia
     465      if {$grammar eq "NameBlock" && [string length $objRef]} {
     466        set classOf [Tol_ClassOfFromReference $objRef]
     467        set insInfo [Tol_InstanceInfoFromReference $objRef]
     468        set insCont [Tol_InstanceContentFromReference $objRef]
     469      } else {
     470        set classOf ""
     471        set insInfo ""
     472        set insCont ""
     473      }
     474      if {$classOf eq ""} {
     475        w_insert $w_info Grammar ": " tagLabel
     476        $w_info image create end -image $icon
     477        $w_info insert end " "
     478        w_insert $w_info $grammar "\n" tagValue
     479      } else {
     480        w_insert $w_info Class ": " tagLabel
     481        $w_info image create end -image $icon
     482        $w_info insert end " "
     483        w_insert $w_info $classOf "\n" tagValue
     484      }
     485      w_insert $w_info Name ": " tagLabel
     486      w_insert $w_info $name "\n" tagValue
     487      w_insert $w_info Content ": " tagLabel
     488      if {$insCont ne ""} {
     489        w_insert $w_info $insCont "\n" tagValue
     490      } elseif {$classOf ne ""} {
     491        w_insert $w_info $classOf "\n" tagValue
     492      } else {
     493        w_insert $w_info $content "\n" tagValue
     494      }
     495      if {$path ne ""} {
     496        w_insert $w_info Path ": " tagLabel
     497        w_insert $w_info $path "\n" tagValue
     498      }
     499      if {$desc ne ""} {
     500        w_insert $w_info Description ":\n" tagLabel
     501        w_insert $w_info $desc "\n" tagValue
     502      }
     503      #(pgea) se añade la información de instancia (si hay)
     504      if { [string length $insInfo] } {
     505        set brNeed 0
     506        set attr 0
     507        set lines [split $insInfo \n]
     508        foreach line $lines {
     509          set lineLen [string length $line]
     510          set lineIni [string index $line 0]
     511          set lineFin [string index $line [expr $lineLen-1]]
     512          set lineIF "$lineIni$lineFin"
     513          if { [string eq $lineIF {[]}] } {
     514            set lineLabel [string range $line 1 [expr $lineLen-2]]
     515            w_insert $w_info $lineLabel ":\n" tagLabelB
     516          } elseif { [string eq $lineIF {{}}] } {
     517            set lineLabel [string range $line 1 [expr $lineLen-2]]
     518            w_insert $w_info $lineLabel ": " tagLabelB
     519          } else {
     520            w_insert $w_info $line "\n" tagValue
     521          }
    462522        }
    463         $w_info insert end "$val\n"
    464         $w_info tag add tagValue $idx_end [$w_info index "end -1 chars"]
    465523      }
    466524      $w_info tag configure tagLabel -font fnBold
    467525      $w_info tag configure tagValue -wrap none
    468       if { [string length $desc] } {
    469         set idx_start [$w_info index "end -1 chars"]
    470         $w_info insert end "Description\n"
    471         set idx_end [$w_info index "end -1 chars"]
    472         $w_info tag add tagPropLabel $idx_start $idx_end
    473         $w_info insert end $desc
    474         $w_info tag add tagPropValue $idx_end [$w_info index "end -1 chars"]
    475         $w_info tag configure tagPropLabel -font fnBold -underline 1
    476         #$w_info tag configure tagPropValue -wrap word
    477       }
     526      $w_info tag configure tagLabelB -font fnBold -foreground navy
    478527      $w_tabset select 2
    479528    }
  • tolbase/lib/toltk/tolinspe.tcl

    re7fa2f1 r6b3f93a  
    194194      -bg white -justify left -activetitlebackground gray90
    195195  # columns Content Path & Description
    196   $ht column insert end Content Path Description Reference\
     196  #(pgea) se oculta la columna correspondiente a la referencia
     197  $ht column insert end Content Path Description\
    197198      -bg white -justify left -activetitlebackground gray90 -pad 3
     199  $ht column insert end Reference -hide true
    198200  foreach c {Index Content Path Description} {
    199201    $ht column configure $c -text [mc "$c"]
    … …  
    795797        puts "knownReference = $knownReference"
    796798        set objRef $knownReference
     799      }
     800      #(pgea) se reemplaza el valor de la referencia en data
     801      set data [lreplace $data 9 9 $objRef] 
     802      #(pgea) se utiliza la información de instancia
     803      set classOf [Tol_ClassOfFromReference $objRef]
     804      set insCont [Tol_InstanceContentFromReference $objRef]
     805      if {$insCont ne ""} {
     806        set data [lreplace $data 3 3 [TrimContent $grammar $insCont]]
     807      } elseif {$classOf ne ""} {
     808        set data [lreplace $data 3 3 $classOf]
    797809      }
    798810      set objAddress [ tol::info address $objRef ]
    … …  
    18091821      set itemid $aryData(Index)              ;# id of item
    18101822      set path   $aryData(Path)               ;# path of file of item
     1823      #(pgea) se añade la propiedad Reference
     1824      set objRef $aryData(Reference)          ;# info of item
    18111825      set full_data $item_data($itemid) ;# {value} {desc} {grammar}       
    18121826      set value [lindex $full_data 0]   ;# value of item PE:
    … …  
    18221836      set grammar [lindex $full_data 2]
    18231837      set icon [lindex [$ht entry cget $entry -icons] 0]
    1824       set args [list $icon $grammar $name $value $path $desc]
     1838      #(pgea) lista de argumentos que recibe ::TolConsole::OnInfo
     1839      set args [list $icon $grammar $name $value $path $desc $objRef]
    18251840    } else {
    18261841      set args ""
    … …  
    18381853
    18391854#/////////////////////////////////////////////////////////////////////////////
     1855#(pgea) ¿se usa?
    18401856proc ::TolInspector::FillText { ht entry } {
    18411857#/////////////////////////////////////////////////////////////////////////////
    … …  
    19651981  set addr [ ::tol::info address $objReference ]
    19661982  return [ Tol_ClassOf $addr ]
     1983}
     1984
     1985#(pgea) nueva función para obtener la información de instancia
     1986proc Tol_InstanceInfo { obj_addr } {
     1987  tol::console eval [ string map [ list %A $obj_addr ] {
     1988    Text __gui_instanceinfo__ = {
     1989      Anything __intance__ = GetObjectFromAddress("%A");
     1990      Text If(ObjectExist("Code", "__intance__::_.get.autodoc.info"),
     1991        __intance__::_.get.autodoc.info(?), "")
     1992    }
     1993  } ]
     1994  set info [ tol::info variable {Text __gui_instanceinfo__} ]
     1995  set x [ string trim [ lindex $info 2 ]  \" ]
     1996  tol::console stack release __gui_instanceinfo__
     1997  set x
     1998}
     1999
     2000#(pgea) nueva función para obtener la información de instancia
     2001proc Tol_InstanceInfoFromReference { objReference } {
     2002  set addr [ ::tol::info address $objReference ]
     2003  return [ Tol_InstanceInfo $addr ]
     2004}
     2005
     2006#(pgea) nueva función para obtener el contenido de la instancia
     2007proc Tol_InstanceContent { obj_addr } {
     2008  tol::console eval [ string map [ list %A $obj_addr ] {
     2009    Text __gui_instancecontent__ = {
     2010      Anything __intance__ = GetObjectFromAddress("%A");
     2011      Text If(ObjectExist("Code", "__intance__::_.get.autodoc.content"),
     2012        __intance__::_.get.autodoc.content(?), "")
     2013    }
     2014  } ]
     2015  set info [ tol::info variable {Text __gui_instancecontent__} ]
     2016  set x [ string trim [ lindex $info 2 ]  \" ]
     2017  tol::console stack release __gui_instancecontent__
     2018  set x
     2019}
     2020
     2021#(pgea) nueva función para obtener el contenido de la instancia
     2022proc Tol_InstanceContentFromReference { objReference } {
     2023  set addr [ ::tol::info address $objReference ]
     2024  return [ Tol_InstanceContent $addr ]
    19672025}
    19682026
Note: See TracChangeset for help on using the changeset viewer.