DropObject.st
author Claus Gittinger <cg@exept.de>
Fri, 13 Jul 2001 15:45:32 +0200
changeset 1482 e2cbc5342630
parent 1292 632e22649e4b
child 1623 233a4e389e35
permissions -rw-r--r--
added class & method
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     1
"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     3
              All Rights Reserved
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     4
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     5
 This software is furnished under a license and may be used
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     6
 only in accordance with the terms of that license and with the
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
     9
 other person.  No title to or ownership of the software is
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    10
 hereby transferred.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    11
"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    12
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    13
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    14
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    15
"{ Package: 'stx:libview2' }"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    16
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    17
Object subclass:#DropObject
860
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
    18
	instanceVariableNames:'theObject displayObject'
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    19
	classVariableNames:''
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    20
	poolDictionaries:''
875
6e99b23e8083 change category
ca
parents: 860
diff changeset
    21
	category:'Interface-DragAndDrop'
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    22
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    23
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
    24
DropObject class instanceVariableNames:'DisplayObject'
cdcee4daddef preliminary
ca
parents: 396
diff changeset
    25
cdcee4daddef preliminary
ca
parents: 396
diff changeset
    26
"
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    27
 No other class instance variables are inherited by this class.
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
    28
"
cdcee4daddef preliminary
ca
parents: 396
diff changeset
    29
!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
    30
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    31
DropObject subclass:#Class
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    32
	instanceVariableNames:''
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    33
	classVariableNames:''
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    34
	poolDictionaries:''
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    35
	privateIn:DropObject
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    36
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    37
1277
ad8a630c9acd try bitmaps in package directory
Claus Gittinger <cg@exept.de>
parents: 1112
diff changeset
    38
DropObject subclass:#Color
ad8a630c9acd try bitmaps in package directory
Claus Gittinger <cg@exept.de>
parents: 1112
diff changeset
    39
	instanceVariableNames:''
860
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
    40
	classVariableNames:''
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
    41
	poolDictionaries:''
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
    42
	privateIn:DropObject
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
    43
!
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
    44
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    45
DropObject subclass:#File
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    46
	instanceVariableNames:'info isHtmlFile isImageFile isPrintable'
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    47
	classVariableNames:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    48
	poolDictionaries:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    49
	privateIn:DropObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    50
!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    51
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    52
DropObject subclass:#Image
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    53
	instanceVariableNames:''
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    54
	classVariableNames:''
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    55
	poolDictionaries:''
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    56
	privateIn:DropObject
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    57
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
    58
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    59
DropObject subclass:#Method
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    60
	instanceVariableNames:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    61
	classVariableNames:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    62
	poolDictionaries:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    63
	privateIn:DropObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    64
!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    65
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    66
DropObject subclass:#Text
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    67
	instanceVariableNames:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    68
	classVariableNames:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    69
	poolDictionaries:''
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    70
	privateIn:DropObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    71
!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
    72
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    73
!DropObject class methodsFor:'documentation'!
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    74
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    75
copyright
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    76
"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    77
 COPYRIGHT (c) 1997 by eXept Software AG
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    78
              All Rights Reserved
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    79
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    80
 This software is furnished under a license and may be used
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    81
 only in accordance with the terms of that license and with the
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    82
 inclusion of the above copyright notice.   This software may not
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    83
 be provided or otherwise made available to, or used by, any
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    84
 other person.  No title to or ownership of the software is
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    85
 hereby transferred.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    86
