Bookmark.st
author Claus Gittinger <cg@exept.de>
Sun, 03 Jul 2011 23:48:09 +0200
changeset 10116 29988c516594
parent 10083 005624cd8065
child 10260 e9f7fdd41d3d
permissions -rw-r--r--
classnamed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
10083
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
     3
 Copyright (c) 2009-2010 eXept Software AG
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
10083
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
     5
 Permission is hereby granted, free of charge, to any person
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
     6
 obtaining a copy of this software and associated documentation
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
     7
 files (the 'Software'), to deal in the Software without
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
     8
 restriction, including without limitation the rights to use,
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
     9
 copy, modify, merge, publish, distribute, sublicense, and/or sell
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    10
 copies of the Software, and to permit persons to whom the
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    11
 Software is furnished to do so, subject to the following
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    12
 conditions:
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    13
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    14
 The above copyright notice and this permission notice shall be
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    15
 included in all copies or substantial portions of the Software.
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    16
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    17
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    18
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    19
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    20
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    21
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    22
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    23
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    24
 OTHER DEALINGS IN THE SOFTWARE.
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
"{ Package: 'stx:libtool' }"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
HierarchicalItem subclass:#Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	instanceVariableNames:'label icon'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	category:'Interface-Bookmarks'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
Bookmark subclass:#Class
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	instanceVariableNames:'className'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	privateIn:Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
Bookmark subclass:#File
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	instanceVariableNames:'path'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	privateIn:Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
Bookmark subclass:#Folder
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	instanceVariableNames:'name'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	privateIn:Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
Bookmark subclass:#Method
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	instanceVariableNames:'className selector'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	privateIn:Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
Bookmark::Folder subclass:#Recent
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	instanceVariableNames:'limit'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
	privateIn:Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
Bookmark subclass:#Separator
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
	instanceVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
	privateIn:Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
Bookmark subclass:#URL
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
	instanceVariableNames:'url'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
	classVariableNames:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	poolDictionaries:''
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	privateIn:Bookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
!Bookmark class methodsFor:'documentation'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
copyright
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
"
10083
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    88
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group, Czech Technical University in Prague
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    89
 Copyright (c) 2009-2010 eXept Software AG
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    90
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    91
 Permission is hereby granted, free of charge, to any person
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    92
 obtaining a copy of this software and associated documentation
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    93
 files (the 'Software'), to deal in the Software without
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    94
 restriction, including without limitation the rights to use,
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    95
 copy, modify, merge, publish, distribute, sublicense, and/or sell
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    96
 copies of the Software, and to permit persons to whom the
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    97
 Software is furnished to do so, subject to the following
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
    98
 conditions:
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
10083
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   100
 The above copyright notice and this permission notice shall be
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   101
 included in all copies or substantial portions of the Software.
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   102
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   103
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   104
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   105
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   106
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   107
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   108
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   109
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
005624cd8065 copyright
Claus Gittinger <cg@exept.de>
parents: 9975
diff changeset
   110
 OTHER DEALINGS IN THE SOFTWARE.
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
!Bookmark class methodsFor:'instance creation'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
forClass: aClass
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    ^Bookmark::Class new className: aClass name
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
        Bookmark forClass: Collection
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
    "Created: / 05-05-2011 / 23:05:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
    "Modified: / 23-05-2011 / 13:51:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
forClass: class selector: selector
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    ^Bookmark::Method new className: class name selector: selector
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
        Bookmark forMethod: Bookmark class >> #forMethod:
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    "Created: / 02-06-2011 / 23:21:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
forFile: aStringOrFilename
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    ^Bookmark::File new path: aStringOrFilename asString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
        Bookmark forFile: '/etc/passwd'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    "Created: / 20-06-2011 / 22:07:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
forFolderNamed: aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
    ^Bookmark::Folder new name: aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
        Bookmark forClass: Collection
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    "Created: / 23-05-2011 / 10:02:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
forMethod: aMethod
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
    ^Bookmark::Method new className: aMethod mclass name selector: aMethod selector
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
        Bookmark forMethod: Bookmark class >> #forMethod:
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    "Created: / 05-05-2011 / 23:05:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
    "Modified: / 23-05-2011 / 13:49:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
