ImageInspectorView.st
branchjv
changeset 15566 184cea584be5
parent 13330 02d6c2d848a0
parent 14795 91e2bdc0c8cf
--- a/ImageInspectorView.st	Sun Jan 12 23:30:25 2014 +0000
+++ b/ImageInspectorView.st	Wed Apr 01 10:38:01 2015 +0100
@@ -44,7 +44,10 @@
 !ImageInspectorView class methodsFor:'defaults'!
 
 defaultTopViewExtent
-    ^ LastExtent ? super defaultExtent
+    |def|
+
+    def := LastExtent ? self defaultExtent.
+    ^ def min:(Screen current usableExtent)
 
     "Created: / 23-10-2007 / 18:58:18 / cg"
 !
@@ -64,6 +67,7 @@
     "Do not manually edit this!! If it is corrupted,
      the MenuEditor may not be able to read the specification."
 
+
     "
      MenuEditor new openOnClass:ImageInspectorView andSelector:#imageMenu
      (Menu new fromLiteralArrayEncoding:(ImageInspectorView imageMenu)) startUp
@@ -75,15 +79,14 @@
      #(Menu
         (
          (MenuItem
+            enabled: hasImage
             label: 'Edit'
             itemValue: menuEdit
-            translateLabel: true
           )
          (MenuItem
+            enabled: filenameOfImageKnown
             label: 'File Browser'
             itemValue: menuFileBrowser
-            translateLabel: true
-            enabled: filenameOfImageKnown
           )
          (MenuItem
             label: '-'
@@ -91,30 +94,25 @@
          (MenuItem
             label: 'Magnification...'
             itemValue: menuMagnification
-            translateLabel: true
           )
          (MenuItem
             label: 'Background'
-            translateLabel: true
             submenu: 
            (Menu
               (
                (MenuItem
                   label: 'White'
                   itemValue: menuSetBackgroundColor:
-                  translateLabel: true
                   argument: white
                 )
                (MenuItem
                   label: 'Grey'
                   itemValue: menuSetBackgroundColor:
-                  translateLabel: true
                   argument: grey
                 )
                (MenuItem
                   label: 'Black'
                   itemValue: menuSetBackgroundColor:
-                  translateLabel: true
                   argument: black
                 )
                (MenuItem
@@ -123,19 +121,16 @@
                (MenuItem
                   label: 'Red'
                   itemValue: menuSetBackgroundColor:
-                  translateLabel: true
                   argument: red
                 )
                (MenuItem
                   label: 'Green'
                   itemValue: menuSetBackgroundColor:
-                  translateLabel: true
                   argument: green
                 )
                (MenuItem
                   label: 'Blue'
                   itemValue: menuSetBackgroundColor:
-                  translateLabel: true
                   argument: blue
                 )
                )
@@ -154,8 +149,29 @@
 inspect:anObject
     "set the object to be inspected"
 
+    |scrollToBottom prevViewOrigin prevImageSize|
+
+    prevViewOrigin := imageView viewOrigin.
+    imageView image notNil ifTrue:[
+        prevImageSize := imageView image extent.
+    ].
     super inspect:anObject.
-    imageView image:anObject.
+"/    imageView image:anObject.
+
+    scrollToBottom := false.
+
+"/    scrollToBottom :=
+"/        anObject notNil
+"/        and:[imageView image notNil 
+"/        and:[ imageView viewOrigin y + imageView image height >= imageView height ]].
+
+    imageView image:anObject scroll:scrollToBottom not invalidate:false.
+    scrollToBottom ifTrue:[
+        imageView 
+            scrollTo:(0 @ ((anObject height - imageView height) max:0))
+            redraw:false.
+    ].
+    imageView invalidate.
 
     "
      ImageInspectorView inspect:(Image fromScreen:(0@0 corner:800@800))
@@ -230,7 +246,7 @@
 !
 
 menuFileBrowser
-    UserPreferences current fileBrowserClass
+    UserPreferences fileBrowserClass
         openOn:inspectedObject fileName
 !
 
@@ -257,14 +273,20 @@
 !ImageInspectorView methodsFor:'queries'!
 
 filenameOfImageKnown
-    ^ [ inspectedObject fileName notNil ]
+    ^ [ inspectedObject isImage and:[inspectedObject fileName notNil] ]
+!
+
+hasImage
+    "do we inspect an image and not a Form?"
+
+    ^ inspectedObject isImage
 !
 
 labelFor:anObject
     |l fn|
 
     l := super labelFor:anObject.
-    (anObject notNil and:[(fn := anObject fileName) notNil]) ifTrue:[
+    (anObject isImage and:[(fn := anObject fileName) notNil]) ifTrue:[
         l := l , ' (''' , fn asFilename baseName, ''')'
     ].
     ^ l
@@ -275,19 +297,10 @@
 !ImageInspectorView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.28 2013-08-06 08:38:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.36 2014-10-23 11:15:46 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.28 2013-08-06 08:38:10 cg Exp $'
-!
-
-version_HG
-
-    ^ '$Changeset: <not expanded> $'
-!
-
-version_SVN
-    ^ '$Id: ImageInspectorView.st 8026 2012-07-26 16:09:41Z vranyj1 $'
+    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.36 2014-10-23 11:15:46 cg Exp $'
 ! !