mirror of
https://github.com/processing/processing4.git
synced 2026-02-13 18:35:37 +01:00
changing package for this feller
This commit is contained in:
131
pdex/src/processing/mode/experimental/XQConsoleToggle.java
Executable file
131
pdex/src/processing/mode/experimental/XQConsoleToggle.java
Executable file
@@ -0,0 +1,131 @@
|
||||
package processing.mode.experimental;
|
||||
|
||||
/*
|
||||
Part of the XQMode project - https://github.com/Manindra29/XQMode
|
||||
|
||||
Under Google Summer of Code 2012 -
|
||||
http://www.google-melange.com/gsoc/homepage/google/gsoc2012
|
||||
|
||||
Copyright (C) 2012 Manindra Moharana
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License version 2
|
||||
as published by the Free Software Foundation.
|
||||
|
||||
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.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
|
||||
/**
|
||||
* Toggle Button displayed in the editor line status panel for toggling bewtween
|
||||
* console and problems list. Glorified JPanel.
|
||||
*
|
||||
* @author Manindra Moharana <me@mkmoharana.com>
|
||||
*
|
||||
*/
|
||||
|
||||
public class XQConsoleToggle extends JPanel implements MouseListener {
|
||||
public static final String[] text = { "Console", "Errors" };
|
||||
|
||||
private boolean toggleText = true;
|
||||
private boolean toggleBG = true;
|
||||
|
||||
/**
|
||||
* Height of the component
|
||||
*/
|
||||
protected int height;
|
||||
protected DebugEditor editor;
|
||||
protected String buttonName;
|
||||
|
||||
public XQConsoleToggle(DebugEditor editor, String buttonName, int height) {
|
||||
this.editor = editor;
|
||||
this.height = height;
|
||||
this.buttonName = buttonName;
|
||||
}
|
||||
|
||||
public Dimension getPreferredSize() {
|
||||
return new Dimension(70, height);
|
||||
}
|
||||
|
||||
public Dimension getMinimumSize() {
|
||||
return getPreferredSize();
|
||||
}
|
||||
|
||||
public Dimension getMaximumSize() {
|
||||
return getPreferredSize();
|
||||
}
|
||||
|
||||
public void paintComponent(Graphics g) {
|
||||
Graphics2D g2d = (Graphics2D) g;
|
||||
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
|
||||
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
||||
|
||||
// On mouse hover, text and background color are changed.
|
||||
if (toggleBG) {
|
||||
g.setColor(new Color(0xff9DA7B0));
|
||||
g.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||||
g.setColor(new Color(0xff29333D));
|
||||
g.fillRect(0, 0, 4, this.getHeight());
|
||||
g.setColor(Color.BLACK);
|
||||
} else {
|
||||
g.setColor(Color.DARK_GRAY);
|
||||
g.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||||
g.setColor(new Color(0xff29333D));
|
||||
g.fillRect(0, 0, 4, this.getHeight());
|
||||
g.setColor(Color.WHITE);
|
||||
}
|
||||
|
||||
g.drawString(buttonName, getWidth() / 2 + 2 // + 2 is a offset
|
||||
- getFontMetrics(getFont()).stringWidth(buttonName) / 2,
|
||||
this.getHeight() - 6);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent arg0) {
|
||||
|
||||
this.repaint();
|
||||
try {
|
||||
editor.toggleView(buttonName);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e);
|
||||
// e.printStackTrace();
|
||||
}
|
||||
toggleText = !toggleText;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent arg0) {
|
||||
toggleBG = !toggleBG;
|
||||
this.repaint();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent arg0) {
|
||||
toggleBG = !toggleBG;
|
||||
this.repaint();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent arg0) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent arg0) {
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user