]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/PhotoPopupFunction.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / function / PhotoPopupFunction.java
diff --git a/tim/prune/function/PhotoPopupFunction.java b/tim/prune/function/PhotoPopupFunction.java
deleted file mode 100644 (file)
index 077a307..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-package tim.prune.function;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.awt.event.KeyListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-
-import javax.swing.JButton;
-import javax.swing.JDialog;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import tim.prune.App;
-import tim.prune.DataSubscriber;
-import tim.prune.GenericFunction;
-import tim.prune.I18nManager;
-import tim.prune.UpdateMessageBroker;
-import tim.prune.data.Photo;
-import tim.prune.gui.PhotoThumbnail;
-
-/**
- * Class to show a popup window for a photo
- */
-public class PhotoPopupFunction extends GenericFunction implements DataSubscriber
-{
-       /** popup window */
-       private JFrame _frame = null; // would be a JDialog but that doesn't allow max button
-       /** label for filename */
-       private JLabel _label = null;
-       /** Photo thumbnail */
-       private PhotoThumbnail _photoThumb = null;
-
-       /**
-        * Constructor
-        * @param inApp app object
-        */
-       public PhotoPopupFunction(App inApp)
-       {
-               super(inApp);
-       }
-
-       /**
-        * Get the name key
-        */
-       public String getNameKey() {
-               return "function.photopopup";
-       }
-
-       /**
-        * Show the screen
-        */
-       public void begin()
-       {
-               if (_frame == null)
-               {
-                       _frame = new JFrame(I18nManager.getText(getNameKey()));
-                       _frame.setIconImage(_parentFrame.getIconImage());
-                       _frame.getContentPane().add(makeContents());
-                       _frame.pack();
-                       _frame.setLocationRelativeTo(_parentFrame);
-                       _frame.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
-                       _frame.addWindowListener(new WindowAdapter() {
-                               public void windowClosed(WindowEvent e) {
-                                       UpdateMessageBroker.removeSubscriber(PhotoPopupFunction.this);
-                                       super.windowClosed(e);
-                               }
-                       });
-               }
-               initFrame();
-               final Photo photo = _app.getTrackInfo().getCurrentPhoto();
-               if (photo.getWidth() <= 0 || photo.getHeight() <= 0)
-               {
-                       _frame.setVisible(false);
-                       _app.showErrorMessageNoLookup(getNameKey(), I18nManager.getText("error.showphoto.failed")
-                        + " : " + photo.getName());
-               }
-               else
-               {
-                       _frame.setVisible(true);
-                       // Add listener to Broker
-                       UpdateMessageBroker.addSubscriber(this);
-               }
-       }
-
-       /**
-        * Initialise the frame to show the current photo
-        */
-       private void initFrame()
-       {
-               Photo photo = _app.getTrackInfo().getCurrentPhoto();
-               if (photo == null)
-               {
-                       _frame.setTitle("GpsPrune - " + I18nManager.getText("details.nophoto"));
-                       _label.setText(I18nManager.getText("details.nophoto"));
-               }
-               else
-               {
-                       _frame.setTitle(photo.getName());
-                       _label.setText("'" + photo.getName() + "' ("
-                               + photo.getWidth() + " x " + photo.getHeight() + ")");
-               }
-               _photoThumb.setPhoto(photo);
-       }
-
-       /**
-        * @return the contents of the window as a Component
-        */
-       private Component makeContents()
-       {
-               JPanel mainPanel = new JPanel();
-               mainPanel.setLayout(new BorderLayout());
-               _label = new JLabel("Photo popup");
-               mainPanel.add(_label, BorderLayout.NORTH);
-               _photoThumb = new PhotoThumbnail(false); // specify not in details panel
-               _photoThumb.setPreferredSize(new Dimension(300, 300));
-               mainPanel.add(_photoThumb, BorderLayout.CENTER);
-               // Close button at bottom
-               JPanel okPanel = new JPanel();
-               okPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
-               JButton okButton = new JButton(I18nManager.getText("button.ok"));
-               okButton.addActionListener(new ActionListener()
-               {
-                       public void actionPerformed(ActionEvent e) {
-                               _frame.dispose();
-                       }
-               });
-               okButton.addKeyListener(new KeyListener() {
-                       public void keyPressed(KeyEvent e) {
-                               if (e.getKeyCode() == KeyEvent.VK_ESCAPE) {_frame.dispose();}
-                       }
-                       public void keyTyped(KeyEvent e) {}
-                       public void keyReleased(KeyEvent e) {}
-               });
-               okPanel.add(okButton);
-               mainPanel.add(okPanel, BorderLayout.SOUTH);
-               return mainPanel;
-       }
-
-       public void dataUpdated(byte inUpdateType)
-       {
-               // Update photo if selection changes
-               if ((inUpdateType & DataSubscriber.SELECTION_CHANGED) > 0)
-               {
-                       initFrame();
-               }
-       }
-
-       public void actionCompleted(String inMessage) {}
-}