forRecent
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
    ^Bookmark::Recent new
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
        Bookmark forRecent
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
    "Created: / 03-06-2011 / 10:50:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
forUrl: url label: label
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    ^Bookmark::URL new url: url; label: label
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
        Bookmark forClass: Collection
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    "Created: / 08-06-2011 / 12:44:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
separator
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
    ^Bookmark::Separator new
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
        Bookmark forRecent
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    "
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    "Created: / 03-06-2011 / 13:39:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
!Bookmark methodsFor:'accessing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
/ label
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
    self do:[:e|e label = label ifTrue:[^e]].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    self error:'No child with label ''' , label , ''''.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
    "Created: / 21-06-2011 / 08:49:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
icon
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
    "superclass BookmarkEntry says that I am responsible to implement this method"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
    icon ifNil:[ self initializeIcon ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    ^ icon
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
    "Created: / 05-05-2011 / 22:52:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
label
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
    "superclass BookmarkEntry says that I am responsible to implement this method"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
    
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
    label ifNil:[ self initializeLabel ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    ^label 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
        ifNil:[ self defaultLabel ]
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
        ifNotNil: [ label ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
    "Created: / 05-05-2011 / 22:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
    "Modified: / 02-06-2011 / 11:56:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
label: aStringOrText
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    label := aStringOrText.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    self model changed:  #label with: self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
    "Created: / 02-06-2011 / 23:13:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
    "Modified: / 03-06-2011 / 10:46:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
!Bookmark methodsFor:'accessing defaults'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
defaultLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
    self subclassResponsibility
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
    "Created: / 02-06-2011 / 11:56:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
!Bookmark methodsFor:'basic adding & removing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
basicAddAll:aList beforeIndex:anIndex
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    aList do:[:each|each parent: self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
    ^super basicAddAll:aList beforeIndex:anIndex
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
    "Created: / 23-05-2011 / 14:10:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
basicRemoveFromIndex:startIndex toIndex:stopIndex 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
    "remove the children from startIndex up to and including
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
     the child under stopIndex."
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
    
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    |model notify 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
     index  "{ Class:SmallInteger }"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
     start  "{ Class:SmallInteger }"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
     stop   "{ Class:SmallInteger }"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
     size   "{ Class:SmallInteger }"|
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    size := self children size.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
    stop := stopIndex.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
    start := startIndex.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
    (stop <= size and:[ start between:1 and:stop ]) 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
        ifFalse:[ ^ self subscriptBoundsError:index ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
    start == 1 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
        ifTrue:[ notify := self ]
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
        ifFalse:
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
            [ stop == size 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
                ifTrue:[ notify := self at:(start - 1) ]
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
                ifFalse:[ notify := nil ] ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
    (model := self model) notNil 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
        ifTrue:
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
            [ index := model identityIndexOf:(children at:start).
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
            size := stop - start + 1. ]
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
        ifFalse:[ index := 0 ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    children 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
        from:start
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
        to:stop
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
        do:
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
            [:aChild | 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
            index ~~ 0 ifTrue:[ size := size + aChild numberOfVisibleChildren ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
            aChild parent:nil ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
    children removeFromIndex:start toIndex:stop.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
    index ~~ 0 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
        ifTrue:[ model itemRemoveFromIndex:index toIndex:(index + size - 1) ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
    notify notNil ifTrue:[ notify changed ].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
    "Created: / 23-05-2011 / 16:21:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
!Bookmark methodsFor:'change & update'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
changed: aspect with: param
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
    | model |
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
    super changed: aspect with: param.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
    (model := self model) notNil ifTrue:
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
        [model changed: aspect with: param].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
    "Created: / 23-05-2011 / 16:22:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
!Bookmark methodsFor:'converting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
asMenu
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
    ^self asMenuUsingBuilder: BookmarkToolbarMenuBuilder
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    "Created: / 23-05-2011 / 10:32:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
    "Modified: / 21-06-2011 / 08:05:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
asMenuUsingBuilder: builderClass
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    ^builderClass buildMenuFor: self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    "Created: / 21-06-2011 / 08:04:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
!Bookmark methodsFor:'encoding & decoding'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
skippedInLiteralEncoding
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
    ^#(parent isExpanded height width icon)
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
    "Created: / 05-05-2011 / 23:08:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    "Modified: / 02-06-2011 / 22:56:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
!Bookmark methodsFor:'navigation'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
switchToBookmarkIn: application
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
    application switchToBookmarkEntry: application
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    "Created: / 05-05-2011 / 23:47:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
!Bookmark methodsFor:'printing & storing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
printOn:aStream
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
    "append a printed representation if the receiver to the argument, aStream"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
    aStream nextPutAll:'BKM['.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    self label printOn: aStream.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
    aStream nextPut: $]
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
    "Modified: / 02-06-2011 / 11:08:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
!Bookmark methodsFor:'private'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
initializeIcon
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
    "Created: / 05-05-2011 / 22:57:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
initializeLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
    label := '--------'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    "Created: / 05-05-2011 / 22:56:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
    "Modified: / 03-06-2011 / 13:45:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
!Bookmark methodsFor:'testing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
isClassBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
    ^false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    "Created: / 05-05-2011 / 23:44:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
isFileBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
    ^false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
    "Created: / 20-06-2011 / 23:40:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
isFolderBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
    ^false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
    "Created: / 23-05-2011 / 09:59:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
isMethodBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
    ^false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
    "Created: / 05-05-2011 / 23:44:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
isRecentBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    ^false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
    "Created: / 03-06-2011 / 10:50:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
isURLBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
    ^false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
    "Created: / 20-06-2011 / 23:40:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
!Bookmark::Class methodsFor:'accessing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
className
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
    ^className
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
    "Created: / 05-05-2011 / 23:55:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
    "Modified: / 23-05-2011 / 13:36:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
className:aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
    className := aString.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
!Bookmark::Class methodsFor:'accessing defaults'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
defaultLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
    "superclass Bookmark says that I am responsible to implement this method"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
    ^ 'Some Class...'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
    "Modified: / 02-06-2011 / 11:59:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
!Bookmark::Class methodsFor:'comparing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
= another
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
    ^(self class = another class) 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
        and:[className = another className]
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
    "Created: / 05-05-2011 / 23:33:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
    "Modified: / 23-05-2011 / 13:59:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
hash
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
    ^className hash bitXor: self class hash
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
    "Created: / 05-05-2011 / 23:32:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
    "Modified: / 23-05-2011 / 13:59:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
!Bookmark::Class methodsFor:'navigation'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
switchToBookmarkIn: application
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
    application switchToClass: (Smalltalk at: className) selector: nil updateHistory: false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
    "Created: / 05-05-2011 / 23:49:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
    "Modified: / 23-05-2011 / 13:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
!Bookmark::Class methodsFor:'private'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
initializeIcon
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
    | cls |
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
    cls :=  Smalltalk at: className.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
    cls ifNotNil:[icon := SystemBrowser iconForClass: cls].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
    "Created: / 05-05-2011 / 23:01:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
    "Modified: / 23-05-2011 / 22:17:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
initializeLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
    className ifNil:[^self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
    label := className copyFrom: (className lastIndexOf: $:) + 1
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
    "Created: / 05-05-2011 / 23:03:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
    "Modified: / 02-06-2011 / 11:57:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
!Bookmark::Class methodsFor:'testing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
isClassBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    ^true
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    "Created: / 05-05-2011 / 23:44:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
!Bookmark::Class methodsFor:'visiting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
acceptVisitor:aVisitor 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
    "Double dispatch back to the visitor, passing my type encoded in
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
     the selector (visitor pattern)"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
    "stub code automatically generated - please change if required"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
    ^ aVisitor visitClass:self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
!Bookmark::File methodsFor:'accessing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
initializeLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
    label := path asFilename baseName
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
    "Created: / 20-06-2011 / 22:09:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
path
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
    ^ path
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
path:something
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
    path := something.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
!Bookmark::File methodsFor:'accessing defaults'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
defaultLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
    "superclass Bookmark says that I am responsible to implement this method"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
    ^ 'Some file...'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    "Modified: / 20-06-2011 / 22:08:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
!Bookmark::File methodsFor:'testing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
isFileBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
    ^true
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
    "Created: / 20-06-2011 / 23:40:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
!Bookmark::File methodsFor:'visiting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
acceptVisitor:aVisitor 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
    "Double dispatch back to the visitor, passing my type encoded in
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
     the selector (visitor pattern)"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
    "stub code automatically generated - please change if required"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
    ^ aVisitor visitFile:self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
!Bookmark::Folder methodsFor:'accessing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
initializeIcon
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
    ^ icon := ToolbarIconLibrary directoryOpen22x24Icon1
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
    "Created: / 02-06-2011 / 12:10:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
initializeLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
    "superclass Bookmark says that I am responsible to implement this method"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
    ^ label := self name
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
    "Created: / 23-05-2011 / 14:08:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
    "Modified: / 02-06-2011 / 11:52:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
label
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
    ^self name
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
    "Created: / 02-06-2011 / 11:51:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
label: aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
    self name: aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
    "Created: / 03-06-2011 / 10:45:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
name
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
    ^name ? 'New Folder...'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
    "Created: / 23-05-2011 / 10:02:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
    "Modified: / 02-06-2011 / 11:52:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
name: aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
    name := aString.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
    self model changed:  #label with: self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
    "Created: / 23-05-2011 / 10:02:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
    "Modified: / 03-06-2011 / 10:46:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
!Bookmark::Folder methodsFor:'accessing defaults'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
defaultLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
    "superclass Bookmark says that I am responsible to implement this method"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
    ^ 'New Folder...'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
    "Modified: / 02-06-2011 / 11:58:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
!Bookmark::Folder methodsFor:'testing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
isFolderBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
    ^true
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
    "Created: / 23-05-2011 / 10:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
!Bookmark::Folder methodsFor:'utilities'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
moveDown: child
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
    | index |
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
    index := children identityIndexOf: child.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
    index = children size ifTrue:[^self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
    self removeIndex: index.  
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
    self add: child afterIndex: index.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
    "Created: / 02-06-2011 / 11:04:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
moveIn: child
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
    | index folder |
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
    index := children identityIndexOf: child.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
    index = children size ifTrue:[^self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
    folder := children at: index + 1.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
    folder isFolderBookmark ifFalse:[^self].        
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
    self removeIndex: index. 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
    folder addFirst: child
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
    "Created: / 03-06-2011 / 10:30:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
moveOut: child
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
    | index myindex |
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
    self parent ifNil:[^self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
    index := children identityIndexOf: child.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
    myindex := self parent children identityIndexOf: self.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
    self removeIndex: index. 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
    self parent add: child afterIndex: myindex.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
    "Created: / 03-06-2011 / 10:32:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
moveUp: child
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
    | index |
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
    index := children identityIndexOf: child.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
    index = 1 ifTrue:[^self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    self removeIndex: index. 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
    self add: child beforeIndex: index - 1.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
    "Created: / 02-06-2011 / 11:04:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
!Bookmark::Folder methodsFor:'visiting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
acceptVisitor:aVisitor 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
    "Double dispatch back to the visitor, passing my type encoded in
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
     the selector (visitor pattern)"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
    "stub code automatically generated - please change if required"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
    ^ aVisitor visitFolder:self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
!Bookmark::Method methodsFor:'accessing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
className
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
    ^className
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
    "Created: / 05-05-2011 / 23:55:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
    "Modified: / 23-05-2011 / 13:36:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
className:aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
    className := aString.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
className:classNameArg selector:selectorArg 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
    className := classNameArg.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
    selector := selectorArg.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
selector
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
    ^ selector
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
selector: aSymbol
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
    selector := aSymbol
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
!Bookmark::Method methodsFor:'accessing defaults'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
defaultLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    "superclass Bookmark says that I am responsible to implement this method"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
    ^ 'Some Method...'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
    "Modified: / 02-06-2011 / 11:58:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
!Bookmark::Method methodsFor:'navigation'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
switchToBookmarkIn: application
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
    application 
10116
29988c516594 classnamed
Claus Gittinger <cg@exept.de>
parents: 10083
diff changeset
   740
        switchToClass: (Smalltalk classNamed: className) 
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
        selector: selector 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
        updateHistory: false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
    "Created: / 05-05-2011 / 23:49:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
    "Modified: / 23-05-2011 / 13:38:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10116
29988c516594 classnamed
Claus Gittinger <cg@exept.de>
parents: 10083
diff changeset
   746
    "Modified: / 03-07-2011 / 23:11:03 / cg"
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
!Bookmark::Method methodsFor:'private'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
initializeLabel
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
    className ifNil:[^self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
    selector  ifNil:[^self].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
    label :=
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
        (className copyFrom: ((className lastIndexOf: $:) + 1)) asText allBold ,
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
        ' >> ' , (selector asText "allItalic")
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   760
    "Created: / 05-05-2011 / 23:04:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   761
    "Modified: / 02-06-2011 / 22:00:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   762
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   763
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   764
!Bookmark::Method methodsFor:'testing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   766
isMethodBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
    ^true
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   769
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
    "Created: / 05-05-2011 / 23:44:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
!Bookmark::Method methodsFor:'visiting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
acceptVisitor:aVisitor 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
    "Double dispatch back to the visitor, passing my type encoded in
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
     the selector (visitor pattern)"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
    "stub code automatically generated - please change if required"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
    ^ aVisitor visitMethod:self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
!Bookmark::Recent methodsFor:'accessing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
limit
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   787
    ^ limit ? 15
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
    "Modified: / 03-06-2011 / 10:51:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
limit:something
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
    limit := something.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   795
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   796
!Bookmark::Recent methodsFor:'testing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   797
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   798
isFolderBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   799
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   800
    ^false
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   802
    "Created: / 03-06-2011 / 10:51:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   803
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   804
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   805
isRecentBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   806
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   807
    ^true
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   808
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
    "Created: / 03-06-2011 / 10:51:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
!Bookmark::Recent methodsFor:'visiting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   813
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   814
acceptVisitor:aVisitor 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
    "Double dispatch back to the visitor, passing my type encoded in
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   816
     the selector (visitor pattern)"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   817
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
    "stub code automatically generated - please change if required"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   820
    ^ aVisitor visitRecent:self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   821
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
!Bookmark::Separator methodsFor:'visiting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   824
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
acceptVisitor:aVisitor 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
    "Double dispatch back to the visitor, passing my type encoded in
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   827
     the selector (visitor pattern)"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
    "stub code automatically generated - please change if required"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   831
    ^ aVisitor visitSeparator:self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   832
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   833
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   834
!Bookmark::URL methodsFor:'accessing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   835
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   836
url
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   837
    ^ url
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   838
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   839
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   840
url:aString
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   841
    url := aString.
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   842
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   843
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   844
!Bookmark::URL methodsFor:'comparing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   845
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   846
= another
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   847
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   848
    ^(self class = another class) 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   849
        and:[label = another label
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   850
            and:[url = another url]].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   851
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   852
    "Created: / 08-06-2011 / 15:11:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   853
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   854
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   855
hash
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   856
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   857
    ^label asString hash bitXor:[url hash].
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   858
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   859
    "Created: / 08-06-2011 / 15:10:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   860
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   861
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   862
!Bookmark::URL methodsFor:'testing'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   863
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   864
isURLBookmark
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   865
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   866
    ^true
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   867
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   868
    "Created: / 20-06-2011 / 23:40:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   869
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   870
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   871
!Bookmark::URL methodsFor:'visiting'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   872
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   873
acceptVisitor:aVisitor 
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   874
    "Double dispatch back to the visitor, passing my type encoded in
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   875
     the selector (visitor pattern)"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   876
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   877
    "stub code automatically generated - please change if required"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   878
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   879
    ^ aVisitor visitURL:self
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   880
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   881
    "Modified: / 16-06-2011 / 16:07:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   882
! !
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   883
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   884
!Bookmark class methodsFor:'documentation'!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   885
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   886
version_CVS
10116
29988c516594 classnamed
Claus Gittinger <cg@exept.de>
parents: 10083
diff changeset
   887
    ^ '$Header: /cvs/stx/stx/libtool/Bookmark.st,v 1.3 2011-07-03 21:48:09 cg Exp $'
9975
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   888
!
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   889
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   890
version_SVN
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   891
    ^ '§Id§'
1830dd780813 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   892
! !