From 9b60c4d2bc28617cf19da02f936cc2a6dda0854a Mon Sep 17 00:00:00 2001 From: benfry Date: Thu, 31 Mar 2005 07:58:47 +0000 Subject: [PATCH] oops, forgot this guy --- app/PdeEditorLineStatus.java | 104 +++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 app/PdeEditorLineStatus.java diff --git a/app/PdeEditorLineStatus.java b/app/PdeEditorLineStatus.java new file mode 100644 index 000000000..fc32f63bc --- /dev/null +++ b/app/PdeEditorLineStatus.java @@ -0,0 +1,104 @@ +/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ + +/* + PdeEditorLineStatus - li'l status bar fella that shows the line number + Part of the Processing project - http://processing.org + + Copyright (c) 2005 Ben Fry and Casey Reas + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +import java.awt.*; +import java.awt.event.*; + +import javax.swing.*; +import javax.swing.event.*; + + +public class PdeEditorLineStatus extends JComponent { + JEditTextArea textarea; + int start = -1, stop; + + Color foreground; + Color background; + Font font; + int high; + + String text = ""; + + + public PdeEditorLineStatus(JEditTextArea textarea) { + this.textarea = textarea; + textarea.editorLineStatus = this; + + background = PdePreferences.getColor("linestatus.bgcolor"); + font = PdePreferences.getFont("linestatus.font"); + foreground = PdePreferences.getColor("linestatus.color"); + high = PdePreferences.getInteger("linestatus.height"); + + //linestatus.bgcolor = #000000 + //linestatus.font = SansSerif,plain,10 + //linestatus.color = #FFFFFF + } + + + public void set(int newStart, int newStop) { + if ((newStart == start) && (newStop == stop)) return; + + start = newStart; + stop = newStop; + + /* + if (start == stop) { + text = "Line " + (start + 1); + } else { + text = "Lines " + (start + 1) + " to " + (stop + 1); + } + */ + if (start == stop) { + text = String.valueOf(start+1); + } else { + text = (start+1) + " - " + (stop+1); + } + + repaint(); + } + + + public void paintComponent(Graphics g) { + g.setColor(background); + Dimension size = getSize(); + g.fillRect(0, 0, size.width, size.height); + + g.setFont(font); + g.setColor(foreground); + int baseline = (high + g.getFontMetrics().getAscent()) / 2; + g.drawString(text, 6, baseline); + } + + + public Dimension getPreferredSize() { + return new Dimension(300, high); + } + + public Dimension getMinimumSize() { + return getPreferredSize(); + } + + public Dimension getMaximumSize() { + return new Dimension(3000, high); + } +}