Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * UIResourceMgr.java
   *
   * Copyright 2004, 2007 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package groovy.ui;
 
 
 import java.io.File;

Component which provides a styled editor for the console.

Author(s):
hippy
Version:
$Id$
 
 public class ConsoleTextEditor extends JScrollPane {
 
     private static final PrinterJob PRINTER_JOB = PrinterJob.getPrinterJob();
         
     private TextEditor textEditor = new TextEditor(truetruetrue);
     
     private UndoAction undoAction = new UndoAction();
     private RedoAction redoAction = new RedoAction();
     private PrintAction printAction = new PrintAction();
     
     private boolean editable = true;
     
     private File textFile;
     
     private TextUndoManager undoManager;

    
Creates a new instance of ConsoleTextEditor
 
     public ConsoleTextEditor() {        
         
         setWheelScrollingEnabled(true);
 
         setViewportView();
         
         
         initActions();
         
         DefaultStyledDocument doc = new DefaultStyledDocument();
         doc.setDocumentFilter(new GroovyFilter(doc));
         .setDocument(doc);
 
         // create and add the undo/redo manager
         this. = new TextUndoManager();
         doc.addUndoableEditListener();
         
         // add the undo actions
 
         doc.addDocumentListener();
         doc.addDocumentListener();
         
         KeyStroke ks = KeyStroke.getKeyStroke(..false);
         im.put(ks.);
        ActionMap am = .getActionMap();
        ks = KeyStroke.getKeyStroke(..false);
        im.put(ks.);
        ks = KeyStroke.getKeyStroke(..false);
        im.put(ks.);
    }
    
    public boolean clipBoardAvailable() {
    }
    
    public TextEditor getTextEditor() {
        return ;
    }
    protected void initActions() {
        ActionMap map = getActionMap();
        
        PrintAction printAction = new PrintAction();
        map.put(.printAction);
    }
        
    private class PrintAction extends AbstractAction {
        
        public PrintAction() {
            setEnabled(true);
        }
        
        public void actionPerformed(ActionEvent ae) {
            .setPageable();
            
            try {
                if (.printDialog()) {
                    .print();
                }
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
    } // end ConsoleTextEditor.PrintAction
    
    private class RedoAction extends UpdateCaretListener implements PropertyChangeListener {
        public RedoAction() {
            setEnabled(false);
        }
        
        public void actionPerformed(ActionEvent ae) {
            .redo();
            setEnabled(.canRedo());
            .setEnabled(.canUndo());
            super.actionPerformed(ae);
        }
        
        public void propertyChange(PropertyChangeEvent pce) {
            setEnabled(.canRedo());
        }
    } // end ConsoleTextEditor.RedoAction
    
    private abstract class UpdateCaretListener extends AbstractAction implements DocumentListener {
        
        protected int lastUpdate;
        
        public void changedUpdate(DocumentEvent de) {
        }
        
        public void insertUpdate(DocumentEvent de) {
             = de.getOffset() + de.getLength();
        }
        
        public void removeUpdate(DocumentEvent de) {
             = de.getOffset();
        }
        
        public void actionPerformed(ActionEvent ae) {
            .setCaretPosition();
        }
    }
    
    private class UndoAction extends UpdateCaretListener  implements PropertyChangeListener {
        public UndoAction() {
            setEnabled(false);
        }
        
        public void actionPerformed(ActionEvent ae) {
            .undo();
            setEnabled(.canUndo());
            .setEnabled(.canRedo());
            super.actionPerformed(ae);
        }        
        
        public void propertyChange(PropertyChangeEvent pce) {
            setEnabled(.canUndo());
        }
    }
    public Action getUndoAction() {
        return ;
    }
    public Action getRedoAction() {
        return ;
    }
    public Action getPrintAction() {
        return ;
    }
New to GrepCode? Check out our FAQ X