Tools__NewSystemBrowser.st
branchjv
changeset 15825 462e872a3fb6
parent 15809 92b9fe0764d0
parent 15819 8418d59019da
child 15839 aac7b8d588ce
--- a/Tools__NewSystemBrowser.st	Mon Aug 31 09:35:59 2015 +0100
+++ b/Tools__NewSystemBrowser.st	Tue Sep 01 06:43:01 2015 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 2000 by eXept Software AG
               All Rights Reserved
@@ -1394,165 +1396,156 @@
 
     <resource: #canvas>
 
-    ^
-     #(FullSpec
-        name: codePaneSpec
-        window:
-       (WindowSpec
-          label: 'SystemBrowser'
-          name: 'SystemBrowser'
-          min: (Point 0 0)
-          bounds: (Rectangle 0 0 998 535)
-          icon: defaultIcon
-        )
-        component:
-       (SpecCollection
-          collection: (
-           (VariableHorizontalPanelSpec
-              name: 'EditorAndBrowsletBox'
-              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
-              component:
-             (SpecCollection
-                collection: (
-                 (ViewSpec
-                    name: 'EditorBox'
-                    component:
-                   (SpecCollection
-                      collection: (
-                       (NoteBookViewSpec
-                          name: 'EditorNoteBook'
-                          layout: (LayoutFrame 0 0 0 0 0 1 -26 1)
-                          level: 0
-                          model: selectedEditorNoteBookTabIndexHolder
-                          menu: editorNoteBookListHolder
-                          useIndex: true
-                          canvas: editorNoteBookCanvasHolder
-                          keepCanvasAlive: true
-                          postBuildCallback: postBuildEditorNoteBook:
-              translateLabel: false
-                        )
-                       (SubCanvasSpec
-                          name: 'StringSearchToolCanvas'
-                          layout: (LayoutFrame 0 0 -24 1 0 1 0 1)
-                          visibilityChannel: stringSearchToolVisibleHolder
-                          hasHorizontalScrollBar: false
-                          hasVerticalScrollBar: false
-                          majorKey: StringSearchToolForTextView
-                          createNewApplication: true
-                          createNewBuilder: false
-                          postBuildCallback: postBuildStringSearchTool:
-                        )
+    ^ 
+    #(FullSpec
+       name: codePaneSpec
+       window: 
+      (WindowSpec
+         label: 'SystemBrowser'
+         name: 'SystemBrowser'
+         min: (Point 0 0)
+         bounds: (Rectangle 0 0 998 535)
+         icon: defaultIcon
+       )
+       component: 
+      (SpecCollection
+         collection: (
+          (VariableHorizontalPanelSpec
+             name: 'EditorAndBrowsletBox'
+             layout: (LayoutFrame 0 0 0 0 0 1 0 1)
+             component: 
+            (SpecCollection
+               collection: (
+                (ViewSpec
+                   name: 'EditorBox'
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (NoteBookViewSpec
+                         name: 'EditorNoteBook'
+                         layout: (LayoutFrame 0 0 0 0 0 1 -26 1)
+                         level: 0
+                         model: selectedEditorNoteBookTabIndexHolder
+                         menu: editorNoteBookListHolder
+                         useIndex: true
+                         translateLabel: false
+                         canvas: editorNoteBookCanvasHolder
+                         keepCanvasAlive: true
+                         postBuildCallback: postBuildEditorNoteBook:
+                       )
+                      (SubCanvasSpec
+                         name: 'StringSearchToolCanvas'
+                         layout: (LayoutFrame 0 0 -24 1 0 1 0 1)
+                         visibilityChannel: stringSearchToolVisibleHolder
+                         hasHorizontalScrollBar: false
+                         hasVerticalScrollBar: false
+                         majorKey: StringSearchToolForTextView
+                         createNewApplication: true
+                         createNewBuilder: false
+                         postBuildCallback: postBuildStringSearchTool:
                        )
-
-                    )
-                  )
-                 )
-
-              )
-              handles: (Any 1.0)
-              postBuildCallback: postBuildCodePaneAndPluginView:
-            )
-           (ViewSpec
-              name: 'InfoBox'
-              layout: (LayoutFrame 0 0 -24 1 0 1 0 1)
-              visibilityChannel: codeInfoVisible
-              component:
-             (SpecCollection
-                collection: (
-                 (VariableHorizontalPanelSpec
-                    name: 'InfoBoxPanel'
-                    layout: (LayoutFrame 0 0.0 0 0.0 -60 1.0 0 1.0)
-                    showHandle: false
-                    component:
-                   (SpecCollection
-                      collection: (
-                       (LabelSpec
-                          label: 'Info'
-                          name: 'InfoLabel'
-                          level: -1
-                          translateLabel: true
-                          labelChannel: infoLabelHolder
-                          adjust: left
-                        )
-                       (HorizontalPanelViewSpec
-                          name: 'PackageInfoPanel'
-                          level: -1
-                          horizontalLayout: rightSpaceFit
-                          verticalLayout: fitSpace
-                          horizontalSpace: 0
-                          verticalSpace: 0
-                          elementsChangeSize: true
-                          component:
-                         (SpecCollection
-                            collection: (
-                             (LabelSpec
-                                label: 'Package'
-                                name: 'PackageLabel'
-                                activeHelpKey: packageInfoLabel
-                                level: 0
-                                backgroundChannel: packageInfoBackgroundColorHolder
-                                translateLabel: true
-                                labelChannel: packageLabelHolder
-                                adjust: left
-                                useDefaultExtent: true
-                              )
-                             (ActionButtonSpec
-                                label: 'Info'
-                                name: 'PackageInfoButton'
-                                level: 0
-                                initiallyInvisible: true
-                                backgroundChannel: packageInfoBackgroundColorHolder
-                                foregroundColor: (Color 0.0 0.0 100.0)
-                                translateLabel: true
-                                resizeForLabel: true
-                                extent: (Point 36 23)
-                                postBuildCallback: postBuildPackageInfoButton:
-                              )
+                      )
+                    
+                   )
+                 )
+                )
+              
+             )
+             handles: (Any 1.0)
+             postBuildCallback: postBuildCodePaneAndPluginView:
+           )
+          (ViewSpec
+             name: 'InfoBox'
+             layout: (LayoutFrame 0 0 -24 1 -16 1 0 1)
+             visibilityChannel: codeInfoVisible
+             component: 
+            (SpecCollection
+               collection: (
+                (VariableHorizontalPanelSpec
+                   name: 'InfoBoxPanel'
+                   layout: (LayoutFrame 0 0.0 0 0.0 -60 1.0 0 1.0)
+                   showHandle: false
+                   component: 
+                  (SpecCollection
+                     collection: (
+                      (LabelSpec
+                         label: 'Info'
+                         name: 'InfoLabel'
+                         level: -1
+                         translateLabel: true
+                         labelChannel: infoLabelHolder
+                         adjust: left
+                       )
+                      (HorizontalPanelViewSpec
+                         name: 'PackageInfoPanel'
+                         level: -1
+                         horizontalLayout: rightSpaceFit
+                         verticalLayout: fitSpace
+                         horizontalSpace: 0
+                         verticalSpace: 0
+                         elementsChangeSize: true
+                         component: 
+                        (SpecCollection
+                           collection: (
+                            (LabelSpec
+                               label: 'Package'
+                               name: 'PackageLabel'
+                               activeHelpKey: packageInfoLabel
+                               level: 0
+                               backgroundChannel: packageInfoBackgroundColorHolder
+                               translateLabel: true
+                               labelChannel: packageLabelHolder
+                               adjust: left
+                               useDefaultExtent: true
                              )
-
-                          )
-                        )
+                            (ActionButtonSpec
+                               label: 'Info'
+                               name: 'PackageInfoButton'
+                               level: 0
+                               initiallyInvisible: true
+                               backgroundChannel: packageInfoBackgroundColorHolder
+                               foregroundColor: (Color 0.0 0.0 100.0)
+                               translateLabel: true
+                               resizeForLabel: true
+                               extent: (Point 36 23)
+                               postBuildCallback: postBuildPackageInfoButton:
+                             )
+                            )
+                          
+                         )
                        )
-
-                    )
-                    handles: (Any 0.66 1.0)
-                  )
-                 (LabelSpec
-                    name: 'ModeLabel'
-                    layout: (LayoutFrame -60 1 0 0.0 -50 1 0 1.0)
-                    activeHelpKey: modeLabel
-                    level: -1
-                    translateLabel: true
-                    labelChannel: modeLabelHolder
-                    postBuildCallback: postBuildEditModeInfoLabel:
-                  )
-                 (LabelSpec
-                    name: 'CursorLineLabel'
-                    layout: (LayoutFrame -50 1 0 0.0 -20 1 0 1.0)
-                    activeHelpKey: lineLabel
-                    level: -1
-                    translateLabel: true
-                    labelChannel: cursorLineLabelHolder
-                    adjust: right
-                  )
-                 (LabelSpec
-                    name: 'CursorColLabel'
-                    layout: (LayoutFrame -20 1 0 0.0 0 1.0 0 1.0)
-                    activeHelpKey: columnLabel
-                    level: -1
-                    translateLabel: true
-                    labelChannel: cursorColLabelHolder
-                    adjust: right
-                  )
-                 )
-
-              )
-              keepSpaceForOSXResizeHandleH: true
-            )
-           )
-
-        )
-      )
+                      )
+                    
+                   )
+                   handles: (Any 0.66000000000000003 1.0)
+                 )
+                (LabelSpec
+                   name: 'ModeLabel'
+                   layout: (LayoutFrame -60 1 0 0.0 -50 1 0 1.0)
+                   activeHelpKey: modeLabel
+                   level: -1
+                   translateLabel: true
+                   labelChannel: modeLabelHolder
+                   postBuildCallback: postBuildEditModeInfoLabel:
+                 )
+                (LabelSpec
+                   name: 'CursorLineAndColumnLabel'
+                   layout: (LayoutFrame -50 1 0 0.0 0 1 0 1.0)
+                   activeHelpKey: lineAndColumnLabel
+                   level: -1
+                   translateLabel: false
+                   labelChannel: cursorLineAndColumnLabelHolder
+                   adjust: left
+                 )
+                )
+              
+             )
+             keepSpaceForOSXResizeHandleH: true
+           )
+          )
+        
+       )
+     )
 !
 
 fullBrowserSpec
