ImageInspectorView.st
author Claus Gittinger <cg@exept.de>
Sat, 05 Apr 2003 16:13:44 +0200
changeset 4782 491c8090264c
parent 2831 0be3af401639
child 7799 89bbb32c1200
permissions -rw-r--r--
update fixed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
     1
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1993 by Claus Gittinger
45
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
     3
	      All Rights Reserved
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
     4
205d53e91c52 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
205d53e91c52 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
205d53e91c52 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
205d53e91c52 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
205d53e91c52 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
205d53e91c52 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    11
"
205d53e91c52 Initial revision
claus
parents:
diff changeset
    12
2831
0be3af401639 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2271
diff changeset
    13
"{ Package: 'stx:libtool' }"
0be3af401639 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2271
diff changeset
    14
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    15
InspectorView subclass:#ImageInspectorView
516
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    16
	instanceVariableNames:'imageView'
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    17
	classVariableNames:'LastRatio LastExtent'
516
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    18
	poolDictionaries:''
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    19
	category:'Interface-Inspector'
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    20
!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    21
1011
1022e80a1c60 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 647
diff changeset
    22
!ImageInspectorView class methodsFor:'documentation'!
110
claus
parents: 107
diff changeset
    23
claus
parents: 107
diff changeset
    24
copyright
claus
parents: 107
diff changeset
    25
"
claus
parents: 107
diff changeset
    26
 COPYRIGHT (c) 1993 by Claus Gittinger
claus
parents: 107
diff changeset
    27
	      All Rights Reserved
claus
parents: 107
diff changeset
    28
claus
parents: 107
diff changeset
    29
 This software is furnished under a license and may be used
claus
parents: 107
diff changeset
    30
 only in accordance with the terms of that license and with the
claus
parents: 107
diff changeset
    31
 inclusion of the above copyright notice.   This software may not
claus
parents: 107
diff changeset
    32
 be provided or otherwise made available to, or used by, any
claus
parents: 107
diff changeset
    33
 other person.  No title to or ownership of the software is
claus
parents: 107
diff changeset
    34
 hereby transferred.
claus
parents: 107
diff changeset
    35
"
claus
parents: 107
diff changeset
    36
!
claus
parents: 107
diff changeset
    37
128
claus
parents: 111
diff changeset
    38
documentation
claus
parents: 111
diff changeset
    39
"
claus
parents: 111
diff changeset
    40
    this class allows better inspection of images,
claus
parents: 111
diff changeset
    41
    by adding another subView, which displays the image.
claus
parents: 111
diff changeset
    42
"
110
claus
parents: 107
diff changeset
    43
! !
claus
parents: 107
diff changeset
    44
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    45
!ImageInspectorView class methodsFor:'defaults'!
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    46
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    47
defaultExtent
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    48
    ^ LastExtent ? super defaultExtent
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    49
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    50
    "Created: / 7.9.1998 / 13:47:45 / cg"
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    51
    "Modified: / 7.9.1998 / 14:15:38 / cg"
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    52
! !
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    53
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    54
!ImageInspectorView methodsFor:'accessing'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    55
205d53e91c52 Initial revision
claus
parents:
diff changeset
    56
inspect:anObject
205d53e91c52 Initial revision
claus
parents:
diff changeset
    57
    super inspect:anObject.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    58
    realized ifFalse:[^ self].
1963
b977d5407ec8 include filename in label, if known.
Claus Gittinger <cg@exept.de>
parents: 1872
diff changeset
    59
    imageView image:anObject.
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    60
45
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    61
    "
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    62
     ImageInspectorView inspect:(Image fromScreen:(0@0 corner:800@800))
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    63
    "
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    64
! !
205d53e91c52 Initial revision
claus
parents:
diff changeset
    65
205d53e91c52 Initial revision
claus
parents:
diff changeset
    66
!ImageInspectorView methodsFor:'initialization'!
205d53e91c52 Initial revision
claus
parents:
diff changeset
    67
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    68
destroy
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 1963
diff changeset
    69
    |imageViewsSuperView|
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 1963
diff changeset
    70
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 1963
diff changeset
    71
    imageViewsSuperView := imageView superView.
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    72
    LastRatio := 1.0 - 
2236
257f587ad7dc migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents: 1963
diff changeset
    73
                 (imageViewsSuperView relativeCorner y - imageViewsSuperView relativeOrigin y).
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    74
    LastExtent := self extent.
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    75
    super destroy
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    76
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    77
    "Created: / 7.9.1998 / 13:13:43 / cg"
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    78
    "Modified: / 7.9.1998 / 14:15:38 / cg"
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    79
!
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    80
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    81
initialize
107
claus
parents: 52
diff changeset
    82
    |v newPanel sub|
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    83
205d53e91c52 Initial revision
claus
parents:
diff changeset
    84
    super initialize.
205d53e91c52 Initial revision
claus
parents:
diff changeset
    85
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    86
    LastRatio isNil ifTrue:[
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    87
        LastRatio := 0.3
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    88
    ].
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
    89
45
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    90
    newPanel := VariableVerticalPanel in:self.
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    91
    newPanel origin:0.0 @ 0.0 corner:1.0 @ 1.0.
2831
0be3af401639 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2271
diff changeset
    92
    newPanel snapMode:#both.
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
    93
45
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    94
    "
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    95
     wrap my existing subview into the new
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    96
     variable panel
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    97
    "
1011
1022e80a1c60 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 647
diff changeset
    98
    sub := self subViews first.
45
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
    99
    self removeSubView:sub.
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
   100
    sub origin:0.0@0.0 corner:1.0@LastRatio.
45
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
   101
    newPanel addSubView:sub.
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
   102
1379
9424d8fe85a7 ImageEditView replaced by ImageView in #initialize
tz
parents: 1011
diff changeset
   103
    v := HVScrollableView for:ImageView in:newPanel.
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
   104
    v origin:(0.0 @ LastRatio) corner:(1.0 @ 1.0).
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   105
    imageView := v scrolledView.
205d53e91c52 Initial revision
claus
parents:
diff changeset
   106
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
   107
    LastExtent notNil ifTrue:[
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
   108
        self extent:LastExtent
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
   109
    ].
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
   110
45
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
   111
    "
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
   112
     ImageInspectorView new realize
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
   113
     ImageInspectorView inspect:(Image fromFile:'bitmaps/claus.gif')
950b84ba89e6 *** empty log message ***
claus
parents: 30
diff changeset
   114
    "
1011
1022e80a1c60 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 647
diff changeset
   115
1872
1c3c80a1973f remember last extent and variable frame ratio;
Claus Gittinger <cg@exept.de>
parents: 1379
diff changeset
   116
    "Modified: / 7.9.1998 / 14:15:38 / cg"
30
205d53e91c52 Initial revision
claus
parents:
diff changeset
   117
! !
516
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   118
2271
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   119
!ImageInspectorView methodsFor:'queries'!
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   120
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   121
labelFor:anObject
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   122
    |l|
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   123
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   124
    l := super labelFor:anObject.
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   125
    anObject fileName notNil ifTrue:[
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   126
        l := l , ' (''' , anObject fileName , ''')'
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   127
    ].
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   128
    ^ l
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   129
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   130
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   131
! !
0cf238543cb1 fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents: 2236
diff changeset
   132
1011
1022e80a1c60 eliminated references to subViews instance variable (will vanish)
Claus Gittinger <cg@exept.de>
parents: 647
diff changeset
   133
!ImageInspectorView class methodsFor:'documentation'!
516
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   134
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   135
version
2831
0be3af401639 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2271
diff changeset
   136
    ^ '$Header: /cvs/stx/stx/libtool/ImageInspectorView.st,v 1.17 2000-11-07 11:48:19 cg Exp $'
516
f007fd40377a examples
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   137
! !