home *** CD-ROM | disk | FTP | other *** search
- package allaire.controls;
-
- import allaire.util.FontUtils;
- import allaire.util.netHelpers;
- import java.applet.Applet;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.util.StringTokenizer;
- import netscape.application.AWTCompatibility;
- import netscape.application.Application;
- import netscape.application.Bitmap;
- import netscape.application.Border;
- import netscape.application.Color;
- import netscape.application.ExternalWindow;
- import netscape.application.Font;
- import netscape.application.Size;
- import netscape.application.Slider;
- import netscape.application.Target;
- import netscape.application.TextField;
-
- public class cfslider extends Application implements Target {
- public static final int HEIGHT = 0;
- public static final int WIDTH = 1;
- public static final int MINIMUM = 2;
- public static final int MAXIMUM = 3;
- public static final int VALUE = 4;
- public static final int SCALE = 5;
- public static final int LABEL_PREFIX = 6;
- public static final int LABEL_SUFFIX = 7;
- public static final int LABEL_DISPLAY = 8;
- public static final int LABEL_STATIC = 9;
- public static final int TEXT_COLOR = 10;
- public static final int BACKGROUND = 11;
- public static final int COLOR = 12;
- public static final int FONT_SIZE = 13;
- public static final int FONT_TYPE = 14;
- public static final int FONT_WEIGHT = 15;
- public static final int IMAGE_NAME = 16;
- public static final int IMAGE_STYLE = 17;
- public static final int MAX_PARAMETERS = 18;
- private Slider slider;
- private TextField statusField;
- private String label_prefix;
- private String label_suffix;
- private boolean bStaticLabel;
- private boolean bDisplayLabel;
- private int iscale;
-
- public void sliderWasMoved(Object var1) {
- if (!this.bStaticLabel) {
- this.showStatus(this.label_prefix + this.slider.value() * this.iscale + this.label_suffix);
- }
-
- }
-
- public static void main(String[] var0) {
- cfslider var1 = new cfslider();
- ExternalWindow var2 = new ExternalWindow();
- ((Application)var1).setMainRootView(var2.rootView());
- Size var3 = var2.windowSizeForContentSize(320, 200);
- var2.sizeTo(var3.width, var3.height);
- var2.show();
- ((Application)var1).run();
- System.exit(0);
- }
-
- public void performCommand(String var1, Object var2) {
- if ("sliderWasMoved".equals(var1) && this.bDisplayLabel) {
- this.sliderWasMoved(var2);
- }
-
- }
-
- public void showStatus(String var1) {
- this.statusField.setStringValue(var1);
- }
-
- public String cf_getSlider() {
- return Integer.toString(this.slider.value() * this.iscale);
- }
-
- public void init() {
- super.init();
- int var7 = 0;
- Font var8 = Font.defaultFont();
- String var10 = ((Application)this).parameterNamed("sliderparm");
- String[] var11 = new String[18];
- CFSliderApplet var12 = (CFSliderApplet)AWTCompatibility.awtApplet();
- Dimension var13 = ((Component)var12).size();
- if (var10 != null) {
- var10 = netHelpers.URLDecode(var10);
- StringTokenizer var14 = new StringTokenizer(var10, "\u0002");
-
- while(var14.hasMoreTokens()) {
- for(int var15 = 0; var15 < 18 && var14.hasMoreTokens(); ++var15) {
- String var16 = var14.nextToken();
- if (var16.compareTo("\u0003") != 0) {
- var11[var15] = var16;
- }
- }
- }
- }
-
- int var5 = var13.width - 4;
- int var4 = var13.height - 2;
- int var1;
- if (var11[2] == null) {
- var1 = 0;
- } else {
- var1 = Integer.parseInt(var11[2]);
- }
-
- int var2;
- if (var11[3] == null) {
- var2 = 100;
- } else {
- var2 = Integer.parseInt(var11[3]);
- }
-
- int var3;
- if (var11[4] == null) {
- var3 = var1;
- var11[4] = var11[2] == null ? "0" : var11[2];
- } else {
- var3 = Integer.parseInt(var11[4]);
- }
-
- if (var11[5] == null) {
- this.iscale = 1;
- } else {
- this.iscale = Integer.parseInt(var11[5]);
- if (this.iscale < 1) {
- this.iscale = 1;
- }
- }
-
- if (this.iscale > 1) {
- var1 /= this.iscale;
- var2 /= this.iscale;
- var3 /= this.iscale;
- }
-
- Color var9;
- if (var11[11] == null) {
- var9 = Color.lightGray;
- } else {
- Color var18 = Color.lightGray;
- int var22 = FontUtils.getColorRGB(var11[11], var18.rgb());
- var9 = new Color(var22);
- }
-
- ((Application)this).mainRootView().setColor(var9);
- if (var11[8] == null) {
- this.bDisplayLabel = true;
- } else if (var11[8].equalsIgnoreCase("no")) {
- this.bDisplayLabel = false;
- } else {
- this.bDisplayLabel = true;
- }
-
- if (this.bDisplayLabel) {
- if (var11[9] == null) {
- this.bStaticLabel = false;
- } else if (var11[9].equalsIgnoreCase("yes")) {
- this.bStaticLabel = true;
- } else {
- this.bStaticLabel = false;
- }
-
- if (var11[14] == null) {
- var11[14] = var8.name();
- }
-
- int var6;
- if (var11[13] == null) {
- var6 = var8.size();
- } else {
- var6 = Integer.parseInt(var11[13]);
- }
-
- if (var11[15] == null) {
- var7 = var8.style();
- } else {
- if (var11[15].indexOf("BOLD") >= 0) {
- ++var7;
- }
-
- if (var11[15].indexOf("ITALIC") >= 0) {
- var7 += 2;
- }
- }
-
- var4 /= 2;
- if (var11[6] == null) {
- this.label_prefix = "";
- } else {
- this.label_prefix = var11[6];
- }
-
- if (var11[7] == null) {
- this.label_suffix = "";
- } else {
- this.label_suffix = var11[7];
- }
-
- this.statusField = new TextField(2, 1, var5, var4);
- this.statusField.setBorder((Border)null);
- this.statusField.setEditable(false);
- this.statusField.setBackgroundColor(var9);
- this.statusField.setFont(Font.fontNamed(var11[14], var7, var6));
- this.statusField.setBuffered(true);
- if (this.bStaticLabel) {
- this.statusField.setStringValue(this.label_prefix + this.label_suffix);
- } else {
- this.statusField.setStringValue(this.label_prefix + var11[4] + this.label_suffix);
- }
-
- this.statusField.setHorizResizeInstruction(2);
- this.statusField.setVertResizeInstruction(4);
- if (var11[10] != null) {
- Color var19 = Color.black;
- this.statusField.setTextColor(new Color(FontUtils.getColorRGB(var11[10], var19.rgb())));
- }
-
- ((Application)this).mainRootView().addSubview(this.statusField);
- } else {
- this.bStaticLabel = true;
- }
-
- this.slider = new Slider(2, this.bDisplayLabel ? var4 + 1 : 1, var5, var4);
- this.slider.setLimits(var1, var2);
- this.slider.setTarget(this);
- this.slider.setCommand("sliderWasMoved");
- this.slider.setBuffered(true);
- this.slider.setHorizResizeInstruction(2);
- this.slider.setVertResizeInstruction(4);
- this.slider.setValue(var3);
- this.slider.setGrooveHeight(var4 * 9 / 20);
- this.slider.setKnobHeight(var4 * 7 / 10);
- if (var11[16] != null) {
- new Bitmap();
- Bitmap var20 = Bitmap.bitmapNamed(var11[16]);
- if (var20 != null) {
- var11[12] = null;
- this.slider.setImage(var20);
- if (var11[17] != null) {
- if (var11[17].equalsIgnoreCase("centered")) {
- this.slider.setImageDisplayStyle(0);
- } else if (var11[17].equalsIgnoreCase("tiled")) {
- this.slider.setImageDisplayStyle(2);
- } else {
- this.slider.setImageDisplayStyle(1);
- }
- }
- }
- }
-
- if (var11[12] != null) {
- Color var21 = Color.darkGray;
- this.slider.setBackgroundColor(new Color(FontUtils.getColorRGB(var11[12], var21.rgb())));
- }
-
- ((Application)this).mainRootView().addSubview(this.slider);
- var12.m_sliderControl = this;
- ((Applet)var12).showStatus("");
- }
- }
-