Search in sources :

Example 96 with com.codename1.ui

use of com.codename1.ui in project CodenameOne by codenameone.

the class ImageRGBEditor method setImage.

public void setImage(com.codename1.ui.Image img) {
    renderer = new CodenameOneImageRenderer(img);
    if (img instanceof com.codename1.ui.EncodedImage) {
        int s = ((com.codename1.ui.EncodedImage) img).getImageData().length;
        imageSize.setText(img.getWidth() + "x" + img.getHeight() + " " + (s / 1024) + "kb (" + s + " bytes)");
    } else {
        imageSize.setText(img.getWidth() + "x" + img.getHeight());
    }
    preview.removeAll();
    preview.add(BorderLayout.CENTER, renderer);
    preview.revalidate();
    Vector users = new Vector();
    findImageUse(users);
    DefaultListModel d = new DefaultListModel();
    for (Object o : users) {
        d.addElement(o);
    }
    componentList.setModel(d);
}
Also used : DefaultListModel(javax.swing.DefaultListModel) EncodedImage(com.codename1.ui.EncodedImage) Vector(java.util.Vector)

Example 97 with com.codename1.ui

use of com.codename1.ui in project CodenameOne by codenameone.

the class ImageRGBEditor method findImageUseImpl.

private static void findImageUseImpl(com.codename1.ui.Image resourceValue, Vector users, EditableResources res, JLabel borderPreview) {
    for (String themeName : res.getThemeResourceNames()) {
        Hashtable theme = res.getTheme(themeName);
        for (Object key : theme.keySet()) {
            Object value = theme.get(key);
            if (value instanceof com.codename1.ui.Image) {
                if (value.equals(resourceValue)) {
                    addToUsers((String) key, users);
                }
            }
            if (value instanceof Border) {
                Border b = (Border) value;
                // BORDER_TYPE_IMAGE
                if (Accessor.getType(b) == Accessor.TYPE_IMAGE || Accessor.getType(b) == Accessor.TYPE_IMAGE_HORIZONTAL || Accessor.getType(b) == Accessor.TYPE_IMAGE_VERTICAL) {
                    com.codename1.ui.Image[] images = Accessor.getImages(b);
                    for (int i = 0; i < images.length; i++) {
                        if (images[i] == resourceValue) {
                            addToUsers((String) key, users);
                            if (borderPreview != null && borderPreview.getIcon() == null) {
                                int borderWidth = Math.max(100, b.getMinimumWidth());
                                int borderHeight = Math.max(100, b.getMinimumHeight());
                                com.codename1.ui.Image img = com.codename1.ui.Image.createImage(borderWidth, borderHeight);
                                com.codename1.ui.Label l = new com.codename1.ui.Label("Preview");
                                l.getStyle().setBorder(b);
                                l.setSize(new com.codename1.ui.geom.Dimension(borderWidth, borderHeight));
                                l.paintComponent(img.getGraphics());
                                CodenameOneImageIcon icon = new CodenameOneImageIcon(img, borderWidth, borderHeight);
                                borderPreview.setIcon(icon);
                            }
                        }
                    }
                }
            }
        }
    }
    // check if a timeline is making use of said image and replace it
    for (String image : res.getImageResourceNames()) {
        com.codename1.ui.Image current = res.getImage(image);
        if (current instanceof com.codename1.ui.animations.Timeline) {
            com.codename1.ui.animations.Timeline time = (com.codename1.ui.animations.Timeline) current;
            for (int iter = 0; iter < time.getAnimationCount(); iter++) {
                com.codename1.ui.animations.AnimationObject o = time.getAnimation(iter);
                if (AnimationAccessor.getImage(o) == resourceValue) {
                    addToUsers(image, users);
                }
            }
        }
    }
    // check if a UI resource is making use of the image
    UIBuilderOverride builder = new UIBuilderOverride();
    for (String uiResource : res.getUIResourceNames()) {
        com.codename1.ui.Container c = builder.createContainer(res, uiResource);
        if (ResourceEditorView.findImageInContainer(c, resourceValue)) {
            addToUsers(uiResource, users);
        }
    }
}
Also used : UIBuilderOverride(com.codename1.ui.util.UIBuilderOverride) Hashtable(java.util.Hashtable) JLabel(javax.swing.JLabel) EncodedImage(com.codename1.ui.EncodedImage) Border(com.codename1.ui.plaf.Border)

Example 98 with com.codename1.ui

use of com.codename1.ui in project CodenameOne by codenameone.

the class L10nEditor method syncWithUIActionPerformed.

