diff -r 3bd0f45a96d2 -r d93b4a7b0392 Tools_NavigationState.st --- a/Tools_NavigationState.st Sun Jul 03 19:50:23 2011 +0200 +++ b/Tools_NavigationState.st Sun Jul 03 19:57:08 2011 +0200 @@ -22,8 +22,8 @@ classListGenerator categoryListGenerator nameSpaceListGenerator projectListGenerator classHierarchyTopClass meta selectedMethods selectedProtocols selectedClasses selectedCategories - selectedProjects selectedNamespaces variableFilter - filterClassVars sortBy noAllItem autoSearchPattern + selectedProjects selectedNamespaces selectedLintRules + variableFilter filterClassVars sortBy noAllItem autoSearchPattern autoSearchIgnoreCase autoSearchAction realModifiedStateHolder methodInfo versionDiffApplication selectorListGeneratorArray selectedMethodsArray infoLabelHolder packageLabelHolder @@ -31,7 +31,11 @@ sortVariablesBy editModeHolder scrollableCodeView specialEditors selectedEditorNoteBookTabIndexHolder editorNoteBookListHolder editorNoteBookCanvasHolder codeView stringSearchToolView - noteBookView inheritanceView documentationView' + noteBookView inheritanceView documentationView languageHolder + messageSpecHolder messageHolder progressHolder tabContentView + messagePaneView codePaneAndPluginView + codePaneAndPluginViewRelativeCorners pluginVisibleHolder + bookmarkHolder worker' classVariableNames:'' poolDictionaries:'' category:'Interface-Browsers-New' @@ -143,6 +147,30 @@ "Created: / 11.2.2000 / 12:43:45 / cg" ! +codePaneAndPluginView + ^ codePaneAndPluginView +! + +codePaneAndPluginView:something + codePaneAndPluginView := something. +! + +codePaneAndPluginViewRelativeCorners + codePaneAndPluginViewRelativeCorners ifNil:[ + codePaneAndPluginViewRelativeCorners := #(0.76 1.0) + ]. + ^ codePaneAndPluginViewRelativeCorners + + "Modified: / 04-10-2010 / 08:20:46 / Jan Vrany " +! + +codePaneAndPluginViewRelativeCorners: anArray + + codePaneAndPluginViewRelativeCorners := anArray. + + "Modified: / 04-10-2010 / 08:14:33 / Jan Vrany " +! + editorNoteBookCanvasHolder editorNoteBookCanvasHolder isNil ifTrue:[ editorNoteBookCanvasHolder := nil asValue. @@ -161,6 +189,14 @@ ^ Smalltalk ! +messagePaneView + ^ messagePaneView +! + +messagePaneView:something + messagePaneView := something. +! + modified "check for modified code by asking the editTextView; this one returns true if ever modified - even if @@ -227,6 +263,22 @@ stringSearchToolView: aStringSearchTool stringSearchToolView := aStringSearchTool +! + +tabContentView + ^ tabContentView +! + +tabContentView:something + tabContentView := something. +! + +worker + ^ worker +! + +worker:aProcess + worker := aProcess. ! ! !NavigationState methodsFor:'accessing-selection'! @@ -391,38 +443,55 @@ ! setUpScrollableCodeView - |v aScrollableCodeView codeView| + |v aScrollableCodeView codeView | - aScrollableCodeView := HVScrollableView for:CodeView. + UserPreferences current useCodeView2InTools ifTrue:[ + codeView := aScrollableCodeView := CodeView2 new. + codeView mode: #method. + codeView methodHolder: self theSingleSelectedMethodHolder + ] ifFalse:[ + aScrollableCodeView := HVScrollableView for:CodeView. + codeView := aScrollableCodeView scrolledView. + aScrollableCodeView horizontalMini:true. + ]. + aScrollableCodeView name:'CodeView'. - aScrollableCodeView horizontalMini:true. - codeView := aScrollableCodeView scrolledView. codeView modifiedChannel:self codeModifiedHolder. - codeView model: self codeHolder. + codeView model:self codeHolder. codeView canTab:true. + UserPreferences current useCodeView2InTools ifTrue:[ + codeView + classHolder:self theSingleSelectedClassFromMethodHolder; + languageHolder:self languageHolder + ]. UserPreferences current showAcceptCancelBarInBrowser ifTrue:[ ViewWithAcceptAndCancelBar notNil ifTrue:[ v := ViewWithAcceptAndCancelBar new. v slaveView:aScrollableCodeView. v reallyModifiedHolder:self realModifiedStateHolder. - v cancelAction:[ + v cancelAction: + [ "/ codeView setClipboardText:(codeView contents). "/ for undo codeView device rememberInCopyBufferHistory:(codeView contents). "/ for undo - codeView application + codeView application delayedUpdateCodeWithAutoSearch:false checkModified:false. - codeView requestFocus. + codeView requestFocus. ]. - v compareAction:[ + v compareAction: + [ codeView application doCompareIn:self. - codeView requestFocus + codeView requestFocus ]. aScrollableCodeView := v. ] ]. - ^ aScrollableCodeView + + ^aScrollableCodeView "Modified: / 25-08-2010 / 22:04:07 / cg" + "Modified: / 17-06-2011 / 12:39:44 / Jan Vrany " + "Modified (format): / 03-07-2011 / 19:56:41 / cg" ! specialEditorCanvasClassForResourceType:resourceTypeSymbol @@ -460,6 +529,19 @@ !NavigationState methodsFor:'aspects'! +bookmarkHolder + "return/create the 'bookmarkHolder' value holder (automatically generated)" + + bookmarkHolder isNil ifTrue:[ + bookmarkHolder := ValueHolder with: self theSingleSelectedBookmarkFromMethodOrClass. + self selectedMethods onChangeSend: #updateBookmarkHolder to: self. + self selectedClasses onChangeSend: #updateBookmarkHolder to: self. + ]. + ^ bookmarkHolder + + "Modified: / 03-06-2011 / 12:00:01 / Jan Vrany " +! + categoryList categoryList isNil ifTrue:[ categoryList := nil asValue. @@ -591,6 +673,62 @@ ^ infoLabelHolder ! +languageHolder + + languageHolder ifNil:[ + languageHolder := ValueHolder with: self theSingleSelectedLanguageFromMethodOrClass. + self selectedMethods onChangeSend: #updateLanguageHolder to: self. + self selectedClasses onChangeSend: #updateLanguageHolder to: self. + ]. + ^languageHolder + + "Created: / 20-07-2010 / 16:03:17 / Jan Vrany " +! + +lintRuleListGenerator + + | result | + result := self objectAttributeAt: #lintRuleListGenerator. + result ifNil: + [result := ValueHolder new. + self objectAttributeAt: #lintRuleListGenerator put: result]. + ^result + + "Created: / 22-07-2009 / 15:27:48 / Jan Vrany " +! + +messageHolder + "return/create the 'messageHolder' value holder (automatically generated)" + + messageHolder isNil ifTrue:[ + messageHolder := ValueHolder new. + ]. + ^ messageHolder +! + +messageHolder:aValueHolder + "set the 'messageHolder' value holder (automatically generated)" + + messageHolder := aValueHolder. +! + +messageSpecHolder + "return/create the 'messageSpecHolder' value holder (automatically generated)" + + messageSpecHolder isNil ifTrue:[ + messageSpecHolder := ValueHolder with:#messageInfoSpec. + ]. + ^ messageSpecHolder + + "Modified: / 28-08-2010 / 11:40:35 / Jan Vrany " +! + +messageSpecHolder:something + "set the 'messageSpecHolder' value holder (automatically generated)" + + messageSpecHolder := something. +! + meta meta isNil ifTrue:[ meta := false asValue. @@ -650,6 +788,19 @@ "Modified: / 18.8.2000 / 14:27:59 / cg" ! +navigationHistory + + | history | + history := self objectAttributeAt: #navigationHistory. + history ifNil: + [history := NavigationHistory new. + self objectAttributeAt: #navigationHistory put: history]. + ^history + + "Created: / 21-02-2008 / 20:08:43 / janfrog" + "Modified: / 21-07-2009 / 22:39:57 / Jan Vrany " +! + noAllItem noAllItem isNil ifTrue:[ noAllItem := nil asValue. @@ -687,6 +838,51 @@ ^ packageLabelHolder ! +pluginVisibleHolder + pluginVisibleHolder isNil ifTrue:[ + pluginVisibleHolder := false asValue. + ]. + ^ pluginVisibleHolder + + "Created: / 03-10-2010 / 17:50:18 / Jan Vrany " +! + +profilerStatistics + + | statistics | + statistics := self objectAttributeAt: #profilerStatistics. + statistics ifNil: + [statistics := ValueHolder new. + self objectAttributeAt: #profilerStatistics put: statistics]. + ^statistics + + "Created: / 21-02-2008 / 20:08:43 / janfrog" + "Modified: / 21-07-2009 / 22:40:34 / Jan Vrany " +! + +profilerStatistics: anObject + + self objectAttributeAt: #profilerStatistics put: anObject + + "Created: / 21-02-2008 / 20:08:43 / janfrog" + "Modified: / 21-07-2009 / 22:41:02 / Jan Vrany " +! + +progressHolder + "return/create the 'progressHolder' value holder (automatically generated)" + + progressHolder isNil ifTrue:[ + progressHolder := ValueHolder new. + ]. + ^ progressHolder +! + +progressHolder:aValueHolder + "set the 'progressHolder' value holder (automatically generated)" + + progressHolder := aValueHolder. +! + projectListGenerator projectListGenerator isNil ifTrue:[ projectListGenerator := nil asValue. @@ -720,6 +916,15 @@ ^ selectedClasses ! +selectedLintRules + selectedLintRules isNil ifTrue:[ + selectedLintRules := nil asValue. + ]. + ^ selectedLintRules + + "Modified: / 02-02-2010 / 20:42:47 / Jan Vrany " +! + selectedMethods selectedMethods isNil ifTrue:[ selectedMethods := nil asValue. @@ -803,6 +1008,76 @@ ^ sortBy ! +theSingleSelectedBookmarkFromMethodOrClass + + | mth cls | + + mth := self theSingleSelectedMethod. + (mth notNil and:[mth mclass notNil]) + ifTrue:[^Tools::NewSystemBrowser bookmarkForClass:mth mclass selector:mth selector]. + cls := self theSingleSelectedClass. + cls + ifNotNil:[^Tools::NewSystemBrowser bookmarkForClass:cls selector:nil]. + ^nil + + "Created: / 02-06-2011 / 22:16:17 / Jan Vrany " + "Modified: / 02-06-2011 / 23:19:02 / Jan Vrany " +! + +theSingleSelectedClassFromMethodHolder + + ^BlockValue + with: + [:i1 :i2| | mth cls | + mth := self theSingleSelectedMethod. + cls := mth ifNil:[nil] ifNotNil:[mth mclass]. + cls ifNil:[ + cls := self theSingleSelectedClass]. + cls] + argument: self selectedMethods + argument: self selectedClasses. + + "Created: / 14-02-2010 / 10:05:00 / Jan Vrany " +! + +theSingleSelectedLanguageFromMethodOrClass + + | mth cls | + + mth := self theSingleSelectedMethod. + mth ifNotNil:[^mth programmingLanguage]. + cls := self theSingleSelectedClass. + cls ifNotNil:[^cls programmingLanguage]. + ^SmalltalkLanguage instance + + "Created: / 20-07-2010 / 15:59:29 / Jan Vrany " +! + +theSingleSelectedMethodHolder + + ^BlockValue + with: + [:i1 | self theSingleSelectedMethod] + argument: + self selectedMethods + + "Created: / 17-06-2011 / 12:39:20 / Jan Vrany " +! + +updateBookmarkHolder + + ^self bookmarkHolder value: self theSingleSelectedBookmarkFromMethodOrClass + + "Created: / 02-06-2011 / 22:13:40 / Jan Vrany " +! + +updateLanguageHolder + + ^self languageHolder value: self theSingleSelectedLanguageFromMethodOrClass + + "Created: / 20-07-2010 / 16:05:26 / Jan Vrany " +! + variableFilter variableFilter isNil ifTrue:[ variableFilter := nil asValue. @@ -836,6 +1111,21 @@ ^ notMetaToggle ! ! +!NavigationState methodsFor:'history'! + +addToHistory: class selector: selector + + | entry | + selector ifNil:[^self]. + entry := SystemBrowser historyEntryForClass: class selector: selector. + self navigationHistory goTo: entry. + ^entry + + "Created: / 22-02-2008 / 08:44:05 / janfrog" + "Modified: / 22-02-2008 / 17:20:00 / janfrog" + "Modified: / 25-10-2009 / 15:06:08 / Jan Vrany " +! ! + !NavigationState methodsFor:'printing & storing'! colorizeForModifiedBuffer:someString @@ -1013,6 +1303,7 @@ theSingleMethod notNil ifTrue:[ methodName := theSingleMethod selector. + methodName ifNotNil:[methodName := methodName selector]. theSingleMethod isJavaMethod ifTrue:[ methodName := theSingleMethod printStringForBrowserWithSelector:methodName. ]. @@ -1126,8 +1417,9 @@ nm isNil ifTrue:[ ^ nil ]. ^ nm , suffix. - "Created: / 11.2.2000 / 13:32:16 / cg" - "Modified: / 18.8.2000 / 21:06:35 / cg" + "Created: / 11-02-2000 / 13:32:16 / cg" + "Modified: / 18-08-2000 / 21:06:35 / cg" + "Modified: / 20-07-2010 / 10:52:56 / Jan Vrany " ! shortNameString @@ -1309,10 +1601,6 @@ !NavigationState class methodsFor:'documentation'! -version - ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.33 2010-08-25 20:06:22 cg Exp $' -! - version_CVS - ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.33 2010-08-25 20:06:22 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools_NavigationState.st,v 1.34 2011-07-03 17:57:08 cg Exp $' ! !