Changeset 8831
- Timestamp:
- Jan 21, 2011, 7:20:55 PM (13 years ago)
- 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 24 24 import javax.swing.event.ChangeListener; 25 25 26 import fr.mael.jiwigo.transverse.ImagesManagement; 26 27 import fr.mael.jiwigo.transverse.util.ImagesUtil; 27 28 import fr.mael.jiwigo.transverse.util.Messages; … … 70 71 private int yDragPosition; 71 72 private boolean drawSelection = false; 73 private ImagesManagement imagesManagement = ImagesManagement.getInstance(); 72 74 73 75 /** … … 75 77 * @param image the image 76 78 */ 77 public BrowserImagePanel( BufferedImage image) {78 this.image = image ;79 public BrowserImagePanel() { 80 this.image = imagesManagement.getCurrentBufferedImage(); 79 81 this.addMouseWheelListener(this); 80 82 this.addMouseMotionListener(this); … … 106 108 g2.drawRenderedImage(image, at); 107 109 if (drawSelection) { 108 g2.drawRect(xTopPosition, yTopPosition, xDragPosition - xTopPosition, yDragPosition - yTopPosition);110 // g2.drawRect(xTopPosition, yTopPosition, xDragPosition - xTopPosition, yDragPosition - yTopPosition); 109 111 } 110 112 … … 242 244 */ 243 245 public void rotationDroite() { 244 setImage(ImagesUtil.rotate(image, Math.PI / 2)); 246 image = (ImagesUtil.rotate(image, Math.PI / 2)); 247 revalidate(); 248 repaint(); 245 249 } 246 250 … … 249 253 */ 250 254 public void rotationGauche() { 251 setImage(ImagesUtil.rotate(image, -Math.PI / 2)); 255 image = (ImagesUtil.rotate(image, -Math.PI / 2)); 256 revalidate(); 257 repaint(); 252 258 } 253 259 … … 262 268 * @param image the image to set 263 269 */ 264 public void setImage(BufferedImage image) {265 this.image = image ;270 public void changeImage() { 271 this.image = imagesManagement.getCurrentBufferedImage(); 266 272 revalidate(); 267 273 repaint(); -
extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/browser/BrowserPanel.java
r7646 r8831 21 21 import javax.swing.JButton; 22 22 import javax.swing.JFileChooser; 23 import javax.swing.JFrame;24 23 import javax.swing.JMenu; 25 24 import javax.swing.JMenuBar; 26 25 import javax.swing.JMenuItem; 27 26 import javax.swing.JPanel; 28 import javax.swing.JRootPane;29 27 import javax.swing.JScrollPane; 30 28 31 import fr.mael.jiwigo.om.Image;32 29 import fr.mael.jiwigo.transverse.ImagesManagement; 33 30 import fr.mael.jiwigo.transverse.util.ImagesUtil; … … 35 32 import fr.mael.jiwigo.transverse.util.Outil; 36 33 import fr.mael.jiwigo.ui.comments.CommentsDialog; 34 import fr.mael.jiwigo.ui.mainframe.MainFrame; 37 35 38 36 /** … … 68 66 * 69 67 */ 70 public class Browser Frame extends JFrameimplements ActionListener {68 public class BrowserPanel extends JPanel implements ActionListener { 71 69 /** 72 70 * Logger 73 71 */ 74 72 public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory 75 .getLog(Browser Frame.class);73 .getLog(BrowserPanel.class); 76 74 /** 77 75 * bouton to go to the next image … … 109 107 110 108 /** 111 * Panel qui contient l'image109 * Panel containing the image 112 110 */ 113 111 private BrowserImagePanel imagePanel; … … 132 130 private AWTEventListener generalListener; 133 131 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")); 137 160 panelBoutons = new JPanel(new FlowLayout()); 138 161 //ajout des images sur les boutons … … 179 202 panelBoutons.add(rotateLeft); 180 203 panelBoutons.add(rotateRight); 181 panelBoutons.add(cut);204 // panelBoutons.add(cut); 182 205 panelBoutons.add(save); 183 206 panelBoutons.add(comment); … … 185 208 BufferedImage img; 186 209 try { 187 img = ImageIO.read(new URL(ImagesManagement.get CurrentImage().getUrl()));188 imagePanel = new BrowserImagePanel( img);210 img = ImageIO.read(new URL(ImagesManagement.getInstance().getCurrentImage().getUrl())); 211 imagePanel = new BrowserImagePanel(); 189 212 } catch (Exception e1) { 190 213 LOG.error(Outil.getStackTrace(e1)); 191 214 } 192 215 193 this. getContentPane().setLayout(new BorderLayout());216 this.setLayout(new BorderLayout()); 194 217 JScrollPane scrollpane = new JScrollPane(imagePanel); 195 218 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); 198 221 // this.setExtendedState(JFrame.ICONIFIED | this.getExtendedState()); 199 222 panelBoutons.add(imagePanel.getSlider()); … … 204 227 205 228 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); 208 231 setUpMenu(); 209 232 this.generalListener = new AWTEventListener() { … … 220 243 } 221 244 }; 222 this.setVisible(true); 223 245 this.setPreferredSize(new Dimension(300, 300)); 224 246 //Toolkit.getDefaultToolkit().addAWTEventListener(generalListener, AWTEvent.KEY_EVENT_MASK); 225 247 226 248 } 227 249 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 228 259 private void setUpMenu() { 229 menuBar = new JMenuBar();230 260 231 261 menuBar = new JMenuBar(); … … 249 279 .getURL("fr/mael/jiwigo/img/zoom_n.png"))); 250 280 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"))); 252 282 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"))); 254 284 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"))); 256 286 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"))); 258 288 menuFichier.add(menuItemSave); 259 289 menuFichier.addSeparator(); … … 282 312 menuItemRotationG.addActionListener(this); 283 313 menuItemRotationD.addActionListener(this); 284 this. setJMenuBar(menuBar);285 286 } 287 288 @Override289 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 // } 293 323 294 324 @Override 295 325 public void actionPerformed(ActionEvent e) { 296 326 if (e.getSource().equals(comment)) { 297 new CommentsDialog(this, ImagesManagement.get CurrentImage().getIdentifiant());327 new CommentsDialog(this, ImagesManagement.getInstance().getCurrentImage().getIdentifiant()); 298 328 } else if (e.getSource().equals(save)) { 299 329 //opens the dialog to save the file … … 319 349 } else if (e.getSource().equals(next)) { 320 350 imagePanel.setDrawSelection(false); 321 ImagesManagement.next(); 322 BufferedImage img; 351 ImagesManagement.getInstance().next(); 323 352 try { 324 img = ImagesManagement.getCurrentBufferedImage(); 325 imagePanel.setImage(img); 353 changeImage(); 326 354 } catch (Exception e1) { 327 355 LOG.error(Outil.getStackTrace(e1)); … … 330 358 } else if (e.getSource().equals(previous)) { 331 359 imagePanel.setDrawSelection(false); 332 ImagesManagement.previous(); 333 BufferedImage img; 360 ImagesManagement.getInstance().previous(); 334 361 try { 335 img = ImagesManagement.getCurrentBufferedImage(); 336 imagePanel.setImage(img); 362 changeImage(); 337 363 } catch (Exception e1) { 338 364 LOG.error(Outil.getStackTrace(e1)); … … 346 372 save.doClick(); 347 373 } else if (e.getSource().equals(menuItemClose)) { 348 this.dispose();374 // this.dispose(); 349 375 } else if (e.getSource().equals(menuItemZoomPlus)) { 350 376 imagePanel.zoomIn();
Note: See TracChangeset
for help on using the changeset viewer.