Revision 9105

View differences:

org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/pom.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3
    <modelVersion>4.0.0</modelVersion>
4
    <artifactId>org.gvsig.simpleimageviewer</artifactId>
5
    <packaging>pom</packaging>
6
    <version>1.0.170</version>
7
    <name>${project.artifactId}</name>
8
    <description>Simple image viewer</description>
9
    <parent>
10
        <groupId>org.gvsig</groupId>
11
        <artifactId>org.gvsig.desktop</artifactId>
12
        <version>2.0.436</version>
13
    </parent>
14
    <url>https://devel.gvsig.org/svn/gvsig-projects-pool/${project.artifactId}/trunk/${project.artifactId}</url>
15
    <scm>
16
        <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-projects-pool/org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170</connection>
17
        <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-projects-pool/org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170</developerConnection>
18
        <url>https://devel.gvsig.org/svn/gvsig-projects-pool/org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170</url>
19
    </scm>
20

  
21
    <developers>
22
        <developer>
23
            <id>jjdelcerro</id>
24
            <name>Joaqu?n Jose del Cerro</name>
25
            <email>jjdelcerro@gvsig.org</email>
26
            <roles>
27
                <role>Architect</role>
28
                <role>Developer</role>
29
            </roles>
30
        </developer>
31
    </developers>
32
    <distributionManagement>
33
        <site>
34
            <id>gvsig-repository</id>
35
            <url>dav:https://devel.gvsig.org/sites/${project.artifactId}/${project.version}</url>
36
        </site>
37
    </distributionManagement>
38
    <repositories>
39
        <repository>
40
            <id>gvsig-public-http-repository</id>
41
            <name>gvSIG maven public HTTP repository</name>
42
            <url>http://devel.gvsig.org/m2repo/j2se</url>
43
            <releases>
44
                <enabled>true</enabled>
45
                <updatePolicy>daily</updatePolicy>
46
                <checksumPolicy>warn</checksumPolicy>
47
            </releases>
48
            <snapshots>
49
                <enabled>true</enabled>
50
                <updatePolicy>daily</updatePolicy>
51
                <checksumPolicy>warn</checksumPolicy>
52
            </snapshots>
53
        </repository>
54
    </repositories>
55

  
56
    <build>
57
        <plugins>
58
            <plugin>
59
                <groupId>org.apache.maven.plugins</groupId>
60
                <artifactId>maven-release-plugin</artifactId>
61
                <configuration>
62
                    <tagBase>https://devel.gvsig.org/svn/gvsig-projects-pool/${project.artifactId}/tags</tagBase>
63
                </configuration>
64
            </plugin>
65
        </plugins>
66
    </build>
67

  
68
    <properties>
69
        <svn.tags.folder>https://devel.gvsig.org/svn/gvsig-projects-pool/${project.artifactId}/tags/</svn.tags.folder>
70
    </properties>
71

  
72
    <dependencyManagement>
73
        <dependencies>
74
	</dependencies>
75
    </dependencyManagement>
76

  
77
    <modules>
78
        <module>${project.artifactId}.app.mainplugin</module>
79
    </modules>
80
</project>
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/org.gvsig.simpleimageviewer.app.mainplugin/buildNumber.properties
1
#Thu Oct 19 16:28:33 CEST 2023
2
buildNumber=174
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/org.gvsig.simpleimageviewer.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
1
<assembly>
2
  <id>gvsig-plugin-package</id>
3
  <formats>
4
    <format>zip</format>
5
  </formats>
6
  <baseDirectory>${project.artifactId}</baseDirectory>
7
  <includeBaseDirectory>true</includeBaseDirectory>
8
  <files>
9
    <file>
10
      <source>target/${project.artifactId}-${project.version}.jar</source>
11
      <outputDirectory>lib</outputDirectory>
12
    </file>
13
    <file>
14
      <source>target/package.info</source>
15
    </file>
16
  </files>
17

  
18
  <fileSets>
19
    <fileSet>
20
      <directory>src/main/resources-plugin</directory>
21
      <outputDirectory>.</outputDirectory>
22
    </fileSet>
23
  </fileSets>
24

  
25
  <dependencySets>
26
    <dependencySet>
27
      <useProjectArtifact>false</useProjectArtifact>
28
      <useTransitiveDependencies>false</useTransitiveDependencies>
29
      <outputDirectory>lib</outputDirectory>
30
      <includes>
31
        <include>org.swinglabs.swingx:swingx-all</include>
32
      </includes>
33
    </dependencySet>
34
  </dependencySets>
35

  
36
</assembly>
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/ImageViewerView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.simpleimageviewer/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/ImageViewerView.xml</at>
28
   <at name="path">datos/devel/org.gvsig.simpleimageviewer/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/ImageViewerView.xml</at>
29
   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
30
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
31
   <at name="components">
32
    <object classname="java.util.LinkedList">
33
     <item >
34
      <at name="value">
35
       <object classname="com.jeta.forms.store.memento.BeanMemento">
36
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
37
         <at name="cellconstraints">
38
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
39
           <at name="column">2</at>
40
           <at name="row">4</at>
41
           <at name="colspan">1</at>
42
           <at name="rowspan">1</at>
43
           <at name="halign">default</at>
44
           <at name="valign">default</at>
45
           <at name="insets" object="insets">0,0,0,0</at>
46
          </object>
47
         </at>
48
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
49
        </super>
50
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
51
        <at name="beanclass">javax.swing.JPanel</at>
52
        <at name="beanproperties">
53
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
54
          <at name="classname">javax.swing.JPanel</at>
55
          <at name="properties">
56
           <object classname="com.jeta.forms.store.support.PropertyMap">
57
            <at name="name">ImageContainer</at>
58
            <at name="width">1396</at>
59
            <at name="height">770</at>
60
           </object>
61
          </at>
62
         </object>
63
        </at>
64
       </object>
65
      </at>
66
     </item>
67
     <item >
68
      <at name="value">
69
       <object classname="com.jeta.forms.store.memento.FormMemento">
70
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
71
         <at name="cellconstraints">