"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    87
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    88
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    89
!
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    90
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    91
documentation
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    92
"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    93
    instances of myself and subclasses wrap objects which are being
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    94
    dragged (and dropped).
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    95
    Any object can be dragged, but for some often encountered types,
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    96
    specialized subclasses are provided, which react to certain queries.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    97
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    98
    [see also:]
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
    99
        DragAndDropManager
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   100
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   101
    [author:]
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   102
        Claus Atzkern
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   103
"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   104
! !
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   105
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   106
!DropObject class methodsFor:'instance creation'!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   107
1112
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   108
dropObjectClassFor:someThing
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   109
    "given something to drag&drop, return an appropriate
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   110
     dropObject class for it."
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   111
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   112
    someThing isColor             ifTrue:[^ DropObject::Color].
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   113
    someThing isImageOrForm       ifTrue:[^ DropObject::Image].
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   114
    (someThing isKindOf:Filename) ifTrue:[^ DropObject::File].
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   115
    someThing isString            ifTrue:[^ DropObject::Text].
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   116
    ^ self
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   117
!
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   118
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   119
new:someThing
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   120
    "create an instance on something
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   121
    "
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   122
    |cls|
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   123
1112
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   124
    cls := self dropObjectClassFor:someThing.
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   125
    ^ cls new theObject:someThing
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   126
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   127
    "Modified: 19.4.1997 / 17:19:55 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   128
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   129
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   130
newClass:aClass
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   131
    "create an instance for a class"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   132
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   133
    ^ DropObject::Class new theObject:aClass
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   134
!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   135
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   136
newColor:aColor
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   137
    "create an instance for a color"
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   138
1112
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   139
    ^ DropObject::Color new theObject:aColor
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   140
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   141
    "Modified: 19.4.1997 / 17:20:17 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   142
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   143
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   144
newFile:aFilename
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   145
    "create an instance for a file or directory"
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   146
1112
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   147
    ^ DropObject::File new theObject:aFilename
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   148
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   149
    "Modified: 19.4.1997 / 17:20:28 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   150
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   151
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   152
newImage:anImageOrForm
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   153
    "create an instance for an image"
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   154
1112
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   155
    ^ DropObject::Image new theObject:anImageOrForm
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   156
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   157
    "Modified: 19.4.1997 / 17:20:37 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   158
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   159
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   160
newMethod:aMethod
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   161
    "create an instance for a method"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   162
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   163
    ^ DropObject::Method new theObject:aMethod
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   164
!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   165
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   166
newText:aTextOrString
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   167
    "create an instance for some text"
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   168
1112
da4b42bf8ea8 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 875
diff changeset
   169
    ^ DropObject::Text new theObject:aTextOrString
547
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   170
7764165d89b8 added comments & docu
Claus Gittinger <cg@exept.de>
parents: 546
diff changeset
   171
    "Modified: 19.4.1997 / 17:20:46 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   172
! !
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   173
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   174
!DropObject class methodsFor:'defaults'!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   175
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   176
displayObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   177
    "return some object which is shown while dragging;
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   178
     here an image based upon my displayObjectName is returned.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   179
     Either this method or #displayObjectName is usually redefined
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   180
     in subclasses"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   181
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   182
    DisplayObject notNil ifTrue:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   183
        ^ DisplayObject
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   184
    ].
1292
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   185
    DisplayObject := Smalltalk imageFromFileNamed:(self displayObjectName) forClass:self.
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   186
    ^ DisplayObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   187
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   188
    "Modified: 19.4.1997 / 13:04:05 / cg"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   189
!
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   190
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   191
displayObject:aDisplayObject
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   192
    "set the object which is shown while dragging;
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   193
     this object must understand #displayOn:x:y: (i.e. the displayObject
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   194
     protocol). The object is kept per class for ALL future drag operations.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   195
     Useful to change the default images in subclasses."
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   196
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   197
    DisplayObject := aDisplayObject
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   198
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   199
    "Modified: 19.4.1997 / 15:42:10 / cg"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   200
!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   201
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   202
displayObjectName
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   203
    "return the name of a bitmap image file, which is used 
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   204
     during a drag.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   205
     Here, a dummy file is returned."
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   206
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   207
    ^ 'bitmaps/xpmBitmaps/plain_pixmaps/balloon3.xpm'
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   208
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   209
    "Modified: 19.4.1997 / 13:54:13 / cg"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   210
! !
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   211
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   212
!DropObject methodsFor:'accessing'!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   213
860
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   214
displayObject
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   215
    "return my graphical representation - here a default is returned"
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   216
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   217
    ^ displayObject ? (self class displayObject)
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   218
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   219
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   220
!
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   221
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   222
displayObject:anObject
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   223
    "set my graphical representation"
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   224
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   225
    displayObject := anObject
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   226
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   227
!
99aac8d0e899 set an explicit display object
ca
parents: 547
diff changeset
   228
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   229
theObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   230
    "return the real object represented by the receiver"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   231
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   232
    ^ theObject
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   233
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   234
    "Modified: 19.4.1997 / 12:53:01 / cg"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   235
