FileApplicationNoteBook.st
changeset 9949 d1161d3fbd19
parent 9947 038bc50ba0f4
child 9951 c7c44f14cf8e
--- a/FileApplicationNoteBook.st	Wed Jun 29 15:16:35 2011 +0200
+++ b/FileApplicationNoteBook.st	Wed Jun 29 15:17:21 2011 +0200
@@ -12,94 +12,94 @@
 "{ Package: 'stx:libtool' }"
 
 AbstractFileBrowser subclass:#FileApplicationNoteBook
-	instanceVariableNames:'canvasHolder selectedEditorPage listOfApplications tabMenuIndex
-		tabList selectionHistoryList privateTabList'
-	classVariableNames:''
-	poolDictionaries:''
-	category:'Interface-Tools-File'
+        instanceVariableNames:'canvasHolder selectedEditorPage listOfApplications tabMenuIndex
+                tabList selectionHistoryList privateTabList'
+        classVariableNames:''
+        poolDictionaries:''
+        category:'Interface-Tools-File'
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#ArchiveViewApplication
-	instanceVariableNames:'archiveFileList enableStopButton fileTable currentSortOrder
-		selectionHolder tableColumns commandProcess errorListHolder
-		viewErrorList temporaryDirectory enableRemoveErrorOutput
-		errorListVisibilityHolder hasListEntriesHolder archiver process
-		terminateByMe columnDescriptors inDropMode'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'archiveFileList enableStopButton fileTable currentSortOrder
+                selectionHolder tableColumns commandProcess errorListHolder
+                viewErrorList temporaryDirectory enableRemoveErrorOutput
+                errorListVisibilityHolder hasListEntriesHolder archiver process
+                terminateByMe columnDescriptors inDropMode'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 Object subclass:#ArchivItem
-	instanceVariableNames:'fileName size dateAndTime permissions icon ownerGroup method crc
-		compressSize ratio version type isDirectory'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook::ArchiveViewApplication
+        instanceVariableNames:'fileName size dateAndTime permissions icon ownerGroup method crc
+                compressSize ratio version type isDirectory'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook::ArchiveViewApplication
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#CommandResult
-	instanceVariableNames:'resultStream enableStopButton process labelHolder'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'resultStream enableStopButton process labelHolder'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#DigitalNotepadFileViewApplication
-	instanceVariableNames:'imageView image fitSize fitMode'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'imageView image fitSize fitMode'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#HtmlViewApplication
-	instanceVariableNames:'htmlView labelHolder infoLabelHolder'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'htmlView labelHolder infoLabelHolder'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#ImageViewApplication
-	instanceVariableNames:'imageFile imageView image fitSize fitMode'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'imageFile imageView image fitSize fitMode'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#Terminal
-	instanceVariableNames:'terminalView'
-	classVariableNames:'DefaultLineLimit'
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'terminalView'
+        classVariableNames:'DefaultLineLimit'
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#TextEditor
-	instanceVariableNames:'fileContentsModel modifiedChannel editView enableSave
-		enableReload presentation changeItemProcess closeApplication
-		semaChangeItem wantToPrintAsHexDump printAsHexDump itemChanged
-		itemRemoved enableHexToggle md5CheckSum
-		md5HashValueComputationProcess viewModifiedChannel
-		textEditorModificationTime checkModifiedBlock fileEncodingHolder
-		doNotShowFontDialog lockFileEncodingHolder enableSelectInBrowser
-		tagsBrowserVisibleHolder tagsBrowser'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'fileContentsModel modifiedChannel editView enableSave
+                enableReload presentation changeItemProcess closeApplication
+                semaChangeItem wantToPrintAsHexDump printAsHexDump itemChanged
+                itemRemoved enableHexToggle md5CheckSum
+                md5HashValueComputationProcess viewModifiedChannel
+                textEditorModificationTime checkModifiedBlock fileEncodingHolder
+                doNotShowFontDialog lockFileEncodingHolder enableSelectInBrowser
+                tagsBrowserVisibleHolder tagsBrowser'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#XMLViewApplication
-	instanceVariableNames:'xmlTreeApp labelHolder infoLabelHolder'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'xmlTreeApp labelHolder infoLabelHolder'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 AbstractFileApplicationNoteBookComponent subclass:#XViewApplication
-	instanceVariableNames:'xView xFile vncServerPID vncPortNr vncConnection viewerPID
-		vncLock vncServerIsTerminated xItem ext'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:FileApplicationNoteBook
+        instanceVariableNames:'xView xFile vncServerPID vncPortNr vncConnection viewerPID
+                vncLock vncServerIsTerminated xItem ext'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:FileApplicationNoteBook
 !
 
 !FileApplicationNoteBook class methodsFor:'documentation'!
