Revision 8970

View differences:

org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/org.gvsig.simpleimageviewer.app.mainplugin/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/maven-v4_0_0.xsd">
3
  <modelVersion>4.0.0</modelVersion>
4
  <packaging>jar</packaging>
5
  <artifactId>org.gvsig.simpleimageviewer.app.mainplugin</artifactId>
6
  <name>${project.artifactId}</name>
7
  <description>
8
  Simple image viewer for gvSIG based on JXImageViewer component
9
  </description>
10
  <parent>
11
    <groupId>org.gvsig</groupId>
12
    <artifactId>org.gvsig.simpleimageviewer</artifactId>
13
    <version>1.0.167</version>
14
  </parent>
15
  <dependencies>
16
    <dependency>
17
      <groupId>org.gvsig</groupId>
18
      <artifactId>org.gvsig.app.mainplugin</artifactId>
19
      <scope>compile</scope>
20
    </dependency>
21
    <dependency>
22
      <groupId>org.gvsig</groupId>
23
      <artifactId>org.gvsig.tools.util.api</artifactId>
24
      <scope>compile</scope>
25
    </dependency>
26
    <dependency>
27
      <groupId>org.swinglabs.swingx</groupId>
28
      <artifactId>swingx-all</artifactId>
29
      <version>1.6.4</version>
30
      <scope>compile</scope>
31
    </dependency>
32
    <dependency>
33
      <groupId>org.gvsig</groupId>
34
      <artifactId>org.gvsig.tools.swing.api</artifactId>
35
      <scope>compile</scope>
36
    </dependency>
37
  </dependencies>
38

  
39

  
40
  <properties>
41
    <!-- Package info property values -->
42
    <!-- Default values in org.gvsig.desktop -->
43
    <gvsig.package.info.state>testing</gvsig.package.info.state>
44
    <gvsig.package.info.official>true</gvsig.package.info.official>
45
    <gvsig.package.info.name>Simple image viewer</gvsig.package.info.name>
46
    <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-pool/pool/</gvsig.package.info.poolURL>
47
  </properties>
48

  
49
</project>
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/org.gvsig.simpleimageviewer.app.mainplugin/buildNumber.properties
1
#Sat Oct 14 20:11:46 CEST 2023
2
buildNumber=171
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/org.gvsig.simpleimageviewer.app.mainplugin/src/main/resources-plugin/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
    <resourceBundle name="text"/>
4
    <libraries library-dir="lib"/>
5
    <extensions>
6
        <extension class-name="org.gvsig.simpleimageviewer.app.mainplugin.SimpleImageViewerExtension"
7
                           description=""
8
                           active="true"
9
                           priority="1">			
10

  
11
        </extension>	
12
    </extensions>
13
</plugin-config>
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/org.gvsig.simpleimageviewer.app.mainplugin/src/main/resources-plugin/i18n/text.properties
1
_Rotate_left=Rotar a la izquierda
2
_Rotate_right=Rotar a la derecha
3
_Zoom_1_1=Zoom 1:1
4
_Fit_to_window=Ajustar a la ventana
5
_Zoom_in=Zoom mas
6
_Zoom_out=Zoom menos
7
_Scale_{0}=Escala: {0}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/org.gvsig.simpleimageviewer.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
1
_Rotate_left=Rotate left
2
_Rotate_right=Rotate right
3
_Zoom_1_1=Zoom 1:1
4
_Fit_to_window=Fit to window
5
_Zoom_in=Zoom in
6
_Zoom_out=Zoom out
7
_Scale_{0}=Scale: {0}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/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.167/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.167/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.167/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();
13
    }
14
    
15
}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/SimpleImageViewerExtension.java
1

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

  
4
import org.gvsig.andami.IconThemeHelper;
5
import org.gvsig.andami.plugins.Extension;
6
import org.gvsig.tools.swing.api.ToolsSwingLocator;
7
import org.gvsig.tools.util.ToolsUtilLocator;
8

  
9

  
10
public class SimpleImageViewerExtension extends Extension {
11

  
12
    @Override
13
    public void initialize() {
14
        String[] iconNames = new String[] {
15
            "imageviewer-rotate-left",
16
            "imageviewer-rotate-right",
17
            "imageviewer-zoom-in",
18
            "imageviewer-zoom-out",
19
            "imageviewer-zoom-1-1",
20
            "imageviewer-fit"
21
        };
22
        for (String iconName : iconNames) {
23
            IconThemeHelper.registerIcon("imageviewer", iconName, this);
24
        }
25
        ToolsUtilLocator.registerImageViewertManager(SimpleImageViewerManager.class);
26
        ToolsSwingLocator.getToolsSwingManager().registerViewer(new ImageViewerFactory());
27
    }
28

  
29
    @Override
30
    public void execute(String command) {
31

  
32
    }
33

  
34
    @Override
35
    public boolean isEnabled() {
36
        return false;
37
    }
38

  
39
    @Override
40
    public boolean isVisible() {
41
        return false;
42
    }
43
    
44
}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/org.gvsig.simpleimageviewer.app.mainplugin/src/main/java/org/gvsig/simpleimageviewer/app/mainplugin/ImageViewerFactory.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 java.io.InputStream;
9
import org.gvsig.tools.swing.api.SimpleImage;
10
import org.gvsig.tools.swing.api.ToolsSwingLocator;
11
import org.gvsig.tools.swing.api.ToolsSwingManager;
12
import org.gvsig.tools.swing.api.viewer.AbstractViewerFactory;
13
import org.gvsig.tools.swing.api.viewer.JViewer;
14
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
15

  
16
/**
17
 *
18
 * @author jjdelcerro
19
 */
20
public class ImageViewerFactory<T> extends AbstractViewerFactory<T> {
21
    
22
    public ImageViewerFactory() {
23
        super("ImageViewer", "Image", "image/raw", false);
24
    }
25

  
26
    @Override
27
    public JViewer<T> createViewer() {
28
        return new ImageViewer(this);
29
    }
30

  
31
    @Override
32
    public boolean isApplicable(Object... args) {
33
        Object data = args[0];
34
        if( data instanceof SimpleImage ) {
35
            return true;
36
        }
37
        if( data instanceof InputStream ) {
38
            return true;
39
        }
40
        try {
41
            ToolsSwingManager manager = ToolsSwingLocator.getToolsSwingManager();
42
            SimpleImage img = manager.createSimpleImage(data);
43
            return img!=null;
44
        } catch(Exception ex) {
45
            return false;
46
        }
47
    }
48
}
org.gvsig.simpleimageviewer/tags/org.gvsig.simpleimageviewer-1.0.167/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.167/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();
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff