Changeset c6ca7c7 in tol for tolbase/lib


Ignore:
Timestamp:
Jun 8, 2012, 9:35:17 AM (14 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
2b4b886
Parents:
67cbe29
Message:

fixes #1550, se implementa las opciones para almacenar en un oza desde la selección

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

File:
1 edited

Legend:

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

    r67cbe29 rc6ca7c7  
    21212121}
    21222122
     2123proc TolGui_StoreSetElementsInOZA { object } {
     2124  set saveIn [ tk_getSaveFile -defaultextension .oza \
     2125                   -parent . -title [ mc "Store OZA" ] \
     2126                   -filetypes {{oza {.oza}}} ]
     2127
     2128  if { $saveIn ne "" } {
     2129    set addr [ tol::info address $object ]
     2130    set tolexpr [ string map [ list %a $addr %f $saveIn ] {
     2131      Real Ois.Store( GetObjectFromAddress( "%a" ), "%f" );
     2132    } ]
     2133    toltcl::eval $tolexpr
     2134  }
     2135}
     2136
     2137proc TolGui_StoreSelectionInOZA { selection } {
     2138  set saveIn [ tk_getSaveFile -defaultextension .oza \
     2139                   -parent . -title [ mc "Store OZA" ] \
     2140                   -filetypes {{oza {.oza}}} ]
     2141  if { $saveIn ne "" } {
     2142    set lst_addr {}
     2143    foreach r $selection {
     2144      set a [ tol::info address $r ]
     2145      lappend lst_addr \"$a\"
     2146    }
     2147    set set_addr "\[\[ [join $lst_addr ,] \]\]"
     2148    set tolexpr [ string map [ list %L $set_addr %f $saveIn ] {
     2149      Real {
     2150        Set items = EvalSet( %L, Anything( Text addr ) {
     2151          Anything GetObjectFromAddress( addr )
     2152        } );
     2153        Real Ois.Store( items, "%f" )
     2154      }
     2155    } ]
     2156    toltcl::eval $tolexpr
     2157  }
     2158}
     2159
    21232160proc TolGui_InsertEntriesFromMenuManager { targetMenu selection } {
    21242161  set addrList [ list ]
    … …  
    22132250
    22142251  array unset options_selected
     2252  set all_objects {}
    22152253
    22162254  foreach it [array names data_menu] {
    … …  
    22352273        if { $InRootPool } {
    22362274          set object $data(pool,variables,$itemid)
    2237                 } else {
     2275        } else {
    22382276          if {[llength $aryData(Reference)]} {
    22392277            #set object [lindex $aryData(Reference) 0]
    … …  
    22532291          }
    22542292        }
     2293        lappend all_objects $object
    22552294        #puts "PostVariable: OBJECT=$object OBJNAME=$objName TOLSET=$tolset PATH=$path GRAMMAR=$grammar"
    22562295        switch -- $grammar {
    … …  
    25342573               -menu $data_menu($grammar,File)
    25352574            foreach objInfo $options_selected($grammar) {
    2536               $data_menu($grammar,File) add command -label [lindex $objInfo 1]\
    2537               -command [list ::TolInspector::ViewDefinition\
    2538                               [lindex $objInfo 1] [lindex $objInfo 2] $grammar]
     2575              $data_menu($grammar,File) add command -label [lindex $objInfo 1] \
     2576                  -command [list ::TolInspector::ViewDefinition\
     2577                                [lindex $objInfo 1] [lindex $objInfo 2] $grammar]
    25392578            }
    25402579          }
    25412580          $data_menu(main) add separator
    25422581        } ;#end del foreach
     2582
     2583        # Store selection in oza
     2584        if { [ llength $all_objects ] > 1 || [ lindex $grammar_selected 0 ] ne "Set" } {
     2585          $data_menu(main) add command -label [mc "Store selection in OZA"]... \
     2586              -command [ list TolGui_StoreSelectionInOZA $all_objects ]
     2587        } else {
     2588          $data_menu(main) add command -label [mc "Store Set in OZA"]... \
     2589              -command [ list TolGui_StoreSelectionInOZA $all_objects ]
     2590          $data_menu(main) add command -label [mc "Store elements in OZA"]... \
     2591              -command [ list TolGui_StoreSetElementsInOZA [ lindex $all_objects 0 ] ]
     2592        }
     2593        $data_menu(main) add separator
     2594        # Store selection in oza
     2595
    25432596        if { $InRootPool } {
    25442597          $data_menu(main) add command -label [mc "Remove from spool"] \
Note: See TracChangeset for help on using the changeset viewer.