Improvement in (Smalltalk)EditSupport.
After some electric text is inserted, BackSpace will delete the inserted
text instead of just last character.
"{ Package: 'jv:smallsense' }"
"{ NameSpace: SmallSense }"
PO subclass:#ClassPO
instanceVariableNames:'showPrefix'
classVariableNames:''
poolDictionaries:''
category:'SmallSense-Core-Interface-PO'
!
!ClassPO methodsFor:'accessing'!
icon
icon ifNil:[icon := SystemBrowser iconForClass: subject].
^icon
"Created: / 06-04-2011 / 23:36:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
klass
^ subject
"Created: / 25-08-2013 / 13:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
klass: klass
^ subject := klass
"Created: / 25-08-2013 / 13:07:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
name
| nm |
showPrefix ifTrue:[
nm := subject name.
] ifFalse:[
nm := subject nameWithoutPrefix.
].
^nm
"Created: / 26-08-2013 / 10:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
showPrefix
^ showPrefix
!
showPrefix:something
showPrefix := something.
!
subject: aClass
super subject: aClass.
name := aClass name.
"Created: / 06-04-2011 / 21:02:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ClassPO methodsFor:'converting'!
asString
^subject isJavaClass ifTrue:[
subject javaName
] ifFalse:[
subject name
].
"Created: / 04-04-2012 / 13:00:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 26-08-2013 / 10:27:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ClassPO methodsFor:'displaying'!
displayOn:aGC x:x y:y opaque:opaque
| nm namespace lw cnw fg |
showPrefix ifTrue:[
nm := subject name.
namespace := nil
] ifFalse:[
nm := subject nameWithoutPrefix.
subject isJavaClass ifFalse:[
namespace := subject nameSpace name.
] ifTrue:[
namespace := subject javaPackage.
]
].
nm displayOn:aGC x:x y:y opaque:opaque.
(namespace notNil and:[namespace ~~ #Smalltalk]) ifTrue:[
namespace := 'in ', namespace.
lw := x + 16 + (name widthOn: aGC).
cnw := aGC widthOfString: namespace.
(aGC width > (lw + cnw + 5)) ifTrue:[
fg := aGC paint.
aGC paint: (Color gray: 40).
namespace displayOn:aGC x: aGC width - cnw - 5 y:y opaque:opaque.
aGC paint: fg.
]
]
"Created: / 04-04-2012 / 13:03:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 25-08-2013 / 13:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
displayString
^ self name
"Created: / 20-04-2012 / 18:19:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 26-08-2013 / 10:27:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ClassPO methodsFor:'testing'!
isSmallSenseClassPO
^ true
! !
!ClassPO class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
!
version_SVN
^ '$Id: SmallSenseClass.st 7825 2011-11-26 18:32:31Z vranyj1 $'
! !