author | Jan Vrany <jan.vrany@labware.com> |
Thu, 01 Jun 2023 20:20:33 +0100 | |
changeset 1149 | 33f8a8571e92 |
parent 881 | 9a58acda666b |
permissions | -rw-r--r-- |
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 |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
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
|
6 |
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
|
7 |
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
|
8 |
version 2.1 of the License. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
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
|
11 |
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
|
12 |
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
|
13 |
Lesser General Public License for more details. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
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
|
16 |
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
|
17 |
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
|
18 |
" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
"{ Package: 'stx:goodies/smallsense' }" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
"{ NameSpace: SmallSense }" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
CetegoryOrProtocolSelectDialog subclass:#CategorySelectDialog |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
instanceVariableNames:'' |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
classVariableNames:'' |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
poolDictionaries:'' |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
category:'SmallSense-Core-Interface-Search' |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
! |
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 |
!CategorySelectDialog class methodsFor:'documentation'! |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
copyright |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
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
|
35 |
Copyright (C) 2013-2015 Jan Vrany |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
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
|
38 |
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
|
39 |
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
|
40 |
version 2.1 of the License. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
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
|
43 |
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
|
44 |
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
|
45 |
Lesser General Public License for more details. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
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
|
48 |
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
|
49 |
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
|
50 |
" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
! ! |
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 |
!CategorySelectDialog class methodsFor:'startup-web applications'! |
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 |
initialPageSpec |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
"this is only required for web-applications" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
^ self shouldImplement |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
! |
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 |
pageSpecs |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
"this is only required for web-applications" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
^ self shouldImplement |
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 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
!CategorySelectDialog methodsFor:'accessing-defaults'! |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
defaultTitle |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
^ (resources string: 'Select Protocol...') |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
"Modified: / 01-08-2015 / 05:58:45 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
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 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
!CategorySelectDialog methodsFor:'searching'! |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
matchingObjectPOsForPattern:pattern relax: level |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
| environment categories | |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
environment := self environment. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
categories := Set new. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
environment allClassesDo:[ :cls | |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
| category | |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
category := cls category. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
(category notNil |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
and: [ (filter isNil or:[filter value: category]) |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
and: [ pattern isNil or:[pattern match: category relax: level] ] ]) ifTrue:[ |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
categories add: cls category |
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 |
]. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
categories := categories asArray. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
categories sort: [ :a :b | a < b ]. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
^ categories collect:[ :e | PluggablePO new label: e; subject: e ]. |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
|
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
"Created: / 13-12-2014 / 08:42:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
"Modified: / 13-12-2014 / 12:55:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
! ! |
9a58acda666b
Introduced CategorySelectDialog for selecting class category
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |