--- a/SmallSense__AbstractDIalog.st Fri May 02 12:29:52 2014 +0100
+++ b/SmallSense__AbstractDIalog.st Sat May 03 00:52:55 2014 +0100
@@ -4,7 +4,7 @@
SimpleDialog subclass:#AbstractDIalog
instanceVariableNames:'buttons buttonsPanelView acceptEnabledHolder
- optionsVisibleLabelHolder optionsVisibleHolder'
+ 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 <jan.vrany@fit.cvut.cz>"
+ "Modified: / 03-05-2014 / 00:49:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
windowSpec
@@ -302,9 +297,61 @@
!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 <jan.vrany@fit.cvut.cz>"
+ 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 <jan.vrany@fit.cvut.cz>"
! !
!AbstractDIalog methodsFor:'adding & removing components'!
@@ -442,9 +489,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 <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-05-2014 / 23:56:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!AbstractDIalog methodsFor:'hooks'!
@@ -455,9 +504,17 @@
"Created: / 28-04-2014 / 22:42:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+postBuildOptionsPanelView:aView
+ optionsPanelView := aView
+
+ "Modified: / 03-05-2014 / 00:00:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
postBuildWith: anUIBuilder
| w |
+ self updateOptionsVisibleLabel.
+
buttons isEmpty ifTrue:[
| savedButtonsPanelView |
@@ -476,6 +533,7 @@
].
"Created: / 28-04-2014 / 22:53:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 03-05-2014 / 00:27:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!AbstractDIalog methodsFor:'initialization'!
--- a/SmallSense__AbstractSearchDialog.st Fri May 02 12:29:52 2014 +0100
+++ b/SmallSense__AbstractSearchDialog.st Sat May 03 00:52:55 2014 +0100
@@ -121,13 +121,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:
)
)
@@ -595,6 +595,15 @@
"Modified (format): / 28-04-2014 / 00:11:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+canSelectIndex: selectionIndex
+ (selectionIndex between: 1 and: matchingObjectsTree size) ifTrue:[
+ ^ self canSelect: (matchingObjectsTree at: selectionIndex)
+ ].
+ ^ false
+
+ "Created: / 02-05-2014 / 23:52:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
hasFilterAndClassNamedIsNotYetImported: binaryname
^self hasFilter
and:[masterApplication isNil or:[masterApplication hasFilterAndClassNamedIsNotYetImported: binaryname]]
--- a/SmallSense__ClassSearchDialog.st Fri May 02 12:29:52 2014 +0100
+++ b/SmallSense__ClassSearchDialog.st Sat May 03 00:52:55 2014 +0100
@@ -11,6 +11,61 @@
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
+ "
+
+ <resource: #canvas>
+
+ ^
+ #(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:'aspects'!
matchFullyQualifiedClassNameEnabledHolder
@@ -107,13 +162,10 @@
!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 <jan.vrany@fit.cvut.cz>"
- "Modified: / 28-04-2014 / 23:56:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 02-05-2014 / 23:52:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ClassSearchDialog methodsFor:'searching'!
--- a/smallsense.rc Fri May 02 12:29:52 2014 +0100
+++ b/smallsense.rc Sat May 03 00:52:55 2014 +0100
@@ -3,7 +3,7 @@
// automagically generated from the projectDefinition: jv_smallsense.
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 6,2,32767,32767
+ FILEVERSION 6,2,6984,6984
PRODUCTVERSION 6,2,3,0
#if (__BORLANDC__)
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE
@@ -20,12 +20,12 @@
BEGIN
VALUE "CompanyName", "eXept Software AG\0"
VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
- VALUE "FileVersion", "6.2.32767.32767\0"
+ VALUE "FileVersion", "6.2.6984.6984\0"
VALUE "InternalName", "jv:smallsense\0"
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", "Fri, 02 May 2014 23:52:30 GMT\0"
END
END