--- a/Tools__TagsBrowser.st Sun Oct 13 19:56:27 2013 +0200
+++ b/Tools__TagsBrowser.st Sun Oct 13 19:56:37 2013 +0200
@@ -15,7 +15,7 @@
ApplicationModel subclass:#TagsBrowser
instanceVariableNames:'editedFileHolder commonAspects tagView tagList action tagsMenu
- menus tagsValid'
+ menus tagsValid tagListGenerator'
classVariableNames:''
poolDictionaries:''
category:'Interface-Tools-File-Tags'
@@ -2222,6 +2222,17 @@
^ tagList tagForFunction:functionName
! !
+!TagsBrowser methodsFor:'hooks for embedding'!
+
+tagListGenerator:aBlockOrValueHolder
+ "to use a tagsBrowser as a component in another application,
+ this hook allows for the tag list to be provided by that application.
+ If non-nil, it will be evaluated to generate the tagList instead of
+ reading the tags from the editedFile"
+
+ tagListGenerator := aBlockOrValueHolder.
+! !
+
!TagsBrowser methodsFor:'menu actions'!
keepingSelectionDo:aBlock
@@ -2322,6 +2333,13 @@
|file target oldSelection|
+ tagListGenerator notNil ifTrue:[
+ tagList setRawList:(tagListGenerator value).
+ "/ tagView list:(tagListGenerator value).
+ tagsValid := true.
+ ^ self.
+ ].
+
tagsValid := false.
(true "(self tagsVisibilityHolder value == true)"
and:[(file := self editedFile) notNil
@@ -2543,10 +2561,11 @@
generateTagsFor:aFile onTarget:aTarget finally:aBlock
"generate tags for a file (optionally on a remote target)
- "
+ return true, if a background job for generation has been started"
+
|tagFile|
- "/ ugly hack
+ "/ ugly hack to suppress generation if the taglist is externally provided
(list isKindOf:Tools::TagList) ifFalse:[^ false].
Tag autoload.
@@ -2661,14 +2680,14 @@
!TagsBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.41 2013-10-12 13:47:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.42 2013-10-13 17:56:37 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.41 2013-10-12 13:47:01 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__TagsBrowser.st,v 1.42 2013-10-13 17:56:37 cg Exp $'
!
version_SVN
- ^ '$Id: Tools__TagsBrowser.st,v 1.41 2013-10-12 13:47:01 cg Exp $'
+ ^ '$Id: Tools__TagsBrowser.st,v 1.42 2013-10-13 17:56:37 cg Exp $'
! !