1 //package winterwell.markdown.editors;
3 //import java.util.List;
5 //import net.sf.paperclips.PaperClips;
6 //import net.sf.paperclips.Print;
7 //import net.sf.paperclips.PrintJob;
8 //import net.sf.paperclips.TextPrint;
10 //import org.eclipse.core.commands.ExecutionEvent;
11 //import org.eclipse.core.commands.ExecutionException;
12 //import org.eclipse.core.commands.IHandler;
13 //import org.eclipse.core.commands.IHandlerListener;
14 //import org.eclipse.jface.action.Action;
15 //import org.eclipse.jface.text.BadLocationException;
16 //import org.eclipse.jface.text.DocumentEvent;
17 //import org.eclipse.jface.text.IDocument;
18 //import org.eclipse.jface.text.IDocumentListener;
19 //import org.eclipse.jface.text.IRegion;
20 //import org.eclipse.jface.text.ITextSelection;
21 //import org.eclipse.jface.text.Region;
22 //import org.eclipse.jface.text.source.ISourceViewer;
23 //import org.eclipse.jface.viewers.ISelection;
24 //import org.eclipse.swt.SWT;
25 //import org.eclipse.swt.printing.PrintDialog;
26 //import org.eclipse.swt.printing.PrinterData;
27 //import org.eclipse.swt.widgets.Display;
28 //import org.eclipse.ui.IEditorPart;
29 //import org.eclipse.ui.IPropertyListener;
30 //import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
32 //import winterwell.markdown.pagemodel.MarkdownFormatter;
33 //import winterwell.markdown.pagemodel.MarkdownPage;
34 //import winterwell.markdown.pagemodel.MarkdownPage.KLineType;
35 //import winterwell.utils.containers.Pair;
36 //import winterwell.utils.containers.Range;
44 //public class PrintAction extends Action {
46 // public PrintAction() {
51 // public void run() {
53 // MarkdownEditor ed = (MarkdownEditor) ActionBarContributor.getActiveEditor();
54 // if (ed == null) return; // The active editor is not a markdown editor.
55 // PrintDialog dialog = new PrintDialog(Display.getDefault().getActiveShell(), SWT.NONE);
56 // PrinterData printerData = dialog.open ();
57 // if (printerData == null) return;
58 // Print doc = new TextPrint(ed.getText());
59 // PrintJob job = new PrintJob(ed.getTitle(), doc );
60 // PaperClips.print(job, printerData);
62 // } catch (Exception ex) {
63 // System.out.println(ex);
69 // public void dispose() {