Changeset 8831


Ignore:
Timestamp:
01/21/11 19:20:55 (9 years ago)
Author:
mlg
Message:

Changes the browser concept
This is not a new frame anymore, just a panel of the main frame.

Location:
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/browser
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/browser/BrowserImagePanel.java

    r6980 r8831  
    2424import javax.swing.event.ChangeListener; 
    2525 
     26import fr.mael.jiwigo.transverse.ImagesManagement; 
    2627import fr.mael.jiwigo.transverse.util.ImagesUtil; 
    2728import fr.mael.jiwigo.transverse.util.Messages; 
     
    7071    private int yDragPosition; 
    7172    private boolean drawSelection = false; 
     73    private ImagesManagement imagesManagement = ImagesManagement.getInstance(); 
    7274 
    7375    /** 
     
    7577     * @param image the image 
    7678     */ 
    77     public BrowserImagePanel(BufferedImage image) { 
    78         this.image = image; 
     79    public BrowserImagePanel() { 
     80        this.image = imagesManagement.getCurrentBufferedImage(); 
    7981        this.addMouseWheelListener(this); 
    8082        this.addMouseMotionListener(this); 
     
    106108        g2.drawRenderedImage(image, at); 
    107109        if (drawSelection) { 
    108             g2.drawRect(xTopPosition, yTopPosition, xDragPosition - xTopPosition, yDragPosition - yTopPosition); 
     110            //      g2.drawRect(xTopPosition, yTopPosition, xDragPosition - xTopPosition, yDragPosition - yTopPosition); 
    109111        } 
    110112 
     
    242244     */ 
    243245    public void rotationDroite() { 
    244         setImage(ImagesUtil.rotate(image, Math.PI / 2)); 
     246        image = (ImagesUtil.rotate(image, Math.PI / 2)); 
     247        revalidate(); 
     248        repaint(); 
    245249    } 
    246250 
     
    249253     */ 
    250254    public void rotationGauche() { 
    251         setImage(ImagesUtil.rotate(image, -Math.PI / 2)); 
     255        image = (ImagesUtil.rotate(image, -Math.PI / 2)); 
     256        revalidate(); 
     257        repaint(); 
    252258    } 
    253259 
     
    262268     * @param image the image to set 
    263269     */ 
    264     public void setImage(BufferedImage image) { 
    265         this.image = image; 
     270    public void changeImage() { 
     271        this.image = imagesManagement.getCurrentBufferedImage(); 
    266272        revalidate(); 
    267273        repaint(); 
  • extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/browser/BrowserPanel.java

    r7646 r8831  
    2121import javax.swing.JButton; 
    2222import javax.swing.JFileChooser; 
    23 import javax.swing.JFrame; 
    2423import javax.swing.JMenu; 
    2524import javax.swing.JMenuBar; 
    2625import javax.swing.JMenuItem; 
    2726import javax.swing.JPanel; 
    28 import javax.swing.JRootPane; 
    2927import javax.swing.JScrollPane; 
    3028 
    31 import fr.mael.jiwigo.om.Image; 
    3229import fr.mael.jiwigo.transverse.ImagesManagement; 
    3330import fr.mael.jiwigo.transverse.util.ImagesUtil; 
     
    3532import fr.mael.jiwigo.transverse.util.Outil; 
    3633import fr.mael.jiwigo.ui.comments.CommentsDialog; 
     34import fr.mael.jiwigo.ui.mainframe.MainFrame; 
    3735 
    3836/** 
     
    6866 * 
    6967 */ 
    70 public class BrowserFrame extends JFrame implements ActionListener { 
     68public class BrowserPanel extends JPanel implements ActionListener { 
    7169    /** 
    7270     * Logger 
    7371     */ 
    7472    public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory 
    75             .getLog(BrowserFrame.class); 
     73            .getLog(BrowserPanel.class); 
    7674    /** 
    7775     * bouton to go to the  next image 
     
    109107 
    110108    /** 
    111      * Panel qui contient l'image 
     109     * Panel containing the image 
    112110     */ 
    113111    private BrowserImagePanel imagePanel; 
     
    132130    private AWTEventListener generalListener; 
    133131 
    134     public BrowserFrame(Image image) { 
    135         this.setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(Outil.getURL("fr/mael/jiwigo/img/icon.png"))); 
    136         this.setTitle(Messages.getMessage("titleBrowser")); 
     132    /** 
     133     * Instance of the browser frame 
     134     */ 
     135    private static BrowserPanel instance; 
     136 
     137    public static BrowserPanel getInstance() { 
     138        if (instance == null) { 
     139            instance = new BrowserPanel(); 
     140        } 
     141        if (instance.getPanelBoutons() == null && ImagesManagement.getInstance().getCurrentImage() != null) { 
     142            instance.construct(); 
     143        } 
     144        return instance; 
     145    } 
     146 
     147    /** 
     148     * @return the panelBoutons 
     149     */ 
     150    public JPanel getPanelBoutons() { 
     151        return panelBoutons; 
     152    } 
     153 
     154    private BrowserPanel() { 
     155    } 
     156 
     157    public void construct() { 
     158        //      this.setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(Outil.getURL("fr/mael/jiwigo/img/icon.png"))); 
     159        //      this.setTitle(Messages.getMessage("titleBrowser")); 
    137160        panelBoutons = new JPanel(new FlowLayout()); 
    138161        //ajout des images sur les boutons 
     
    179202        panelBoutons.add(rotateLeft); 
    180203        panelBoutons.add(rotateRight); 
    181         panelBoutons.add(cut); 
     204        //      panelBoutons.add(cut); 
    182205        panelBoutons.add(save); 
    183206        panelBoutons.add(comment); 
     
    185208        BufferedImage img; 
    186209        try { 
    187             img = ImageIO.read(new URL(ImagesManagement.getCurrentImage().getUrl())); 
    188             imagePanel = new BrowserImagePanel(img); 
     210            img = ImageIO.read(new URL(ImagesManagement.getInstance().getCurrentImage().getUrl())); 
     211            imagePanel = new BrowserImagePanel(); 
    189212        } catch (Exception e1) { 
    190213            LOG.error(Outil.getStackTrace(e1)); 
    191214        } 
    192215 
    193         this.getContentPane().setLayout(new BorderLayout()); 
     216        this.setLayout(new BorderLayout()); 
    194217        JScrollPane scrollpane = new JScrollPane(imagePanel); 
    195218        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
    196         this.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG); 
    197         this.setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); 
     219        //      this.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG); 
     220        //      this.setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH); 
    198221        //      this.setExtendedState(JFrame.ICONIFIED | this.getExtendedState()); 
    199222        panelBoutons.add(imagePanel.getSlider()); 
     
    204227 
    205228        this.setSize(screenSize); 
    206         this.setLocationRelativeTo(null); 
    207         this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
     229        //      this.setLocationRelativeTo(null); 
     230        //      this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    208231        setUpMenu(); 
    209232        this.generalListener = new AWTEventListener() { 
     
    220243            } 
    221244        }; 
    222         this.setVisible(true); 
    223  
     245        this.setPreferredSize(new Dimension(300, 300)); 
    224246        //Toolkit.getDefaultToolkit().addAWTEventListener(generalListener, AWTEvent.KEY_EVENT_MASK); 
    225247 
    226248    } 
    227249 
     250    /** 
     251     * Changes the current image of the browser frame 
     252     */ 
     253    public void changeImage() { 
     254        imagePanel.changeImage(); 
     255        MainFrame.getInstance().getCollapsiblePanel().revalidate(); 
     256        MainFrame.getInstance().getCollapsiblePanel().repaint(); 
     257    } 
     258 
    228259    private void setUpMenu() { 
    229         menuBar = new JMenuBar(); 
    230260 
    231261        menuBar = new JMenuBar(); 
     
    249279                .getURL("fr/mael/jiwigo/img/zoom_n.png"))); 
    250280        menuItemFlipH = new JMenuItem(Messages.getMessage("imageBrowser_flipH"), new ImageIcon(Outil 
    251                 .getURL("fr/mael/jiwigo/img/flip_h.png"))); 
     281                .getURL("fr/mael/jiwigo/img/small/flip_h.png"))); 
    252282        menuItemFlipV = new JMenuItem(Messages.getMessage("imageBrowser_flipV"), new ImageIcon(Outil 
    253                 .getURL("fr/mael/jiwigo/img/flip_v.png"))); 
     283                .getURL("fr/mael/jiwigo/img/small/flip_v.png"))); 
    254284        menuItemRotationG = new JMenuItem(Messages.getMessage("imageBrowser_rotationL"), new ImageIcon(Outil 
    255                 .getURL("fr/mael/jiwigo/img/left.png"))); 
     285                .getURL("fr/mael/jiwigo/img/small/left.png"))); 
    256286        menuItemRotationD = new JMenuItem(Messages.getMessage("imageBrowser_rotationR"), new ImageIcon(Outil 
    257                 .getURL("fr/mael/jiwigo/img/right.png"))); 
     287                .getURL("fr/mael/jiwigo/img/small/right.png"))); 
    258288        menuFichier.add(menuItemSave); 
    259289        menuFichier.addSeparator(); 
     
    282312        menuItemRotationG.addActionListener(this); 
    283313        menuItemRotationD.addActionListener(this); 
    284         this.setJMenuBar(menuBar); 
    285  
    286     } 
    287  
    288     @Override 
    289     public void dispose() { 
    290         super.dispose(); 
    291         Toolkit.getDefaultToolkit().removeAWTEventListener(generalListener); 
    292     } 
     314        this.add(menuBar, BorderLayout.NORTH); 
     315 
     316    } 
     317 
     318    //    @Override 
     319    //    public void dispose() { 
     320    //  //      super.dispose(); 
     321    //  Toolkit.getDefaultToolkit().removeAWTEventListener(generalListener); 
     322    //    } 
    293323 
    294324    @Override 
    295325    public void actionPerformed(ActionEvent e) { 
    296326        if (e.getSource().equals(comment)) { 
    297             new CommentsDialog(this, ImagesManagement.getCurrentImage().getIdentifiant()); 
     327            new CommentsDialog(this, ImagesManagement.getInstance().getCurrentImage().getIdentifiant()); 
    298328        } else if (e.getSource().equals(save)) { 
    299329            //opens the dialog to save the file 
     
    319349        } else if (e.getSource().equals(next)) { 
    320350            imagePanel.setDrawSelection(false); 
    321             ImagesManagement.next(); 
    322             BufferedImage img; 
     351            ImagesManagement.getInstance().next(); 
    323352            try { 
    324                 img = ImagesManagement.getCurrentBufferedImage(); 
    325                 imagePanel.setImage(img); 
     353                changeImage(); 
    326354            } catch (Exception e1) { 
    327355                LOG.error(Outil.getStackTrace(e1)); 
     
    330358        } else if (e.getSource().equals(previous)) { 
    331359            imagePanel.setDrawSelection(false); 
    332             ImagesManagement.previous(); 
    333             BufferedImage img; 
     360            ImagesManagement.getInstance().previous(); 
    334361            try { 
    335                 img = ImagesManagement.getCurrentBufferedImage(); 
    336                 imagePanel.setImage(img); 
     362                changeImage(); 
    337363            } catch (Exception e1) { 
    338364                LOG.error(Outil.getStackTrace(e1)); 
     
    346372            save.doClick(); 
    347373        } else if (e.getSource().equals(menuItemClose)) { 
    348             this.dispose(); 
     374            //      this.dispose(); 
    349375        } else if (e.getSource().equals(menuItemZoomPlus)) { 
    350376            imagePanel.zoomIn(); 
Note: See TracChangeset for help on using the changeset viewer.