View Javadoc

1   /*
2    * TextAreaDefaults.java - Encapsulates default values for various settings
3    * Copyright (C) 1999 Slava Pestov
4    *
5    * You may use and modify this package for any purpose. Redistribution is
6    * permitted, in both source and binary form, provided that this notice
7    * remains intact in all source distributions of this package.
8    */
9   
10  package org.syntax.jedit;
11  
12  import java.awt.Color;
13  
14  import javax.swing.JPopupMenu;
15  
16  /***
17   * Encapsulates default settings for a text area. This can be passed
18   * to the constructor once the necessary fields have been filled out.
19   * The advantage of doing this over calling lots of set() methods after
20   * creating the text area is that this method is faster.
21   */
22  public class TextAreaDefaults
23  {
24  	private static TextAreaDefaults DEFAULTS;
25  
26  	public InputHandler inputHandler;
27  	public SyntaxDocument document;
28  	public boolean editable;
29  
30  	public boolean caretVisible;
31  	public boolean caretBlinks;
32  	public boolean blockCaret;
33  	public int electricScroll;
34  
35  	public int cols;
36  	public int rows;
37  	public SyntaxStyle[] styles;
38  	public Color caretColor;
39  	public Color selectionColor;
40  	public Color lineHighlightColor;
41  	public boolean lineHighlight;
42  	public Color bracketHighlightColor;
43  	public boolean bracketHighlight;
44  	public Color eolMarkerColor;
45  	public boolean eolMarkers;
46  	public boolean paintInvalid;
47  
48  	public JPopupMenu popup;
49  
50  	/***
51  	 * Returns a new TextAreaDefaults object with the default values filled
52  	 * in.
53  	 */
54  	public static TextAreaDefaults getDefaults()
55  	{
56  	//	if(DEFAULTS == null)
57  		{
58  			DEFAULTS = new TextAreaDefaults();
59  
60  			DEFAULTS.inputHandler = new DefaultInputHandler();
61  			DEFAULTS.inputHandler.addDefaultKeyBindings();
62  			DEFAULTS.document = new SyntaxDocument();
63  			DEFAULTS.editable = true;
64  
65  			DEFAULTS.blockCaret = false;
66  			DEFAULTS.caretVisible = true;
67  			DEFAULTS.caretBlinks = true;
68  			DEFAULTS.electricScroll = 3;
69  
70  			DEFAULTS.cols = 80;
71  			DEFAULTS.rows = 25;
72  			DEFAULTS.styles = SyntaxUtilities.getDefaultSyntaxStyles();
73  			DEFAULTS.caretColor = Color.black; // Color.red;
74  			DEFAULTS.selectionColor = new Color(0xccccff);
75  			DEFAULTS.lineHighlightColor = new Color(0xe0e0e0);
76  			DEFAULTS.lineHighlight = true;
77  			DEFAULTS.bracketHighlightColor = Color.black;
78  			DEFAULTS.bracketHighlight = true;
79  			DEFAULTS.eolMarkerColor = new Color(0x009999);
80  			DEFAULTS.eolMarkers = false; // true;
81  			DEFAULTS.paintInvalid = false; //true;
82  		}
83  
84  		return DEFAULTS;
85  	}
86  }