Search in sources :

Example 6 with ResourceEditorView

use of com.codename1.designer.ResourceEditorView in project CodenameOne by codenameone.

the class AddThemeResource method addResource.

// GEN-LAST:event_templateActionPerformed
public String addResource(EditableResources res, ResourceEditorView view) {
    String newName = name.getText();
    for (String r : res.getResourceNames()) {
        if (r.equalsIgnoreCase(newName)) {
            JOptionPane.showMessageDialog(this, "A resource called: " + newName + " already exists\nYou must delete the resource first.", "Add Resource", JOptionPane.ERROR_MESSAGE);
            return null;
        }
    }
    Hashtable theme = new Hashtable();
    InputStream is = getClass().getResourceAsStream("/templates/" + template.getSelectedItem().toString() + ".res");
    if (is != null) {
        try {
            EditableResources r = new EditableResources();
            r.openFile(is);
            is.close();
            theme = r.getTheme(r.getThemeResourceNames()[0]);
            view.checkDuplicateResourcesLoop(r, res.getImageResourceNames(), r.getImageResourceNames(), "Rename Image", "Image ", true);
            view.checkDuplicateResourcesLoop(r, res.getL10NResourceNames(), r.getL10NResourceNames(), "Rename Localization", "Localization ", true);
            view.checkDuplicateResourcesLoop(r, res.getDataResourceNames(), r.getDataResourceNames(), "Rename Data", "Data ", true);
            view.checkDuplicateResourcesLoop(r, res.getUIResourceNames(), r.getUIResourceNames(), "Rename GUI", "GUI ", true);
            view.checkDuplicateResourcesLoop(r, res.getFontResourceNames(), r.getFontResourceNames(), "Rename Font", "Font ", true);
            for (String s : r.getImageResourceNames()) {
                if (r.isMultiImage(s)) {
                    res.setMultiImage(s, (EditableResources.MultiImage) r.getResourceObject(s));
                } else {
                    res.setImage(s, r.getImage(s));
                }
            }
            for (String s : r.getL10NResourceNames()) {
                res.setL10N(s, (Hashtable) r.getResourceObject(s));
            }
            for (String s : r.getDataResourceNames()) {
                res.setData(s, (byte[]) r.getResourceObject(s));
            }
            for (String s : r.getUIResourceNames()) {
                res.setUi(s, (byte[]) r.getResourceObject(s));
            }
            for (String s : r.getFontResourceNames()) {
                res.setFont(s, r.getFont(s));
            }
        } catch (IOException err) {
            err.printStackTrace();
        }
    }
    res.setTheme(name.getText(), theme);
    view.setSelectedResource(name.getText());
    return name.getText();
}
Also used : Hashtable(java.util.Hashtable) InputStream(java.io.InputStream) IOException(java.io.IOException) EditableResources(com.codename1.ui.util.EditableResources)

Aggregations

BufferedImage (java.awt.image.BufferedImage)3 IOException (java.io.IOException)3 EncodedImage (com.codename1.ui.EncodedImage)2 Timeline (com.codename1.ui.animations.Timeline)2 EditableResources (com.codename1.ui.util.EditableResources)2 InputStream (java.io.InputStream)2 Hashtable (java.util.Hashtable)2 DataEditor (com.codename1.designer.DataEditor)1 FontEditor (com.codename1.designer.FontEditor)1 ImageMultiEditor (com.codename1.designer.ImageMultiEditor)1 ImageRGBEditor (com.codename1.designer.ImageRGBEditor)1 L10nEditor (com.codename1.designer.L10nEditor)1 MultiImageSVGEditor (com.codename1.designer.MultiImageSVGEditor)1 ThemeEditor (com.codename1.designer.ThemeEditor)1 TimelineEditor (com.codename1.designer.TimelineEditor)1 UserInterfaceEditor (com.codename1.designer.UserInterfaceEditor)1 EditorFont (com.codename1.ui.EditorFont)1 Image (com.codename1.ui.Image)1 AnimationObject (com.codename1.ui.animations.AnimationObject)1 UIBuilderOverride (com.codename1.ui.util.UIBuilderOverride)1