package org.droiddraw.widget;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import org.droiddraw.AndroidEditor;
import org.droiddraw.gui.ImageResources;
import org.droiddraw.gui.NineWayImage;
import org.droiddraw.property.BooleanProperty;
public class Spinner extends AbstractWidget {
NineWayImage img;
NineWayImage arrows;
Image image_base;
Image arrs;
BooleanProperty onTop;
Font f;
public Spinner() {
super("Spinner");
image_base = null;
String theme = AndroidEditor.instance().getTheme();
if (theme == null || theme.equals("default")) {
image_base = ImageResources.instance().getImage("def/spinner_normal.9");
img = new NineWayImage(image_base, 10, 10);
arrs = ImageResources.instance().getImage("def/btn_dropdown_neither.9");
arrows = null;
}
else if (theme.equals("light")) {
image_base = ImageResources.instance().getImage("light/spinnerbox_background_focus_yellow.9");
if (image_base != null) {
img = new NineWayImage(image_base, 10, 10, 28, 10);
arrs = ImageResources.instance().getImage("light/spinnerbox_arrow_middle.9");
arrows = new NineWayImage(arrs, 1, 1, 22, 1);
}
}
onTop = new BooleanProperty("Selector on Top", "android:drawSelectorOnTop", false);
props.add(onTop);
f = new Font("Arial", Font.PLAIN, 14);
apply();
}
@Override
protected int getContentHeight() {
return image_base.getHeight(null);
}
@Override
protected int getContentWidth() {
return 100;
}
public void paint(Graphics g) {
if (img != null) {
img.paint(g, getX(), getY(), getWidth(), getHeight());
if (arrows != null)
arrows.paint(g, getX(), getY(), getWidth(), getHeight());
else
g.drawImage(arrs, getX()+getWidth()-38, getY()+getHeight()/2-arrs.getHeight(null)/2, null);
}
g.setColor(Color.black);
g.setFont(f);
if (arrows != null)
g.drawString("Spinner", getX()+10, getY()+16);
}
}