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