package org.korsakow.ide.ui.interfacebuilder.widget; import java.awt.Color; import javax.swing.JLabel; import org.korsakow.ide.lang.LanguageBundle; import org.korsakow.ide.resources.WidgetType; import org.korsakow.ide.resources.property.IntegerProperty; import org.korsakow.ide.resources.property.StringProperty; import org.korsakow.ide.resources.widget.WidgetComponent; import org.korsakow.ide.resources.widget.WidgetModel; import org.korsakow.ide.resources.widget.WidgetPropertiesEditor; import org.korsakow.ide.resources.widget.editors.CommentsWidgetEditor; import org.korsakow.services.util.ColorFactory; public class Comments extends WidgetModel { private static class CommentsWidgetComponent extends WidgetComponent { public CommentsWidgetComponent(WidgetModel owner) { super(owner); } @Override protected void initUI() { super.initUI(); add(new JLabel(LanguageBundle.getString("widget.comments.label"))); setSize(320, 240); } } private String fontColor = ColorFactory.formatCSS(Color.white); private Integer fontSize = 10; private String backgroundColor = ColorFactory.formatCSS(Color.black); private Integer perPage = 3; public Comments() { super(WidgetType.Comments); addProperty(new StringProperty("fontColor") { @Override public String getValue() { return fontColor; } @Override public void setValue(String value) { fontColor = value; } }); addProperty(new StringProperty("backgroundColor") { @Override public String getValue() { return backgroundColor; } @Override public void setValue(String value) { backgroundColor = value; } }); addProperty(new IntegerProperty("fontSize") { @Override public Integer getValue() { return fontSize; } @Override public void setValue(Integer value) { fontSize = value; } }); addProperty(new IntegerProperty("perPage") { @Override public Integer getValue() { return perPage; } @Override public void setValue(Integer value) { perPage = value; } }); } @Override protected WidgetComponent createComponent() { return new CommentsWidgetComponent(this); } @Override protected WidgetPropertiesEditor createWidgetEditor() { return new CommentsWidgetEditor(this); } }