!
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   236
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   237
theObject:something
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   238
    "set the real object represented by the receiver"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   239
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   240
    theObject := something.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   241
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   242
    "Modified: 19.4.1997 / 12:53:10 / cg"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   243
! !
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   244
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   245
!DropObject methodsFor:'testing'!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   246
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   247
isClassObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   248
    "return true, if the dropObject represents some class"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   249
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   250
    ^ false
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   251
!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   252
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   253
isColorObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   254
    "return true, if the dropObject represents a color"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   255
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   256
    ^ false
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   257
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   258
    "Modified: 19.4.1997 / 12:52:36 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   259
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   260
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   261
isFileObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   262
    "return true, if the dropObject represents some file or directory"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   263
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   264
    ^ false
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   265
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   266
    "Modified: 19.4.1997 / 12:52:29 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   267
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   268
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   269
isImageObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   270
    "return true, if the dropObject represents some image"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   271
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   272
    ^ false
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   273
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   274
    "Modified: 19.4.1997 / 12:52:22 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   275
!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   276
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   277
isMethodObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   278
    "return true, if the dropObject represents some method"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   279
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   280
    ^ false
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   281
!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   282
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   283
isTextObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   284
    "return true, if the dropObject represents some text"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   285
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   286
    ^ false
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   287
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   288
    "Modified: 19.4.1997 / 12:52:17 / cg"
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   289
! !
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   290
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   291
!DropObject::Class methodsFor:'testing'!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   292
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   293
isClassObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   294
    "return true, if the dropObject represents a class"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   295
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   296
    ^ true
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   297
! !
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   298
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   299
!DropObject::Color class methodsFor:'defaults'!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   300
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   301
displayObjectName
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   302
    "return the name of a bitmap image file, which is used 
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   303
     during a drag."
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   304
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   305
    ^ 'bitmaps/xpmBitmaps/misc_tools/color_wheel.xpm'
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   306
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   307
    "Modified: 19.4.1997 / 15:38:12 / cg"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   308
! !
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   309
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   310
!DropObject::Color methodsFor:'testing'!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   311
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   312
isColorObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   313
    "return true, if the dropObject represents a color"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   314
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   315
    ^ true
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   316
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   317
    "Modified: 19.4.1997 / 12:51:57 / cg"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   318
! !
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   319
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   320
!DropObject::File class methodsFor:'defaults'!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   321
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   322
displayObjectName
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   323
    "return the name of a bitmap image file, which is used 
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   324
     during a drag."
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   325
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   326
    ^ 'bitmaps/xpmBitmaps/document_images/xfm_file.xpm'
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   327
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   328
    "Modified: 19.4.1997 / 15:38:07 / cg"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   329
! !
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   330
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   331
!DropObject::File methodsFor:'accessing'!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   332
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   333
theObject:aPathname
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   334
    |f path|
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   335
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   336
    f := aPathname asFilename.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   337
    path := f pathName.
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   338
    info := f info.
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   339
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   340
    super theObject:f
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   341
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   342
    "Modified: 19.4.1997 / 12:49:17 / cg"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   343
! !
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   344
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   345
!DropObject::File methodsFor:'queries'!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   346
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   347
exists
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   348
    "returns true if the file or directory exists
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   349
    "
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   350
    ^ info notNil
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   351
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   352
    "Modified: 19.4.1997 / 12:49:30 / cg"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   353
!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   354
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   355
isDirectory
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   356
    "checks whether file is a directory
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   357
    "
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   358
    ^ (info notNil and:[info type == #directory])
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   359
!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   360
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   361
isHtmlFile
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   362
    "checks whether file is an html file
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   363
    "
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   364
    |suffixes pathName|
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   365
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   366
    isHtmlFile isNil ifTrue:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   367
        (info isNil or:[self isDirectory]) ifTrue:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   368
            isHtmlFile := false
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   369
        ] ifFalse:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   370
            pathName   := theObject asString.
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   371
            suffixes   := #( '.html' '.htm' '.HTML' '.HTM' ).
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   372
            isHtmlFile := (suffixes findFirst:[:el|pathName endsWith:el]) ~~ 0
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   373
        ]
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   374
    ].
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   375
    ^ isHtmlFile
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   376
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   377
    "Modified: 19.4.1997 / 12:49:37 / cg"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   378
!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   379
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   380
isImageFile
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   381
    "returns true if file is an image file
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   382
    "
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   383
    |pathName|
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   384
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   385
    isImageFile isNil ifTrue:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   386
        (info isNil or:[self isDirectory]) ifTrue:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   387
            isImageFile := false
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   388
        ] ifFalse:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   389
            pathName    := theObject asString.
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   390
            isImageFile := Image isImageFileSuffix:(pathName asFilename suffix).
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   391
        ]
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   392
    ].
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   393
    ^ isImageFile
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   394
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   395
    "Modified: 19.4.1997 / 12:50:58 / cg"
403
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   396
!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   397
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   398
isPrintable
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   399
    "returns false if file contains non printable characters
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   400
    "
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   401
    |stream buff size|
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   402
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   403
    isPrintable isNil ifTrue:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   404
        isPrintable := false.
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   405
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   406
        (info isNil or:[self isDirectory]) ifFalse:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   407
            stream := FileStream readonlyFileNamed:(theObject pathName).
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   408
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   409
            stream isNil ifFalse:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   410
                buff := String new:300.
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   411
                size := stream nextBytes:300 into:buff.
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   412
                stream close.
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   413
            ].
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   414
            1 to:size do:[:i|
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   415
                (buff at:i) isPrintable ifFalse:[
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   416
                    ^ isPrintable
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   417
                ]
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   418
            ].
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   419
            isPrintable := true
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   420
        ]
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   421
    ].
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   422
    ^ isPrintable
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   423
! !
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   424
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   425
!DropObject::File methodsFor:'testing'!
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   426
cdcee4daddef preliminary
ca
parents: 396
diff changeset
   427
isFileObject
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   428
    "return true, if the dropObject represents a file- or directory"
396
77043c4aca02 checkin from browser
ca
parents: 395
diff changeset
   429
77043c4aca02 checkin from browser
ca
parents: 395
diff changeset
   430
    ^ true
77043c4aca02 checkin from browser
ca
parents: 395
diff changeset
   431
546
a71c15f2330c added comments & docu
Claus Gittinger <cg@exept.de>
parents: 403
diff changeset
   432
    "Modified: 19.4.1997 / 12:51:49 / cg"
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   433
! !
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   434
1292
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   435
!DropObject::Image class methodsFor:'defaults'!
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   436
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   437
displayObjectName
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   438
    "return the name of a bitmap image file, which is used 
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   439
     during a drag."
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   440
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   441
    ^ 'bitmaps/xpmBitmaps/misc_tools/picture.xpm'
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   442
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   443
    "Modified: 19.4.1997 / 15:38:02 / cg"
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   444
! !
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   445
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   446
!DropObject::Image methodsFor:'testing'!
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   447
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   448
isImageObject
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   449
    "return true, if the dropObject represents an image"
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   450
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   451
    ^ true
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   452
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   453
    "Modified: 19.4.1997 / 12:51:28 / cg"
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   454
! !
632e22649e4b *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 1277
diff changeset
   455
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   456
!DropObject::Method methodsFor:'testing'!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   457
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   458
isMethodObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   459
    "return true, if the dropObject represents a method"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   460
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   461
    ^ true
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   462
! !
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   463
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   464
!DropObject::Text class methodsFor:'defaults'!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   465
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   466
displayObjectName
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   467
    ^ 'bitmaps/xpmBitmaps/document_images/yellow_file_text_grab.xpm'
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   468
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   469
    "Modified: 19.4.1997 / 15:40:33 / cg"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   470
! !
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   471
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   472
!DropObject::Text methodsFor:'testing'!
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   473
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   474
isTextObject
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   475
    "return true, if the dropObject represents some text"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   476
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   477
    ^ true
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   478
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   479
    "Modified: 19.4.1997 / 12:52:08 / cg"
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   480
! !
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   481
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   482
!DropObject class methodsFor:'documentation'!
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   483
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   484
version
1482
e2cbc5342630 added class & method
Claus Gittinger <cg@exept.de>
parents: 1292
diff changeset
   485
    ^ '$Header: /cvs/stx/stx/libview2/DropObject.st,v 1.11 2001-07-13 13:45:32 cg Exp $'
395
bd27655f4354 intitial checkin
ca
parents:
diff changeset
   486
! !