Changeset ab2f694 in tol for tolbase/lib/toltk/MenuManager.tcl
- Timestamp:
- Jun 10, 2010, 10:09:12 AM (16 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- cf6d1c6
- Parents:
- 2461112
- File:
-
- 1 edited
-
tolbase/lib/toltk/MenuManager.tcl (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tolbase/lib/toltk/MenuManager.tcl
r2461112 rab2f694 1 namespace eval MenuManager {2 } 3 4 proc MenuManager::getTypeOfObject { addr } {1 namespace eval ::MenuManager { 2 } 3 4 proc ::MenuManager::getTypeOfObject { addr } { 5 5 set rvar "__getTypeOfObject__" 6 6 set tolExpr [ string map [ list %A $addr %RV $rvar ] { … … 21 21 } 22 22 23 proc MenuManager::getLabelInfoForType { type } {23 proc ::MenuManager::getLabelInfoForType { type } { 24 24 set rvar "__getLabelForType__" 25 25 set tolExpr [ string map [ list %RV $rvar %T $type ] { 26 26 Set %RV = { 27 Set aux = MenuManager::getTypeLabelInfo( "%T" );27 Set aux = GuiTools::MenuManager::getTypeLabelInfo( "%T" ); 28 28 Set If( Card( aux ), 29 aux, MenuManager::getDefaultTypeLabelInfo( "%T" ) )29 aux, GuiTools::MenuManager::getDefaultTypeLabelInfo( "%T" ) ) 30 30 } 31 31 } ] … … 36 36 } 37 37 38 proc MenuManager::getLabelInfoForEntry { entryName } {38 proc ::MenuManager::getLabelInfoForEntry { entryName } { 39 39 set rvar "__getLabelInfoForEntry__" 40 40 set tolExpr [ string map [ list %RV $rvar %N $entryName ] { 41 41 Set %RV = { 42 Set aux = MenuManager::getEntryInfo( "%N" );42 Set aux = GuiTools::MenuManager::getEntryInfo( "%N" ); 43 43 Set If( Card( aux ), 44 aux, MenuManager::getDefaultEntryInfo( "%N" ) )44 aux, GuiTools::MenuManager::getDefaultEntryInfo( "%N" ) ) 45 45 } 46 46 } ] … … 51 51 } 52 52 53 proc MenuManager::getMenuOptionsForType { type } {53 proc ::MenuManager::getMenuOptionsForType { type } { 54 54 set rvar "__getMenuOptionsForType__" 55 55 set tolExpr [ string map [ list %RV $rvar %T $type ] { 56 Set %RV = MenuManager::getTypeOptionsInfo( "%T" );56 Set %RV = GuiTools::MenuManager::getTypeOptionsInfo( "%T" ); 57 57 } ] 58 58 tol::console eval $tolExpr … … 62 62 } 63 63 64 proc MenuManager::checkEntryState { name objSelection group } { 65 variable typesSelected 66 67 puts "MenuManager::checkEntryState $name $objSelection $group" 64 proc ::MenuManager::checkEntryState { name objSelection group } { 65 variable typesSelected 68 66 69 67 set SOA [ TclList2SetOfText $objSelection ] … … 77 75 } ) 78 76 }, GetObjectFromAddress( objAddress[ 1 ] ) ); 79 WriteLn( "%N" << target ); 80 Real MenuManager::checkStateEntry( "%N", target ) 77 Real GuiTools::MenuManager::checkStateEntry( "%N", target ) 81 78 } 82 79 } ] … … 88 85 } 89 86 90 proc MenuManager::invokeCommand { name objSelection group } {87 proc ::MenuManager::invokeCommand { name objSelection group } { 91 88 variable typesSelected 92 89 … … 101 98 } ) 102 99 }, GetObjectFromAddress( objAddress[ 1 ] ) ); 103 Real MenuManager::invokeEntry( "%N", target )100 Real GuiTools::MenuManager::invokeEntry( "%N", target ) 104 101 } 105 102 } ] … … 111 108 } 112 109 113 proc MenuManager::checkIfMenuManagerIsLoaded { } {110 proc ::MenuManager::checkIfMenuManagerIsLoaded { } { 114 111 set rvar "__checkIfMenuManagerIsLoaded__" 115 112 set tolExpr [ string map [ list %RV $rvar ] { … … 123 120 } 124 121 125 proc MenuManager::initTypesInfoFromSelection { selection } {122 proc ::MenuManager::initTypesInfoFromSelection { selection } { 126 123 variable typesSelected 127 124 … … 165 162 } 166 163 167 proc MenuManager::kk { } { 168 variable typesSelected 169 170 set numberOfTypes [ llength $typesSelected(types) ] 171 #set typesSelected(globalOptions) [ list ] 172 foreach optionIndex [ array names typesSelected types,* ] { 173 puts "optionIndex = $optionIndex" 174 set optionName [ string range $optionIndex 6 end ] 175 puts "optionName = $optionName" 176 if { [ llength $typesSelected(types,$optionName) ] == $numberOfTypes } { 177 lappend typesSelected(globalOptions) \ 178 $typesSelected(optionInfo,$optionName) 179 } 180 } 181 } 182 183 proc MenuManager::createSubMenuIfNeeded { targetMenu name } { 164 proc ::MenuManager::createSubMenuIfNeeded { targetMenu name } { 184 165 set path0 [ split $name "/" ] 185 166 set mm $targetMenu … … 195 176 set labelInfo [ getLabelInfoForEntry $nn ] 196 177 foreach { name label image translate } $labelInfo break 178 set image0 [ ::ImageManager::getImageResourceId $image ] 179 if { $image0 ne "" } { 180 set image $image0 181 } 197 182 $mm add cascade -menu $mm0 \ 198 183 -label [ expr { $translate ? [ msgcat::mc $label ] : $label } ] \ 199 -image $image 184 -image $image -compound [ expr { $image eq "" ? "none" : "left" } ] 200 185 set mm $mm0 201 186 } … … 203 188 } 204 189 205 proc MenuManager::insertEntries { menuWidget objSelection entriesInfo } {190 proc ::MenuManager::insertEntries { menuWidget objSelection entriesInfo } { 206 191 set multiple [ expr { [ llength $objSelection ] > 1 } ] 207 192 foreach entryInfo $entriesInfo { … … 211 196 set state [ checkEntryState $name $objSelection $group ] 212 197 set entryLabel [ expr { $translate ? [ msgcat::mc $label ] : $label } ] 198 set image0 [ ::ImageManager::getImageResourceId $image ] 199 if { $image0 ne "" } { 200 set image $image0 201 } 213 202 $mm add command -label $entryLabel \ 214 -command [ list MenuManager::invokeCommand $name $objSelection $group ] \ 215 -state [ expr { $state ? "normal" : "disabled" } ] 216 } 217 } 218 219 proc MenuManager::insertEntriesForSelection { menuWidget selection } { 203 -command [ list ::MenuManager::invokeCommand $name $objSelection $group ] \ 204 -state [ expr { $state ? "normal" : "disabled" } ] \ 205 -image $image -compound [ expr { $image eq "" ? "none" : "left" } ] 206 } 207 } 208 209 proc ::MenuManager::insertEntriesForSelection { menuWidget selection } { 220 210 variable typesSelected 221 211 … … 234 224 foreach {label image translate} $typesSelected(labelInfo,$type) break 235 225 set labelCascade [ expr { $translate ? [ msgcat::mc $label ] : $label } ] 236 $menuWidget add cascade -label $labelCascade -menu $menuType 226 set image0 [ ::ImageManager::getImageResourceId $image ] 227 if { $image0 ne "" } { 228 set image $image0 229 } 230 $menuWidget add cascade -label $labelCascade -menu $menuType \ 231 -image $image -compound [ expr { $image eq "" ? "none" : "left" } ] 237 232 insertEntries $menuType \ 238 233 $typesSelected(objects,$type) $typesSelected(entriesInfo,$type)
Note: See TracChangeset
for help on using the changeset viewer.