// GEN-LAST:event_editHTMLActionPerformed
private void syncWithUIActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_syncWithUIActionPerformed
    Accessor.setResourceBundle(null);
    final Map<String, String> allKeys = new HashMap<String, String>();
    com.codename1.ui.plaf.UIManager original = com.codename1.ui.plaf.UIManager.getInstance();
    Accessor.setUIManager(new com.codename1.ui.plaf.ProtectedUIManager() {

        public String localize(String key, String defaultValue) {
            if (key != null && key.length() > 0 && defaultValue != null && defaultValue.length() > 0) {
                allKeys.put(key, defaultValue);
            }
            return super.localize(key, defaultValue);
        }
    });
    UIBuilderOverride o = new UIBuilderOverride();
    for (String resources : res.getUIResourceNames()) {
        o.createContainer(res, resources);
    }
    Accessor.setUIManager(original);
    for (String currentKey : allKeys.keySet()) {
        if (!keys.contains(currentKey)) {
            keys.add(currentKey);
            for (Object locale : localeList) {
                res.setLocaleProperty(localeName, (String) locale, currentKey, allKeys.get(currentKey));
            }
        }
    }
    initTable();
}
Also used : UIBuilderOverride(com.codename1.ui.util.UIBuilderOverride) HashMap(java.util.HashMap) EventObject(java.util.EventObject)

Example 99 with com.codename1.ui

use of com.codename1.ui in project CodenameOne by codenameone.

the class ImageMultiEditor method toJpegActionPerformed.

// GEN-LAST:event_scaleActionPerformed
private void toJpegActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_toJpegActionPerformed
    int[] dpis = multi.getDpi();
    com.codename1.ui.EncodedImage[] images = new com.codename1.ui.EncodedImage[multi.getInternalImages().length];
    for (int iter = 0; iter < images.length; iter++) {
        try {
            com.codename1.ui.Image sourceImage = multi.getInternalImages()[iter];
            BufferedImage buffer = new BufferedImage(sourceImage.getWidth(), sourceImage.getHeight(), BufferedImage.TYPE_INT_RGB);
            buffer.setRGB(0, 0, sourceImage.getWidth(), sourceImage.getHeight(), sourceImage.getRGB(), 0, sourceImage.getWidth());
            ByteArrayOutputStream bo = new ByteArrayOutputStream();
            ImageIO.write(buffer, "jpeg", bo);
            bo.close();
            images[iter] = EncodedImage.create(bo.toByteArray());
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
    EditableResources.MultiImage newImage = new EditableResources.MultiImage();
    newImage.setDpi(dpis);
    newImage.setInternalImages(images);
    res.setMultiImage(name, newImage);
    setImage(newImage);
}
Also used : ByteArrayOutputStream(java.io.ByteArrayOutputStream) IOException(java.io.IOException) EncodedImage(com.codename1.ui.EncodedImage) BufferedImage(java.awt.image.BufferedImage) EditableResources(com.codename1.ui.util.EditableResources)

Example 100 with com.codename1.ui

use of com.codename1.ui in project CodenameOne by codenameone.

the class ImageMultiEditor method editExternalActionPerformed.

// GEN-LAST:event_toJpegActionPerformed
private void editExternalActionPerformed(java.awt.event.ActionEvent evt) {
    // GEN-FIRST:event_editExternalActionPerformed
    com.codename1.ui.EncodedImage img = getByDPI(multi, DPIS[dpi.getSelectedIndex()]);
    editResource(this, name + "Image", ".png", img.getImageData(), new UpdatedFile() {

        @Override
        public void fileUpdated(File f) {
            pickFile(f);
        }
    });
}
Also used : EncodedImage(com.codename1.ui.EncodedImage) File(java.io.File)

Aggregations

EncodedImage (com.codename1.ui.EncodedImage)26 Component (com.codename1.ui.Component)23 Point (java.awt.Point)23 IOException (java.io.IOException)23 AnimationObject (com.codename1.ui.animations.AnimationObject)22 ArrayList (java.util.ArrayList)22 BufferedImage (java.awt.image.BufferedImage)19 Hashtable (java.util.Hashtable)18 Form (com.codename1.ui.Form)15 Timeline (com.codename1.ui.animations.Timeline)15 Image (com.codename1.ui.Image)13 EditableResources (com.codename1.ui.util.EditableResources)13 File (java.io.File)13 Vector (java.util.Vector)13 TextArea (com.codename1.ui.TextArea)12 Border (com.codename1.ui.plaf.Border)12 Label (com.codename1.ui.Label)10 BorderLayout (com.codename1.ui.layouts.BorderLayout)10 UIBuilderOverride (com.codename1.ui.util.UIBuilderOverride)10 Container (com.codename1.ui.Container)9