Revision 47450

View differences:

tags/org.gvsig.desktop-2.0.428/license.txt
1
gvSIG. Desktop Geographic Information System.
2

  
3
Copyright (C) 2007-2023 gvSIG Association.
4

  
5
This program is free software; you can redistribute it and/or
6
modify it under the terms of the GNU General Public License
7
as published by the Free Software Foundation; either version 3
8
of the License, or (at your option) any later version.
9

  
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

  
15
 You should have received a copy of the GNU General Public License 
16
along with this program. If not, see <https://www.gnu.org/licenses/>. 
17

  
18
For any additional information, do not hesitate to contact us
19
at info AT gvsig.com, or visit our website www.gvsig.com.
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/pom.xml
1
<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">
2
    <modelVersion>4.0.0</modelVersion>
3
    <parent>
4
        <groupId>org.gvsig</groupId>
5
        <artifactId>org.gvsig.fmap.mapcontext.swing</artifactId>
6
        <version>2.0.428</version>
7
      </parent>
8
    <artifactId>org.gvsig.fmap.mapcontext.swing.api</artifactId>
9
    <name>${project.artifactId}</name>
10
    <dependencies>
11
        <dependency>
12
            <groupId>org.gvsig</groupId>
13
            <artifactId>org.gvsig.tools.swing.api</artifactId>
14
            <scope>compile</scope>
15
        </dependency>
16
        <dependency>
17
            <groupId>org.gvsig</groupId>
18
            <artifactId>org.gvsig.raster.lib.buffer.api</artifactId>
19
            <scope>compile</scope>
20
        </dependency>
21
        <dependency>
22
            <groupId>org.gvsig</groupId>
23
            <artifactId>org.gvsig.fmap.dal.api</artifactId>
24
            <scope>compile</scope>
25
        </dependency>
26
        <dependency>
27
            <groupId>org.gvsig</groupId>
28
            <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
29
            <scope>compile</scope>
30
        </dependency>
31
        <dependency>
32
            <groupId>org.gvsig</groupId>
33
            <artifactId>org.gvsig.raster.swing.buffer.api</artifactId>
34
            <scope>compile</scope>
35
        </dependency>
36
    </dependencies>
37
</project>
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.fmap.mapcontext.raster.swing.MapContextRasterSwingLibrary
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/MapContextRasterSwingLocator.java
1
package org.gvsig.fmap.mapcontext.raster.swing;
2
/* gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright ? 2007-2017 gvSIG Association
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25

  
26
import org.gvsig.tools.locator.BaseLocator;
27

  
28
/**
29
 * This locator is the entry point for the raster buffer swing library,
30
 *
31
 * @author gvSIG team
32
 * @version $Id$
33
 */
34
public class MapContextRasterSwingLocator extends BaseLocator {
35

  
36
    /**
37
     * Chart swing manager name.
38
     */
39
    public static final String SWING_MANAGER_NAME =
40
        "Mapcontext.raster.swing.manager";
41

  
42
    /**
43
     * Chart swing manager description.
44
     */
45
    public static final String SWING_MANAGER_DESCRIPTION =
46
        "UIManager of MapContext Raster library";
47

  
48
    private static final String LOCATOR_NAME = "Mapcontext.raster.swing.locator";
49

  
50
    /**
51
     * Unique instance.
52
     */
53
    private static final MapContextRasterSwingLocator INSTANCE =
54
        new MapContextRasterSwingLocator();
55

  
56
    /**
57
     * Return the singleton instance.
58
     *
59
     * @return the singleton instance
60
     */
61
    public static MapContextRasterSwingLocator getInstance() {
62
        return INSTANCE;
63
    }
64

  
65
    /**
66
     * Return the Locator's name
67
     *
68
     * @return a String with the Locator's name
69
     */
70
    public final String getLocatorName() {
71
        return LOCATOR_NAME;
72
    }
73

  
74
    /**
75
     * Registers the Class implementing the PersistenceManager interface.
76
     *
77
     * @param clazz
78
     *            implementing the PersistenceManager interface
79
     */
80
    public static void registerSwingManager(
81
        Class<? extends MapContextRasterSwingManager> clazz) {
82
        getInstance().register(SWING_MANAGER_NAME, SWING_MANAGER_DESCRIPTION,
83
            clazz);
84
    }
85

  
86
    /**
87
     * Gets the instance of the {@link ScriptingUIManager} registered.
88
     *
89
     * @return {@link ScriptingUIManager}
90
     */
91
    public static MapContextRasterSwingManager getSwingManager() {
92
        return (MapContextRasterSwingManager) getInstance()
93
            .get(SWING_MANAGER_NAME);
94
    }
95

  
96
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/MapContextRasterSwingLibrary.java
1
package org.gvsig.fmap.mapcontext.raster.swing;
2

  
3
/* gvSIG. Desktop Geographic Information System.
4
 *
5
 * Copyright ? 2007-2017 gvSIG Association
6
 *
7
 * This program is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU General Public License
9
 * as published by the Free Software Foundation; either version 2
10
 * of the License, or (at your option) any later version.
11
 *
12
 * This program is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * GNU General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU General Public License
18
 * along with this program; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
 * MA  02110-1301, USA.
21
 *
22
 * For any additional information, do not hesitate to contact us
23
 * at info AT gvsig.com, or visit our website www.gvsig.com.
24
 */
25
import org.gvsig.tools.library.AbstractLibrary;
26
import org.gvsig.tools.library.LibraryException;
27
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
28

  
29

  
30

  
31

  
32
/**
33
 * @author fdiaz
34
 *
35
 */
36
public class MapContextRasterSwingLibrary extends AbstractLibrary{
37

  
38
    @Override
39
    public void doRegistration() {
40
        registerAsAPI(MapContextRasterSwingLibrary.class);
41
//        this.require(RasterLibrary.class);
42
//        this.require(BufferLibrary.class);
43
    }
44

  
45
    @Override
46
    protected void doInitialize() throws LibraryException {
47
    }
48

  
49
    @Override
50
    protected void doPostInitialize() throws LibraryException {
51
        // Validate there is any implementation registered.
52
        MapContextRasterSwingManager manager =
53
            MapContextRasterSwingLocator.getSwingManager();
54
        if (manager == null) {
55
            throw new ReferenceNotRegisteredException(
56
                MapContextRasterSwingLocator.SWING_MANAGER_NAME,
57
                MapContextRasterSwingLocator.getInstance());
58
        }
59
    }
60

  
61

  
62
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/export/ExportRasterPanel.java
1
package org.gvsig.fmap.mapcontext.raster.swing.export;
2

  
3
import java.nio.Buffer;
4

  
5
import org.gvsig.tools.swing.api.Component;
6

  
7

  
8
public interface ExportRasterPanel extends Component {
9

  
10
//    /**
11
//     * @param layer
12
//     */
13
//    public boolean fetch(FLayer layer);
14

  
15
    /**
16
     * @param buffer
17
     */
18
    public void set(Buffer buffer);
19

  
20
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/SelectableBandDescriptorsTableModel.java
1
package org.gvsig.fmap.mapcontext.raster.swing;
2

  
3
import org.gvsig.raster.swing.buffer.SelectableBandsTableModel;
4

  
5

  
6
/**
7
 * @author fdiaz
8
 *
9
 */
10
public interface SelectableBandDescriptorsTableModel extends SelectableBandsTableModel {
11

  
12
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/operations/OperationSelectorPanel.java
1
package org.gvsig.fmap.mapcontext.raster.swing.operations;
2

  
3
import javax.swing.event.ListSelectionListener;
4

  
5
import org.gvsig.raster.lib.buffer.api.operations.OperationFactory;
6
import org.gvsig.tools.swing.api.Component;
7

  
8

  
9

  
10
/**
11
 * @author fdiaz
12
 *
13
 */
14
public interface OperationSelectorPanel extends Component {
15

  
16
    /**
17
     * @param layer
18
     * @return
19
     */
20
    public OperationFactory getSelected();
21

  
22
    /**
23
     * @param layer
24
     * @return
25
     */
26
    public void clearSelection();
27

  
28
    /**
29
     * @param listener
30
     */
31
    public void addListSelectionListener(ListSelectionListener listener);
32

  
33
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/operations/OperationListPanel.java
1
package org.gvsig.fmap.mapcontext.raster.swing.operations;
2

  
3
import java.awt.event.ActionListener;
4

  
5
import javax.swing.event.ListSelectionListener;
6
import javax.swing.event.TableModelListener;
7

  
8
import org.gvsig.raster.lib.buffer.api.operations.OperationFactory;
9
import org.gvsig.raster.lib.buffer.api.operations.OperationList;
10
import org.gvsig.raster.lib.buffer.api.operations.OperationListEntry;
11
import org.gvsig.tools.swing.api.Component;
12

  
13
/**
14
 * @author fdiaz
15
 *
16
 */
17
public interface OperationListPanel extends Component {
18

  
19
    public static String ADD_ACTION_COMMAND = "add_operation_entry";
20
    public static String UPDATE_ACTION_COMMAND = "update_operation_entry";
21
    public static String UP_ACTION_COMMAND = "up_operation_entry";
22
    public static String DOWN_ACTION_COMMAND = "down_operation_entry";
23
    public static String REMOVE_ACTION_COMMAND = "remove_operation_entry";
24

  
25
    /**
26
     * @param operationList
27
     * @return
28
     */
29
    public boolean fetch(OperationList operationList);
30

  
31
    /**
32
     * @param operationList
33
     */
34
    public void set(OperationList operationList);
35

  
36
    /**
37
     * @param layer
38
     * @return
39
     */
40
    public OperationListEntry getSelected();
41

  
42
    /**
43
     * @param listener
44
     */
45
    public void addListSelectionListener(ListSelectionListener listener);
46

  
47
    /**
48
     * @param listener
49
     */
50
    public void addTableModelListener(TableModelListener listener);
51

  
52
    /**
53
     * @param enable
54
     */
55
    public void enableAdd(boolean enable);
56

  
57
    /**
58
     * @param enable
59
     */
60
    public void enableUpdate(boolean enable);
61

  
62
    /**
63
     * @param operationListEntry
64
     */
65
    public void add(OperationListEntry operationListEntry);
66

  
67
    /**
68
     * @param listener
69
     */
70
    void addActionListener(ActionListener listener);
71

  
72
    /**
73
    *
74
    */
75
    public void clearSelection();
76

  
77
    /**
78
     * @param row
79
     */
80
    public void select(int row);
81

  
82
    /**
83
     * @return
84
     */
85
    public int getSelectedRow();
86

  
87
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/MapContextRasterSwingManager.java
1
package org.gvsig.fmap.mapcontext.raster.swing;
2
/* gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright ? 2007-2017 gvSIG Association
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25

  
26
import java.util.List;
27

  
28
import org.gvsig.fmap.dal.raster.BandDescriptor;
29
import org.gvsig.fmap.mapcontext.raster.swing.bands.BandsPanel;
30
import org.gvsig.fmap.mapcontext.raster.swing.export.ExportRasterPanel;
31
import org.gvsig.fmap.mapcontext.raster.swing.operations.OperationListPanel;
32
import org.gvsig.fmap.mapcontext.raster.swing.operations.OperationSelectorPanel;
33
import org.gvsig.fmap.mapcontext.raster.swing.previewer.OneLayerPreviewer;
34
import org.gvsig.fmap.mapcontext.raster.swing.transparency.TransparencyPanel;
35
import org.gvsig.tools.service.Manager;
36

  
37

  
38
/**
39
 *
40
 * @see MapContextRasterSwingManager
41
 * @author gvSIG team
42
 * @version $Id$
43
 */
44
public interface MapContextRasterSwingManager extends Manager{
45

  
46
    /**
47
     * @return
48
     */
49
    public SelectableBandDescriptorsTableModel createSelectableBandDescriptorsTableModel(List<BandDescriptor> descriptors) ;
50

  
51
    /**
52
     * @return
53
     */
54
    public TransparencyPanel createTransparencyPanel();
55

  
56
    /**
57
     * @return
58
     */
59
    public BandsPanel createBandsPanel();
60

  
61

  
62
    /**
63
     * @return
64
     */
65
    public ExportRasterPanel createExportRaster();
66

  
67
    /**
68
     * @return
69
     */
70
    public OneLayerPreviewer createOneLayerPreviewer();
71

  
72
    /**
73
     * @return
74
     */
75
    public OperationListPanel createOperationListPanel();
76

  
77
    /**
78
     * @return
79
     */
80
    OperationSelectorPanel createOperationSelectorPanel();
81

  
82
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/bands/BandsPanel.java
1
package org.gvsig.fmap.mapcontext.raster.swing.bands;
2

  
3
import org.gvsig.tools.dispose.Disposable;
4
import org.gvsig.tools.swing.api.Component;
5
import org.gvsig.fmap.mapcontext.layers.FLayer;
6

  
7

  
8

  
9
/**
10
 * @author fdiaz
11
 *
12
 */
13
public interface BandsPanel extends Component, Disposable {
14

  
15
    /**
16
     * @param layer
17
     * @return
18
     */
19
    public boolean fetch(FLayer layer);
20

  
21
    /**
22
     * @param layer
23
     */
24
    public void set(FLayer layer);
25

  
26
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/previewer/OneLayerPreviewer.java
1
package org.gvsig.fmap.mapcontext.raster.swing.previewer;
2

  
3
import org.cresques.cts.IProjection;
4

  
5
import org.gvsig.fmap.mapcontext.layers.FLayer;
6
import org.gvsig.tools.dispose.Disposable;
7
import org.gvsig.tools.swing.api.Component;
8

  
9

  
10
/**
11
 * @author fdiaz
12
 *
13
 */
14
public interface OneLayerPreviewer extends Component, Disposable {
15

  
16
    /**
17
     * @param projection
18
     */
19
    public void setProjection(IProjection projection);
20

  
21
    /**
22
     * @param layer
23
     */
24
    public void setLayer(FLayer layer);
25

  
26
    /**
27
     * @return
28
     */
29
    public FLayer getLayer();
30

  
31
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.api/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/transparency/TransparencyPanel.java
1
package org.gvsig.fmap.mapcontext.raster.swing.transparency;
2

  
3
import java.awt.Color;
4

  
5
import org.gvsig.fmap.mapcontext.layers.FLayer;
6
import org.gvsig.tools.swing.api.Component;
7

  
8

  
9

  
10
/**
11
 * @author fdiaz
12
 *
13
 */
14
public interface TransparencyPanel extends Component {
15

  
16
    /**
17
     * Fetch the layer with the panel's values.
18
     *
19
     * @param layer
20
     * @return
21
     */
22
    public boolean fetch(FLayer layer);
23

  
24
    /**
25
     * Sets the layer
26
     *
27
     * @param layer
28
     */
29
    public void set(FLayer layer);
30

  
31
    /**
32
     * Sets the color.
33
     * @param color
34
     */
35
    public void setColor(Color color);
36

  
37
}
0 38

  
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/pom.xml
1
<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">
2
    <modelVersion>4.0.0</modelVersion>
3
    <parent>
4
        <groupId>org.gvsig</groupId>
5
        <artifactId>org.gvsig.desktop.library</artifactId>
6
        <version>2.0.428</version>
7
      </parent>
8
    <groupId>org.gvsig</groupId>
9
    <artifactId>org.gvsig.fmap.mapcontext.swing</artifactId>
10
    <packaging>pom</packaging>
11
    <name>${project.artifactId}</name>
12
    <modules>
13
        <module>org.gvsig.fmap.mapcontext.swing.api</module>
14
        <module>org.gvsig.fmap.mapcontext.swing.impl</module>
15
    </modules>
16
</project>
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.impl/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/impl/DefaultMapContextRasterSwingLibrary.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2017 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.fmap.mapcontext.raster.swing.impl;
24

  
25
import org.gvsig.fmap.mapcontext.raster.swing.MapContextRasterSwingLibrary;
26
import org.gvsig.fmap.mapcontext.raster.swing.MapContextRasterSwingLocator;
27
import org.gvsig.tools.library.LibraryException;
28

  
29

  
30
/**
31
 * @author fdiaz
32
 *
33
 */
34
public class DefaultMapContextRasterSwingLibrary extends MapContextRasterSwingLibrary{
35

  
36

  
37
    @Override
38
    public void doRegistration() {
39
        registerAsImplementationOf(MapContextRasterSwingLibrary.class);
40
    }
41

  
42
    @Override
43
    protected void doInitialize() throws LibraryException {
44
        MapContextRasterSwingLocator.registerSwingManager(DefaultMapContextRasterSwingManager.class);
45
    }
46

  
47
    @Override
48
    protected void doPostInitialize() throws LibraryException {
49
    }
50

  
51
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.impl/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/impl/bands/BandsTableModel.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2017 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.fmap.mapcontext.raster.swing.impl.bands;
24

  
25
import java.util.ArrayList;
26
import java.util.Arrays;
27
import java.util.List;
28

  
29
import javax.swing.table.AbstractTableModel;
30

  
31
import org.slf4j.Logger;
32
import org.slf4j.LoggerFactory;
33

  
34
import org.gvsig.raster.lib.buffer.api.BufferLocator;
35
import org.gvsig.raster.lib.buffer.api.BufferManager;
36
import org.gvsig.raster.lib.legend.api.colorinterpretation.ColorInterpretation;
37
import org.gvsig.tools.ToolsLocator;
38
import org.gvsig.tools.dataTypes.CoercionException;
39
import org.gvsig.tools.dispose.DisposeUtils;
40
import org.gvsig.tools.i18n.I18nManager;
41
import org.gvsig.tools.locator.LocatorException;
42

  
43

  
44

  
45
/**
46
 * @author fdiaz
47
 *
48
 */
49
public class BandsTableModel extends AbstractTableModel {
50

  
51
    /**
52
     *
53
     */
54
    private static final long serialVersionUID = 5993288441174158255L;
55
    private static final Logger LOG = LoggerFactory.getLogger(BandsTableModel.class);
56

  
57

  
58
    List<RasterStoreBand> rasterStoreBands;
59

  
60
    public static final List<String> RGBColorSpace = Arrays.asList(ColorInterpretation.RED_BAND, ColorInterpretation.GREEN_BAND, ColorInterpretation.BLUE_BAND, ColorInterpretation.ALPHA_BAND);
61
    public static final List<String> CMYKColorSpace = Arrays.asList(ColorInterpretation.CYAN_BAND, ColorInterpretation.MAGENTA_BAND, ColorInterpretation.YELLOW_BAND, ColorInterpretation.BLACK_BAND, ColorInterpretation.ALPHA_BAND);
62
    public static final List<String> HSLColorSpace = Arrays.asList(ColorInterpretation.HUE_BAND, ColorInterpretation.SATURATION_BAND, ColorInterpretation.LIGHTNESS_BAND, ColorInterpretation.ALPHA_BAND);
63
    public static final List<String> YCBCRColorSpace = Arrays.asList(ColorInterpretation.YCBCR_CB_BAND, ColorInterpretation.YCBCR_CR_BAND, ColorInterpretation.YCBCR_Y_BAND, ColorInterpretation.ALPHA_BAND);
64
    public static final List<List<String>> ColorSpaces = Arrays.asList(RGBColorSpace, CMYKColorSpace, HSLColorSpace, YCBCRColorSpace);
65
    public static final List<String> ColorSpaceNames = Arrays.asList(ColorInterpretation.RGB, ColorInterpretation.CMYK, ColorInterpretation.HSL, ColorInterpretation.YCBCR);
66

  
67
    public static final int COLUMN_COLOR = 0;
68
    public static final int COLUMN_NODATA = 1;
69
    public static final int COLUMN_DATA_TYPE = 2;
70
    public static final int COLUMN_STORE_NAME = 3;
71
    public static final int COLUMN_BAND = 4;
72
    public static final int COLUMN_BAND_NAME = 5;
73
    public static final int COLUMN_STORE_FULL_NAME = 6;
74

  
75

  
76
    /**
77
     *
78
     */
79
    public BandsTableModel() {
80
        rasterStoreBands = new ArrayList<RasterStoreBand>();
81
    }
82

  
83
    @Override
84
    public int getRowCount() {
85
        return rasterStoreBands.size();
86
    }
87

  
88
    @Override
89
    public int getColumnCount() {
90
        return 7;
91
    }
92

  
93
    @Override
94
    public Object getValueAt(int rowIndex, int columnIndex) {
95
        RasterStoreBand rasterStoreBand = rasterStoreBands.get(rowIndex);
96
        switch (columnIndex) {
97
        case COLUMN_COLOR:
98
            return rasterStoreBand.getBandColorInterpretation();
99
        case COLUMN_NODATA:
100
            return rasterStoreBand.getNoDataNumber();
101
        case COLUMN_DATA_TYPE:
102
            return rasterStoreBand.getDataType();
103
        case COLUMN_STORE_NAME:
104
            return rasterStoreBand.getStore().getName();
105
        case COLUMN_BAND:
106
            return rasterStoreBand.getBand();
107
        case COLUMN_BAND_NAME:
108
            return rasterStoreBand.getBandName();
109
        case COLUMN_STORE_FULL_NAME:
110
            return rasterStoreBand.getStore().getFullName();
111
        }
112
        return null;
113
    }
114

  
115
    @Override
116
    public String getColumnName(int column) {
117
        I18nManager i18nManager = ToolsLocator.getI18nManager();
118
        switch (column) {
119
        case COLUMN_COLOR:
120
            return i18nManager.getTranslation("_color");
121
        case COLUMN_NODATA:
122
            return i18nManager.getTranslation("_nodata");
123
        case COLUMN_DATA_TYPE:
124
            return i18nManager.getTranslation("_data_type");
125
        case COLUMN_STORE_NAME:
126
            return i18nManager.getTranslation("_store_name");
127
        case COLUMN_BAND:
128
            return i18nManager.getTranslation("_band");
129
        case COLUMN_BAND_NAME:
130
            return i18nManager.getTranslation("_band_name");
131
        case COLUMN_STORE_FULL_NAME:
132
            return i18nManager.getTranslation("_store_full_name");
133

  
134
        }
135
        return null;
136
    }
137

  
138
    @Override
139
    public boolean isCellEditable(int rowIndex, int columnIndex) {
140
        if(columnIndex>1){
141
            return false;
142
        }
143
        return true;
144
    }
145

  
146
    @Override
147
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
148
        Object value = aValue;
149
        if(columnIndex==0){
150
            rasterStoreBands.get(rowIndex).setBandColorInterpretation((String)aValue);
151
            String colorInterpretation = ColorInterpretation.PALETTE_BAND;
152
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
153
                setUndefinedAnyOtherBand(rowIndex);
154
            }
155
            colorInterpretation = ColorInterpretation.GRAY_BAND;
156
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
157
                setUndefinedAnyOtherBand(rowIndex);
158
            }
159
            colorInterpretation = ColorInterpretation.RED_BAND;
160
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
161
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
162
            }
163
            colorInterpretation = ColorInterpretation.GREEN_BAND;
164
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
165
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
166
            }
167
            colorInterpretation = ColorInterpretation.BLUE_BAND;
168
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
169
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
170
            }
171
            colorInterpretation = ColorInterpretation.ALPHA_BAND;
172
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
173
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
174
            }
175

  
176
            colorInterpretation = ColorInterpretation.HUE_BAND;
177
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
178
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
179
            }
180
            colorInterpretation = ColorInterpretation.SATURATION_BAND;
181
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
182
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
183
            }
184
            colorInterpretation = ColorInterpretation.LIGHTNESS_BAND;
185
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
186
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
187
            }
188
            colorInterpretation = ColorInterpretation.CYAN_BAND;
189
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
190
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
191
            }
192
            colorInterpretation = ColorInterpretation.MAGENTA_BAND;
193
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
194
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
195
            }
196
            colorInterpretation = ColorInterpretation.YELLOW_BAND;
197
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
198
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
199
            }
200
            colorInterpretation = ColorInterpretation.BLACK_BAND;
201
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
202
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
203
            }
204
            colorInterpretation = ColorInterpretation.YCBCR_Y_BAND;
205
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
206
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
207
            }
208
            colorInterpretation = ColorInterpretation.YCBCR_CB_BAND;
209
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
210
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
211
            }
212
            colorInterpretation = ColorInterpretation.YCBCR_CR_BAND;
213
            if(((String)aValue).equalsIgnoreCase(colorInterpretation)){
214
                setUndefinedAnyOtherBandWithSameColorInterpretation(rowIndex, colorInterpretation);
215
            }
216
            fireTableDataChanged();
217
        } else if(columnIndex==1){
218
            int dataType = rasterStoreBands.get(rowIndex).getDataType();
219
            BufferManager bufferManager = BufferLocator.getBufferManager();
220
            try {
221
                value = bufferManager.coerce(dataType, aValue);
222
                rasterStoreBands.get(rowIndex).setNoDataNumber((Number)value);
223
            } catch (LocatorException | CoercionException e) {
224
                I18nManager i18nManager = ToolsLocator.getI18nManager();
225
                LOG.warn(i18nManager.getTranslation(
226
                    "_it_cant_be_reconized_XvalueX_as_a_XdatatypenameX.",
227
                    new String[]{aValue.toString(), bufferManager.getTypeName(dataType)}));
228
            }
229
        }
230
        super.setValueAt(value, rowIndex, columnIndex);
231

  
232
    }
233

  
234
    /**
235
     * @param rowIndex
236
     */
237
    private void setUndefinedAnyOtherBand(int rowIndex) {
238
        for (int i = 0; i < getRowCount(); i++) {
239
            if(i!=rowIndex){
240
                rasterStoreBands.get(i).setBandColorInterpretation(ColorInterpretation.UNDEFINED_BAND);
241
            }
242
        }
243
    }
244

  
245
    /**
246
     * Sets undefined the color interpretation of any other band with the same color interpretation
247
     * or with a color interpretation incompatible with the color space of the colorInterpretation parameter.
248
     * @param rowIndex
249
     * @param colorInterpretation
250
     */
251
    private void setUndefinedAnyOtherBandWithSameColorInterpretation(int rowIndex, String colorInterpretation) {
252
        for (int i = 0; i < getRowCount(); i++) {
253
            if(i!=rowIndex){
254
                if(((String)getValueAt(i, 0)).equalsIgnoreCase(colorInterpretation)){
255
                    rasterStoreBands.get(i).setBandColorInterpretation(ColorInterpretation.UNDEFINED_BAND);
256
                }
257
                if(!areCompatible(colorInterpretation, ((String)getValueAt(i, 0)))){
258
                    rasterStoreBands.get(i).setBandColorInterpretation(ColorInterpretation.UNDEFINED_BAND);
259
                }
260
            }
261
        }
262
    }
263

  
264
    private boolean areCompatible(String colorInterpretation, String colorInterpretation2) {
265
        for(List<String> colorSpace : ColorSpaces) {
266
            if(colorSpace.contains(colorInterpretation)){
267
                if(colorSpace.contains(colorInterpretation2)){
268
                    return true;
269
                }
270
            }
271
        }
272
        return false;
273
    }
274

  
275
    /**
276
     * @param rasterStoreBand
277
     */
278
    public void add(RasterStoreBand rasterStoreBand) {
279
        rasterStoreBands.add(rasterStoreBand);
280
        DisposeUtils.bind(rasterStoreBand);
281
    }
282

  
283
    /**
284
     * @param selectedRow
285
     */
286
    public void removeElementAt(int selectedRow) {
287
        RasterStoreBand rasterStoreBand = rasterStoreBands.get(selectedRow);
288
        rasterStoreBands.remove(selectedRow);
289
        DisposeUtils.disposeQuietly(rasterStoreBand);
290

  
291
    }
292

  
293
    public RasterStoreBand getElementAt(int selectedRow) {
294
        return rasterStoreBands.get(selectedRow);
295
    }
296

  
297
}
tags/org.gvsig.desktop-2.0.428/org.gvsig.desktop.library/org.gvsig.fmap.mapcontext.swing/org.gvsig.fmap.mapcontext.swing.impl/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/impl/bands/BandsPanelView.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/paco/projects/externals/gvsig-desktop/RasterRefactoring/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.fmap.mapcontext.raster.swing/org.gvsig.fmap.mapcontext.raster.swing.impl/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/impl/bands/BandsPanelView.xml</at>
28
   <at name="path">RasterRefactoring/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.fmap.mapcontext.raster.swing/org.gvsig.fmap.mapcontext.raster.swing.impl/src/main/java/org/gvsig/fmap/mapcontext/raster/swing/impl/bands/BandsPanelView.xml</at>
29
   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
30
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,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">2</at>
41
           <at name="colspan">6</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">com.jeta.forms.components.separator.TitledSeparator</at>
52
        <at name="beanproperties">
53
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
54
          <at name="classname">com.jeta.forms.components.separator.TitledSeparator</at>
55
          <at name="properties">
56
           <object classname="com.jeta.forms.store.support.PropertyMap">
57
            <at name="border">
58
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
59
              <super classname="com.jeta.forms.store.properties.BorderProperty">
60
               <at name="name">border</at>
61
              </super>
62
              <at name="borders">
63
               <object classname="java.util.LinkedList">
64
                <item >
65
                 <at name="value">
66
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
67
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
68
                    <at name="name">border</at>
69
                   </super>
70
                  </object>
71
                 </at>
72
                </item>
73
               </object>
74
              </at>
75
             </object>
76
            </at>
77
            <at name="name">lblBands</at>
78
            <at name="width">932</at>
79
            <at name="text">_bands</at>
80
            <at name="height">15</at>
81
           </object>
82
          </at>
83
         </object>
84
        </at>
85
       </object>
86
      </at>
87
     </item>
88
     <item >
89
      <at name="value">
90
       <object classname="com.jeta.forms.store.memento.FormMemento">
91
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
92
         <at name="cellconstraints">
93
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
94
           <at name="column">7</at>
95
           <at name="row">6</at>
96
           <at name="colspan">1</at>
97
           <at name="rowspan">1</at>
98
           <at name="halign">default</at>
99
           <at name="valign">top</at>
100
           <at name="insets" object="insets">0,0,0,0</at>
101
          </object>
102
         </at>
103
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
104
        </super>
105
        <at name="id">embedded.1683347175</at>
106
        <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE</at>
107
        <at name="colspecs">FILL:DEFAULT:NONE</at>
108
        <at name="components">
109
         <object classname="java.util.LinkedList">
110
          <item >
111
           <at name="value">
112
            <object classname="com.jeta.forms.store.memento.BeanMemento">
113
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
114
              <at name="cellconstraints">
115
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
116
                <at name="column">1</at>
117
                <at name="row">1</at>
118
                <at name="colspan">1</at>
119
                <at name="rowspan">1</at>
120
                <at name="halign">default</at>
121
                <at name="valign">default</at>
122
                <at name="insets" object="insets">0,0,0,0</at>
123
               </object>
124
              </at>
125
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
126
             </super>
127
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
128
             <at name="beanclass">javax.swing.JButton</at>
129
             <at name="beanproperties">
130
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
131
               <at name="classname">javax.swing.JButton</at>
132
               <at name="properties">
133
                <object classname="com.jeta.forms.store.support.PropertyMap">
134
                 <at name="border">
135
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
136
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
137
                    <at name="name">border</at>
138
                   </super>
139
                   <at name="borders">
140
                    <object classname="java.util.LinkedList">
141
                     <item >
142
                      <at name="value">
143
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
144
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
145
                         <at name="name">border</at>
146
                        </super>
147
                       </object>
148
                      </at>
149
                     </item>
150
                    </object>
151
                   </at>
152
                  </object>
153
                 </at>
154
                 <at name="actionCommand">JButton</at>
155
                 <at name="name">btnAdd</at>
156
                 <at name="width">81</at>
157
                 <at name="text">_add</at>
158
                 <at name="toolTipText">_add_foreign_band</at>
159
                 <at name="height">22</at>
160
                </object>
161
               </at>
162
              </object>
163
             </at>
164
            </object>
165
           </at>
166
          </item>
167
          <item >
168
           <at name="value">
169
            <object classname="com.jeta.forms.store.memento.BeanMemento">
170
             <super classname="com.jeta.forms.store.memento.ComponentMemento">
171
              <at name="cellconstraints">
172
               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
173
                <at name="column">1</at>
174
                <at name="row">3</at>
175
                <at name="colspan">1</at>
176
                <at name="rowspan">1</at>
177
                <at name="halign">default</at>
178
                <at name="valign">default</at>
179
                <at name="insets" object="insets">0,0,0,0</at>
180
               </object>
181
              </at>
182
              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
183
             </super>
184
             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
185
             <at name="beanclass">javax.swing.JButton</at>
186
             <at name="beanproperties">
187
              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
188
               <at name="classname">javax.swing.JButton</at>
189
               <at name="properties">
190
                <object classname="com.jeta.forms.store.support.PropertyMap">
191
                 <at name="border">
192
                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
193
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
194
                    <at name="name">border</at>
195
                   </super>
196
                   <at name="borders">
197
                    <object classname="java.util.LinkedList">
198
                     <item >
199
                      <at name="value">
200
                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
201
                        <super classname="com.jeta.forms.store.properties.BorderProperty">
202
                         <at name="name">border</at>
203
                        </super>
204
                       </object>
205
                      </at>
206
                     </item>
207
                    </object>
208
                   </at>
209
                  </object>
210
                 </at>
211
                 <at name="actionCommand">JButton</at>
212
                 <at name="name">btnRemove</at>
213
                 <at name="width">81</at>
214
                 <at name="text">_remove</at>
215
                 <at name="enabled">false</at>
216
                 <at name="toolTipText">_remove_foreign_band</at>
217
                 <at name="height">22</at>
218
                </object>
219
               </at>
220
              </object>
221
             </at>
222
            </object>
223
           </at>
224
          </item>
225
         </object>
226
        </at>
227
        <at name="properties">
228
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
229
          <at name="classname">com.jeta.forms.gui.form.GridView</at>
230
          <at name="properties">
231
           <object classname="com.jeta.forms.store.support.PropertyMap">
232
            <at name="border">
233
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
234
              <super classname="com.jeta.forms.store.properties.BorderProperty">
235
               <at name="name">border</at>
236
              </super>
237
              <at name="borders">
238
               <object classname="java.util.LinkedList"/>
239
              </at>
240
             </object>
241
            </at>
242
            <at name="name"></at>
243
            <at name="fill">
244
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
245
              <at name="name">fill</at>
246
             </object>
247
            </at>
248
            <at name="scollBars">
249
             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
250
              <at name="name">scollBars</at>
251
              <at name="verticalpolicy">21</at>
252
              <at name="horizontalpolicy">31</at>
253
              <at name="border">
254
               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
255
                <super classname="com.jeta.forms.store.properties.BorderProperty">
256
                 <at name="name">border</at>
257
                </super>
258
                <at name="borders">
259
                 <object classname="java.util.LinkedList">
260
                  <item >
261
                   <at name="value">
262
                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
263
                     <super classname="com.jeta.forms.store.properties.BorderProperty">
264
                      <at name="name">border</at>
265
                     </super>
266
                    </object>
267
                   </at>
268
                  </item>
269
                 </object>
270
                </at>
271
               </object>
272
              </at>
273
             </object>
274
            </at>
275
           </object>
276
          </at>
277
         </object>
278
        </at>
279
        <at name="cellpainters">
280
         <object classname="com.jeta.forms.store.support.Matrix">
281
          <at name="rows">
282
           <object classname="[Ljava.lang.Object;" size="3">
283
            <at name="item" index="0">
284
             <object classname="[Ljava.lang.Object;" size="1"/>
285
            </at>
286
            <at name="item" index="1">
287
             <object classname="[Ljava.lang.Object;" size="1"/>
288
            </at>
289
            <at name="item" index="2">
290
             <object classname="[Ljava.lang.Object;" size="1"/>
291
            </at>
292
           </object>
293
          </at>
294
         </object>
295
        </at>
296
        <at name="rowgroups">
297
         <object classname="com.jeta.forms.store.memento.FormGroupSet">
298
          <at name="groups">
299
           <object classname="java.util.HashMap"/>
300
          </at>
301
         </object>
302
        </at>
303
        <at name="colgroups">
304
         <object classname="com.jeta.forms.store.memento.FormGroupSet">
305
          <at name="groups">
306
           <object classname="java.util.HashMap"/>
307
          </at>
308
         </object>
309
        </at>
310
       </object>
311
      </at>
312
     </item>
313
     <item >
