CustomMenuBuilder.st
author Jakub Nesveda <jakubnesveda@seznam.cz>
Sun, 04 Jan 2015 16:00:31 +0100
changeset 796 1e98cf455d2d
parent 795 944c5812e702
child 803 95cdac772759
permissions -rw-r--r--
More error prone CustomMenuBuilder
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
     1
"{ Package: 'jn:refactoring_custom' }"
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Object subclass:#CustomMenuBuilder
795
944c5812e702 Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 791
diff changeset
     4
	instanceVariableNames:'perspective menu submenuLabel 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
     5
		generatorOrRefactoringFilter resources navigationState manager'
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
     6
	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
     7
	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
     8
	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
     9
!
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
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
    11
!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
    12
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
    13
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
    14
"
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
    15
    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
    16
    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
    17
    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
    18
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
    19
    [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
    20
        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
    21
"
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
    22
! !
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
    23
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
    24
!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
    25
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
    26
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
    27
    "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
    28
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
    29
    ^ 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
    30
! !
772
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
    31
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
    32
!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
    33
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
    34
buildMenuForContext:context filter: filter
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
    35
    ^ self new buildMenuForContext:context filter: filter
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
    36
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
    37
    "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
    38
! !
6f639016753b Sort generators or refactorings by their group.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 626
diff changeset
    39
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
    40
!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
    41
795
944c5812e702 Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 791
diff changeset
    42
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
    43
    "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
    44
     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
    45
    
944c5812e702 Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 791
diff changeset
    46
    ^ 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
    47
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
    48
    "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
    49
!
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
    50
795
944c5812e702 Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 791
diff changeset
    51
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
    52
    "see afterMenuItemLabeled"
795
944c5812e702 Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 791
diff changeset
    53
    
944c5812e702 Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 791
diff changeset
    54
    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
    55
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
    56
    "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
    57
!
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
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
    60
    "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
    61
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
    ^ 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
    63
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
    "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
    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
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
    68
    "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
    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
    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
    71
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
    "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
    73
!
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
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
    75
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
    76
    "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
    77
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
    78
    ^ [ :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
    79
        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
    80
            | 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
    81
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
    82
            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
    83
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
            [ 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
    85
                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
    86
            ].
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
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
    88
            (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
    89
        ] 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
    90
            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
    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
    ]
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
    "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
    95
!
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
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
    97
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
    98
    "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
    99
    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
   100
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
    ^ 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
   102
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
   103
    "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
   104
!
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
   105
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
   106
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
   107
    "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
   108
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
   109
    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
   110
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
   111
    "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
   112
!
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
   113
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
   114
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
   115
    "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
   116
    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
   117
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
   118
    ^ 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
   119
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
    "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
   121
!
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
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
   124
    "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
   125
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
    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
   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
    "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
   129
!
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
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
   132
    "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
   133
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
    ^ 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
   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
    "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
   137
!
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
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
   140
    "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
   141
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
    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
   143
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
    "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
   145
    "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
   146
!
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
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
   149
    "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
   150
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
    ^ 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
   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
    "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
   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
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
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
   157
    "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
   158
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
    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
   160
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
    "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
   162
!
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
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
   165
    "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
   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
    ^ 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
   168
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
    "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
   170
!
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
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
   173
    "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
   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
    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
   176
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
    "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
   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
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
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
   181
    "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
   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
    ^ 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
   184
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
    "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
   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
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
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
   189
    "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
   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
    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
   192
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
    "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
   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
628
6f639016753b Sort generators or refactorings by their group.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 626
diff changeset
   196
!CustomMenuBuilder methodsFor:'building'!
6f639016753b Sort generators or refactorings by their group.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 626
diff changeset
   197
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
   198
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
   199
    | 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
   200
796
1e98cf455d2d More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 795
diff changeset
   201
    (menu isNil or: [ perspective isNil ]) ifTrue: [ 
1e98cf455d2d More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 795
diff changeset
   202
        self error: 'Attributes named menu and perspective are required.'
1e98cf455d2d More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 795
diff changeset
   203
    ].
1e98cf455d2d More error prone CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 795
diff changeset
   204
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
   205
    item := MenuItem label: (resources string: 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
   206
    context := CustomBrowserContext 
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
                    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
   208
                    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
   209
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
   210
    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
   211
    "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
   212
    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
   213
        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
   214
        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
   215
            placeMenuItem: item 
795
944c5812e702 Fixed typo in CustomMenuBuilder - rename afterMenuItemLabeled to afterMenuItemLabelled
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 791
diff changeset
   216
            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
   217
            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
   218
    ]
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
    "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
   221
    "Modified: / 04-01-2015 / 15:57:03 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   222
!
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   223
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
   224
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
   225
    | submenu generatorsAndRefactorings groups groupsMap |
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   226
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
   227
    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
   228
    generatorsAndRefactorings := manager generatorsAndRefactoringsSelect: [ :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
   229
        (generatorOrRefactoring availableInPerspective: context 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
   230
            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
   231
            and: [ generatorOrRefactoring availableForProgrammingLanguagesInContext: 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
   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
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   234
    "/ Now, group them by group.
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   235
    groupsMap := Dictionary new.
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   236
    groups := OrderedCollection new.
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   237
    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
   238
        | group |
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   239
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
   240
        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
   241
        (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
   242
            (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
   243
        ] 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
   244
            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
   245
            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
   246
        ].
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   247
    ].
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
   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
    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
   250
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   251
    groups do:[:name |  
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   252
        | items |
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   253
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   254
        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
   255
        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
   256
        items do:[:each | 
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   257
            | item |
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
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
            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
   260
                    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
   261
            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
   262
            submenu addItem:item.
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   263
        ].
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   264
    ] 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
   265
        submenu addSeparator.
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   266
    ].
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
   267
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
    ^ submenu
647
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   269
83c6c207a7f1 More menu extensions in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 628
diff changeset
   270
    "Created: / 26-08-2014 / 10:13:02 / Jan Vrany <jan.vrany@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
   271
    "Modified (format): / 28-12-2014 / 23:19:40 / 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
   272
!
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
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
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
   275
    "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
   276
    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
   277
    | 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
   278
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
    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
   280
    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
   281
        "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
   282
        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
   283
    ] 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
   284
        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
   285
    ].
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
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
    "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
   288
! !
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
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
!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
   291
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
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
   293
    "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
   294
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
   295
    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
   296
    submenuLabel := 'Unknown menu label'.
791
85851bd35faa Fixed default filter with missing argument in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 790
diff changeset
   297
    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
   298
    resources := self class classResources.
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
   299
    manager := CustomManager current.
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
791
85851bd35faa Fixed default filter with missing argument in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 790
diff changeset
   301
    "Modified (format): / 29-12-2014 / 09:34:39 / Jakub Nesveda <nesvejak@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
   302
! !
b611cc119554 Added support for custom menu building and injecting into class browser's menus.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   303
772
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   304
!CustomMenuBuilder class methodsFor:'documentation'!
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   305
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   306
version_HG
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   307
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   308
    ^ '$Changeset: <not expanded> $'
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   309
! !
012d73512a98 removed duplicate code in CustomMenuBuilder
Jakub Nesveda <jakubnesveda@seznam.cz>
parents: 647
diff changeset
   310