Tools__Inspector2.st
changeset 16815 02b27cab599a
parent 16725 1c11c89be586
child 16818 7c848d283910
--- a/Tools__Inspector2.st	Wed Aug 31 18:47:59 2016 +0200
+++ b/Tools__Inspector2.st	Wed Aug 31 18:56:41 2016 +0200
@@ -17,7 +17,7 @@
 	instanceVariableNames:'tabViewAspect navigationHistoryHolder navigationStateAspect
 		browser currentObjectHolder colorProfileHolder
 		toolbarBackgroundHolder evaluationLanguageHolder
-		evaluationLanguageList'
+		evaluationLanguageList operationsMenuEnabledHolder'
 	classVariableNames:'LastExtent ColorProfiles EvaluationLanguageMap'
 	poolDictionaries:''
 	category:'Interface-Inspector2'
@@ -460,6 +460,11 @@
             submenuChannel: viewMenu
           )
          (MenuItem
+            enabled: operationsMenuEnabledHolder
+            label: 'Operations'
+            submenuChannel: operationsMenu
+          )
+         (MenuItem
             label: 'MENU_Help'
             startGroup: conditionalRight
             submenuChannel: helpMenu
@@ -910,6 +915,13 @@
     "Modified (format): / 19-08-2011 / 08:59:10 / cg"
 !
 
+operationsMenuEnabledHolder
+    operationsMenuEnabledHolder isNil ifTrue:[
+        operationsMenuEnabledHolder := false asValue.
+    ].
+    ^ operationsMenuEnabledHolder
+!
+
 showAlphabeticalHolder
       ^ builder booleanValueAspectFor:#showAlphabeticalHolder
 !
@@ -988,6 +1000,7 @@
 
     changedObject == currentObjectHolder ifTrue:[
          self updateEvaluationLanguageList.
+         self updateOperationsMenu.
          ^ self.
     ].
     changedObject == evaluationLanguageHolder  ifTrue:[
@@ -1030,6 +1043,13 @@
     self evaluationLanguageHolder value:(EvaluationLanguageMap at: currentObjectLanguage ifAbsent:[currentObjectLanguage])
 
     "Created: / 26-10-2013 / 00:40:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+updateOperationsMenu
+    |items|
+    
+    items := currentObjectHolder value inspectorExtraMenuOperations.
+    self operationsMenuEnabledHolder value:(items notEmptyOrNil).
 ! !
 
 !Inspector2 methodsFor:'configuration'!
@@ -1072,6 +1092,21 @@
     "Modified: / 22-02-2008 / 16:58:11 / janfrog"
 !
 
+operationsMenu
+    |items menu|
+    
+    items := currentObjectHolder value inspectorExtraMenuOperations.
+    items isEmptyOrNil ifTrue:[^ nil].
+    
+    menu := Menu new.
+    items do:[:eachPair |
+        menu addItem:(MenuItem 
+                        label:eachPair first
+                        itemValue:eachPair second).
+    ].
+    ^ menu
+!
+
 settingsMenu
     |m|