# HG changeset patch # User Jan Vrany # Date 1399360996 -3600 # Node ID 5f39eba6a1e358a95ee4449f2243e1eb4b1bddb1 # Parent f7648e626e07519adfb17c54d8b66f80eeee15b8 Added PackageSearchDialog and MethodSearch dialog. Still needs to be polished. diff -r f7648e626e07 -r 5f39eba6a1e3 Make.proto --- a/Make.proto Mon May 05 09:23:22 2014 +0100 +++ b/Make.proto Tue May 06 08:23:16 2014 +0100 @@ -34,7 +34,7 @@ # add the path(es) here:, # ********** OPTIONAL: MODIFY the next lines *** # LOCALINCLUDES=-Ifoo -Ibar -LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/helpers -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libhtml -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2 +LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/helpers -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libhtml -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libview -I$(INCLUDE_TOP)/stx/libview2 -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/libwidg2 # if you need any additional defines for embedded C code, @@ -137,7 +137,6 @@ cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/goodies/refactoryBrowser/browser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/goodies/refactoryBrowser/lint && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" @@ -205,6 +204,7 @@ $(OUTDIR)SmallSense__JavaImportPO.$(O) SmallSense__JavaImportPO.$(H): SmallSense__JavaImportPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR) $(OUTDIR)SmallSense__MethodInfo.$(O) SmallSense__MethodInfo.$(H): SmallSense__MethodInfo.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__Info.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__MethodPO.$(O) SmallSense__MethodPO.$(H): SmallSense__MethodPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR) +$(OUTDIR)SmallSense__PackagePO.$(O) SmallSense__PackagePO.$(H): SmallSense__PackagePO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR) $(OUTDIR)SmallSense__SmalltalkCompletionEngine.$(O) SmallSense__SmalltalkCompletionEngine.$(H): SmallSense__SmalltalkCompletionEngine.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__SmalltalkEditSupport.$(O) SmallSense__SmalltalkEditSupport.$(H): SmallSense__SmalltalkEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__EditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__SmalltalkInferencer.$(O) SmallSense__SmalltalkInferencer.$(H): SmallSense__SmalltalkInferencer.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__SmalltalkParseNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) @@ -217,6 +217,8 @@ $(OUTDIR)SmallSense__GroovyCompletionEngineSimple.$(O) SmallSense__GroovyCompletionEngineSimple.$(H): SmallSense__GroovyCompletionEngineSimple.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__JavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__GroovyEditSupport.$(O) SmallSense__GroovyEditSupport.$(H): SmallSense__GroovyEditSupport.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__EditSupport.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__JavaEditSupport.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__MethodKeywordRestPO.$(O) SmallSense__MethodKeywordRestPO.$(H): SmallSense__MethodKeywordRestPO.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__MethodPO.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__PO.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR) +$(OUTDIR)SmallSense__MethodSearchDialog.$(O) SmallSense__MethodSearchDialog.$(H): SmallSense__MethodSearchDialog.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__AbstractDIalog.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__AbstractSearchDialog.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libview2/SimpleDialog.$(H) $(STCHDR) +$(OUTDIR)SmallSense__PackageSearchDialog.$(O) SmallSense__PackageSearchDialog.$(H): SmallSense__PackageSearchDialog.st $(INCLUDE_TOP)/jv/smallsense/SmallSense__AbstractDIalog.$(H) $(INCLUDE_TOP)/jv/smallsense/SmallSense__AbstractSearchDialog.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libview2/SimpleDialog.$(H) $(STCHDR) $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBLintRule.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/lint/RBTransformationRule.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Dictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/IdentityDictionary.$(H) $(INCLUDE_TOP)/stx/libbasic/Method.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Set.$(H) $(INCLUDE_TOP)/stx/libbasic/UserPreferences.$(H) $(INCLUDE_TOP)/stx/libcomp/AssignmentNode.$(H) $(INCLUDE_TOP)/stx/libcomp/BlockNode.$(H) $(INCLUDE_TOP)/stx/libcomp/MessageNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseErrorNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ParseNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimaryNode.$(H) $(INCLUDE_TOP)/stx/libcomp/PrimitiveNode.$(H) $(INCLUDE_TOP)/stx/libcomp/ReturnNode.$(H) $(INCLUDE_TOP)/stx/libcomp/StatementNode.$(H) $(INCLUDE_TOP)/stx/libcomp/VariableNode.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentFrame.$(H) $(INCLUDE_TOP)/stx/libhtml/HTMLDocumentView.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__CodeViewService.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NavigationState.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg/EditTextView.$(H) $(INCLUDE_TOP)/stx/libwidg/ListView.$(H) $(INCLUDE_TOP)/stx/libwidg/TextCollector.$(H) $(INCLUDE_TOP)/stx/libwidg/TextView.$(H) $(INCLUDE_TOP)/stx/libwidg/Workspace.$(H) $(INCLUDE_TOP)/stx/libwidg2/DoWhatIMeanSupport.$(H) $(STCHDR) # ENDMAKEDEPEND --- do not remove this line diff -r f7648e626e07 -r 5f39eba6a1e3 Make.spec --- a/Make.spec Mon May 05 09:23:22 2014 +0100 +++ b/Make.spec Tue May 06 08:23:16 2014 +0100 @@ -93,6 +93,7 @@ SmallSense::JavaImportPO \ SmallSense::MethodInfo \ SmallSense::MethodPO \ + SmallSense::PackagePO \ SmallSense::SmalltalkCompletionEngine \ SmallSense::SmalltalkEditSupport \ SmallSense::SmalltalkInferencer \ @@ -105,6 +106,8 @@ SmallSense::GroovyCompletionEngineSimple \ SmallSense::GroovyEditSupport \ SmallSense::MethodKeywordRestPO \ + SmallSense::MethodSearchDialog \ + SmallSense::PackageSearchDialog \ @@ -153,6 +156,7 @@ $(OUTDIR_SLASH)SmallSense__JavaImportPO.$(O) \ $(OUTDIR_SLASH)SmallSense__MethodInfo.$(O) \ $(OUTDIR_SLASH)SmallSense__MethodPO.$(O) \ + $(OUTDIR_SLASH)SmallSense__PackagePO.$(O) \ $(OUTDIR_SLASH)SmallSense__SmalltalkCompletionEngine.$(O) \ $(OUTDIR_SLASH)SmallSense__SmalltalkEditSupport.$(O) \ $(OUTDIR_SLASH)SmallSense__SmalltalkInferencer.$(O) \ @@ -165,6 +169,8 @@ $(OUTDIR_SLASH)SmallSense__GroovyCompletionEngineSimple.$(O) \ $(OUTDIR_SLASH)SmallSense__GroovyEditSupport.$(O) \ $(OUTDIR_SLASH)SmallSense__MethodKeywordRestPO.$(O) \ + $(OUTDIR_SLASH)SmallSense__MethodSearchDialog.$(O) \ + $(OUTDIR_SLASH)SmallSense__PackageSearchDialog.$(O) \ $(OUTDIR_SLASH)extensions.$(O) \ diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__AbstractDIalog.st --- a/SmallSense__AbstractDIalog.st Mon May 05 09:23:22 2014 +0100 +++ b/SmallSense__AbstractDIalog.st Tue May 06 08:23:16 2014 +0100 @@ -3,8 +3,8 @@ "{ NameSpace: SmallSense }" SimpleDialog subclass:#AbstractDIalog - instanceVariableNames:'buttons buttonsPanelView acceptEnabledHolder - optionsVisibleLabelHolder optionsVisibleHolder' + instanceVariableNames:'titleHolder buttons buttonsPanelView acceptEnabledHolder + optionsVisibleLabelHolder optionsVisibleHolder optionsPanelView' classVariableNames:'' poolDictionaries:'' category:'SmallSense-Core-Interface-Search' @@ -40,28 +40,23 @@ component: (SpecCollection collection: ( - (VerticalPanelViewSpec - name: 'ContentAndOptionsPanel' + (ViewSpec + name: 'Layput' layout: (LayoutFrame 0 0 0 0 0 1 0 1) - horizontalLayout: fit - verticalLayout: topSpaceFit - horizontalSpace: 3 - verticalSpace: 3 - elementsChangeSize: true component: (SpecCollection collection: ( (UISubSpecification name: 'Content' + layout: (LayoutFrame 0 0 0 0 0 1 0 1) minorKey: contentPaneSpec - extent: (Point 708 350) ) (UISubSpecification name: 'Options' - initiallyInvisible: true + layout: (LayoutFrame 0 0 -30 1 0 1 0 1) visibilityChannel: optionsVisibleHolder - minorKey: optionsSpec - extent: (Point 708 40) + minorKey: optionsPaneSpec + postBuildCallback: postBuildOptionsPanelView: ) ) @@ -72,7 +67,7 @@ ) ) - "Modified: / 02-05-2014 / 00:40:07 / Jan Vrany " + "Modified: / 03-05-2014 / 00:49:44 / Jan Vrany " ! windowSpec @@ -83,9 +78,9 @@ the UIPainter may not be able to read the specification." " - UIPainter new openOnClass:SmallSense::AbstractSearchDialog andSelector:#windowSpec - SmallSense::AbstractSearchDialog new openInterface:#windowSpec - SmallSense::AbstractSearchDialog open + UIPainter new openOnClass:SmallSense::AbstractDIalog andSelector:#windowSpec + SmallSense::AbstractDIalog new openInterface:#windowSpec + SmallSense::AbstractDIalog open " @@ -97,6 +92,7 @@ (WindowSpec label: 'Search...' name: 'Search...' + labelChannel: titleHolder min: (Point 10 10) bounds: (Rectangle 0 0 708 404) menu: mainMenuSpec @@ -150,14 +146,9 @@ component: (SpecCollection collection: ( - (UISubSpecification - name: 'ButtonOptionsShowOrHide' - layout: (LayoutFrame 0 0 0 0 100 0 0 1) - minorKey: optionsShowHideLeftAlignedPaneSpec - ) (HorizontalPanelViewSpec name: 'Buttons' - layout: (LayoutFrame 100 0 0 0 0 1 0 1) + layout: (LayoutFrame 0 0 0 0 0 1 0 1) horizontalLayout: right verticalLayout: center horizontalSpace: 3 @@ -291,6 +282,50 @@ ) ) +! + +optionsShowHideRightAlignedPaneSpec + "This resource specification was automatically generated + by the UIPainter of ST/X." + + "Do not manually edit this!! If it is corrupted, + the UIPainter may not be able to read the specification." + + " + UIPainter new openOnClass:SmallSense::AbstractDIalog andSelector:#optionsShowHideLeftAlignedPaneSpec + SmallSense::AbstractDIalog new openInterface:#optionsShowHideLeftAlignedPaneSpec + " + + + + ^ + #(FullSpec + name: optionsShowHideLeftAlignedPaneSpec + window: + (WindowSpec + label: 'Show / Hide options' + name: 'Show / Hide options' + min: (Point 10 10) + bounds: (Rectangle 0 0 452 20) + ) + component: + (SpecCollection + collection: ( + (LinkButtonSpec + label: 'Options' + name: 'ShowHideOptions' + layout: (LayoutFrame 0 0 0 0 0 1 0 1) + translateLabel: true + labelChannel: optionsVisibleLabelHolder + adjust: right + model: doOptionsShowOrHide + ) + ) + + ) + ) + + "Created: / 03-05-2014 / 00:56:35 / Jan Vrany " ! ! !AbstractDIalog class methodsFor:'testing'! @@ -299,12 +334,72 @@ ^ self == SmallSense::AbstractDIalog ! ! +!AbstractDIalog methodsFor:'accessing-defaults'! + +defaultTitle + ^ self subclassResponsibility + + "Created: / 05-05-2014 / 23:38:41 / Jan Vrany " +! ! + !AbstractDIalog methodsFor:'actions'! doOptionsShowOrHide - self optionsVisibleHolder value: self optionsVisibleHolder value not. + | optionsView optionsViewHeight otherView otherViewIsBelow layout | + + optionsView := optionsPanelView. + optionsView superView subViews last == optionsView ifTrue:[ + otherView := optionsView superView subViews before: optionsView. + otherViewIsBelow := false. + ] ifFalse:[ + otherView := optionsView superView subViews after: optionsView. + otherViewIsBelow := true. + ]. + self optionsVisibleHolder value ifFalse:[ + "/ Show + self optionsVisibleHolder value: true. + optionsViewHeight := ((self class optionsPaneSpec at: 5) at: 9) at: 5. + otherViewIsBelow ifFalse:[ + layout := otherView layout copy. + layout bottomOffset: (layout bottomOffset - optionsViewHeight). + otherView layout: layout. + + layout := optionsView layout copy. + layout topOffset: (layout topOffset - optionsViewHeight). + optionsView layout: layout. + ] ifTrue:[ + layout := optionsView layout copy. + layout bottomOffset: (layout bottomOffset + optionsViewHeight). + optionsView layout: layout. - "Modified: / 02-05-2014 / 00:27:40 / Jan Vrany " + layout := otherView layout copy. + layout topOffset: (layout topOffset + optionsViewHeight). + otherView layout: layout. + ]. + ] ifTrue:[ + "/ Hide + self optionsVisibleHolder value: false. + optionsViewHeight := ((self class optionsPaneSpec at: 5) at: 9) at: 5. + otherViewIsBelow ifFalse:[ + layout := otherView layout copy. + layout bottomOffset: (layout bottomOffset + optionsViewHeight). + otherView layout: layout. + + layout := optionsView layout copy. + layout topOffset: (layout topOffset + optionsViewHeight). + optionsView layout: layout. + ] ifTrue:[ + layout := optionsView layout copy. + layout bottomOffset: (layout bottomOffset - optionsViewHeight). + optionsView layout: layout. + + layout := otherView layout copy. + layout topOffset: (layout topOffset - optionsViewHeight). + otherView layout: layout. + ]. + ]. + + "Modified: / 03-05-2014 / 00:27:03 / Jan Vrany " ! ! !AbstractDIalog methodsFor:'adding & removing components'! @@ -421,6 +516,37 @@ ^ optionsVisibleLabelHolder. "Modified: / 02-05-2014 / 00:25:34 / Jan Vrany " +! + +titleHolder + "return/create the 'titleHolder' value holder (automatically generated)" + + titleHolder isNil ifTrue:[ + titleHolder := self defaultTitle asValue. + titleHolder addDependent:self. + ]. + ^ titleHolder + + "Modified: / 05-05-2014 / 23:38:41 / Jan Vrany " +! + +titleHolder:something + "set the 'titleHolder' value holder (automatically generated)" + + |oldValue newValue| + + titleHolder notNil ifTrue:[ + oldValue := titleHolder value. + titleHolder removeDependent:self. + ]. + titleHolder := something. + titleHolder notNil ifTrue:[ + titleHolder addDependent:self. + ]. + newValue := titleHolder value. + oldValue ~~ newValue ifTrue:[ + self update:#value with:newValue from:titleHolder. + ]. ! ! !AbstractDIalog methodsFor:'change & update'! @@ -442,9 +568,11 @@ self optionsVisibleHolder value ifTrue:[ resources string: 'Hide options'] ifFalse:[ resources string: 'Options']. + label := label asText colorizeAllWith: Color blue. self optionsVisibleLabelHolder value: label. "Created: / 02-05-2014 / 00:29:15 / Jan Vrany " + "Modified: / 02-05-2014 / 23:56:05 / Jan Vrany " ! ! !AbstractDIalog methodsFor:'hooks'! @@ -455,9 +583,17 @@ "Created: / 28-04-2014 / 22:42:37 / Jan Vrany " ! +postBuildOptionsPanelView:aView + optionsPanelView := aView + + "Modified: / 03-05-2014 / 00:00:49 / Jan Vrany " +! + postBuildWith: anUIBuilder | w | + self updateOptionsVisibleLabel. + buttons isEmpty ifTrue:[ | savedButtonsPanelView | @@ -476,6 +612,7 @@ ]. "Created: / 28-04-2014 / 22:53:42 / Jan Vrany " + "Modified: / 03-05-2014 / 00:27:40 / Jan Vrany " ! ! !AbstractDIalog methodsFor:'initialization'! diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__AbstractSearchDialog.st --- a/SmallSense__AbstractSearchDialog.st Mon May 05 09:23:22 2014 +0100 +++ b/SmallSense__AbstractSearchDialog.st Tue May 06 08:23:16 2014 +0100 @@ -84,11 +84,26 @@ component: (SpecCollection collection: ( - (LabelSpec - label: 'Enter name prefix or pattern (*):' - name: 'PatternLabel' - translateLabel: true - adjust: left + (ViewSpec + name: 'Box1' + component: + (SpecCollection + collection: ( + (LabelSpec + label: 'Enter name prefix or pattern (*):' + name: 'PatternLabel' + layout: (LayoutFrame 0 0 0 0 -100 1 0 1) + translateLabel: true + adjust: left + ) + (UISubSpecification + name: 'SubSpecification1' + layout: (LayoutFrame -100 1 0 0 0 1 0 1) + minorKey: optionsShowHideRightAlignedPaneSpec + ) + ) + + ) extent: (Point 708 30) ) (InputFieldSpec @@ -121,13 +136,13 @@ useIndex: false highlightMode: line doubleClickSelector: doAcceptByDoubleClick - selectConditionSelector: canSelect: + selectConditionSelector: canSelectIndex: showLines: false showIndicators: false showLeftIndicators: false useDefaultIcons: false showRoot: false - extent: (Point 708 302) + extent: (Point 708 307) postBuildCallback: postBuildMatchingObjectsView: ) ) @@ -138,6 +153,8 @@ ) ) + + "Modified: / 03-05-2014 / 00:56:45 / Jan Vrany " ! ! !AbstractSearchDialog class methodsFor:'queries'! @@ -205,6 +222,26 @@ recentlySearchedPatterns:aCollection recentlySearchedPatterns := aCollection. +! + +title + ^ self titleHolder value. + + "Created: / 05-05-2014 / 23:35:55 / Jan Vrany " +! + +title: aString + self titleHolder value: aString + + "Created: / 05-05-2014 / 23:36:03 / Jan Vrany " +! ! + +!AbstractSearchDialog methodsFor:'accessing-defaults'! + +defaultTitle + ^ (resources string: 'Search...') + + "Created: / 05-05-2014 / 23:39:23 / Jan Vrany " ! ! !AbstractSearchDialog methodsFor:'aspects'! @@ -435,26 +472,22 @@ ! updateMatchingObjects - | environment | + | environment pattern | matchingObjects := nil. environment := self environment. self matchPatternHolder value notEmptyOrNil ifTrue:[ - | pattern | pattern := StringPattern fromString: self matchPatternHolder value. + ]. "/ [ "/ self updateMatchingLabelToSearching. - matchingObjects := self matchingObjectsForPattern: pattern inEnvironment: environment. + matchingObjects := self matchingObjectsForPattern: pattern inEnvironment: environment. "/ ] ensure:[ "/ self updateMatchingLabelToNormal. "/ ] - ] ifFalse:[ - matchingObjects := self recentlySearchedObjects asArray reversed. - ]. self updateMatchingObjects: matchingObjects. - "Created: / 27-04-2014 / 23:48:23 / Jan Vrany " - "Modified: / 30-04-2014 / 11:45:22 / Jan Vrany " + "Created: / 06-05-2014 / 00:11:24 / Jan Vrany " ! updateMatchingObjects: objects @@ -530,19 +563,16 @@ !AbstractSearchDialog methodsFor:'hooks'! commonPostOpen -"/ self updateMatching. + "/ recentlySearchedPatterns notEmptyOrNil ifTrue:[ "/ matchPatternView contents: self recentlySearchedPatterns last. "/ matchPatternView selectAll. "/ ]. - self recentlySearchedObjects notEmptyOrNil ifTrue:[ - self updateMatchingObjects: self recentlySearchedObjects asArray reverse. - self updateMatchingLabelToRecentSearches. - ]. + + self updateMatchingObjects. self updateAcceptEnabled. - "Created: / 08-03-2013 / 13:15:24 / Jan Vrany " - "Modified: / 30-04-2014 / 11:48:16 / Jan Vrany " + "Created: / 06-05-2014 / 00:13:12 / Jan Vrany " ! postBuildMatchPatternView:aView @@ -595,6 +625,15 @@ "Modified (format): / 28-04-2014 / 00:11:15 / Jan Vrany " ! +canSelectIndex: selectionIndex + (selectionIndex between: 1 and: matchingObjectsTree size) ifTrue:[ + ^ self canSelect: (matchingObjectsTree at: selectionIndex) + ]. + ^ false + + "Created: / 02-05-2014 / 23:52:34 / Jan Vrany " +! + hasFilterAndClassNamedIsNotYetImported: binaryname ^self hasFilter and:[masterApplication isNil or:[masterApplication hasFilterAndClassNamedIsNotYetImported: binaryname]] @@ -639,7 +678,7 @@ completionPOs := self matchingObjectsTree root recursiveSelect:[:item | self canSelect: item ]. completionPOLabels := completionPOs collect:[ :each | each label ]. completion := completionPOLabels longestCommonPrefix. - completion isEmpty ifTrue:[ ^ nil ]. + completion isEmptyOrNil ifTrue:[ ^ nil ]. completion = contents ifTrue:[ ^ nil ]. matchingPOs := OrderedCollection new. completionPOs with: completionPOLabels do:[:po :poLabel | @@ -650,7 +689,7 @@ ^ Array with: completion with: matchingPOs. "Created: / 02-05-2014 / 10:58:47 / Jan Vrany " - "Modified: / 02-05-2014 / 12:07:07 / Jan Vrany " + "Modified: / 06-05-2014 / 00:02:05 / Jan Vrany " ! matchingObjectPOsFor: objects diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__ClassSearchDialog.st --- a/SmallSense__ClassSearchDialog.st Mon May 05 09:23:22 2014 +0100 +++ b/SmallSense__ClassSearchDialog.st Tue May 06 08:23:16 2014 +0100 @@ -11,6 +11,69 @@ category:'SmallSense-Core-Interface-Search' ! +!ClassSearchDialog class methodsFor:'interface specs-content'! + +optionsPaneSpec + "This resource specification was automatically generated + by the UIPainter of ST/X." + + "Do not manually edit this!! If it is corrupted, + the UIPainter may not be able to read the specification." + + " + UIPainter new openOnClass:SmallSense::ClassSearchDialog andSelector:#optionsPaneSpec + SmallSense::ClassSearchDialog new openInterface:#optionsPaneSpec + " + + + + ^ + #(FullSpec + name: optionsPaneSpec + window: + (WindowSpec + label: 'Search Options...' + name: 'Search Options...' + min: (Point 10 10) + bounds: (Rectangle 0 0 634 25) + ) + component: + (SpecCollection + collection: ( + (VerticalPanelViewSpec + name: 'Options' + layout: (LayoutFrame 0 0 0 0 0 1 0 1) + horizontalLayout: fit + verticalLayout: fit + horizontalSpace: 3 + verticalSpace: 3 + component: + (SpecCollection + collection: ( + (CheckBoxSpec + label: 'Match fully qualified class names' + name: 'CheckBox1' + model: matchFullyQualifiedClassNameHolder + extent: (Point 634 25) + ) + ) + + ) + ) + ) + + ) + ) +! ! + +!ClassSearchDialog methodsFor:'accessing-defaults'! + +defaultTitle + ^ (resources string: 'Search Class...') + + "Created: / 05-05-2014 / 23:39:29 / Jan Vrany " +! ! + !ClassSearchDialog methodsFor:'aspects'! matchFullyQualifiedClassNameEnabledHolder @@ -102,18 +165,56 @@ ^ super update:something with:aParameter from:changedObject "Created: / 27-04-2014 / 23:45:21 / Jan Vrany " +! + +updateMatchingObjects + | environment | + + matchingObjects := nil. + environment := self environment. + self matchPatternHolder value notEmptyOrNil ifTrue:[ + | pattern | + pattern := StringPattern fromString: self matchPatternHolder value. +"/ [ +"/ self updateMatchingLabelToSearching. + matchingObjects := self matchingObjectsForPattern: pattern inEnvironment: environment. +"/ ] ensure:[ +"/ self updateMatchingLabelToNormal. +"/ ] + ] ifFalse:[ + matchingObjects := self recentlySearchedObjects asArray reversed. + ]. + self updateMatchingObjects: matchingObjects. + + "Created: / 27-04-2014 / 23:48:23 / Jan Vrany " + "Modified: / 30-04-2014 / 11:45:22 / Jan Vrany " +! ! + +!ClassSearchDialog methodsFor:'hooks'! + +commonPostOpen +"/ self updateMatching. +"/ recentlySearchedPatterns notEmptyOrNil ifTrue:[ +"/ matchPatternView contents: self recentlySearchedPatterns last. +"/ matchPatternView selectAll. +"/ ]. + self recentlySearchedObjects notEmptyOrNil ifTrue:[ + self updateMatchingObjects: self recentlySearchedObjects asArray reverse. + self updateMatchingLabelToRecentSearches. + ]. + self updateAcceptEnabled. + + "Created: / 08-03-2013 / 13:15:24 / Jan Vrany " + "Modified: / 30-04-2014 / 11:48:16 / Jan Vrany " ! ! !ClassSearchDialog methodsFor:'queries'! canSelect: selection - | po | - - po := selection isInteger ifTrue:[ matchingObjectsTree at: selection ] ifFalse:[ selection ]. - ^ po askFor: #isSmallSenseClassPO. + ^ selection askFor: #isSmallSenseClassPO. "Created: / 22-04-2014 / 13:08:36 / Jan Vrany " - "Modified: / 28-04-2014 / 23:56:45 / Jan Vrany " + "Modified: / 02-05-2014 / 23:52:49 / Jan Vrany " ! ! !ClassSearchDialog methodsFor:'searching'! @@ -147,14 +248,14 @@ matchFullyQualifiedClassName ifFalse:[ environment allClassesDo:[:cls | - (pattern match:cls nameWithoutPrefix) ifTrue:[ + ((filter isNil or:[filter value: cls]) and:[(pattern match:cls nameWithoutPrefix)]) ifTrue:[ matching add:cls. ]. ]. ] ifTrue:[ environment allClassesDo:[:cls | - (pattern match:cls displayString) ifTrue:[ + ((filter isNil or:[filter value: cls]) and:[(pattern match:cls displayString)]) ifTrue:[ matching add:cls ] ]. @@ -164,6 +265,6 @@ ^ matching "Created: / 28-04-2014 / 23:20:26 / Jan Vrany " - "Modified: / 30-04-2014 / 09:48:09 / Jan Vrany " + "Modified: / 05-05-2014 / 23:47:02 / Jan Vrany " ! ! diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__MethodPO.st --- a/SmallSense__MethodPO.st Mon May 05 09:23:22 2014 +0100 +++ b/SmallSense__MethodPO.st Tue May 06 08:23:16 2014 +0100 @@ -67,6 +67,12 @@ "Modified: / 07-10-2013 / 12:30:43 / Jan Vrany " ! +klass + ^ class + + "Created: / 06-05-2014 / 00:31:24 / Jan Vrany " +! + label label isNil ifTrue:[ diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__MethodSearchDialog.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SmallSense__MethodSearchDialog.st Tue May 06 08:23:16 2014 +0100 @@ -0,0 +1,160 @@ +"{ Package: 'jv:smallsense' }" + +"{ NameSpace: SmallSense }" + +AbstractSearchDialog subclass:#MethodSearchDialog + instanceVariableNames:'' + classVariableNames:'' + poolDictionaries:'' + category:'SmallSense-Core-Interface-Search' +! + +!MethodSearchDialog class methodsFor:'interface specs-content'! + +optionsPaneSpec + "This resource specification was automatically generated + by the UIPainter of ST/X." + + "Do not manually edit this!! If it is corrupted, + the UIPainter may not be able to read the specification." + + " + UIPainter new openOnClass:SmallSense::ClassSearchDialog andSelector:#optionsPaneSpec + SmallSense::ClassSearchDialog new openInterface:#optionsPaneSpec + " + + + + ^ + #(FullSpec + name: optionsPaneSpec + window: + (WindowSpec + label: 'Search Options...' + name: 'Search Options...' + min: (Point 10 10) + bounds: (Rectangle 0 0 634 25) + ) + component: + (SpecCollection + collection: ( + (VerticalPanelViewSpec + name: 'Options' + layout: (LayoutFrame 0 0 0 0 0 1 0 1) + horizontalLayout: fit + verticalLayout: fit + horizontalSpace: 3 + verticalSpace: 3 + component: + (SpecCollection + collection: ( + (CheckBoxSpec + label: 'Match fully qualified class names' + name: 'CheckBox1' + model: matchFullyQualifiedClassNameHolder + extent: (Point 634 25) + ) + ) + + ) + ) + ) + + ) + ) +! ! + +!MethodSearchDialog methodsFor:'accessing-defaults'! + +defaultTitle + ^ (resources string: 'Search Method...') + + "Created: / 05-05-2014 / 23:39:29 / Jan Vrany " +! ! + +!MethodSearchDialog methodsFor:'change & update'! + +updateMatchingObjects + | environment | + + matchingObjects := nil. + environment := self environment. + self matchPatternHolder value notEmptyOrNil ifTrue:[ + | pattern | + pattern := StringPattern fromString: self matchPatternHolder value. +"/ [ +"/ self updateMatchingLabelToSearching. + matchingObjects := self matchingObjectsForPattern: pattern inEnvironment: environment. +"/ ] ensure:[ +"/ self updateMatchingLabelToNormal. +"/ ] + ] ifFalse:[ + matchingObjects := self recentlySearchedObjects asArray reversed. + ]. + self updateMatchingObjects: matchingObjects. + + "Created: / 27-04-2014 / 23:48:23 / Jan Vrany " + "Modified: / 30-04-2014 / 11:45:22 / Jan Vrany " +! ! + +!MethodSearchDialog methodsFor:'hooks'! + +commonPostOpen +"/ self updateMatching. +"/ recentlySearchedPatterns notEmptyOrNil ifTrue:[ +"/ matchPatternView contents: self recentlySearchedPatterns last. +"/ matchPatternView selectAll. +"/ ]. + self recentlySearchedObjects notEmptyOrNil ifTrue:[ + self updateMatchingObjects: self recentlySearchedObjects asArray reverse. + self updateMatchingLabelToRecentSearches. + ]. + self updateAcceptEnabled. + + "Created: / 08-03-2013 / 13:15:24 / Jan Vrany " + "Modified: / 30-04-2014 / 11:48:16 / Jan Vrany " +! ! + +!MethodSearchDialog methodsFor:'queries'! + +canSelect: selection + ^ selection askFor: #isSmallSenseMethodPO. + + "Created: / 22-04-2014 / 13:08:36 / Jan Vrany " + "Modified: / 06-05-2014 / 00:27:30 / Jan Vrany " +! ! + +!MethodSearchDialog methodsFor:'searching'! + +matchingObjectPOsFor: objects + ^ (objects collect:[:each | MethodPO name:each selector class: each mclass ]) + sort:[ :a :b | a name == b name ifTrue:[ a klass name < b klass name] ifFalse:[ a name < b name ] ]; + yourself + + "Created: / 30-04-2014 / 09:50:02 / Jan Vrany " + "Modified: / 06-05-2014 / 00:31:48 / Jan Vrany " +! + +matchingObjectsForPattern:pattern inEnvironment:environment + | matching | + + matching := OrderedCollection new. + self matchPatternHolder value notEmptyOrNil ifTrue:[ + environment + allMethodsDo:[:mthd | + | name | + + name := mthd selector. + mthd isJavaMethod ifTrue:[ name := name upTo: $( ]. + ((filter isNil or:[filter value: mthd]) and:[(pattern match:name)]) ifTrue:[ + matching add:mthd. + ]. + ]. + ]. + + ^ matching + + "Created: / 28-04-2014 / 23:20:26 / Jan Vrany " + "Modified: / 06-05-2014 / 00:34:48 / Jan Vrany " +! ! + diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__PO.st --- a/SmallSense__PO.st Mon May 05 09:23:22 2014 +0100 +++ b/SmallSense__PO.st Tue May 06 08:23:16 2014 +0100 @@ -242,6 +242,12 @@ ^ false ! +isSmallSensePackagePO + ^ false + + "Created: / 05-05-2014 / 23:50:20 / Jan Vrany " +! + isSmallSenseSnippetPO ^ false ! diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__PackagePO.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SmallSense__PackagePO.st Tue May 06 08:23:16 2014 +0100 @@ -0,0 +1,42 @@ +"{ Package: 'jv:smallsense' }" + +"{ NameSpace: SmallSense }" + +PO subclass:#PackagePO + instanceVariableNames:'projectDefinition isJava' + classVariableNames:'' + poolDictionaries:'' + category:'SmallSense-Core-Interface-PO' +! + +!PackagePO methodsFor:'accessing'! + +icon + ^ ToolbarIconLibrary smallYellowPackageIcon + + "Created: / 06-05-2014 / 00:09:28 / Jan Vrany " +! + +name + ^ subject + + "Created: / 06-05-2014 / 00:01:48 / Jan Vrany " +! + +projectDefinition + projectDefinition isNil ifTrue:[ + projectDefinition := ProjectDefinition definitionClassForPackage: subject. + ]. + ^ projectDefinition + + "Created: / 06-05-2014 / 00:05:44 / Jan Vrany " +! ! + +!PackagePO methodsFor:'testing'! + +isSmallSensePackagePO + ^ true + + "Created: / 05-05-2014 / 23:50:15 / Jan Vrany " +! ! + diff -r f7648e626e07 -r 5f39eba6a1e3 SmallSense__PackageSearchDialog.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SmallSense__PackageSearchDialog.st Tue May 06 08:23:16 2014 +0100 @@ -0,0 +1,54 @@ +"{ Package: 'jv:smallsense' }" + +"{ NameSpace: SmallSense }" + +AbstractSearchDialog subclass:#PackageSearchDialog + instanceVariableNames:'' + classVariableNames:'' + poolDictionaries:'' + category:'SmallSense-Core-Interface-Search' +! + +!PackageSearchDialog methodsFor:'queries'! + +canSelect:selection + ^ selection askFor: #isSmallSensePackagePO + + "Created: / 05-05-2014 / 23:50:44 / Jan Vrany " +! ! + +!PackageSearchDialog methodsFor:'searching'! + +matchingObjectPOsFor:objects + + objects sort: [ :a :b | a < b ]. + ^ objects collect:[ :e | PackagePO new subject: e ]. + + "Created: / 05-05-2014 / 23:54:17 / Jan Vrany " +! + +matchingObjectsForPattern:pattern inEnvironment:environment + | packages | + + packages := Set new. + environment allClassesDo: [ :cls | + | pkg | + + pkg := cls package. + ((pkg notNil and:[ pkg ~~ PackageId noProjectID ]) + and:[(filter isNil or:[ filter value: pkg ]) + and:[pattern isNil or:[pattern match: pkg]]]) ifTrue:[ packages add: pkg ]. + ]. + environment allMethodsDo:[ :mth | + | pkg | + + pkg := mth package. + ((pkg notNil and:[ pkg ~~ PackageId noProjectID ]) + and:[(filter isNil or:[ filter value: pkg ]) + and:[pattern isNil or:[pattern match: pkg]]]) ifTrue:[ packages add: pkg ]. + ]. + ^ packages asArray. + + "Created: / 05-05-2014 / 23:53:04 / Jan Vrany " +! ! + diff -r f7648e626e07 -r 5f39eba6a1e3 abbrev.stc --- a/abbrev.stc Mon May 05 09:23:22 2014 +0100 +++ b/abbrev.stc Tue May 06 08:23:16 2014 +0100 @@ -2,7 +2,6 @@ # this file is needed for stc to be able to compile modules independently. # it provides information about a classes filename, category and especially namespace. SmallSense::AbstractDIalog SmallSense__AbstractDIalog jv:smallsense 'SmallSense-Core-Interface-Search' 1 -SmallSense::BaseTestClass SmallSense__BaseTestClass jv:smallsense 'SmallSense-Tests' 1 SmallSense::CodeHighlightingService SmallSense__CodeHighlightingService jv:smallsense 'SmallSense-Core-Services' 0 SmallSense::CodeNavigationService SmallSense__CodeNavigationService jv:smallsense 'SmallSense-Core-Services' 0 SmallSense::CompletionContext SmallSense__CompletionContext jv:smallsense 'SmallSense-Core' 0 @@ -31,7 +30,6 @@ SmallSense::SmalltalkQuickFixer SmallSense__SmalltalkQuickFixer jv:smallsense 'SmallSense-Smalltalk-Lint' 0 SmallSense::SmalltalkSyntaxHighlighter SmallSense__SmalltalkSyntaxHighlighter jv:smallsense 'SmallSense-Smalltalk' 3 SmallSense::SmalltalkUnacceptedMethodEnvironment SmallSense__SmalltalkUnacceptedMethodEnvironment jv:smallsense 'SmallSense-Smalltalk-Lint' 0 -SmallSense::TestCase SmallSense__TestCase jv:smallsense 'SmallSense-Tests' 1 SmallSense::Type SmallSense__Type jv:smallsense 'SmallSense-Smalltalk-Types' 0 SmallSense::TypeHolder SmallSense__TypeHolder jv:smallsense 'SmallSense-Smalltalk-Types' 0 jv_smallsense jv_smallsense jv:smallsense '* Projects & Packages *' 3 @@ -40,19 +38,17 @@ SmallSense::ClassPO SmallSense__ClassPO jv:smallsense 'SmallSense-Core-Interface-PO' 0 SmallSense::ClassType SmallSense__ClassType jv:smallsense 'SmallSense-Smalltalk-Types' 0 SmallSense::ConstantPO SmallSense__ConstantPO jv:smallsense 'SmallSense-Core-Interface-PO' 0 -SmallSense::FinderTests SmallSense__FinderTests jv:smallsense 'SmallSense-Tests' 1 SmallSense::GenericEditSupport SmallSense__GenericEditSupport jv:smallsense 'SmallSense-Core-Services' 0 SmallSense::JavaCompletionEngineSimple SmallSense__JavaCompletionEngineSimple jv:smallsense 'SmallSense-Java' 0 SmallSense::JavaEditSupport SmallSense__JavaEditSupport jv:smallsense 'SmallSense-Java' 0 SmallSense::JavaImportPO SmallSense__JavaImportPO jv:smallsense 'SmallSense-Java-Interface-PO' 0 SmallSense::MethodInfo SmallSense__MethodInfo jv:smallsense 'SmallSense-Smalltalk-Types-Info' 0 SmallSense::MethodPO SmallSense__MethodPO jv:smallsense 'SmallSense-Core-Interface-PO' 0 -SmallSense::RecognizerTests SmallSense__RecognizerTests jv:smallsense 'SmallSense-Tests' 1 +SmallSense::PackagePO SmallSense__PackagePO jv:smallsense 'SmallSense-Core-Interface-PO' 0 SmallSense::SmalltalkCompletionEngine SmallSense__SmalltalkCompletionEngine jv:smallsense 'SmallSense-Smalltalk' 0 SmallSense::SmalltalkEditSupport SmallSense__SmalltalkEditSupport jv:smallsense 'SmallSense-Smalltalk' 0 SmallSense::SmalltalkInferencer SmallSense__SmalltalkInferencer jv:smallsense 'SmallSense-Smalltalk-Types-Inference' 0 SmallSense::SmalltalkParseNodeFinder SmallSense__SmalltalkParseNodeFinder jv:smallsense 'SmallSense-Smalltalk' 0 -SmallSense::SmalltalkParserTests SmallSense__SmalltalkParserTests jv:smallsense 'SmallSense-Tests' 1 SmallSense::SnippetPO SmallSense__SnippetPO jv:smallsense 'SmallSense-Core-Interface-PO' 0 SmallSense::UnionType SmallSense__UnionType jv:smallsense 'SmallSense-Smalltalk-Types' 0 SmallSense::UnknownType SmallSense__UnknownType jv:smallsense 'SmallSense-Smalltalk-Types' 1 @@ -61,3 +57,10 @@ SmallSense::GroovyCompletionEngineSimple SmallSense__GroovyCompletionEngineSimple jv:smallsense 'SmallSense-Groovy' 0 SmallSense::GroovyEditSupport SmallSense__GroovyEditSupport jv:smallsense 'SmallSense-Groovy' 0 SmallSense::MethodKeywordRestPO SmallSense__MethodKeywordRestPO jv:smallsense 'SmallSense-Core-Interface-PO' 0 +SmallSense::MethodSearchDialog SmallSense__MethodSearchDialog jv:smallsense 'SmallSense-Core-Interface-Search' 3 +SmallSense::PackageSearchDialog SmallSense__PackageSearchDialog jv:smallsense 'SmallSense-Core-Interface-Search' 3 +SmallSense::BaseTestClass SmallSense__BaseTestClass jv:smallsense 'SmallSense-Tests' 1 +SmallSense::FinderTests SmallSense__FinderTests jv:smallsense 'SmallSense-Tests' 1 +SmallSense::RecognizerTests SmallSense__RecognizerTests jv:smallsense 'SmallSense-Tests' 1 +SmallSense::SmalltalkParserTests SmallSense__SmalltalkParserTests jv:smallsense 'SmallSense-Tests' 1 +SmallSense::TestCase SmallSense__TestCase jv:smallsense 'SmallSense-Tests' 1 diff -r f7648e626e07 -r 5f39eba6a1e3 bc.mak --- a/bc.mak Mon May 05 09:23:22 2014 +0100 +++ b/bc.mak Tue May 06 08:23:16 2014 +0100 @@ -34,7 +34,7 @@ -LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\helpers -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libhtml -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2 +LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\helpers -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libhtml -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2 -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\libwidg2 LOCALDEFINES= STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME) @@ -60,7 +60,6 @@ pushd ..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\stx\goodies\refactoryBrowser\browser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\stx\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\stx\goodies\refactoryBrowser\lint & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " pushd ..\..\stx\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " @@ -129,6 +128,7 @@ $(OUTDIR)SmallSense__JavaImportPO.$(O) SmallSense__JavaImportPO.$(H): SmallSense__JavaImportPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR) $(OUTDIR)SmallSense__MethodInfo.$(O) SmallSense__MethodInfo.$(H): SmallSense__MethodInfo.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__Info.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__MethodPO.$(O) SmallSense__MethodPO.$(H): SmallSense__MethodPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR) +$(OUTDIR)SmallSense__PackagePO.$(O) SmallSense__PackagePO.$(H): SmallSense__PackagePO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR) $(OUTDIR)SmallSense__SmalltalkCompletionEngine.$(O) SmallSense__SmalltalkCompletionEngine.$(H): SmallSense__SmalltalkCompletionEngine.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__SmalltalkEditSupport.$(O) SmallSense__SmalltalkEditSupport.$(H): SmallSense__SmalltalkEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__EditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__SmalltalkInferencer.$(O) SmallSense__SmalltalkInferencer.$(H): SmallSense__SmalltalkInferencer.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__SmalltalkParseNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) @@ -141,6 +141,8 @@ $(OUTDIR)SmallSense__GroovyCompletionEngineSimple.$(O) SmallSense__GroovyCompletionEngineSimple.$(H): SmallSense__GroovyCompletionEngineSimple.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__CompletionEngine.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__JavaCompletionEngineSimple.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__GroovyEditSupport.$(O) SmallSense__GroovyEditSupport.$(H): SmallSense__GroovyEditSupport.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__EditSupport.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__JavaEditSupport.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)SmallSense__MethodKeywordRestPO.$(O) SmallSense__MethodKeywordRestPO.$(H): SmallSense__MethodKeywordRestPO.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__MethodPO.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__PO.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR) +$(OUTDIR)SmallSense__MethodSearchDialog.$(O) SmallSense__MethodSearchDialog.$(H): SmallSense__MethodSearchDialog.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__AbstractDIalog.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__AbstractSearchDialog.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libview2\SimpleDialog.$(H) $(STCHDR) +$(OUTDIR)SmallSense__PackageSearchDialog.$(O) SmallSense__PackageSearchDialog.$(H): SmallSense__PackageSearchDialog.st $(INCLUDE_TOP)\jv\smallsense\SmallSense__AbstractDIalog.$(H) $(INCLUDE_TOP)\jv\smallsense\SmallSense__AbstractSearchDialog.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libview2\SimpleDialog.$(H) $(STCHDR) $(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBLintRule.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\lint\RBTransformationRule.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Dictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\IdentityDictionary.$(H) $(INCLUDE_TOP)\stx\libbasic\Method.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Set.$(H) $(INCLUDE_TOP)\stx\libbasic\UserPreferences.$(H) $(INCLUDE_TOP)\stx\libcomp\AssignmentNode.$(H) $(INCLUDE_TOP)\stx\libcomp\BlockNode.$(H) $(INCLUDE_TOP)\stx\libcomp\MessageNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseErrorNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ParseNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimaryNode.$(H) $(INCLUDE_TOP)\stx\libcomp\PrimitiveNode.$(H) $(INCLUDE_TOP)\stx\libcomp\ReturnNode.$(H) $(INCLUDE_TOP)\stx\libcomp\StatementNode.$(H) $(INCLUDE_TOP)\stx\libcomp\VariableNode.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentFrame.$(H) $(INCLUDE_TOP)\stx\libhtml\HTMLDocumentView.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__BackgroundSourceProcessingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeCompletionService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeHighlightingService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeNavigationService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__CodeViewService.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NavigationState.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg\EditTextView.$(H) $(INCLUDE_TOP)\stx\libwidg\ListView.$(H) $(INCLUDE_TOP)\stx\libwidg\TextCollector.$(H) $(INCLUDE_TOP)\stx\libwidg\TextView.$(H) $(INCLUDE_TOP)\stx\libwidg\Workspace.$(H) $(INCLUDE_TOP)\stx\libwidg2\DoWhatIMeanSupport.$(H) $(STCHDR) # ENDMAKEDEPEND --- do not remove this line diff -r f7648e626e07 -r 5f39eba6a1e3 jv_smallsense.st --- a/jv_smallsense.st Mon May 05 09:23:22 2014 +0100 +++ b/jv_smallsense.st Tue May 06 08:23:16 2014 +0100 @@ -46,8 +46,7 @@ ^ #( #'stx:goodies/refactoryBrowser/helpers' "BrowserEnvironment - superclass of SmallSense::SmalltalkUnacceptedMethodEnvironment " #'stx:goodies/refactoryBrowser/lint' "RBLintRule - extended " - #'stx:goodies/sunit' "TestAsserter - superclass of SmallSense::BaseTestClass " - #'stx:libbasic' "Collection - extended " + #'stx:libbasic' "Autoload - superclass of SmallSense::BaseTestClass " #'stx:libcomp' "AbstractSyntaxHighlighter - superclass of SmallSense::SmalltalkParser " #'stx:libhtml' "HTMLDocumentFrame - extended " #'stx:libtool' "AbstractSettingsApplication - superclass of SmallSense::SettingsAppl " @@ -162,7 +161,6 @@ ^ #( " or ( attributes...) in load order" #'SmallSense::AbstractDIalog' - (#'SmallSense::BaseTestClass' autoload) #'SmallSense::CodeHighlightingService' #'SmallSense::CodeNavigationService' #'SmallSense::CompletionContext' @@ -191,7 +189,6 @@ #'SmallSense::SmalltalkQuickFixer' #'SmallSense::SmalltalkSyntaxHighlighter' #'SmallSense::SmalltalkUnacceptedMethodEnvironment' - (#'SmallSense::TestCase' autoload) #'SmallSense::Type' #'SmallSense::TypeHolder' #'jv_smallsense' @@ -200,19 +197,17 @@ #'SmallSense::ClassPO' #'SmallSense::ClassType' #'SmallSense::ConstantPO' - (#'SmallSense::FinderTests' autoload) #'SmallSense::GenericEditSupport' #'SmallSense::JavaCompletionEngineSimple' #'SmallSense::JavaEditSupport' #'SmallSense::JavaImportPO' #'SmallSense::MethodInfo' #'SmallSense::MethodPO' - (#'SmallSense::RecognizerTests' autoload) + #'SmallSense::PackagePO' #'SmallSense::SmalltalkCompletionEngine' #'SmallSense::SmalltalkEditSupport' #'SmallSense::SmalltalkInferencer' #'SmallSense::SmalltalkParseNodeFinder' - (#'SmallSense::SmalltalkParserTests' autoload) #'SmallSense::SnippetPO' #'SmallSense::UnionType' #'SmallSense::UnknownType' @@ -221,6 +216,13 @@ #'SmallSense::GroovyCompletionEngineSimple' #'SmallSense::GroovyEditSupport' #'SmallSense::MethodKeywordRestPO' + #'SmallSense::MethodSearchDialog' + #'SmallSense::PackageSearchDialog' + (#'SmallSense::BaseTestClass' autoload) + (#'SmallSense::FinderTests' autoload) + (#'SmallSense::RecognizerTests' autoload) + (#'SmallSense::SmalltalkParserTests' autoload) + (#'SmallSense::TestCase' autoload) ) ! diff -r f7648e626e07 -r 5f39eba6a1e3 libInit.cc --- a/libInit.cc Mon May 05 09:23:22 2014 +0100 +++ b/libInit.cc Tue May 06 08:23:16 2014 +0100 @@ -70,6 +70,7 @@ _SmallSense__JavaImportPO_Init(pass,__pRT__,snd); _SmallSense__MethodInfo_Init(pass,__pRT__,snd); _SmallSense__MethodPO_Init(pass,__pRT__,snd); +_SmallSense__PackagePO_Init(pass,__pRT__,snd); _SmallSense__SmalltalkCompletionEngine_Init(pass,__pRT__,snd); _SmallSense__SmalltalkEditSupport_Init(pass,__pRT__,snd); _SmallSense__SmalltalkInferencer_Init(pass,__pRT__,snd); @@ -82,6 +83,8 @@ _SmallSense__GroovyCompletionEngineSimple_Init(pass,__pRT__,snd); _SmallSense__GroovyEditSupport_Init(pass,__pRT__,snd); _SmallSense__MethodKeywordRestPO_Init(pass,__pRT__,snd); +_SmallSense__MethodSearchDialog_Init(pass,__pRT__,snd); +_SmallSense__PackageSearchDialog_Init(pass,__pRT__,snd); _jv_137smallsense_extensions_Init(pass,__pRT__,snd); __END_PACKAGE__(); diff -r f7648e626e07 -r 5f39eba6a1e3 smallsense.rc --- a/smallsense.rc Mon May 05 09:23:22 2014 +0100 +++ b/smallsense.rc Tue May 06 08:23:16 2014 +0100 @@ -25,7 +25,7 @@ VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\0" VALUE "ProductName", "Smalltalk/X\0" VALUE "ProductVersion", "6.2.3.0\0" - VALUE "ProductDate", "Fri, 02 May 2014 09:06:24 GMT\0" + VALUE "ProductDate", "Tue, 06 May 2014 07:21:54 GMT\0" END END