72
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
73
           <at name="column">2</at>
74
           <at name="row">2</at>
75
           <at name="colspan">1</at>
76
           <at name="rowspan">1</at>
77
           <at name="halign">default</at>
78
           <at name="valign">default</at>
79
           <at name="insets" object="insets">0,0,0,0</at>
80
          </object>
81
         </at>
82
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
83
        </super>
84
        <at name="id">embedded.1844330407</at>
85
        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
86
        <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)</at>
87
        <at name="components">
88
         <object classname="java.util.LinkedList">
89
          <item >
90
           <at name="value">
91
            <object classname="com.jeta.forms.store.memento.BeanMemento">
92
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
93
              <at name="cellconstraints">
94
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
95
                <at name="column">1</at>
96
                <at name="row">1</at>
97
                <at name="colspan">1</at>
98
                <at name="rowspan">1</at>
99
                <at name="halign">default</at>
100
                <at name="valign">default</at>
101
                <at name="insets" object="insets">0,0,0,0</at>
102
               </object>
103
              </at>
104
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
105
             </super>
106
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
107
             <at name="beanclass">javax.swing.JButton</at>
108
             <at name="beanproperties">
109
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
110
               <at name="classname">javax.swing.JButton</at>
111
               <at name="properties">
112
                <object classname="com.jeta.forms.store.support.PropertyMap">
113
                 <at name="border">
114
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
115
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
116
                    <at name="name">border</at>
117
                   </super>
118
                   <at name="borders">
119
                    <object classname="java.util.LinkedList">
120
                     <item >
121
                      <at name="value">
122
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
123
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
124
                         <at name="name">border</at>
125
                        </super>
126
                        <at name="top">2</at>
127
                        <at name="left">2</at>
128
                        <at name="bottom">2</at>
129
                        <at name="right">2</at>
130
                       </object>
131
                      </at>
132
                     </item>
133
                    </object>
134
                   </at>
135
                  </object>
136
                 </at>
137
                 <at name="icon">
138
                  <object classname="com.jeta.forms.store.properties.IconProperty">
139
                   <at name="embedded">false</at>
140
                   <at name="path">images/imageviewer-rotate-left.png</at>
141
                   <at name="description">imageviewer-rotate-left.png</at>
142
                   <at name="width">16</at>
143
                   <at name="height">16</at>
144
                  </object>
145
                 </at>
146
                 <at name="name">btnRotateLeft</at>
147
                 <at name="width">20</at>
148
                 <at name="toolTipText">_Rotate_left</at>
149
                 <at name="height">20</at>
150
                </object>
151
               </at>
152
              </object>
153
             </at>
154
            </object>
155
           </at>
156
          </item>
157
          <item >
158
           <at name="value">
159
            <object classname="com.jeta.forms.store.memento.BeanMemento">
160
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
161
              <at name="cellconstraints">
162
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
163
                <at name="column">3</at>
164
                <at name="row">1</at>
165
                <at name="colspan">1</at>
166
                <at name="rowspan">1</at>
167
                <at name="halign">default</at>
168
                <at name="valign">default</at>
169
                <at name="insets" object="insets">0,0,0,0</at>
170
               </object>
171
              </at>
172
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
173
             </super>
174
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
175
             <at name="beanclass">javax.swing.JButton</at>
176
             <at name="beanproperties">
177
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
178
               <at name="classname">javax.swing.JButton</at>
179
               <at name="properties">
180
                <object classname="com.jeta.forms.store.support.PropertyMap">
181
                 <at name="border">
182
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
183
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
184
                    <at name="name">border</at>
185
                   </super>
186
                   <at name="borders">
187
                    <object classname="java.util.LinkedList">
188
                     <item >
189
                      <at name="value">
190
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
191
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
192
                         <at name="name">border</at>
193
                        </super>
194
                        <at name="top">2</at>
195
                        <at name="left">2</at>
196
                        <at name="bottom">2</at>
197
                        <at name="right">2</at>
198
                       </object>
199
                      </at>
200
                     </item>
201
                    </object>
202
                   </at>
203
                  </object>
204
                 </at>
205
                 <at name="icon">
206
                  <object classname="com.jeta.forms.store.properties.IconProperty">
207
                   <at name="embedded">false</at>
208
                   <at name="path">images/imageviewer-rotate-right.png</at>
209
                   <at name="description">imageviewer-rotate-right.png</at>
210
                   <at name="width">16</at>
211
                   <at name="height">16</at>
212
                  </object>
213
                 </at>
214
                 <at name="name">btnRotateRight</at>
215
                 <at name="width">20</at>
216
                 <at name="toolTipText">_Rotate_right</at>
217
                 <at name="height">20</at>
218
                </object>
219
               </at>
220
              </object>
221
             </at>
222
            </object>
223
           </at>
224
          </item>
225
          <item >
226
           <at name="value">
227
            <object classname="com.jeta.forms.store.memento.BeanMemento">
228
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
229
              <at name="cellconstraints">
230
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
231
                <at name="column">9</at>
232
                <at name="row">1</at>
233
                <at name="colspan">1</at>
234
                <at name="rowspan">1</at>
235
                <at name="halign">default</at>
236
                <at name="valign">default</at>
237
                <at name="insets" object="insets">0,0,0,0</at>
238
               </object>
239
              </at>
240
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
241
             </super>
242
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
243
             <at name="beanclass">javax.swing.JButton</at>
244
             <at name="beanproperties">
245
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
246
               <at name="classname">javax.swing.JButton</at>
247
               <at name="properties">
248
                <object classname="com.jeta.forms.store.support.PropertyMap">
249
                 <at name="border">
250
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
251
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
252
                    <at name="name">border</at>
253
                   </super>
254
                   <at name="borders">
255
                    <object classname="java.util.LinkedList">
256
                     <item >
257
                      <at name="value">
258
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
259
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
260
                         <at name="name">border</at>
261
                        </super>
262
                        <at name="top">2</at>
263
                        <at name="left">2</at>
264
                        <at name="bottom">2</at>
265
                        <at name="right">2</at>
266
                       </object>
267
                      </at>