314
      <at name="value">
315
       <object classname="com.jeta.forms.store.memento.BeanMemento">
316
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
317
         <at name="cellconstraints">
318
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
319
           <at name="column">2</at>
320
           <at name="row">6</at>
321
           <at name="colspan">4</at>
322
           <at name="rowspan">1</at>
323
           <at name="halign">fill</at>
324
           <at name="valign">fill</at>
325
           <at name="insets" object="insets">0,0,0,0</at>
326
          </object>
327
         </at>
328
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
329
        </super>
330
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
331
        <at name="beanclass">javax.swing.JTable</at>
332
        <at name="beanproperties">
333
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
334
          <at name="classname">javax.swing.JTable</at>
335
          <at name="properties">
336
           <object classname="com.jeta.forms.store.support.PropertyMap">
337
            <at name="border">
338
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
339
              <super classname="com.jeta.forms.store.properties.BorderProperty">
340
               <at name="name">border</at>
341
              </super>
342
              <at name="borders">
343
               <object classname="java.util.LinkedList">
344
                <item >
345
                 <at name="value">
346
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
347
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
348
                    <at name="name">border</at>
349
                   </super>
350
                  </object>
351
                 </at>
352
                </item>
353
               </object>
354
              </at>
355
             </object>
356
            </at>
357
            <at name="name">tblBands</at>
358
            <at name="width">833</at>
359
            <at name="scollBars">
360
             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
361
              <at name="name">scollBars</at>
362
              <at name="verticalpolicy">20</at>
363
              <at name="horizontalpolicy">30</at>
364
              <at name="border">
365
               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
366
                <super classname="com.jeta.forms.store.properties.BorderProperty">
367
                 <at name="name">border</at>
368
                </super>
369
                <at name="borders">
370
                 <object classname="java.util.LinkedList">
371
                  <item >
372
                   <at name="value">
373
                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
374
                     <super classname="com.jeta.forms.store.properties.BorderProperty">
375
                      <at name="name">border</at>
376
                     </super>
377
                    </object>
378
                   </at>
379
                  </item>
380
                 </object>
381
                </at>
382
               </object>
383
              </at>
384
             </object>
385
            </at>
386
            <at name="height">32</at>
387
           </object>
388
          </at>
389
         </object>
390
        </at>
391
       </object>
392
      </at>
393
     </item>
394
     <item >
395
      <at name="value">
396
       <object classname="com.jeta.forms.store.memento.BeanMemento">
397
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
398
         <at name="cellconstraints">
399
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
400
           <at name="column">2</at>
401
           <at name="row">4</at>
402
           <at name="colspan">1</at>
403
           <at name="rowspan">1</at>
404
           <at name="halign">default</at>
405
           <at name="valign">default</at>
406
           <at name="insets" object="insets">0,0,0,0</at>
407
          </object>
408
         </at>
409
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
410
        </super>
411
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
412
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
413
        <at name="beanproperties">
414
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
415
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
416
          <at name="properties">
417
           <object classname="com.jeta.forms.store.support.PropertyMap">
418
            <at name="border">
419
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
420
              <super classname="com.jeta.forms.store.properties.BorderProperty">
421
               <at name="name">border</at>
422
              </super>
423
              <at name="borders">
424
               <object classname="java.util.LinkedList">
425
                <item >
426
                 <at name="value">
427
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
428
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
429
                    <at name="name">border</at>
430
                   </super>
431
                  </object>
432
                 </at>
433
                </item>
434
               </object>
435
              </at>
436
             </object>
437
            </at>
438
            <at name="name">lblColorSpace</at>
439
            <at name="width">74</at>
440
            <at name="text">_color_space</at>
441
            <at name="fill">
442
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
443
              <at name="name">fill</at>
444
             </object>
445
            </at>
446
            <at name="toolTipText">_color_space</at>
447
            <at name="height">14</at>
448
           </object>
449
          </at>
450
         </object>
451
        </at>
452
       </object>
453
      </at>
454
     </item>
455
     <item >
456
      <at name="value">
457
       <object classname="com.jeta.forms.store.memento.BeanMemento">
458
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
459
         <at name="cellconstraints">
460
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
461
           <at name="column">4</at>
462
           <at name="row">4</at>
463
           <at name="colspan">1</at>
464
           <at name="rowspan">1</at>
465
           <at name="halign">default</at>
466
           <at name="valign">default</at>
467
           <at name="insets" object="insets">0,0,0,0</at>
468
          </object>
469
         </at>
470
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
471
        </super>
472
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
473
        <at name="beanclass">javax.swing.JComboBox</at>
474
        <at name="beanproperties">
475
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
476
          <at name="classname">javax.swing.JComboBox</at>
477
          <at name="properties">
478
           <object classname="com.jeta.forms.store.support.PropertyMap">
479
            <at name="border">
480
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
481
              <super classname="com.jeta.forms.store.properties.BorderProperty">
482
               <at name="name">border</at>
483
              </super>
484
              <at name="borders">
485
               <object classname="java.util.LinkedList">
486
                <item >
487
                 <at name="value">
488
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
489
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
490
                    <at name="name">border</at>
491
                   </super>
492
                  </object>
493
                 </at>
494
                </item>
495
               </object>
496
              </at>
497
             </object>
498
            </at>
499
            <at name="name">cboColorSpaces</at>
500
            <at name="width">26</at>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff