author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 13 Nov 2017 22:26:12 -0300 | |
changeset 1060 | af3a048f9618 |
parent 833 | 297eb38e4eee |
child 1072 | a44c741ee5ef |
permissions | -rw-r--r-- |
828 | 1 |
" |
2 |
A custom code generation and refactoring support for Smalltalk/X |
|
3 |
Copyright (C) 2013-2015 Jakub Nesveda |
|
4 |
Copyright (C) 2013-now Jan Vrany |
|
5 |
||
6 |
This library is free software; you can redistribute it and/or |
|
7 |
modify it under the terms of the GNU Lesser General Public |
|
8 |
License as published by the Free Software Foundation; either |
|
9 |
version 2.1 of the License. |
|
10 |
||
11 |
This library is distributed in the hope that it will be useful, |
|
12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
14 |
Lesser General Public License for more details. |
|
15 |
||
16 |
You should have received a copy of the GNU Lesser General Public |
|
17 |
License along with this library; if not, write to the Free Software |
|
18 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
19 |
" |
|
833
297eb38e4eee
Package jn:refactoring_custom renamed to stx:goodies/smallsense/refactoring_custom
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
830
diff
changeset
|
20 |
"{ Package: 'stx:goodies/smallsense/refactoring_custom' }" |
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
|
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
22 |
"{ NameSpace: SmallSense }" |
803
95cdac772759
Fixed failing tests caused by new STX release
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
796
diff
changeset
|
23 |
|
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
Object subclass:#CustomMenuBuilder |
795
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
25 |
instanceVariableNames:'perspective menu submenuLabel afterMenuItemLabelled |
809
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
26 |
generatorOrRefactoringFilter resources navigationState manager |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
27 |
errorPrinter' |
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
classVariableNames:'' |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
poolDictionaries:'' |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
category:'Interface-Refactoring-Custom-UI' |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
! |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
33 |
!CustomMenuBuilder class methodsFor:'documentation'! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
34 |
|
828 | 35 |
copyright |
36 |
" |
|
37 |
A custom code generation and refactoring support for Smalltalk/X |
|
38 |
Copyright (C) 2013-2015 Jakub Nesveda |
|
39 |
Copyright (C) 2013-now Jan Vrany |
|
40 |
||
41 |
This library is free software; you can redistribute it and/or |
|
42 |
modify it under the terms of the GNU Lesser General Public |
|
43 |
License as published by the Free Software Foundation; either |
|
44 |
version 2.1 of the License. |
|
45 |
||
46 |
This library is distributed in the hope that it will be useful, |
|
47 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
48 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
49 |
Lesser General Public License for more details. |
|
50 |
||
51 |
You should have received a copy of the GNU Lesser General Public |
|
52 |
License along with this library; if not, write to the Free Software |
|
53 |
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
54 |
" |
|
55 |
! |
|
56 |
||
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
57 |
documentation |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
58 |
" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
59 |
Injects menu item with submenu filled with generators or refactorings to the given menu. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
60 |
Basically helps to extend system browser (NewSystemBrowser) context menu (for example |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
61 |
the menu which pop-ups after right-click on the class list). |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
62 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
63 |
[author:] |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
64 |
Jakub Nesveda <nesvejak@fit.cvut.cz> |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
65 |
" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
66 |
! ! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
67 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
68 |
!CustomMenuBuilder class methodsFor:'instance creation'! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
69 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
70 |
new |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
71 |
"return an initialized instance" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
72 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
73 |
^ self basicNew initialize. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
74 |
! ! |
772
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
75 |
|
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
!CustomMenuBuilder class methodsFor:'building'! |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
|
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
78 |
buildMenuForContext:context filter: filter |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
79 |
^ self new buildMenuForContext:context filter: filter |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
80 |
|
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
81 |
"Created: / 26-08-2014 / 10:12:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
628
6f639016753b
Sort generators or refactorings by their group.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
626
diff
changeset
|
82 |
! ! |
6f639016753b
Sort generators or refactorings by their group.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
626
diff
changeset
|
83 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
84 |
!CustomMenuBuilder methodsFor:'accessing'! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
85 |
|
795
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
86 |
afterMenuItemLabelled |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
87 |
"Returns menu item label after which will be placed |
795
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
88 |
new menu item with generators or refactorings" |
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
89 |
|
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
90 |
^ afterMenuItemLabelled |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
91 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
92 |
"Modified (comment): / 28-12-2014 / 23:22:55 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
93 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
94 |
|
795
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
95 |
afterMenuItemLabelled:aLabel |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
96 |
"see afterMenuItemLabeled" |
795
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
97 |
|
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
98 |
afterMenuItemLabelled := aLabel |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
99 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
100 |
"Modified (comment): / 28-12-2014 / 23:20:31 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
101 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
102 |
|
809
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
103 |
errorPrinter |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
104 |
"Returns printer (like Transcript) which should print/show errors while menu building. |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
105 |
Better to print errors silently than destroy IDE functionality with recurring errors." |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
106 |
|
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
107 |
^ errorPrinter |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
108 |
|
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
109 |
"Modified (comment): / 01-02-2015 / 19:38:14 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
110 |
! |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
111 |
|
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
112 |
errorPrinter: aPrinter |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
113 |
"see errorPrinter" |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
114 |
|
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
115 |
errorPrinter := aPrinter. |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
116 |
|
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
117 |
"Modified (comment): / 01-02-2015 / 19:38:59 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
118 |
! |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
119 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
120 |
generatorOrRefactoringFilter |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
121 |
"Returns one argument block which is used to filter generators or refactorings" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
122 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
123 |
^ generatorOrRefactoringFilter |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
124 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
125 |
"Modified (comment): / 28-12-2014 / 23:23:59 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
126 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
127 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
128 |
generatorOrRefactoringFilter: aOneArgBlock |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
129 |
"see generatorOrRefactoringFilter" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
130 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
131 |
generatorOrRefactoringFilter := aOneArgBlock |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
132 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
133 |
"Modified (comment): / 28-12-2014 / 23:25:34 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
134 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
135 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
136 |
groupsSortBlock |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
137 |
"Returns a block used to sort generator or refactoring groups" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
138 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
139 |
^ [ :a :b | |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
140 |
a size = b size ifTrue: [ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
141 |
| i | |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
142 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
143 |
i := 1. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
144 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
145 |
[ i < a size and: [ (a at:i) = (b at:i) ] ] whileTrue: [ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
146 |
i := i + 1 |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
147 |
]. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
148 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
149 |
(a at:i) < (b at:i) |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
150 |
] ifFalse: [ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
151 |
a size < b size |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
152 |
] |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
153 |
] |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
154 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
155 |
"Created: / 28-12-2014 / 20:56:43 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
156 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
157 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
158 |
manager |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
159 |
"Returns generator or refactoring manager which is used to access them. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
160 |
See CustomManager for more details." |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
161 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
162 |
^ manager |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
163 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
164 |
"Modified (comment): / 28-12-2014 / 23:26:48 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
165 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
166 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
167 |
manager: aManager |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
168 |
"see manager" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
169 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
170 |
manager := aManager |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
171 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
172 |
"Modified (comment): / 28-12-2014 / 23:27:10 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
173 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
174 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
175 |
menu |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
176 |
"Returns menu (instance of class Menu) in which is created new |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
177 |
menu item with submenu filled with generators or refactorings" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
178 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
179 |
^ menu |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
180 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
181 |
"Modified (comment): / 28-12-2014 / 23:28:28 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
182 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
183 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
184 |
menu: aMenu |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
185 |
"see menu" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
186 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
187 |
menu := aMenu |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
188 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
189 |
"Modified (comment): / 28-12-2014 / 23:28:51 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
190 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
191 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
192 |
navigationState |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
193 |
"see Tools::NavigationState" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
194 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
195 |
^ navigationState |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
196 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
197 |
"Modified (comment): / 28-12-2014 / 23:29:30 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
198 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
199 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
200 |
navigationState: aNavigationState |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
201 |
"see Tools::NavigationState" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
202 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
203 |
navigationState := aNavigationState |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
204 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
205 |
"Created: / 28-12-2014 / 10:09:12 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
206 |
"Modified (comment): / 28-12-2014 / 23:29:54 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
207 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
208 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
209 |
perspective |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
210 |
"see CustomPerspective" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
211 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
212 |
^ perspective |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
213 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
214 |
"Modified (comment): / 28-12-2014 / 23:30:10 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
215 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
216 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
217 |
perspective: aCustomPerspective |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
218 |
"see CustomPerspective" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
219 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
220 |
perspective := aCustomPerspective |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
221 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
222 |
"Modified (comment): / 28-12-2014 / 23:30:32 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
223 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
224 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
225 |
resources |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
226 |
"Used to translate menu labels (resources string:)" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
227 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
228 |
^ resources |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
229 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
230 |
"Modified (comment): / 28-12-2014 / 23:31:49 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
231 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
232 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
233 |
resources: someResources |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
234 |
"see resources" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
235 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
236 |
resources := someResources |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
237 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
238 |
"Modified (comment): / 28-12-2014 / 23:32:37 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
239 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
240 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
241 |
submenuLabel |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
242 |
"Returns label of menu item which contains submenu with generators or refactorings" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
243 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
244 |
^ submenuLabel |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
245 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
246 |
"Modified (comment): / 28-12-2014 / 23:33:38 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
247 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
248 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
249 |
submenuLabel: aLabel |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
250 |
"see submenuLabel" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
251 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
252 |
submenuLabel := aLabel |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
253 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
254 |
"Modified (comment): / 28-12-2014 / 23:33:54 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
255 |
! ! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
256 |
|
628
6f639016753b
Sort generators or refactorings by their group.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
626
diff
changeset
|
257 |
!CustomMenuBuilder methodsFor:'building'! |
6f639016753b
Sort generators or refactorings by their group.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
626
diff
changeset
|
258 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
259 |
buildMenu |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
260 |
| item context submenuChannel | |
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
261 |
|
796
1e98cf455d2d
More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
795
diff
changeset
|
262 |
(menu isNil or: [ perspective isNil ]) ifTrue: [ |
1e98cf455d2d
More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
795
diff
changeset
|
263 |
self error: 'Attributes named menu and perspective are required.' |
1e98cf455d2d
More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
795
diff
changeset
|
264 |
]. |
1e98cf455d2d
More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
795
diff
changeset
|
265 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
266 |
item := MenuItem label: (resources string: submenuLabel). |
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
267 |
context := SmallSense::CustomBrowserContext |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
268 |
perspective: perspective |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
269 |
state: navigationState. |
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
270 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
271 |
submenuChannel := [ self buildMenuForContext: context filter: generatorOrRefactoringFilter ]. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
272 |
"Do not show empty context menu" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
273 |
submenuChannel value hasItems ifTrue: [ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
274 |
item submenuChannel: submenuChannel. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
275 |
self |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
276 |
placeMenuItem: item |
795
944c5812e702
Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
791
diff
changeset
|
277 |
afterMenuItemLabeled: afterMenuItemLabelled |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
278 |
forMenu: menu |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
279 |
] |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
280 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
281 |
"Created: / 27-12-2014 / 17:20:05 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
796
1e98cf455d2d
More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
795
diff
changeset
|
282 |
"Modified: / 04-01-2015 / 15:57:03 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
283 |
"Modified: / 11-05-2015 / 09:07:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
284 |
! |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
285 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
286 |
buildMenuForContext: context filter: filter |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
287 |
| submenu generatorsAndRefactorings groups groupsMap | |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
288 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
289 |
submenu := Menu new. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
290 |
generatorsAndRefactorings := manager generatorsAndRefactoringsSelect: [ :generatorOrRefactoring | |
809
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
291 |
[ (generatorOrRefactoring availableInPerspective: context perspective) |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
292 |
and: [ filter value: generatorOrRefactoring ] |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
293 |
and: [ generatorOrRefactoring availableForProgrammingLanguagesInContext: context ] |
809
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
294 |
and: [ generatorOrRefactoring label notNil ] |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
295 |
] on: Error do: [ :error | |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
296 |
errorPrinter showCR: 'An error occured when selecting code generators/refactorings.'. |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
297 |
errorPrinter showCR: 'Class: ', generatorOrRefactoring name, ' Error: ', error asString. |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
298 |
false |
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
299 |
]. |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
300 |
]. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
301 |
|
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
302 |
"/ Now, group them by group. |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
303 |
groupsMap := Dictionary new. |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
304 |
groups := OrderedCollection new. |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
305 |
generatorsAndRefactorings do:[:each | |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
306 |
| group | |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
307 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
308 |
group := each group. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
309 |
(groupsMap includesKey: group) ifTrue:[ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
310 |
(groupsMap at: group) add: each. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
311 |
] ifFalse:[ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
312 |
groupsMap at: group put: (OrderedCollection with: each). |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
313 |
groups add: group. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
314 |
]. |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
315 |
]. |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
316 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
317 |
groups sort: self groupsSortBlock. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
318 |
|
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
319 |
groups do:[:name | |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
320 |
| items | |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
321 |
|
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
322 |
items := groupsMap at: name. |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
323 |
items sort:[ :a :b | a label < b label ]. |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
324 |
items do:[:each | |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
325 |
| item | |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
326 |
|
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
327 |
item := MenuItem label: (resources string: each label) |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
328 |
itemValue:[ each executeInContextWithWaitCursor: context ]. |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
329 |
item enabled:[ each availableInContext: context ]. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
330 |
submenu addItem:item. |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
331 |
]. |
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
332 |
] separatedBy:[ |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
333 |
submenu addSeparator. |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
334 |
]. |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
335 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
336 |
^ submenu |
647
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
337 |
|
83c6c207a7f1
More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
628
diff
changeset
|
338 |
"Created: / 26-08-2014 / 10:13:02 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
809
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
339 |
"Modified: / 01-02-2015 / 20:18:02 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
340 |
! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
341 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
342 |
placeMenuItem: aMenuItem afterMenuItemLabeled: aLabel forMenu: aMenu |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
343 |
"Places a menu item after another menu item identified by label |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
344 |
within given menu." |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
345 |
| index | |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
346 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
347 |
index := aMenu indexOfMenuItemForWhich:[:each | each label = aLabel ]. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
348 |
index ~~ 0 ifTrue:[ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
349 |
"Labeled item found" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
350 |
aMenu addItem: aMenuItem beforeIndex: index + 1. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
351 |
] ifFalse:[ |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
352 |
aMenu addItem: aMenuItem. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
353 |
]. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
354 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
355 |
"Created: / 27-12-2014 / 18:45:06 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
356 |
! ! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
357 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
358 |
!CustomMenuBuilder methodsFor:'initialization'! |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
359 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
360 |
initialize |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
361 |
"Invoked when a new instance is created." |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
362 |
|
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
363 |
menu := Menu new. |
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
364 |
submenuLabel := 'Unknown menu label'. |
791
85851bd35faa
Fixed default filter with missing argument in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
790
diff
changeset
|
365 |
generatorOrRefactoringFilter := [ :generatorOrRefactoring | true ]. |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
366 |
resources := self class classResources. |
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
367 |
manager := SmallSense::CustomManager current. |
809
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
368 |
errorPrinter := Transcript |
790
88f2832e656a
Extended CustomMenuBuilder so that it now includes functionality from NewSystemBrowser extensions thus removes the duplication
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
779
diff
changeset
|
369 |
|
809
c7314e2265ca
Print error silently with Transcript rather than destroy IDE usage with raised error when building menu with CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
803
diff
changeset
|
370 |
"Modified: / 01-02-2015 / 19:31:57 / Jakub Nesveda <nesvejak@fit.cvut.cz>" |
830
1a88f5e65fe2
Classes moved to namespace SmallSense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
828
diff
changeset
|
371 |
"Modified: / 11-05-2015 / 09:07:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
506
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
372 |
! ! |
b611cc119554
Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
373 |
|
772
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
374 |
!CustomMenuBuilder class methodsFor:'documentation'! |
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
375 |
|
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
376 |
version_HG |
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
377 |
|
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
378 |
^ '$Changeset: <not expanded> $' |
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
379 |
! ! |
012d73512a98
removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents:
647
diff
changeset
|
380 |