268
                     </item>
269
                    </object>
270
                   </at>
271
                  </object>
272
                 </at>
273
                 <at name="icon">
274
                  <object classname="com.jeta.forms.store.properties.IconProperty">
275
                   <at name="embedded">false</at>
276
                   <at name="path">images/imageviewer-zoom-in.png</at>
277
                   <at name="description">imageviewer-zoom-in.png</at>
278
                   <at name="width">16</at>
279
                   <at name="height">16</at>
280
                  </object>
281
                 </at>
282
                 <at name="name">btnZoomIn</at>
283
                 <at name="width">20</at>
284
                 <at name="toolTipText">_Zoom_in</at>
285
                 <at name="height">20</at>
286
                </object>
287
               </at>
288
              </object>
289
             </at>
290
            </object>
291
           </at>
292
          </item>
293
          <item >
294
           <at name="value">
295
            <object classname="com.jeta.forms.store.memento.BeanMemento">
296
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
297
              <at name="cellconstraints">
298
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
299
                <at name="column">11</at>
300
                <at name="row">1</at>
301
                <at name="colspan">1</at>
302
                <at name="rowspan">1</at>
303
                <at name="halign">default</at>
304
                <at name="valign">default</at>
305
                <at name="insets" object="insets">0,0,0,0</at>
306
               </object>
307
              </at>
308
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
309
             </super>
310
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
311
             <at name="beanclass">javax.swing.JButton</at>
312
             <at name="beanproperties">
313
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
314
               <at name="classname">javax.swing.JButton</at>
315
               <at name="properties">
316
                <object classname="com.jeta.forms.store.support.PropertyMap">
317
                 <at name="border">
318
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
319
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
320
                    <at name="name">border</at>
321
                   </super>
322
                   <at name="borders">
323
                    <object classname="java.util.LinkedList">
324
                     <item >
325
                      <at name="value">
326
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
327
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
328
                         <at name="name">border</at>
329
                        </super>
330
                        <at name="top">2</at>
331
                        <at name="left">2</at>
332
                        <at name="bottom">2</at>
333
                        <at name="right">2</at>
334
                       </object>
335
                      </at>
336
                     </item>
337
                    </object>
338
                   </at>
339
                  </object>
340
                 </at>
341
                 <at name="icon">
342
                  <object classname="com.jeta.forms.store.properties.IconProperty">
343
                   <at name="embedded">false</at>
344
                   <at name="path">images/imageviewer-zoom-out.png</at>
345
                   <at name="description">imageviewer-zoom-out.png</at>
346
                   <at name="width">16</at>
347
                   <at name="height">16</at>
348
                  </object>
349
                 </at>
350
                 <at name="name">btnZoomOut</at>
351
                 <at name="width">20</at>
352
                 <at name="toolTipText">_Zoom_out</at>
353
                 <at name="height">20</at>
354
                </object>
355
               </at>
356
              </object>
357
             </at>
358
            </object>
359
           </at>
360
          </item>
361
          <item >
362
           <at name="value">
363
            <object classname="com.jeta.forms.store.memento.BeanMemento">
364
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
365
              <at name="cellconstraints">
366
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
367
                <at name="column">5</at>
368
                <at name="row">1</at>
369
                <at name="colspan">1</at>
370
                <at name="rowspan">1</at>
371
                <at name="halign">default</at>
372
                <at name="valign">default</at>
373
                <at name="insets" object="insets">0,0,0,0</at>
374
               </object>
375
              </at>
376
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
377
             </super>
378
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
379
             <at name="beanclass">javax.swing.JButton</at>
380
             <at name="beanproperties">
381
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
382
               <at name="classname">javax.swing.JButton</at>
383
               <at name="properties">
384
                <object classname="com.jeta.forms.store.support.PropertyMap">
385
                 <at name="border">
386
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
387
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
388
                    <at name="name">border</at>
389
                   </super>
390
                   <at name="borders">
391
                    <object classname="java.util.LinkedList">
392
                     <item >
393
                      <at name="value">
394
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
395
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
396
                         <at name="name">border</at>
397
                        </super>
398
                        <at name="top">2</at>
399
                        <at name="left">2</at>
400
                        <at name="bottom">2</at>
401
                        <at name="right">2</at>
402
                       </object>
403
                      </at>
404
                     </item>
405
                    </object>
406
                   </at>
407
                  </object>
408
                 </at>
409
                 <at name="icon">
410
                  <object classname="com.jeta.forms.store.properties.IconProperty">
411
                   <at name="embedded">false</at>
412
                   <at name="path">images/imageviewer-zoom-1-1.png</at>
413
                   <at name="description">imageviewer-zoom-1-1.png</at>
414
                   <at name="width">16</at>
415
                   <at name="height">16</at>
416
                  </object>
417
                 </at>
418
                 <at name="name">btnZoom1_1</at>
419
                 <at name="width">20</at>
420
                 <at name="toolTipText">_Zoom_1_1</at>
421
                 <at name="height">20</at>
422
                </object>
423
               </at>
424
              </object>
425
             </at>
426
            </object>
427
           </at>
428
          </item>
429
          <item >
430
           <at name="value">
431
            <object classname="com.jeta.forms.store.memento.BeanMemento">
432
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
433
              <at name="cellconstraints">
434
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
435
                <at name="column">7</at>
436
                <at name="row">1</at>
437
                <at name="colspan">1</at>
438
                <at name="rowspan">1</at>
439
                <at name="halign">default</at>
440
                <at name="valign">default</at>
441
                <at name="insets" object="insets">0,0,0,0</at>
442
               </object>
443
              </at>
444
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
445
             </super>
446
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
447
             <at name="beanclass">javax.swing.JButton</at>
448
             <at name="beanproperties">
449
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
450
               <at name="classname">javax.swing.JButton</at>
451
               <at name="properties">
452
                <object classname="com.jeta.forms.store.support.PropertyMap">
453
                 <at name="border">
454
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
455
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
456
                    <at name="name">border</at>
457
                   </super>
458
                   <at name="borders">
459
                    <object classname="java.util.LinkedList">
