/* class JSeparator
*
* Copyright (C) 2001 R M Pitman
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package charvax.swing;
import charva.awt.Component;
import charva.awt.Container;
import charva.awt.Dimension;
import charva.awt.Insets;
import charva.awt.Point;
import charva.awt.Toolkit;
/**
* A horizontal separator in a menu.
*/
public class JSeparator
extends Component
{
/** Create a separator
*/
public JSeparator()
{
}
public void draw(Toolkit toolkit)
{
/* Get the absolute origin of this component.
*/
Point origin = getLocationOnScreen();
toolkit.setCursor(origin);
StringBuffer buf = new StringBuffer();
for (int i=0; i<getSize().width; i++) {
buf.append("-");
}
toolkit.addString(buf.toString(), Toolkit.A_NORMAL, 0);
}
/** Determines whether this component will accept the keyboard focus
* during keyboard traversal.
*/
public boolean isFocusTraversable() { return false; }
public Dimension minimumSize()
{
return this.getSize();
}
public Dimension getSize()
{
return new Dimension(this.getWidth(), this.getHeight());
}
public int getWidth() {
Container parent = getParent();
Insets insets = parent.getInsets();
int availableWidth = parent.getSize().width -
insets.left - insets.right;
return availableWidth;
}
public int getHeight() {
return 1;
}
/** This is never invoked. */
public void requestFocus() { }
/** Outputs a textual description of this component to stderr.
*/
public void debug(int level_) {
for (int i=0; i<level_; i++)
System.err.print(" ");
System.err.println("JSeparator origin=" + _origin );
}
//====================================================================
// INSTANCE VARIABLES
}