BookmarksEditDialog.st
author Claus Gittinger <cg@exept.de>
Thu, 16 Oct 2008 10:39:36 +0200
changeset 8334 db98cf285160
parent 8262 69dabd2e594a
child 8662 a117da640cb7
permissions -rw-r--r--
window title
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     1
"{ Package: 'stx:libtool' }"
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     2
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     3
SimpleDialog subclass:#BookmarksEditDialog
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     4
	instanceVariableNames:'selectedBookmarksHolder bookmarkListHolder defaultBookmark answer'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     5
	classVariableNames:''
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     6
	poolDictionaries:''
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     7
	category:'Interface-Tools-File'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     8
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
     9
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    10
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    11
!BookmarksEditDialog class methodsFor:'help specs'!
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    12
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    13
flyByHelpSpec
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    14
    <resource: #help>
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    15
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    16
    ^ super flyByHelpSpec addPairsFrom:#(
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    17
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    18
#moveUp
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    19
'Move Up'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    20
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    21
#moveDown
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    22
'Move Down'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    23
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    24
).
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    25
! !
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    26
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    27
!BookmarksEditDialog class methodsFor:'image specs'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    28
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    29
fileIn22x22Icon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    30
    "This resource specification was automatically generated
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    31
     by the ImageEditor of ST/X."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    32
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    33
    "Do not manually edit this!! If it is corrupted,
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    34
     the ImageEditor may not be able to read the specification."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    35
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    36
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    37
     self fileIn22x22Icon inspect
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    38
     ImageEditor openOnClass:self andSelector:#fileIn22x22Icon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    39
     Icon flushCachedIcons
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    40
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    41
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    42
    <resource: #image>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    43
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    44
    ^Icon
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    45
        constantNamed:'BookmarksEditDialog class fileIn22x22Icon'
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    46
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    47
GQ4]GQ4]GQ4]GQ4]GQ4]GP@@@@@@@A4]GQ4]GQ4]GQ4]GQ4]GQ4@@@@@@@@]GQ4]GQ4]GQ4]GQ4]GQ4]@@@@@@@@GQ4]GQ4]GQ4]GQ4]EATUEQTUEQTU@A4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    48
GQ4]GQ4]GQ4]EAT&I0PQGQ4]EP@]GQ4]GQ4]GQ4]EA8UI HKBQ4]GQT@GQ4]GQ4]GQ4]EAPTEBXFDP$]GQ4U@A4]GQ4]GQ4@GQP!!JQ<&AQDOGQ4]EP@]GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    49
GQ4@@A4TE2$)F1$ID14]GQT@GQ4]GR$)JR$)JR$)JR$"BQ4]GQ4U@A4]GQ4)JR$)JR$)JR$)JPPQD14]EP@]GP@@JR$)JR$)JR$)JR$)F@<SGQT@GQ4@GR$)
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    50
JR$)JR$)JR$)F1(QGQ4U@A4]@@@)JR$)JR$)JR$)I XEC@<]EQ4]GQ4]GQ4@@A4T@R$)C"XFARH@GQT]GQ4]GQ4]@@@]E@D)J@8[F T"AA4UGQ4]GQ4]GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    51
GQPAB!!<N@ XZFRH]EQ4]GQ4]GQ4]GQ4T@P((C"XFARH"BQT]GQ4]GQ4]GQ4]EAPTEAPTEAPTEAPT@A4]GQ4]GQ4]GQ4]GQ4]GQ4@@@@@@@@]GQ4]GQ4]GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    52
GQ4]GQ4]@@@@@@@@GQ4]GQ4]GQ4]@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[250 250 255 225 225 237 236 236 244 213 213 228 245 245 252 241 241 248 239 239 246 216 216 230 210 210 224 252 252 255 229 229 239 248 248 254 244 244 250 219 219 232 234 234 243 253 253 255 232 232 241 249 249 254 224 224 236 254 254 255 156 156 182 208 208 223 206 206 221 204 204 219 246 246 253 242 242 249 240 240 247 238 238 245 215 215 229 255 255 255 211 211 225 230 230 240 228 228 238 201 201 218 243 243 249 222 222 235 220 220 233 218 218 231 235 235 244 233 233 242 231 231 240 248 0 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@?8@A?8@C?8@G?8@G?8@G?8C??8C??8C??8C??8C??8@G?8@G?8@G?8@G?8@G?8@@@@@@@@@@@@') ; yourself); yourself]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    53
!
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    54
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    55
fileOut22x22Icon
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    56
    "This resource specification was automatically generated
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    57
     by the ImageEditor of ST/X."
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    58
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    59
    "Do not manually edit this!! If it is corrupted,
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    60
     the ImageEditor may not be able to read the specification."
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    61
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    62
    "
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    63
     self fileOut22x22Icon inspect
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    64
     ImageEditor openOnClass:self andSelector:#fileOut22x22Icon
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    65
     Icon flushCachedIcons
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    66
    "
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    67
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    68
    <resource: #image>
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    69
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    70
    ^Icon
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    71
        constantNamed:'BookmarksEditDialog class fileOut22x22Icon'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    72
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    73
GQ4]GQ4]GQ4]GQ4]GQ4]GP@@@@@@@A4]GQ4]GQ4]GQ4]GQ4]GQ4@@@@@@@@]GQ4]GQ4]GQ4]GQ4]GQ4]@@@@@@@@GQ4]GQ4]GQ4]GQ4]EATUEQTUEQTU@A4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    74
GQ4]GQ4]GQ4]EAT&I0PQGQ4]EP@]GQ4]GQ4]GQ4]EA8UI HKBQ4]GQT@GQ4]GQ4]GQ4]EAPTEBXFDP$]GQ4U@A4]GQ4]GQ4@GQP!!JQ<&AQDOGQ4]EP@]GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    75
GQ4@@A4TE2$)F1$ID14]GQT@GQ4]GR$)JR$)JR$)JR$"BQ4]GQ4U@A4]GQ4)JR$)JR$)JR$)JPPQD14]EP@]GP@@JR$)JR$)JR$)JR$)F@<SGQT@GQ4@GR$)
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    76
JR$)JR$)JR$)F1(QGQ4U@A4]@@@)JR$)JR$)JR$)I XEC@<]EQ4]GQ4]GQ4@@A4T@R$)C"XFARH@GQT]GQ4]GQ4]@@@]E@D)J@8[F T"AA4UGQ4]GQ4]GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    77
GQPAB!!<N@ XZFRH]EQ4]GQ4]GQ4]GQ4T@P((C"XFARH"BQT]GQ4]GQ4]GQ4]EAPTEAPTEAPTEAPT@A4]GQ4]GQ4]GQ4]GQ4]GQ4@@@@@@@@]GQ4]GQ4]GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    78
GQ4]GQ4]@@@@@@@@GQ4]GQ4]GQ4]@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[250 250 255 225 225 237 236 236 244 213 213 228 245 245 252 241 241 248 239 239 246 216 216 230 210 210 224 252 252 255 229 229 239 248 248 254 244 244 250 219 219 232 234 234 243 253 253 255 232 232 241 249 249 254 224 224 236 254 254 255 156 156 182 208 208 223 206 206 221 204 204 219 246 246 253 242 242 249 240 240 247 238 238 245 215 215 229 255 255 255 211 211 225 230 230 240 228 228 238 201 201 218 243 243 249 222 222 235 220 220 233 218 218 231 235 235 244 233 233 242 231 231 240 248 0 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@?8@A?8@C?8@G?8@G?8@G?8C??8C??8C??8C??8C??8@G?8@G?8@G?8@G?8@G?8@@@@@@@@@@@@') ; yourself); yourself]
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    79
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    80
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    81
icon
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    82
ade46105bcc0 initial checkin
fm
parents:
diff changeset
    83
    ^ ToolbarIconLibrary directoryBookmarksIcon
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    84
!
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    85
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    86
sort22x22Icon
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    87
    "This resource specification was automatically generated
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    88
     by the ImageEditor of ST/X."
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    89
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    90
    "Do not manually edit this!! If it is corrupted,
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    91
     the ImageEditor may not be able to read the specification."
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    92
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    93
    "
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    94
     self sort22x22Icon inspect
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    95
     ImageEditor openOnClass:self andSelector:#sort22x22Icon
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    96
     Icon flushCachedIcons
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    97
    "
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    98
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
    99
    <resource: #image>
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   100
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   101
    ^Icon
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   102
        constantNamed:'BookmarksEditDialog class sort22x22Icon'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   103
        ifAbsentPut:[(Depth8Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#[8]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   104
GQ4]GQ4]GQ4]GQ4]GQ4]GP@@@@@@@A4]GQ4]GQ4]GQ4]GQ4]GQ4@@@@@@@@]GQ4*J"(*GQ4TEQTUEQTUEQTUEQT@GQ4*GQ4]J!!4]EATUEQTUEQTUEQTU@A4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   105
J!!4]GR(]GQP&I"X&I0PQGQ4]EP@]GR(]GQ4*GQ4TI"(*I HKBQ4]GQT@GQ4]J"(*J"(]EBX&I"XFDP$]GQ4U@A4]GQ4]GP@@GQPAJ"(*AQDOGQ4]EP@]GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   106
J @@@@@T@PTEF1$ID14]GQT@GQ4]GR()JR$)E@D*J"(*BQ4]GQ4U@A4]@@@*JR$)JQPAAPTEAPPQD14]EP@]GP@]J"$)JR$T@R(*J"(*F@<SGQT@GQ4*J"(*
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   107
J"$)E@DEAPTEF1(QGQ4UGQ4]GR(*J @@GQPAJ"(*J"(*C@<]EQ4]GQ4]J!!4@@A4T@PTEC"XFARH@GQT]GQ4]GQ4]GQ4]E@D*J"(*J"(*AA4UGQ4]J"(*J"(]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   108
GQPAB!!<N@ XZFRH]EQ4]GQ4]GR(@GQ4T@R(*J"(*J"(*GQT@GQ4]GR(@GQ4]E@DJJ@8&A T"H $U@A4]@B(]GQ4]GQPTEAPTEAPTEAPTE@@]GR(*J"(*GQ4]
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   109
GQ4]GQ4]@@@@@@@@GQ4@@@@@@@@]@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[250 250 255 225 225 237 236 236 244 213 213 228 245 245 252 241 241 248 239 239 246 216 216 230 210 210 224 252 252 255 229 229 239 248 248 254 244 244 250 219 219 232 234 234 243 253 253 255 232 232 241 249 249 254 224 224 236 254 254 255 156 156 182 208 208 223 206 206 221 204 204 219 246 246 253 242 242 249 240 240 247 238 238 245 215 215 229 255 255 255 211 211 225 230 230 240 228 228 238 201 201 218 243 243 249 222 222 235 220 220 233 218 218 231 235 235 244 233 233 242 231 231 240 248 0 0 0 0 0]; mask:((ImageMask new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@G @@H''?8H''?8H''?8G7?8@G?8BG?8BG?8BG?8BG?8O''?8GG?8BG?8@G?8O''?8AG?8BG?8DG?8O @@@@@@') ; yourself); yourself]
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   110
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   111
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   112
!BookmarksEditDialog class methodsFor:'interface specs'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   113
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   114
windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   115
    "This resource specification was automatically generated
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   116
     by the UIPainter of ST/X."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   117
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   118
    "Do not manually edit this!! If it is corrupted,
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   119
     the UIPainter may not be able to read the specification."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   120
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   121
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   122
     UIPainter new openOnClass:BookmarksDialog andSelector:#windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   123
     BookmarksDialog new openInterface:#windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   124
     BookmarksDialog open
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   125
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   126
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   127
    <resource: #canvas>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   128
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   129
    ^ 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   130
     #(FullSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   131
        name: windowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   132
        window: 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   133
       (WindowSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   134
          label: 'Edit Bookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   135
          name: 'Edit Bookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   136
          min: (Point 0 0)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   137
          bounds: (Rectangle 0 0 450 296)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   138
        )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   139
        component: 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   140
       (SpecCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   141
          collection: (
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   142
           (MenuPanelSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   143
              name: 'ToolBar'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   144
              layout: (LayoutFrame 0 0 0 0 0 1 30 0)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   145
              menu: toolBarMenu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   146
              textDefault: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   147
            )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   148
           (SequenceViewSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   149
              name: 'BookmarkList'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   150
              layout: (LayoutFrame 0 0 30 0 0 1 -30 1)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   151
              model: selectedBookmarksHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   152
              hasHorizontalScrollBar: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   153
              hasVerticalScrollBar: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   154
              isMultiSelect: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   155
              useIndex: false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   156
              sequenceList: bookmarkListHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   157
            )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   158
           (HorizontalPanelViewSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   159
              name: 'HorizontalPanel1'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   160
              layout: (LayoutFrame 0 0 -30 1 0 1 0 1)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   161
              horizontalLayout: center
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   162
              verticalLayout: center
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   163
              horizontalSpace: 3
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   164
              verticalSpace: 3
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   165
              component: 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   166
             (SpecCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   167
                collection: (
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   168
                 (ActionButtonSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   169
                    label: 'OK'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   170
                    name: 'Button1'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   171
                    translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   172
                    model: doAccept
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   173
                    extent: (Point 125 22)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   174
                  )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   175
                 (ActionButtonSpec
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   176
                    label: 'Cancel'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   177
                    name: 'Button2'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   178
                    translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   179
                    model: doCancel
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   180
                    extent: (Point 125 22)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   181
                  )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   182
                 )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   183
               
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   184
              )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   185
            )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   186
           )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   187
         
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   188
        )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   189
      )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   190
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   191
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   192
!BookmarksEditDialog class methodsFor:'menu specs'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   193
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   194
toolBarMenu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   195
    "This resource specification was automatically generated
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   196
     by the MenuEditor of ST/X."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   197
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   198
    "Do not manually edit this!! If it is corrupted,
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   199
     the MenuEditor may not be able to read the specification."
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   200
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   201
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   202
     MenuEditor new openOnClass:BookmarksEditDialog andSelector:#toolBarMenu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   203
     (Menu new fromLiteralArrayEncoding:(BookmarksEditDialog toolBarMenu)) startUp
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   204
    "
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   205
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   206
    <resource: #menu>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   207
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   208
    ^ 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   209
     #(Menu
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   210
        (
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   211
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   212
            label: 'New'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   213
            itemValue: new
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   214
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   215
            labelImage: (ResourceRetriever XPToolbarIconLibrary newBookmark22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   216
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   217
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   218
            enabled: removeButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   219
            label: 'Remove'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   220
            itemValue: remove
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   221
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   222
            labelImage: (ResourceRetriever XPToolbarIconLibrary close22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   223
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   224
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   225
            label: '-'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   226
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   227
         (MenuItem
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   228
            activeHelpKey: moveUp
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   229
            enabled: upButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   230
            label: 'Up'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   231
            itemValue: up
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   232
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   233
            labelImage: (ResourceRetriever XPToolbarIconLibrary up22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   234
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   235
         (MenuItem
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   236
            activeHelpKey: moveDown
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   237
            enabled: downButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   238
            label: 'Down'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   239
            itemValue: down
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   240
            translateLabel: true
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   241
            labelImage: (ResourceRetriever XPToolbarIconLibrary down22x22Icon)
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   242
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   243
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   244
            label: '-'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   245
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   246
         (MenuItem
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   247
            enabled: sortButtonEnabledHolder
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   248
            label: 'Sort'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   249
            itemValue: sort
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   250
            translateLabel: true
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   251
            labelImage: (ResourceRetriever BookmarksEditDialog sort22x22Icon)
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   252
          )
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   253
         (MenuItem
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   254
            label: '-'
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   255
          )
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   256
         (MenuItem
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   257
            label: 'Import'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   258
            itemValue: import
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   259
            translateLabel: true
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   260
            labelImage: (ResourceRetriever XPToolbarIconLibrary fileIn22x22Icon)
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   261
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   262
         (MenuItem
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   263
            label: 'Export'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   264
            itemValue: export
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   265
            translateLabel: true
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   266
            labelImage: (ResourceRetriever BookmarksEditDialog fileOut22x22Icon)
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   267
          )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   268
         )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   269
        nil
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   270
        nil
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   271
      )
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   272
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   273
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   274
!BookmarksEditDialog class methodsFor:'opening'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   275
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   276
openWith: bookmarks
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   277
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   278
    ^ self openWith: bookmarks defaultBookmark: ''
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   279
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   280
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   281
openWith: bookmarks defaultBookmark: aFilename
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   282
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   283
    | dialog bookmarkStrings |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   284
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   285
    dialog := BookmarksEditDialog new.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   286
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   287
    dialog allButOpenInterface:#windowSpec.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   288
    Dialog aboutToOpenBoxNotificationSignal raiseRequestWith:dialog. 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   289
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   290
    aFilename notNil ifTrue:[dialog defaultBookmark: aFilename asString.].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   291
    bookmarkStrings := bookmarks collect:[:each | each asString].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   292
    dialog bookmarkList: bookmarkStrings.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   293
    dialog openWindow.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   294
    ^ dialog answer
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   295
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   296
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   297
!BookmarksEditDialog methodsFor:'accessing'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   298
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   299
answer
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   300
    ^ answer
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   301
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   302
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   303
bookmarkList
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   304
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   305
    ^ self bookmarkListHolder.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   306
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   307
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   308
bookmarkList: bookmarkStrings
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   309
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   310
    self bookmarkList contents: bookmarkStrings.
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   311
    self sortButtonEnabledHolder value:(bookmarkStrings size > 0).
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   312
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   313
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   314
defaultBookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   315
    ^ defaultBookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   316
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   317
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   318
defaultBookmark:something
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   319
    defaultBookmark := something.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   320
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   321
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   322
indexForNewBookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   323
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   324
    | index |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   325
    index := self selectedBookmarkIndex.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   326
    index = 0 ifTrue:[^ self bookmarkList size].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   327
    ^ index
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   328
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   329
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   330
indexOfBookmark: aString
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   331
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   332
    ^ self bookmarkList indexOf: aString
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   333
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   334
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   335
selectBookmark: bookmark
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   336
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   337
    self selectedBookmarks: (Array with: bookmark).
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   338
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   339
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   340
selectedBookmarkIndex
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   341
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   342
    | someBookmarks |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   343
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   344
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   345
    someBookmarks size = 1 ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   346
        ^ self indexOfBookmark: someBookmarks first
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   347
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   348
    ^ 0
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   349
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   350
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   351
selectedBookmarks
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   352
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   353
    ^ self selectedBookmarksHolder value
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   354
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   355
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   356
selectedBookmarks: aCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   357
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   358
    ^ self selectedBookmarksHolder value: aCollection
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   359
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   360
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   361
!BookmarksEditDialog methodsFor:'aspects'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   362
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   363
bookmarkListHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   364
    <resource: #uiAspect>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   365
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   366
    bookmarkListHolder isNil ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   367
        bookmarkListHolder := List new.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   368
"/ if your app needs to be notified of changes, uncomment one of the lines below:
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   369
"/       bookmarkListHolder addDependent:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   370
"/        bookmarkListHolder onChangeSend:#bookmarkListChanged to:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   371
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   372
    ^ bookmarkListHolder.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   373
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   374
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   375
downButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   376
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   377
    ^ builder valueAspectFor:#'downButtonEnabledHolder' initialValue:false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   378
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   379
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   380
removeButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   381
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   382
    ^ builder valueAspectFor:#'removeButtonEnabledHolder' initialValue:false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   383
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   384
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   385
selectedBookmarksHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   386
    <resource: #uiAspect>
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   387
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   388
    selectedBookmarksHolder isNil ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   389
        selectedBookmarksHolder := #() asValue.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   390
"/ if your app needs to be notified of changes, uncomment one of the lines below:
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   391
"/       selectedBookmarksHolder addDependent:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   392
       selectedBookmarksHolder onChangeSend:#selectedBookmarksChanged to:self.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   393
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   394
    ^ selectedBookmarksHolder.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   395
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   396
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   397
sortButtonEnabledHolder
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   398
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   399
    ^ builder valueAspectFor:#'sortButtonEnabledHolder' initialValue:false
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   400
!
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   401
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   402
upButtonEnabledHolder
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   403
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   404
    ^ builder valueAspectFor:#'upButtonEnabledHolder' initialValue:false
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   405
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   406
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   407
!BookmarksEditDialog methodsFor:'initialize'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   408
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   409
initialize
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   410
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   411
    defaultBookmark := ''.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   412
    ^ super initialize.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   413
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   414
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   415
!BookmarksEditDialog methodsFor:'menu actions'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   416
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   417
down
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   418
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   419
    | someBookmarks bookmarkToMove index |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   420
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   421
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   422
    someBookmarks size = 1 ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   423
    bookmarkToMove := someBookmarks first.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   424
    index := self indexOfBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   425
    index = self bookmarkList size ifTrue:[^self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   426
    self bookmarkList remove: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   427
    self bookmarkList add: bookmarkToMove afterIndex: index.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   428
    self selectBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   429
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   430
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   431
export
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   432
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   433
    | filename bookmarks |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   434
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   435
    filename := Dialog 
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   436
        requestFileName:(resources string:'Select file to export bookmarks:') 
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   437
        default:'.fileBrowserBookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   438
        fromDirectory:Filename desktopDirectory. 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   439
    filename isEmptyOrNil ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   440
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   441
    bookmarks := self bookmarkList.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   442
    AbstractFileBrowser saveBookmarks: bookmarks in:filename.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   443
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   444
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   445
import
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   446
    | answer filename bookmarksFromFile bookmarksToAdd bookmarks|
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   447
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   448
    answer := Dialog 
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   449
        requestFileName:(resources string:'Select file to import bookmarks:') 
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   450
        default:'.fileBrowserBookmarks'
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   451
        fromDirectory:Filename desktopDirectory.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   452
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   453
    answer isEmptyOrNil ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   454
    filename := answer asFilename.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   455
    (filename isDirectory or:[filename exists not]) ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   456
    bookmarksFromFile := AbstractFileBrowser bookmarksFrom: filename.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   457
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   458
    bookmarks := self bookmarkList.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   459
    bookmarksToAdd := bookmarksFromFile reject:[:each | bookmarks includes: each].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   460
    bookmarks addAll: bookmarksToAdd.
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   461
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   462
    self sortButtonEnabledHolder value:(bookmarks size > 0).
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   463
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   464
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   465
new
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   466
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   467
    | someBookmarks default index bookmark|
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   468
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   469
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   470
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   471
    default := someBookmarks isEmpty 
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   472
        ifTrue:[defaultBookmark]
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   473
        ifFalse:[someBookmarks first].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   474
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   475
    bookmark := Dialog request:'New Bookmark' title:'Enter a directory' initialAnswer:default.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   476
    bookmark isEmptyOrNil ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   477
    (self bookmarkList includes: bookmark) ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   478
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   479
    index := self indexForNewBookmark.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   480
    self bookmarkList add: bookmark afterIndex: index.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   481
    self selectBookmark: bookmark.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   482
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   483
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   484
remove
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   485
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   486
    | someBookmarks message ans |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   487
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   488
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   489
    someBookmarks isEmpty ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   490
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   491
    message := 'Really remove bookmarks: ', String lf.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   492
    someBookmarks do:[:each | message := message, String lf, (String new: 5) , each].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   493
    ans := Dialog confirm: message.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   494
    ans ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   495
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   496
    self bookmarkList removeAll: someBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   497
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   498
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   499
sort
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   500
    self bookmarkList sort.
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   501
!
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   502
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   503
up
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   504
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   505
    | someBookmarks bookmarkToMove index |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   506
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   507
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   508
    someBookmarks size = 1 ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   509
    bookmarkToMove := someBookmarks first.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   510
    index := self indexOfBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   511
    index = 1 ifTrue:[^self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   512
    self bookmarkList remove: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   513
    self bookmarkList add: bookmarkToMove beforeIndex: index - 1.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   514
    self selectBookmark: bookmarkToMove.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   515
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   516
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   517
!BookmarksEditDialog methodsFor:'queries'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   518
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   519
hasChanges
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   520
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   521
    |oldDirectoryBookmarks|
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   522
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   523
    oldDirectoryBookmarks := AbstractFileBrowser directoryBookmarks collect:[:each | each asString].
8023
7fd192f7449e changed #hasChanges
fm
parents: 8014
diff changeset
   524
    ^ self bookmarkList asOrderedCollection ~= oldDirectoryBookmarks
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   525
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   526
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   527
!BookmarksEditDialog methodsFor:'user actions'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   528
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   529
doAccept
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   530
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   531
    | filenames |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   532
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   533
    filenames := self bookmarkList collect:[:each | each asFilename].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   534
    answer := filenames.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   535
    ^ super doAccept
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   536
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   537
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   538
doCancel
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   539
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   540
    | ans |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   541
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   542
    self hasChanges ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   543
        ans := Dialog confirm: 'Really cancel all changes?'.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   544
        ans ifFalse:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   545
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   546
    ^ super doCancel
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   547
!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   548
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   549
selectedBookmarksChanged
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   550
    | someBookmarks selectedBookmarkIndex |
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   551
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   552
    someBookmarks := self selectedBookmarks.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   553
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   554
    self upButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   555
    self downButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   556
    self removeButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   557
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   558
    someBookmarks isEmpty ifTrue:[^ self].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   559
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   560
    someBookmarks size = 1 ifTrue:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   561
        selectedBookmarkIndex := self selectedBookmarkIndex.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   562
        selectedBookmarkIndex = 1 ifFalse:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   563
            self upButtonEnabledHolder value: true.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   564
        ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   565
        selectedBookmarkIndex = self bookmarkList size ifFalse:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   566
            self downButtonEnabledHolder value: true.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   567
        ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   568
    ] ifFalse:[
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   569
        self upButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   570
        self downButtonEnabledHolder value: false.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   571
    ].
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   572
    self removeButtonEnabledHolder value: true.
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   573
! !
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   574
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   575
!BookmarksEditDialog class methodsFor:'documentation'!
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   576
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   577
version
8262
69dabd2e594a + sort bookmarks menu item
Claus Gittinger <cg@exept.de>
parents: 8023
diff changeset
   578
    ^ '$Header: /cvs/stx/stx/libtool/BookmarksEditDialog.st,v 1.3 2008-09-04 08:04:56 cg Exp $'
8014
ade46105bcc0 initial checkin
fm
parents:
diff changeset
   579
! !