460
                     <item >
461
                      <at name="value">
462
                       <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
463
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
464
                         <at name="name">border</at>
465
                        </super>
466
                        <at name="top">2</at>
467
                        <at name="left">2</at>
468
                        <at name="bottom">2</at>
469
                        <at name="right">2</at>
470
                       </object>
471
                      </at>
472
                     </item>
473
                    </object>
474
                   </at>
475
                  </object>
476
                 </at>
477
                 <at name="icon">
478
                  <object classname="com.jeta.forms.store.properties.IconProperty">
479
                   <at name="embedded">false</at>
480
                   <at name="path">images/imageviewer-fit.png</at>
481
                   <at name="description">imageviewer-fit.png</at>
482
                   <at name="width">16</at>
483
                   <at name="height">16</at>
484
                  </object>
485
                 </at>
486
                 <at name="name">btnFit</at>
487
                 <at name="width">20</at>
488
                 <at name="toolTipText">_Fit_to_window</at>
489
                 <at name="height">20</at>
490
                </object>
491
               </at>
492
              </object>
493
             </at>
494
            </object>
495
           </at>
496
          </item>
497
          <item >
498
           <at name="value">
499
            <object classname="com.jeta.forms.store.memento.FormMemento">
500
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
501
              <at name="cellconstraints">
502
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
503
                <at name="column">13</at>
504
                <at name="row">1</at>
505
                <at name="colspan">1</at>
506
                <at name="rowspan">1</at>
507
                <at name="halign">default</at>
508
                <at name="valign">default</at>
509
                <at name="insets" object="insets">0,0,0,0</at>
510
               </object>
511
              </at>
512
              <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
513
             </super>
514
             <at name="id">embedded.M42271f7Y17a5e10ba5dBG7ffc</at>
515
             <at name="rowspecs">CENTER:DEFAULT:NONE</at>
516
             <at name="colspecs">FILL:DEFAULT:NONE</at>
517
             <at name="components">
518
              <object classname="java.util.LinkedList"/>
519
             </at>
520
             <at name="properties">
521
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
522
               <at name="classname">com.jeta.forms.gui.form.GridView</at>
523
               <at name="properties">
524
                <object classname="com.jeta.forms.store.support.PropertyMap">
525
                 <at name="border">
526
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
527
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
528
                    <at name="name">border</at>
529
                   </super>
530
                   <at name="borders">
531
                    <object classname="java.util.LinkedList"/>
532
                   </at>
533
                  </object>
534
                 </at>
535
                 <at name="name">gridCustomActions</at>
536
                 <at name="fill">
537
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
538
                   <at name="name">fill</at>
539
                  </object>
540
                 </at>
541
                 <at name="scollBars">
542
                  <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
543
                   <at name="name">scollBars</at>
544
                   <at name="verticalpolicy">21</at>
545
                   <at name="horizontalpolicy">31</at>
546
                  </object>
547
                 </at>
548
                </object>
549
               </at>
550
              </object>
551
             </at>
552
             <at name="cellpainters">
553
              <object classname="com.jeta.forms.store.support.Matrix">
554
               <at name="rows">
555
                <object classname="[Ljava.lang.Object;" size="1">
556
                 <at name="item" index="0">
557
                  <object classname="[Ljava.lang.Object;" size="1"/>
558
                 </at>
559
                </object>
560
               </at>
561
              </object>
562
             </at>
563
             <at name="rowgroups">
564
              <object classname="com.jeta.forms.store.memento.FormGroupSet">
565
               <at name="groups">
566
                <object classname="java.util.HashMap"/>
567
               </at>
568
              </object>
569
             </at>
570
             <at name="colgroups">
571
              <object classname="com.jeta.forms.store.memento.FormGroupSet">
572
               <at name="groups">
573
                <object classname="java.util.HashMap"/>
574
               </at>
575
              </object>
576
             </at>
577
            </object>
578
           </at>
579
          </item>
580
         </object>
581
        </at>
582
        <at name="properties">
583
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
584
          <at name="classname">com.jeta.forms.gui.form.GridView</at>
585
          <at name="properties">
586
           <object classname="com.jeta.forms.store.support.PropertyMap">
587
            <at name="border">
588
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
589
              <super classname="com.jeta.forms.store.properties.BorderProperty">
590
               <at name="name">border</at>
591
              </super>
592
              <at name="borders">
593
               <object classname="java.util.LinkedList"/>
594
              </at>
595
             </object>
596
            </at>
597
            <at name="name"/>
598
            <at name="fill">
599
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
600
              <at name="name">fill</at>
601
             </object>
602
            </at>
603
            <at name="scollBars">
604
             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
605
              <at name="name">scollBars</at>
606
              <at name="verticalpolicy">21</at>
607
              <at name="horizontalpolicy">31</at>
608
              <at name="border">
609
               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
610
                <super classname="com.jeta.forms.store.properties.BorderProperty">
611
                 <at name="name">border</at>
612
                </super>
613
                <at name="borders">
614
                 <object classname="java.util.LinkedList">
615
                  <item >
616
                   <at name="value">
617
                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
618
                     <super classname="com.jeta.forms.store.properties.BorderProperty">
619
                      <at name="name">border</at>
620
                     </super>
621
                    </object>
622
                   </at>
623
                  </item>
624
                 </object>
625
                </at>
626
               </object>
627
              </at>
628
             </object>
629
            </at>
630
           </object>
631
          </at>
632
         </object>
633
        </at>
634
        <at name="cellpainters">
635
         <object classname="com.jeta.forms.store.support.Matrix">
636
          <at name="rows">
637
           <object classname="[Ljava.lang.Object;" size="1">
638
            <at name="item" index="0">
639
             <object classname="[Ljava.lang.Object;" size="14"/>
640
            </at>
641
           </object>
642
          </at>
643
         </object>
644
        </at>
645
        <at name="rowgroups">
646
         <object classname="com.jeta.forms.store.memento.FormGroupSet">
647
          <at name="groups">
648
           <object classname="java.util.HashMap"/>
649
          </at>
650
         </object>
651
        </at>
