SmallSense__CetegoryOrProtocolSelectDialog.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 01 Jun 2023 20:20:33 +0100
changeset 1149 33f8a8571e92
parent 1144 93164087c56a
permissions -rw-r--r--
Fix class selection drop-in dialog Commit 93164087c56a added class selection dialog to SmallSense's `DialogBox`. This commit selever bugs in the implementation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
881
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Copyright (C) 2013-2015 Jan Vrany
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 881
diff changeset
     4
Copyright (C) 2022 LabWare
881
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
This library is free software; you can redistribute it and/or
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
modify it under the terms of the GNU Lesser General Public
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
License as published by the Free Software Foundation; either
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
version 2.1 of the License.
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
This library is distributed in the hope that it will be useful,
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
Lesser General Public License for more details.
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
You should have received a copy of the GNU Lesser General Public
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
License along with this library; if not, write to the Free Software
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
"{ Package: 'stx:goodies/smallsense' }"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
"{ NameSpace: SmallSense }"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
AbstractSelectDialog subclass:#CetegoryOrProtocolSelectDialog
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	instanceVariableNames:''
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	classVariableNames:''
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	poolDictionaries:''
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	category:'SmallSense-Core-Interface-Search'
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
!CetegoryOrProtocolSelectDialog class methodsFor:'documentation'!
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
copyright
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
stx:goodies/smallsense - A productivity plugin for Smalltalk/X IDE
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
Copyright (C) 2013-2015 Jan Vrany
1144
93164087c56a Add class selection dialog
Jan Vrany <jan.vrany@labware.com>
parents: 881
diff changeset
    37
Copyright (C) 2022 LabWare
881
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
This library is free software; you can redistribute it and/or
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
modify it under the terms of the GNU Lesser General Public
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
License as published by the Free Software Foundation; either
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
version 2.1 of the License.
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
This library is distributed in the hope that it will be useful,
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
but WITHOUT ANY WARRANTY; without even the implied warranty of
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
Lesser General Public License for more details.
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
You should have received a copy of the GNU Lesser General Public
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
License along with this library; if not, write to the Free Software
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
! !
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
!CetegoryOrProtocolSelectDialog methodsFor:'accessing - private'!
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
matchingObjectForString: aString
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    "Creates a new object from given string. Called only when
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
     #canCreateMatchingObjectFromString: returns true"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    ^ aString asSymbol
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    "Created: / 23-06-2014 / 15:25:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
! !
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
!CetegoryOrProtocolSelectDialog methodsFor:'accessing-defaults'!
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
defaultTitle
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    "raise an error: must be redefined in concrete subclass(es)"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    ^ self subclassResponsibility
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
! !
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
!CetegoryOrProtocolSelectDialog methodsFor:'queries'!
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
canCreateMatchingObjectFromString:string 
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    "Return true, a new object can be created with given string value"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ^ string notEmptyOrNil
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    "Created: / 23-06-2014 / 15:15:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    "Modified: / 10-01-2015 / 13:36:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
! !
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
!CetegoryOrProtocolSelectDialog methodsFor:'searching'!
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
matchingObjectPOsForPattern:arg1 relax:arg2
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    "raise an error: must be redefined in concrete subclass(es)"
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    ^ self subclassResponsibility
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
! !
9a58acda666b Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92