Changeset 8831


Ignore:
Timestamp:
Jan 21, 2011, 7:20:55 PM (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.