652
        <at name="colgroups">
653
         <object classname="com.jeta.forms.store.memento.FormGroupSet">
654
          <at name="groups">
655
           <object classname="java.util.HashMap"/>
656
          </at>
657
         </object>
658
        </at>
659
       </object>
660
      </at>
661
     </item>
662
     <item >
663
      <at name="value">
664
       <object classname="com.jeta.forms.store.memento.BeanMemento">
665
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
666
         <at name="cellconstraints">
667
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
668
           <at name="column">2</at>
669
           <at name="row">6</at>
670
           <at name="colspan">1</at>
671
           <at name="rowspan">1</at>
672
           <at name="halign">default</at>
673
           <at name="valign">default</at>
674
           <at name="insets" object="insets">0,0,0,0</at>
675
          </object>
676
         </at>
677
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
678
        </super>
679
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
680
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
681
        <at name="beanproperties">
682
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
683
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
684
          <at name="properties">
685
           <object classname="com.jeta.forms.store.support.PropertyMap">
686
            <at name="border">
687
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
688
              <super classname="com.jeta.forms.store.properties.BorderProperty">
689
               <at name="name">border</at>
690
              </super>
691
              <at name="borders">
692
               <object classname="java.util.LinkedList">
693
                <item >
694
                 <at name="value">
695
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
696
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
697
                    <at name="name">border</at>
698
                   </super>
699
                  </object>
700
                 </at>
701
                </item>
702
               </object>
703
              </at>
704
             </object>
705
            </at>
706
            <at name="name">lblMessages</at>
707
            <at name="width">1396</at>
708
            <at name="fill">
709
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
710
              <at name="name">fill</at>
711
             </object>
712
            </at>
713
            <at name="height">12</at>
714
           </object>
715
          </at>
716
         </object>
717
        </at>
718
       </object>
719
      </at>
720
     </item>
721
    </object>
722
   </at>
723
   <at name="properties">
724
    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
725
     <at name="classname">com.jeta.forms.gui.form.GridView</at>
726
     <at name="properties">
727
      <object classname="com.jeta.forms.store.support.PropertyMap">
728
       <at name="border">
729
        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
730
         <super classname="com.jeta.forms.store.properties.BorderProperty">
731
          <at name="name">border</at>
732
         </super>
733
         <at name="borders">
734
          <object classname="java.util.LinkedList"/>
735
         </at>
736
        </object>
737
       </at>
738
       <at name="name"/>
739
       <at name="fill">
740
        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
741
         <at name="name">fill</at>
742
        </object>
743
       </at>
744
       <at name="scollBars">
745
        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
746
         <at name="name">scollBars</at>
747
         <at name="verticalpolicy">21</at>
748
         <at name="horizontalpolicy">31</at>
749
         <at name="border">
750
          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
751
           <super classname="com.jeta.forms.store.properties.BorderProperty">
752
            <at name="name">border</at>
753
           </super>
754
           <at name="borders">
755
            <object classname="java.util.LinkedList">
756
             <item >
757
              <at name="value">
758
               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
759
                <super classname="com.jeta.forms.store.properties.BorderProperty">
760
                 <at name="name">border</at>
761
                </super>
762
               </object>
763
              </at>
764
             </item>
765
            </object>
766
           </at>
767
          </object>
768
         </at>
769
        </object>
770
       </at>
771
      </object>
772
     </at>
773
    </object>
774
   </at>
775
   <at name="cellpainters">
776
    <object classname="com.jeta.forms.store.support.Matrix">
777
     <at name="rows">
778
      <object classname="[Ljava.lang.Object;" size="7">
779
       <at name="item" index="0">
780
        <object classname="[Ljava.lang.Object;" size="3"/>
781
       </at>
782
       <at name="item" index="1">
783
        <object classname="[Ljava.lang.Object;" size="3"/>
784
       </at>
785
       <at name="item" index="2">
786
        <object classname="[Ljava.lang.Object;" size="3"/>
787
       </at>
788
       <at name="item" index="3">
789
        <object classname="[Ljava.lang.Object;" size="3"/>
790
       </at>
791
       <at name="item" index="4">
792
        <object classname="[Ljava.lang.Object;" size="3"/>
793
       </at>
794
       <at name="item" index="5">
795
        <object classname="[Ljava.lang.Object;" size="3"/>
796
       </at>
797
       <at name="item" index="6">
798
        <object classname="[Ljava.lang.Object;" size="3"/>
799
       </at>
800
      </object>
801
     </at>
802
    </object>
803
   </at>
804
   <at name="rowgroups">
805
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
806
     <at name="groups">
807
      <object classname="java.util.HashMap"/>
808
     </at>
809
    </object>
810
   </at>
811
   <at name="colgroups">
812
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
813
     <at name="groups">
814
      <object classname="java.util.HashMap"/>
815
     </at>
816
    </object>
817
   </at>
818
  </object>
819
 </at>
820
</object>
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/ImageViewerView.java
1
package org.gvsig.simpleimageviewer.app.mainplugin;
2

  
3
import com.jeta.open.i18n.I18NUtils;
4
import com.jgoodies.forms.layout.CellConstraints;
5
import com.jgoodies.forms.layout.FormLayout;
6
import java.awt.BorderLayout;
7
import java.awt.ComponentOrientation;
8
import java.awt.Container;
9
import java.awt.Dimension;
10
import javax.swing.Box;
11
import javax.swing.ImageIcon;
12
import javax.swing.JButton;
13
import javax.swing.JFrame;
14
import javax.swing.JLabel;
15
import javax.swing.JPanel;
16
import javax.swing.border.EmptyBorder;
17

  
18

  
19
public class ImageViewerView extends JPanel
20
{
21
   JPanel ImageContainer = new JPanel();
22
   JButton btnRotateLeft = new JButton();
23
   JButton btnRotateRight = new JButton();
24
   JButton btnZoomIn = new JButton();
25
   JButton btnZoomOut = new JButton();
26
   JButton btnZoom1_1 = new JButton();
27
   JButton btnFit = new JButton();
28
   JPanel gridCustomActions = new JPanel();
29
   JLabel lblMessages = new JLabel();
30

  
31
   /**
32
    * Default constructor
33
    */
34
   public ImageViewerView()
35
   {
36
      initializePanel();
37
   }
38

  
39
   /**
40
    * Adds fill components to empty cells in the first row and first column of the grid.
41
    * This ensures that the grid spacing will be the same as shown in the designer.
42
    * @param cols an array of column indices in the first row where fill components should be added.
43
    * @param rows an array of row indices in the first column where fill components should be added.
44
    */
45
   void addFillComponents( Container panel, int[] cols, int[] rows )
46
   {
47
      Dimension filler = new Dimension(10,10);
48

  
49
      boolean filled_cell_11 = false;
50
      CellConstraints cc = new CellConstraints();
51
      if ( cols.length > 0 && rows.length > 0 )
52
      {
53
         if ( cols[0] == 1 && rows[0] == 1 )
54
         {
55
            /** add a rigid area  */
56
            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
57
            filled_cell_11 = true;
58
         }
59
      }
60

  
61
      for( int index = 0; index < cols.length; index++ )
62
      {
63
         if ( cols[index] == 1 && filled_cell_11 )
64
         {
65
            continue;
66
         }
67
         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
68
      }
69

  
70
      for( int index = 0; index < rows.length; index++ )
71
      {
72
         if ( rows[index] == 1 && filled_cell_11 )
73
         {
74
            continue;
75
         }
76
         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
77
      }
78

  
79
   }
80

  
81
   /**
82
    * Helper method to load an image file from the CLASSPATH
83
    * @param imageName the package and name of the file to load relative to the CLASSPATH
84
    * @return an ImageIcon instance with the specified image file
85
    * @throws IllegalArgumentException if the image resource cannot be loaded.
86
    */
87
   public ImageIcon loadImage( String imageName )
88
   {
89
      try
90
      {
91
         ClassLoader classloader = getClass().getClassLoader();
92
         java.net.URL url = classloader.getResource( imageName );
93
         if ( url != null )
94
         {
95
            ImageIcon icon = new ImageIcon( url );
96
            return icon;
97
         }
98
      }
99
      catch( Exception e )
100
      {
101
         e.printStackTrace();
102
      }
103
      throw new IllegalArgumentException( "Unable to load image: " + imageName );
104
   }
105

  
106
   /**
107
    * Method for recalculating the component orientation for 
108
    * right-to-left Locales.
109
    * @param orientation the component orientation to be applied
110
    */
111
   public void applyComponentOrientation( ComponentOrientation orientation )
112
   {
113
      // Not yet implemented...
114
      // I18NUtils.applyComponentOrientation(this, orientation);
115
      super.applyComponentOrientation(orientation);
116
   }
117

  
118
   public JPanel createPanel()
119
   {
120
      JPanel jpanel1 = new JPanel();
121
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
122
      CellConstraints cc = new CellConstraints();
123
      jpanel1.setLayout(formlayout1);
124

  
125
      ImageContainer.setName("ImageContainer");
126
      jpanel1.add(ImageContainer,cc.xy(2,4));
127

  
128
      jpanel1.add(createPanel1(),cc.xy(2,2));
129
      lblMessages.setName("lblMessages");
130
      jpanel1.add(lblMessages,cc.xy(2,6));
131

  
132
      addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,2,3,4,5,6,7 });
133
      return jpanel1;
134
   }
135

  
136
   public JPanel createPanel1()
137
   {
138
      JPanel jpanel1 = new JPanel();
139
      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0)","CENTER:DEFAULT:NONE");
140
      CellConstraints cc = new CellConstraints();
141
      jpanel1.setLayout(formlayout1);
142

  
143
      btnRotateLeft.setIcon(loadImage("images/imageviewer-rotate-left.png"));
144
      btnRotateLeft.setName("btnRotateLeft");
145
      btnRotateLeft.setToolTipText("_Rotate_left");
146
      EmptyBorder emptyborder1 = new EmptyBorder(2,2,2,2);
147
      btnRotateLeft.setBorder(emptyborder1);
148
      jpanel1.add(btnRotateLeft,cc.xy(1,1));
149

  
150
      btnRotateRight.setIcon(loadImage("images/imageviewer-rotate-right.png"));
151
      btnRotateRight.setName("btnRotateRight");
152
      btnRotateRight.setToolTipText("_Rotate_right");
153
      EmptyBorder emptyborder2 = new EmptyBorder(2,2,2,2);
154
      btnRotateRight.setBorder(emptyborder2);
155
      jpanel1.add(btnRotateRight,cc.xy(3,1));
156

  
157
      btnZoomIn.setIcon(loadImage("images/imageviewer-zoom-in.png"));
158
      btnZoomIn.setName("btnZoomIn");
159
      btnZoomIn.setToolTipText("_Zoom_in");
160
      EmptyBorder emptyborder3 = new EmptyBorder(2,2,2,2);
161
      btnZoomIn.setBorder(emptyborder3);
162
      jpanel1.add(btnZoomIn,cc.xy(9,1));
163

  
164
      btnZoomOut.setIcon(loadImage("images/imageviewer-zoom-out.png"));
165
      btnZoomOut.setName("btnZoomOut");
166
      btnZoomOut.setToolTipText("_Zoom_out");
167
      EmptyBorder emptyborder4 = new EmptyBorder(2,2,2,2);
168
      btnZoomOut.setBorder(emptyborder4);
169
      jpanel1.add(btnZoomOut,cc.xy(11,1));
170

  
171
      btnZoom1_1.setIcon(loadImage("images/imageviewer-zoom-1-1.png"));
172
      btnZoom1_1.setName("btnZoom1_1");
173
      btnZoom1_1.setToolTipText("_Zoom_1_1");
174
      EmptyBorder emptyborder5 = new EmptyBorder(2,2,2,2);
175
      btnZoom1_1.setBorder(emptyborder5);
176
      jpanel1.add(btnZoom1_1,cc.xy(5,1));
177

  
178
      btnFit.setIcon(loadImage("images/imageviewer-fit.png"));
