package org.korsakow.ide.ui.interfacebuilder.widget; import javax.swing.JLabel; import org.korsakow.ide.lang.LanguageBundle; import org.korsakow.ide.resources.WidgetType; import org.korsakow.ide.resources.property.BooleanProperty; 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.MediaControlsWidgetEditor; public class MediaControls extends WidgetModel { private static class MediaControlsWidgetComponent extends WidgetComponent { public MediaControlsWidgetComponent(WidgetModel owner) { super(owner); } @Override protected void initUI() { super.initUI(); add(new JLabel(LanguageBundle.getString("widget.mediacontrols.label"))); setSize(640, 30); } @Override public boolean getMaintainsAspectByDefaultWhenResized() { return false; } } private boolean playPause = true; private boolean playTime = true; private boolean scrubber = true; private boolean loading = true; private boolean totalTime = true; private boolean volume = true; private boolean scrubberInteractive = true; public MediaControls() { super(WidgetType.MediaControls); addProperty(new BooleanProperty("showPlayPause", false) { @Override public Boolean getValue() { return playPause; } @Override public void setValue(Boolean value) { playPause = value; } }); addProperty(new BooleanProperty("showPlayTime", false) { @Override public Boolean getValue() { return playTime; } @Override public void setValue(Boolean value) { playTime = value; } }); addProperty(new BooleanProperty("showScrubber", false) { @Override public Boolean getValue() { return scrubber; } @Override public void setValue(Boolean value) { scrubber = value; } }); addProperty(new BooleanProperty("scrubberInteractive", false) { @Override public Boolean getValue() { return scrubberInteractive; } @Override public void setValue(Boolean value) { scrubberInteractive = value; } }); addProperty(new BooleanProperty("showLoading", false) { @Override public Boolean getValue() { return loading; } @Override public void setValue(Boolean value) { loading = value; } }); addProperty(new BooleanProperty("showTotalTime", false) { @Override public Boolean getValue() { return totalTime; } @Override public void setValue(Boolean value) { totalTime = value; } }); addProperty(new BooleanProperty("showVolume", false) { @Override public Boolean getValue() { return volume; } @Override public void setValue(Boolean value) { volume = value; } }); } @Override protected WidgetComponent createComponent() { return new MediaControlsWidgetComponent(this); } @Override protected WidgetPropertiesEditor createWidgetEditor() { return new MediaControlsWidgetEditor(this); } }