New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Print Support #9

Open
RobertBColton opened this Issue Oct 8, 2014 · 0 comments

Comments

Projects
None yet
1 participant
@RobertBColton
Contributor

RobertBColton commented Oct 8, 2014

LateralGM has recently fixed its printing capabilities (IsmAvatar/LateralGM#155) on two frames. JoshEdit should seriously have a .print() function like that which was added to Java 1.6

http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html

Printing support
    Several print methods are provided for basic document printing. If more advanced printing is needed, use the getPrintable(java.text.MessageFormat, java.text.MessageFormat) method. 

It should do the following:

  1. Automatically show a dialog
  2. Function should return a boolean, true if the user accepts, false if they close the dialog
  3. Function should automatically send the printable to the printer if the user accepts
  4. Should throw a PrinterException that can be caught if there are any errors.
    http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html#print%28%29
  • Java AWT Compliant Print Functions
  • Print actions, translations, and keybindings.
  • Must print pageable documents that take PageFormat settings into account.
  • Line numbers
  • Word wrapping

There should also be a getPrintable() function that generates the printable so that can be shown in a print preview dialog, note however that JoshEdit does not and should not have its own print preview dialog, leave that up to the end user like the Java framework does.
http://docs.oracle.com/javase/7/docs/api/javax/swing/text/JTextComponent.html#getPrintable%28java.text.MessageFormat,%20java.text.MessageFormat%29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment