BookmarkMenuBuilder.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 14 Jun 2018 22:19:39 +0100
branchjv
changeset 18227 d25a407ba86d
parent 15566 184cea584be5
permissions -rw-r--r--
Mini testrunner: show "green" if there's at least one pass and rest is pass or skip This is more meaningfull result then showing "gray" if there's at least one skip.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10087
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
10087
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
     6
 obtaining a copy of this software and associated documentation
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
     7
 files (the 'Software'), to deal in the Software without
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
     8
 restriction, including without limitation the rights to use,
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    10
 copies of the Software, and to permit persons to whom the
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    11
 Software is furnished to do so, subject to the following
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    12
 conditions:
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    13
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    14
 The above copyright notice and this permission notice shall be
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    15
 included in all copies or substantial portions of the Software.
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    16
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
15339
21d3090c5ca8 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 14580
diff changeset
    28
"{ NameSpace: Smalltalk }"
21d3090c5ca8 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 14580
diff changeset
    29
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
BookmarkVisitor subclass:#BookmarkMenuBuilder
10281
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
    31
	instanceVariableNames:'resources menu stack toolbar'
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	classVariableNames:''
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	poolDictionaries:''
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	category:'Interface-Bookmarks'
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!BookmarkMenuBuilder class methodsFor:'documentation'!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
copyright
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
"
10087
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    41
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    43
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    45
 obtaining a copy of this software and associated documentation
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    46
 files (the 'Software'), to deal in the Software without
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    47
 restriction, including without limitation the rights to use,
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    49
 copies of the Software, and to permit persons to whom the
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    50
 Software is furnished to do so, subject to the following
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    51
 conditions:
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
10087
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    53
 The above copyright notice and this permission notice shall be
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    54
 included in all copies or substantial portions of the Software.
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    55
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
f03acff3d7cb copyright
Claus Gittinger <cg@exept.de>
parents: 9968
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
! !
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!BookmarkMenuBuilder class methodsFor:'instance creation'!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
new
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    "return an initialized instance"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    ^ self basicNew initialize.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
! !
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!BookmarkMenuBuilder methodsFor:'accessing'!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
menu
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    ^ menu
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    "Created: / 23-05-2011 / 10:43:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10281
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
    82
!
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
    83
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
    84
resources:something
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
    85
    resources := something.
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
! !
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
!BookmarkMenuBuilder methodsFor:'initialization'!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
initialize
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    menu := Menu new.
10296
020772a7653e BookmarkMenuBuilder>>initialize: initialize resources to empty one
vrany
parents: 10281
diff changeset
    93
    stack := Stack with: menu.
020772a7653e BookmarkMenuBuilder>>initialize: initialize resources to empty one
vrany
parents: 10281
diff changeset
    94
    resources := ResourcePack new.
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    "/ super initialize.   -- commented since inherited method does nothing
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
10296
020772a7653e BookmarkMenuBuilder>>initialize: initialize resources to empty one
vrany
parents: 10281
diff changeset
    98
    "Modified: / 08-07-2011 / 13:49:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
! !
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!BookmarkMenuBuilder methodsFor:'utilities'!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
menuItemAddBookmark:anObject 
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    ^self menuItemAddBookmark:anObject labeled:'Add Bookmark Here'.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    "Modified: / 21-06-2011 / 08:00:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10281
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   109
    "Modified: / 08-07-2011 / 11:39:31 / cg"
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
menuItemAddBookmark:anObject labeled: label
14580
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   113
    ^ (MenuItem 
13435
79039118e099 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 10912
diff changeset
   114
        label:(resources string:label)
79039118e099 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 10912
diff changeset
   115
        itemValue:#menuAddBookmarkTo:
14580
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   116
        argument:anObject)
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   117
        translateLabel:false.
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
    "Created: / 21-06-2011 / 07:59:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10281
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   120
    "Modified: / 08-07-2011 / 11:39:40 / cg"
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
10547
1003e0421fcf category of: #menuItemFolder:
Claus Gittinger <cg@exept.de>
parents: 10296
diff changeset
   123
menuItemFolder: folder
1003e0421fcf category of: #menuItemFolder:
Claus Gittinger <cg@exept.de>
parents: 10296
diff changeset
   124
14580
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   125
    ^ (MenuItem 
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   126
        label:folder label)
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   127
        translateLabel:false.
10547
1003e0421fcf category of: #menuItemFolder:
Claus Gittinger <cg@exept.de>
parents: 10296
diff changeset
   128
1003e0421fcf category of: #menuItemFolder:
Claus Gittinger <cg@exept.de>
parents: 10296
diff changeset
   129
    "Created: / 21-06-2011 / 08:08:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1003e0421fcf category of: #menuItemFolder:
Claus Gittinger <cg@exept.de>
parents: 10296
diff changeset
   130
!
1003e0421fcf category of: #menuItemFolder:
Claus Gittinger <cg@exept.de>
parents: 10296
diff changeset
   131
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
menuItemGotoBookmark:anObject 
13435
79039118e099 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 10912
diff changeset
   133
    |icon label|
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
    label := anObject label.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    icon := anObject icon.
10912
Claus Gittinger <cg@exept.de>
parents: 10547
diff changeset
   137
    icon notNil ifTrue:[ label := LabelAndIcon label:label icon:icon ].
15339
21d3090c5ca8 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 14580
diff changeset
   138
    ^ (MenuItem
14580
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   139
        label:label
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   140
        itemValue:#switchToBookmarkEntry:
d4cdd1932bf0 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 13435
diff changeset
   141
        argument:anObject)
15341
a0f2dd10916b class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 15339
diff changeset
   142
            activeHelpKey:(anObject flyByHelpText);
15339
21d3090c5ca8 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 14580
diff changeset
   143
            translateLabel:false.
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    "Created: / 21-06-2011 / 07:55:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10912
Claus Gittinger <cg@exept.de>
parents: 10547
diff changeset
   146
    "Modified: / 29-11-2011 / 11:21:20 / cg"
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
! !
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
!BookmarkMenuBuilder methodsFor:'visiting'!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
10281
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   151
buildMenuFor: anObject
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   152
    ^ self
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   153
        visit: anObject;
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   154
        menu
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   155
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   156
    "Created: / 02-06-2011 / 21:52:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   157
    "Created: / 08-07-2011 / 11:37:42 / cg"
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   158
!
4ed3150525d8 changed:
Claus Gittinger <cg@exept.de>
parents: 10087
diff changeset
   159
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
visitBookmark:anObject 
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    |item|
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    item := self menuItemGotoBookmark:anObject.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    stack top addItem:item
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    "Created: / 23-05-2011 / 10:42:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    "Modified: / 21-06-2011 / 07:55:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
visitFolder:anObject 
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    |item submenu|
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
    anObject parent isNil 
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
        ifTrue:[ anObject children ? #() do:[:child | self visit:child ] ]
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
        ifFalse:
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
            [ item := self menuItemFolder: anObject.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
            stack top addItem:item.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
            submenu := Menu new.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
            item submenu:submenu.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
            stack push:submenu.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
            anObject children ? #() do:[:child | self visit:child ].
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
            stack top hasItems ifTrue:[ stack top addSeparator ].
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
            item := self menuItemAddBookmark:anObject.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
            stack top addItem:item.
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
            stack pop ].
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
    "Created: / 23-05-2011 / 10:38:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
    "Modified: / 21-06-2011 / 08:08:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
visitSeparator:anObject
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    stack top addItem: MenuItem separator
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
    "Created: / 03-06-2011 / 13:41:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
! !
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
!BookmarkMenuBuilder class methodsFor:'documentation'!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
15341
a0f2dd10916b class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 15339
diff changeset
   200
version
a0f2dd10916b class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 15339
diff changeset
   201
    ^ '$Header: /cvs/stx/stx/libtool/BookmarkMenuBuilder.st,v 1.10 2015-02-20 15:37:15 cg Exp $'
a0f2dd10916b class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 15339
diff changeset
   202
!
a0f2dd10916b class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 15339
diff changeset
   203
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
version_CVS
15341
a0f2dd10916b class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 15339
diff changeset
   205
    ^ '$Header: /cvs/stx/stx/libtool/BookmarkMenuBuilder.st,v 1.10 2015-02-20 15:37:15 cg Exp $'
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
!
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
version_SVN
15341
a0f2dd10916b class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 15339
diff changeset
   209
    ^ '$Id: BookmarkMenuBuilder.st,v 1.10 2015-02-20 15:37:15 cg Exp $'
9968
07185068e8ec initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
! !
13435
79039118e099 class: BookmarkMenuBuilder
Claus Gittinger <cg@exept.de>
parents: 10912
diff changeset
   211