@@ -4294,45 +4294,44 @@
         component: 
        (SpecCollection
           collection: (
-           (SubCanvasSpec
-              name: 'TagBox'
-              layout: (LayoutFrame -200 1 0 0 0 1 0 1)
-              visibilityChannel: tagsBrowserVisibleHolder
-              hasHorizontalScrollBar: false
-              hasVerticalScrollBar: false
-              majorKey: #'Tools::TagsBrowser'
-              createNewApplication: true
-              createNewBuilder: true
-              postBuildCallback: postBuildTagsBrowser:
-            )
-           (ViewSpec
-              name: 'EditorBox'
-              layout: (LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
+           (VariableHorizontalPanelSpec
+              name: 'Panel'
+              layout: (LayoutFrame 0 0 0 0 0 1 0 1)
               component: 
              (SpecCollection
                 collection: (
-                 (MenuPanelSpec
-                    name: 'MenuTextEditor'
-                    layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
-                    level: 0
-                    menu: menu
-                    textDefault: true
-                  )
-                 (TextEditorSpec
-                    name: 'TextEditor'
-                    layout: (LayoutFrame 0 0.0 32 0 0 1.0 0 1.0)
-                    model: fileContentsModel
-                    hasHorizontalScrollBar: true
-                    hasVerticalScrollBar: true
-                    modifiedChannel: viewModifiedChannel
-                    acceptCallBack: accept
-                    allowDoIt: true
-                    hasKeyboardFocusInitially: false
-                    postBuildCallback: postBuildTextEditor:
+                 (ViewSpec
+                    name: 'EditorBox'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (MenuPanelSpec
+                          name: 'MenuTextEditor'
+                          layout: (LayoutFrame 0 0.0 0 0 0 1.0 32 0)
+                          level: 0
+                          menu: menu
+                          textDefault: true
+                        )
+                       (TextEditorSpec
+                          name: 'TextEditor'
+                          layout: (LayoutFrame 0 0.0 32 0 0 1.0 0 1.0)
+                          model: fileContentsModel
+                          hasHorizontalScrollBar: true
+                          hasVerticalScrollBar: true
+                          modifiedChannel: viewModifiedChannel
+                          acceptCallBack: accept
+                          allowDoIt: true
+                          hasKeyboardFocusInitially: false
+                          postBuildCallback: postBuildTextEditor:
+                        )
+                       )
+                     
+                    )
                   )
                  )
                
               )
+              handles: (Any 1.0)
             )
            )
          
@@ -5388,11 +5387,37 @@
 !
 
 tagsBrowserVisibilityChanged
-    tagsBrowserVisibleHolder value ifTrue:[
-        (self builder componentAt:#EditorBox) width:0.75.
-        (self builder componentAt:#TagBox) raise.
+    |tagsBrowserCanvas|
+
+    tagsBrowser notNil ifTrue:[
+        tagsBrowserCanvas := tagsBrowser window.
+    ].
+
+    self tagsBrowserVisibleHolder value ifTrue:[
+        tagsBrowser isNil ifTrue:[
+            tagsBrowserCanvas := ApplicationSubView new.
+
+            tagsBrowser := Tools::TagsBrowser new.
+            tagsBrowser window:tagsBrowserCanvas.
+            tagsBrowser allButOpen.
+
+            (self builder componentAt:#Panel) 
+                addComponent:tagsBrowserCanvas;
+                relativeCorners:#(0.75 1.0).
+            tagsBrowserCanvas realize.
+            self postBuildTagsBrowser:tagsBrowserCanvas.
+        ] ifFalse:[
+            tagsBrowserCanvas map.
+            (self builder componentAt:#Panel) 
+                relativeCorners:#(0.75 1.0).
+        ].
+
+        self updateTagsBrowser.
     ] ifFalse:[
-        (self builder componentAt:#EditorBox) width:1.0.
+        tagsBrowser notNil ifTrue:[
+            tagsBrowserCanvas unmap.
+            (self builder componentAt:#Panel) relativeCorners:#(1.0 1.0).
+        ].
     ].
 
     "Created: / 27-06-2011 / 16:06:00 / cg"
@@ -5472,7 +5497,9 @@
 
 updateTagsBrowser
     tagsBrowser notNil ifTrue:[
-        tagsBrowser editedFile:(self item isNil ifTrue:[nil] ifFalse:[self item fileName]).
+        self tagsBrowserVisibleHolder value ifTrue:[
+            tagsBrowser editedFile:(self item isNil ifTrue:[nil] ifFalse:[self item fileName]).
+        ]
     ]
 
     "Created: / 23-06-2011 / 16:32:44 / cg"
@@ -5605,6 +5632,7 @@
 "/    ].
     self setUpTextView.
     self changeInformation.
+    self tagsBrowserVisibilityChanged.
     super postOpenWith:aBuilder
 !
 
@@ -6393,9 +6421,9 @@
 !FileApplicationNoteBook class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.251 2011-06-29 07:32:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.252 2011-06-29 13:17:21 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.251 2011-06-29 07:32:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileApplicationNoteBook.st,v 1.252 2011-06-29 13:17:21 cg Exp $'
 ! !