179
      btnFit.setName("btnFit");
180
      btnFit.setToolTipText("_Fit_to_window");
181
      EmptyBorder emptyborder6 = new EmptyBorder(2,2,2,2);
182
      btnFit.setBorder(emptyborder6);
183
      jpanel1.add(btnFit,cc.xy(7,1));
184

  
185
      jpanel1.add(creategridCustomActions(),cc.xy(13,1));
186
      addFillComponents(jpanel1,new int[]{ 2,4,6,8,10,12,13,14 },new int[0]);
187
      return jpanel1;
188
   }
189

  
190
   public JPanel creategridCustomActions()
191
   {
192
      gridCustomActions.setName("gridCustomActions");
193
      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
194
      CellConstraints cc = new CellConstraints();
195
      gridCustomActions.setLayout(formlayout1);
196

  
197
      addFillComponents(gridCustomActions,new int[]{ 1 },new int[]{ 1 });
198
      return gridCustomActions;
199
   }
200

  
201
   /**
202
    * Initializer
203
    */
204
   protected void initializePanel()
205
   {
206
      setLayout(new BorderLayout());
207
      add(createPanel(), BorderLayout.CENTER);
208
   }
209

  
210

  
211
}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/ImageViewer.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.simpleimageviewer.app.mainplugin;
7

  
8
import javax.swing.JComponent;
9
import org.gvsig.tools.swing.api.viewer.AbstractJViewer;
10
import org.gvsig.tools.swing.api.viewer.ViewerFactory;
11

  
12
/**
13
 *
14
 * @author jjdelcerro
15
 */