@@ -18801,6 +18794,12 @@
     ^ self navigationState cursorColLabelHolder
 !
 
+cursorLineAndColumnLabelHolder
+    "the current buffers cursor position holder (info field)"
+
+    ^ self navigationState cursorLineAndColumnLabelHolder
+!
+
 cursorLineLabelHolder
     "the current buffers cursorLineumn Holder (info field)"
 
@@ -29427,8 +29426,17 @@
 classMenuBrowseClassesPackageDirectory
     "open a filebrowser in the classes package directory"
 
-    UserPreferences fileBrowserClass
-        openIn:(self theSingleSelectedClass theNonMetaclass packageDirectory)
+    |fileBrowser cls dir fn|
+
+    fileBrowser := UserPreferences fileBrowserClass.
+
+    cls := self theSingleSelectedClass theNonMetaclass.
+    dir := cls packageDirectory.
+    (dir asFilename exists and:[(fn := dir / cls classFilename) exists]) ifTrue:[
+        fileBrowser openOn:fn
+    ] ifFalse:[
+        fileBrowser openIn:dir
+    ]
 !
 
 classMenuChangeAspect:aspect
@@ -62169,7 +62177,8 @@
     ].
 
     anEvent isButtonMultiPressEvent ifTrue:[
-        anEvent view name = 'CursorLineLabel' ifTrue:[
+        (anEvent view name = 'CursorLineLabel'
+        or:[ anEvent view name = 'CursorLineAndColumnLabel' ]) ifTrue:[
             self codeView gotoLine
         ].
     ].