Class Gview

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--Gview
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, GpickleObserver, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants
Direct Known Subclasses:
Nav

public class Gview
extends javax.swing.JFrame
implements java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, GpickleObserver

Simple Viewer for PCL and PXL files. Use: Keyboard: PageUp and PageDown move between pages of a document. 'q' quits Usage: java Gview ../frs96.pxl

Version:
$Revision: 1552 $
Author:
Henry Stiles, Stefan Kemper
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  java.awt.image.BufferedImage currentPage
           
protected static boolean debug
          enables printfs
protected  double desiredRes
           
protected  boolean drag
           
protected  boolean enableRTL
          enable RTL mode in menu try with low startingRes = 25
protected  int lastX
          used to drag translations in realtime
protected  int lastY
           
protected  int newX
          used to drag translations in realtime
protected  int newY
           
protected  double origH
           
protected  double origRes
           
protected  double origW
           
protected  double origX
           
protected  double origY
           
protected  int pageNumber
           
protected  GpickleThread pickle
           
protected  double startingRes
          starting resolution 75dpi scales nicely to 300,600,1200 100dpi gives a bigger starting window.
protected  int totalPageCount
           
protected  int tx
           
protected  int ty
           
protected  double zoomWindowRatio
          derived classes like: Nav will be 1/zoomWindowRatio in size startingRes = 100; zoomWindowRation = 2; Nav window res is 50.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Gview()
          constructor
 
Method Summary
 void imageIsReady(java.awt.image.BufferedImage newImage)
          callback from PickleObserver occurs when Image is complete.
 void keyPressed(java.awt.event.KeyEvent e)
          Page Up and Page Down Keys Increment and Decrement the current page respectively.
 void keyReleased(java.awt.event.KeyEvent e)
          Unused required by KeyListener
 void keyTyped(java.awt.event.KeyEvent e)
          Unused required by KeyListener
static void main(java.lang.String[] args)
          main program
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
          starts drag translation, or popup menu
 void mouseReleased(java.awt.event.MouseEvent e)
          ends drag translation
 void nextPage()
           
 void paint(java.awt.Graphics g)
          paint frame contents
 void prevPage()
           
protected  void runJob(java.lang.String[] args, double resolution, boolean getPageCount)
          Sets the job, opening/reopening the window based on resolution.
 void runMain(java.lang.String[] args)
          defaults settings for runJob, override for different defaults.
 void setPage(int _pageNumber)
           
protected  void setPageCount(int pageCount)
          setting page count so that multiple views can share the same page count result
protected  void translate(int x, int y)
           
protected  void translateTo(double x1, double y1)
           
static java.lang.String usage()
          usage:
protected  void zoomIn(int x, int y)
          Increase resolution by factor of 2
protected  void zoomOut(int x, int y)
          decrease resolution by factor of 2
protected  void zoomToRes(float res)
          Set zoom resolution to asked for resolution at 0,0
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

debug

protected static final boolean debug
enables printfs

startingRes

protected double startingRes
starting resolution 75dpi scales nicely to 300,600,1200 100dpi gives a bigger starting window. 50 or even 25 may be needed for a very large plot on a small memory machine.

zoomWindowRatio

protected double zoomWindowRatio
derived classes like: Nav will be 1/zoomWindowRatio in size startingRes = 100; zoomWindowRation = 2; Nav window res is 50.

enableRTL

protected boolean enableRTL
enable RTL mode in menu try with low startingRes = 25

pageNumber

protected int pageNumber

totalPageCount

protected int totalPageCount

currentPage

protected java.awt.image.BufferedImage currentPage

pickle

protected GpickleThread pickle

desiredRes

protected double desiredRes

origRes

protected double origRes

origH

protected double origH

origW

protected double origW

origX

protected double origX

origY

protected double origY

tx

protected int tx

ty

protected int ty

drag

protected boolean drag

lastX

protected int lastX
used to drag translations in realtime

lastY

protected int lastY

newX

protected int newX
used to drag translations in realtime

newY

protected int newY
Constructor Detail

Gview

public Gview()
constructor
Method Detail

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
Page Up and Page Down Keys Increment and Decrement the current page respectively. Currently does't prevent keys strokes while a page is being generated, this give poor feedback when a key is pressed repeatedly while a long job runs.
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Unused required by KeyListener
Specified by:
keyTyped in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Unused required by KeyListener
Specified by:
keyReleased in interface java.awt.event.KeyListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

paint

public void paint(java.awt.Graphics g)
paint frame contents
Overrides:
paint in class java.awt.Container

imageIsReady

public void imageIsReady(java.awt.image.BufferedImage newImage)
callback from PickleObserver occurs when Image is complete.
Specified by:
imageIsReady in interface GpickleObserver

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
starts drag translation, or popup menu
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
ends drag translation
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

setPage

public void setPage(int _pageNumber)

nextPage

public void nextPage()

prevPage

public void prevPage()

translate

protected void translate(int x,
                         int y)

translateTo

protected void translateTo(double x1,
                           double y1)

zoomIn

protected void zoomIn(int x,
                      int y)
Increase resolution by factor of 2

zoomOut

protected void zoomOut(int x,
                       int y)
decrease resolution by factor of 2

zoomToRes

protected void zoomToRes(float res)
Set zoom resolution to asked for resolution at 0,0

main

public static void main(java.lang.String[] args)
main program

usage

public static java.lang.String usage()
usage:

runMain

public void runMain(java.lang.String[] args)
defaults settings for runJob, override for different defaults.

setPageCount

protected void setPageCount(int pageCount)
setting page count so that multiple views can share the same page count result

runJob

protected void runJob(java.lang.String[] args,
                      double resolution,
                      boolean getPageCount)
Sets the job, opening/reopening the window based on resolution.
Parameters:
getPageCount - determines if the page count should be computed.