16
public class ImageViewer extends AbstractJViewer {
17

  
18
    private final ImageViewerImpl viewer;
19
    
20
    public ImageViewer(ViewerFactory factory) {
21
        super(factory);
22
        this.viewer = new ImageViewerImpl();
23
    }
24

  
25
    @Override
26
    public void clean() {
27
        this.viewer.clean();
28
    }
29

  
30
    @Override
31
    public JComponent asJComponent() {
32
        return this.viewer;
33
    }
34

  
35
    @Override
36
    public String getMimetype() {
37
        return "image/"+this.viewer.getImage().getFormatName();
38
    }
39

  
40
    @Override
41
    public void setContents(Object data) {
42
        this.viewer.setImage(data);
43
    }
44

  
45
}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/ImageViewerImpl.java
1

  
2
package org.gvsig.simpleimageviewer.app.mainplugin;
3

  
4
import java.awt.BorderLayout;
5
import java.awt.Cursor;
6
import java.awt.FlowLayout;
7
import java.awt.Image;
8
import java.awt.event.ActionEvent;
9
import java.awt.event.ComponentAdapter;
10
import java.awt.event.ComponentEvent;
11
import java.beans.PropertyChangeEvent;
12
import java.text.NumberFormat;
13
import javax.swing.Action;
14
import javax.swing.BorderFactory;
15
import javax.swing.ImageIcon;
16
import javax.swing.JButton;
17
import javax.swing.JComponent;
18
import javax.swing.SwingUtilities;
19
import javax.swing.event.ChangeListener;
20
import org.apache.commons.io.FilenameUtils;
21
import org.gvsig.imageviewer.ImageViewer;
22
import org.gvsig.tools.ToolsLocator;
23
import org.gvsig.tools.i18n.I18nManager;
24
import org.gvsig.tools.swing.api.ChangeListenerHelper;
25
import org.gvsig.tools.swing.api.SimpleImage;
26
import org.gvsig.tools.swing.api.ToolsSwingLocator;
27
import org.gvsig.tools.swing.api.ToolsSwingManager;
28
import org.gvsig.tools.swing.icontheme.IconTheme;
29
import org.gvsig.tools.swing.icontheme.IconThemeManager;
30
import org.jdesktop.swingx.JXImageView;
31
import org.slf4j.Logger;
32
import org.slf4j.LoggerFactory;
33

  
34

  
35
public class ImageViewerImpl extends ImageViewerView implements ImageViewer {
36
    private static final Logger LOGGER = LoggerFactory.getLogger(ImageViewerImpl.class);
37
            
38
    private static final int ROTATE_RIGHT = 0;
39
    private static final int ROTATE_LEFT = 1;
40
    
41
    private JXImageView imageView;
42
    private boolean fit = true;
43
    private final ChangeListenerHelper changeListener;
44
    private SimpleImage currentImage;
45
    
46
    public ImageViewerImpl() {
47
        this.changeListener = ToolsSwingLocator.getToolsSwingManager().createChangeListenerHelper();
48
        this.initComponents();
49
    }
50
    
51
    private void initComponents() {
52
        ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
53
        
54
        this.imageView = new JXImageView();
55
        this.ImageContainer.setLayout(new BorderLayout());
56
        this.ImageContainer.add(this.imageView,BorderLayout.CENTER);
57
        
58
        toolsSwingManager.translate(this.btnZoomIn);
59
        toolsSwingManager.translate(this.btnZoomOut);
60
        toolsSwingManager.translate(this.btnRotateLeft);
61
        toolsSwingManager.translate(this.btnRotateRight);
62
        toolsSwingManager.translate(this.btnFit);
63
        toolsSwingManager.translate(this.btnZoom1_1);
64
        
65
        this.btnRotateLeft.addActionListener((ActionEvent e) -> {
66
            fit = false;
67
            rotate(ROTATE_LEFT);
68
        });
69
        
70
        this.btnRotateRight.addActionListener((ActionEvent e) -> {
71
            fit = false;
72
            rotate(ROTATE_RIGHT);
73
        });
74
        
75
        this.btnFit.addActionListener((ActionEvent e) -> {
76
            fit = true;
77
            adjustScale();
78
        });
79
        
80
        this.btnZoom1_1.addActionListener((ActionEvent e) -> {
81
            fit = false;
82
            imageView.setScale(1.0);
83
        });
84
        
85
        this.btnZoomIn.addActionListener((ActionEvent e) -> {
86
            fit = false;
87
            imageView.setScale(imageView.getScale()*2);
88
        });
89
        
90
        this.btnZoomOut.addActionListener((ActionEvent e) -> {
91
            fit = false;
92
            imageView.setScale(imageView.getScale()*0.5);
93
        });
94
        
95
        this.imageView.addPropertyChangeListener("scale", (PropertyChangeEvent evt) -> {
96
            onChangeScale();
97
        });
98
        this.addComponentListener(new ComponentAdapter() {
99
            @Override
100
            public void componentResized(ComponentEvent e) {
101
                adjustScale();
102
            }
103
        });
104
        
105
        this.gridCustomActions.removeAll();
106
        this.gridCustomActions.setLayout(new FlowLayout(FlowLayout.TRAILING,4,0));
107
    }
108

  
109
    @Override
110
    public ImageIcon loadImage(String imageName) {
111
        String iconName = FilenameUtils.getBaseName(imageName);
112
        IconThemeManager iconThemeManager = ToolsSwingLocator.getIconThemeManager();
113
        IconTheme theme = iconThemeManager.getCurrent();
114
        if( theme.exists(iconName) ) {
115
            return theme.get(iconName);
116
        }
117
        return super.loadImage(imageName); 
118
    }
119

  
120
    
121
    private void rotate(int mode) {
122
        if( this.currentImage==null ) {
123
            return;
124
        }
125
        double scale = imageView.getScale();
126
        switch(mode) {
127
        case ROTATE_RIGHT:
128
            this.currentImage = this.currentImage.rotate(90);
129
            break;
130
        default:
131
        case ROTATE_LEFT:
132
            this.currentImage = this.currentImage.rotate(-90);
133
            break;
134
        }
135
        imageView.setImage(this.currentImage.getBufferedImage());
136
        imageView.setScale(scale);
137
        this.changeListener.fireEvent();
138
    }
139
    
140
    private void onChangeScale() {
141
        I18nManager i18n = ToolsLocator.getI18nManager();
142
        NumberFormat nf = NumberFormat.getNumberInstance();
143
        nf.setMaximumFractionDigits(3);
144
        nf.setMinimumFractionDigits(3);
145
        String scale = nf.format(this.imageView.getScale());
146
        this.lblMessages.setText(i18n.getTranslation("_Scale_{0}", new String[] {scale}));
147
    }
148
    
149
    private void adjustScale() {
150
        if( !fit ) {
151
            return;
152
        }
153
        double sx = 0;
154
        double sy = 0;
155
        try {
156
            double w = (double)this.getWidth();
157
            double h = (double)this.getHeight();
158
            sx =  (w<=0? this.getPreferredSize().getWidth():w)/ this.imageView.getImage().getWidth(null);
159
            sy = (h<=0? this.getPreferredSize().getHeight():h) / this.imageView.getImage().getHeight(null);
160
            if( sx > sy ) {
161
                this.imageView.setScale(sy);
162
            } else {
163
                this.imageView.setScale(sx);
164
            }
165
        } catch(Exception ex) {
166
            // Ignore exception, don't crash
167
            LOGGER.trace("Error setting scale (sx="+sx+", sy="+sy+").");
168
        }
169
    }
170
    
171
    @Override
172
    public void clean() {
173
        this.currentImage = null;
174
        this.imageView.setImage((Image)null);
175
        this.changeListener.fireEvent();
176
    }
177
    
178
    @Override
179
    public void setImage(Object source) {
180
        if( source==null ) {
181
            this.clean();
182
            return;
183
        }
184
        if( source instanceof SimpleImage ) {
185
            this.setImage((SimpleImage)source);
186
            return;
187
        }
188
        SimpleImage img = ToolsSwingLocator.getToolsSwingManager().createSimpleImage(source);
189
        this.setImage(img);
190
}
191
    
192
    private void setImage(final SimpleImage image) {
193
        if( image==null ) {
194
            this.clean();
195
            return;
196
        }
197
        this.currentImage = image;
198
        imageView.setImage(this.currentImage.getBufferedImage());
199
        this.changeListener.fireEvent();
200
        onChangeScale();
201
        SwingUtilities.invokeLater(this::adjustScale);
202
    }
203
    
204
    @Override
205
    public JComponent asJComponent() {
206
        return this;
207
    }
208
    
209
    @Override
210
    public void addAction(Action action) {
211
        JComponent button = this.createButton(action);
212
        this.gridCustomActions.add(button);
213
    }
214

  
215
    private JComponent createButton(Action action) {
216
        JButton button = new JButton(action);
217
        button.setBorder(BorderFactory.createEmptyBorder());
218
        button.setBorderPainted(false);
219
        button.setFocusPainted(false);
220
        button.setContentAreaFilled(false);
221
        button.setCursor(new Cursor(Cursor.HAND_CURSOR));
222
        return button;
223
    }    
224

  
225
    @Override
226
    public SimpleImage getImage() {
227
        return this.currentImage;
228
    }
229

  
230
    @Override
231
    public void addChangeListener(ChangeListener listener) {
232
        this.changeListener.addChangeListener(listener);
233
    }
234

  
235
    @Override
236
    public ChangeListener[] getChangeListeners() {
237
        return this.changeListener.getChangeListeners();
238
    }
239

  
240
    @Override
241
    public void removeChangeListener(ChangeListener listener) {
242
        this.changeListener.removeChangeListener(listener);
243
    }
244

  
245
    @Override
246
    public void removeAllChangeListener() {
247
        this.changeListener.removeAllChangeListener();
248
    }
249

  
250
    @Override
251
    public boolean hasChangeListeners() {
252
        return this.changeListener.hasChangeListeners();
253
    }
254
}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.170/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/SimpleImageViewerManager.java
1

  
2
package org.gvsig.simpleimageviewer.app.mainplugin;
3

  
4
import org.gvsig.imageviewer.ImageViewer;
5
import org.gvsig.imageviewer.ImageViewerManager;
6

  
7

  
8
public class SimpleImageViewerManager implements ImageViewerManager {
9
    
10
    @Override
11
    public ImageViewer createImageViewer() {
12
        return new ImageViewerImpl();
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff