home *** CD-ROM | disk | FTP | other *** search
- package DynaButtonsComp;
-
- import com.netobjects.nfc.api.CStringArray;
- import com.netobjects.nfc.api.ComponentApp;
- import com.netobjects.nfc.api.DAssetManager;
- import com.netobjects.nfc.api.DDrawJava;
- import com.netobjects.nfc.api.DFont;
- import com.netobjects.nfc.api.DLayout;
- import com.netobjects.nfc.api.DRect;
- import com.netobjects.nfc.api.DSite;
- import com.netobjects.nfc.api.DSize;
- import com.netobjects.nfc.api.DStyle;
- import com.netobjects.nfc.api.IDInspector;
-
- public class DynaButtonsComp extends ComponentApp {
- int backgroundStyle = 0;
- DAssetManager assMan = null;
- int upID = 0;
- int downID = 0;
- int backID = 0;
- String Orientation = "";
- String ButtonImage = "";
- String HighliteImage = "";
- String paramButtonImage = "";
- String paramHighliteImage = "";
- int backgroundColor = 0;
- String backgroundImage = "";
- String paramBackgroundImage = "";
- int textJustification = 0;
- int textAlignment = 0;
- int fontColor = 0;
- int highliteFontColor = 0;
- String buttonFont = "";
- boolean italic = false;
- boolean bold = false;
- int fontSize = 0;
- ButtonObject buttonList = null;
- DDrawJava theJavaApplet = null;
- String compImage = "";
- int imgX = 0;
- int imgY = 0;
- String indent = " ";
- // $FF: renamed from: cb java.lang.String
- String field_0;
-
- private void debug(String var1) {
- }
-
- protected void onFinalize() {
- this.RemoveAssets();
- ButtonObject var1 = this.buttonList.getNext();
-
- for(int var2 = 1; var1 != null; ++var2) {
- this.RemoveOneAsset(var1.getID());
- if (var1.getSubButtonsExist()) {
- ButtonObject var3 = var1.getSubButtons().getNext();
-
- for(int var4 = 1; var3 != null; ++var4) {
- this.RemoveOneAsset(var3.getID());
- var3 = var3.getNext();
- }
- }
-
- var1 = var1.getNext();
- }
-
- }
-
- void SetPropertyValues() {
- this.theJavaApplet.ResetParams();
- this.theJavaApplet.setHTMLBetween("ARCHIVE=DynaButtons.zip");
- this.theJavaApplet.AddParam("Orientation", "String", this.Orientation);
- this.theJavaApplet.AddParam("ButtonImage", "String", this.paramButtonImage);
- this.theJavaApplet.AddParam("HighliteImage", "String", this.paramHighliteImage);
- this.theJavaApplet.AddParam("TextJustification", "String", Integer.toString(this.textJustification));
- this.theJavaApplet.AddParam("TextAlignment", "String", Integer.toString(this.textAlignment));
- this.theJavaApplet.AddParam("ButtonFont", "String", this.buttonFont);
- this.theJavaApplet.AddParam("FontSize", "String", Integer.toString(this.fontSize));
- this.theJavaApplet.AddParam("FontColor", "String", Integer.toString(this.fontColor));
- this.theJavaApplet.AddParam("HighliteFontColor", "String", Integer.toString(this.highliteFontColor));
- if (this.bold) {
- this.theJavaApplet.AddParam("Bold", "String", "True");
- }
-
- if (this.italic) {
- this.theJavaApplet.AddParam("Italic", "String", "True");
- }
-
- if (this.backgroundStyle == 1) {
- this.theJavaApplet.AddParam("BackgroundColor", "String", Integer.toString(this.backgroundColor));
- } else if (this.backgroundStyle == 2) {
- this.theJavaApplet.AddParam("BackgroundImage", "String", this.paramBackgroundImage);
- }
-
- ButtonObject var1 = this.buttonList.getNext();
-
- for(int var2 = 0; var1 != null; ++var2) {
- if (var1.getSubButtonsExist()) {
- if (var1.getText().compareTo("") == 0) {
- this.theJavaApplet.AddParam("ButtonText" + var2, "String", " ");
- } else {
- this.theJavaApplet.AddParam("ButtonText" + var2, "String", var1.getText());
- }
-
- ButtonObject var5 = var1.getSubButtons().getNext();
-
- for(int var4 = 0; var5 != null; ++var4) {
- if (var5.getText().compareTo("") == 0) {
- this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String", " ");
- this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String", " ");
- this.theJavaApplet.AddParam("Target" + var2 + "_" + var4, "String", " ");
- } else {
- this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String", var5.getText());
- this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String", var5.getURL());
- this.theJavaApplet.AddParam("Target" + var2 + "_" + var4, "String", var5.getTarget());
- }
-
- var5 = var5.getNext();
- }
- } else {
- if (var1.getText().compareTo("") == 0) {
- this.theJavaApplet.AddParam("ButtonText" + var2, "String", " ");
- } else {
- String var3 = this.assMan.GetAssetName(Integer.parseInt(var1.getID(), 10));
- this.theJavaApplet.AddParam("ButtonText" + var2, "String", var3);
- }
-
- this.theJavaApplet.AddParam("URL" + var2, "String", var1.getURL());
- this.theJavaApplet.AddParam("Target" + var2, "String", var1.getTarget());
- }
-
- var1 = var1.getNext();
- }
-
- }
-
- protected void CopyOneAsset(String var1) {
- int var2 = Integer.parseInt(var1, 10);
- if (var2 != 0) {
- this.assMan.CopyAsset(var2);
- }
-
- }
-
- private int countButtons(ButtonObject var1) {
- int var2 = 0;
-
- for(ButtonObject var3 = var1.getNext(); var3 != null; var3 = var3.getNext()) {
- ++var2;
- }
-
- return var2;
- }
-
- private void modifyNumButtons(int var1, ButtonObject var2) {
- int var3 = this.countButtons(var2);
- if (var1 < var3) {
- for(int var4 = 0; var4 < var1; ++var4) {
- var2 = var2.getNext();
- }
-
- var2.setNext((ButtonObject)null);
- } else if (var1 > var3) {
- for(int var5 = 0; var5 < var1; ++var5) {
- if (var2.getNext() == null) {
- var2.setNext(new ButtonObject());
- }
-
- var2 = var2.getNext();
- }
- }
-
- }
-
- public void onCopy() {
- this.debug("in onCopy()");
- this.Orientation = new String(this.Orientation);
- this.ButtonImage = new String(this.ButtonImage);
- this.HighliteImage = new String(this.HighliteImage);
- this.paramButtonImage = new String(this.paramButtonImage);
- this.paramHighliteImage = new String(this.paramHighliteImage);
- this.backgroundImage = new String(this.backgroundImage);
- this.buttonFont = new String(this.buttonFont);
- this.compImage = new String(this.compImage);
- this.indent = new String(this.indent);
- this.assMan.CopyAsset(this.upID);
- this.assMan.CopyAsset(this.downID);
- ButtonObject var1 = new ButtonObject();
- ButtonObject var2 = var1;
- this.debug("<copy> length of original: " + this.countButtons(this.buttonList));
- ButtonObject var3 = this.buttonList.getNext();
- this.debug("about to copy list");
-
- for(int var4 = 1; var3 != null; ++var4) {
- this.debug("in copy list");
- var2.setNext(new ButtonObject());
- var2 = var2.getNext();
- this.CopyOneAsset(var3.getID());
- var2.setID(var3.getID());
- var2.setText(var3.getText());
- var2.setURL(var3.getURL());
- this.debug("copied: " + var4);
- if (var3.getSubButtonsExist()) {
- var2.setSubButtonsExist(true);
- ButtonObject var5 = var3.getSubButtons().getNext();
- ButtonObject var6 = var2.getSubButtons();
-
- for(int var7 = 1; var5 != null; ++var7) {
- var6.setNext(new ButtonObject());
- var6 = var6.getNext();
- this.CopyOneAsset(var5.getID());
- var6.setID(var5.getID());
- var6.setText(var5.getText());
- var6.setURL(var5.getURL());
- var5 = var5.getNext();
- }
- }
-
- var3 = var3.getNext();
- }
-
- this.buttonList = var1;
- }
-
- public String onInstall(DAssetManager var1, String var2) {
- this.assMan = var1;
- this.compImage = var2 + "DYNBUTTON.gif";
- return "DynaButtons";
- }
-
- public void onPublish(DAssetManager var1, int var2) {
- this.updateSiteLook(var2);
- this.setAllUrls(var2);
- if (var2 == 1) {
- this.paramButtonImage = this.ButtonImage;
- this.paramHighliteImage = this.HighliteImage;
- this.paramBackgroundImage = this.backgroundImage;
- } else {
- this.paramButtonImage = this.ButtonImage;
- this.paramHighliteImage = this.HighliteImage;
- this.paramBackgroundImage = this.backgroundImage;
- }
-
- this.SetPropertyValues();
- DRect var3 = this.theJavaApplet.getObjectRect();
- this.theJavaApplet.AddParam("X Position", "String", Integer.toString(var3.getLeft()));
- this.theJavaApplet.AddParam("Y Position", "String", Integer.toString(var3.getTop() + 7));
- }
-
- public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
- if (var3 == 1) {
- if (var1.compareTo("Orientation") == 0) {
- if (this.Orientation.compareTo("Horizontal") == 0) {
- return "0";
- }
-
- return "1";
- }
-
- if (var1.compareTo("Number of Buttons") == 0) {
- return Integer.toString(this.countButtons(this.buttonList));
- }
-
- ButtonObject var6 = this.buttonList.getNext();
-
- for(int var7 = 1; var6 != null; ++var7) {
- if (var1.compareTo("Use Sub-Buttons " + var7) == 0) {
- if (var6.getSubButtonsExist()) {
- return "0";
- }
-
- return "1";
- }
-
- if (var1.compareTo("Button " + var7) == 0) {
- if (var6.getSubButtonsExist()) {
- return var6.getText();
- }
-
- return var6.getID();
- }
-
- ButtonObject var8 = var6.getSubButtons();
- if (var1.compareTo("Number Sub-Buttons " + var7) == 0) {
- return Integer.toString(this.countButtons(var8));
- }
-
- var8 = var8.getNext();
-
- for(int var9 = 1; var8 != null; ++var9) {
- if (var1.compareTo(this.indent + "Sub-Button " + var7 + "," + var9) == 0) {
- return var8.getID();
- }
-
- var8 = var8.getNext();
- }
-
- var6 = var6.getNext();
- }
- } else {
- if (var1.compareTo("Orientation") == 0) {
- if (var2.compareTo("0") == 0) {
- this.Orientation = "Horizontal";
- } else {
- this.Orientation = "Vertical";
- }
-
- this.debug("\r\nrandom:");
- this.checkList(this.buttonList);
- this.modifyImageSize();
- } else if (var1.compareTo("Number of Buttons") == 0) {
- int var11 = Integer.parseInt(var2, 10);
- if (var11 > 20) {
- var11 = 20;
- }
-
- this.modifyNumButtons(var11, this.buttonList);
- this.modifyImageSize();
- } else {
- ButtonObject var10 = this.buttonList.getNext();
-
- for(int var12 = 1; var10 != null; ++var12) {
- if (var1.compareTo("Button " + var12) == 0) {
- if (var10.getSubButtonsExist()) {
- var10.setText(var2);
- } else {
- var10.setID(var2);
- var10.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
- }
- } else if (var1.compareTo("Use Sub-Buttons " + var12) == 0) {
- if (var2.compareTo("0") == 0) {
- var10.setSubButtonsExist(true);
- if (var5 != null) {
- var5.OnPropertyChanged(-1);
- }
- } else {
- var10.setSubButtonsExist(false);
- if (var5 != null) {
- var5.OnPropertyChanged(-1);
- }
- }
-
- this.modifyImageSize();
- } else if (var1.compareTo("Number Sub-Buttons " + var12) == 0) {
- int var15 = Integer.parseInt(var2, 10);
- if (var15 > 20) {
- var15 = 20;
- }
-
- this.modifyNumButtons(var15, var10.getSubButtons());
- this.modifyImageSize();
- } else {
- ButtonObject var14 = var10.getSubButtons().getNext();
-
- for(int var16 = 1; var14 != null; ++var16) {
- if (var1.compareTo(this.indent + "Sub-Button " + var12 + "," + var16) == 0) {
- var14.setID(var2);
- var14.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
- }
-
- var14 = var14.getNext();
- }
- }
-
- var10 = var10.getNext();
- }
- }
-
- this.SetPropertyValues();
- }
-
- return "";
- }
-
- protected void RemoveOneAsset(String var1) {
- int var2 = Integer.parseInt(var1, 10);
- if (var2 != 0) {
- this.assMan.RemoveAsset(var2);
- }
-
- }
-
- public void onInspect(CStringArray var1, CStringArray var2) {
- var1.Set("Orientation");
- var2.Set("Set(Horizontal|Vertical)");
- var1.Set("Number of Buttons");
- var2.Set("Collection");
- ButtonObject var3 = this.buttonList.getNext();
-
- for(int var4 = 1; var3 != null; ++var4) {
- if (var3.getSubButtonsExist()) {
- var1.Set("Button " + var4);
- var2.Set("String");
- var1.Set("Use Sub-Buttons " + var4);
- var2.Set("Set(Yes|No)");
- var1.Set("Number Sub-Buttons " + var4);
- var2.Set("Collection");
- ButtonObject var5 = var3.getSubButtons().getNext();
-
- for(int var6 = 1; var5 != null; ++var6) {
- var1.Set(this.indent + "Sub-Button " + var4 + "," + var6);
- var2.Set("Link");
- var5 = var5.getNext();
- }
- } else {
- var1.Set("Button " + var4);
- var2.Set("Link");
- var1.Set("Use Sub-Buttons " + var4);
- var2.Set("Set(Yes|No)");
- }
-
- var3 = var3.getNext();
- }
-
- }
-
- private void updateSiteLook(int var1) {
- DLayout var2 = this.theJavaApplet.getLayout();
- DSite var3 = var2.getSite();
- DStyle var4 = var3.getCurrentStyle();
- this.RemoveAssets();
- this.backgroundStyle = var2.getBackgroundStyle();
- if (this.backgroundStyle != 0) {
- if (this.backgroundStyle == 1) {
- this.backgroundColor = var2.getBackgroundColor();
- } else if (this.backgroundStyle == 2) {
- this.backID = this.assMan.AddAsset(var2.getBackgroundImage(), "Image", "");
- this.backgroundImage = this.assMan.GetAssetRelativeLocation(this.backID, var1, 1);
- }
- } else {
- this.backgroundStyle = var4.getBackgroundStyle();
- if (this.backgroundStyle == 1) {
- this.backgroundColor = var4.getBackgroundColor();
- } else if (this.backgroundStyle == 2) {
- this.backID = this.assMan.AddAsset(var4.getBackgroundImage(), "Image", "DynaButtons");
- this.backgroundImage = this.assMan.GetAssetRelativeLocation(this.backID, var1, 1);
- }
- }
-
- this.textJustification = 5;
- this.textAlignment = var4.getButtonTextAlign();
- this.fontColor = var4.getButtonFontColor();
- this.highliteFontColor = var4.getButtonDownFontColor();
- DFont var5 = var4.getButtonFont();
- this.buttonFont = var5.getName();
- this.fontSize = var5.getPoint();
- this.bold = var5.getBold();
- this.italic = var5.getItalic();
- String var6 = var4.getButtonUpImage();
- if (var6 == null || var6.compareTo("") == 0) {
- var6 = this.field_0 + "transButton.gif";
- }
-
- String var7 = var4.getButtonDownImage();
- if (var7 == null || var7.compareTo("") == 0) {
- var7 = this.field_0 + "transButton.gif";
- }
-
- this.upID = this.assMan.AddAsset(var6, "Image", "DynaButtons");
- this.downID = this.assMan.AddAsset(var7, "Image", "DynaButtons");
- this.ButtonImage = this.assMan.GetAssetRelativeLocation(this.upID, var1, 1);
- this.HighliteImage = this.assMan.GetAssetRelativeLocation(this.downID, var1, 1);
- DSize var8 = var4.getButtonSize();
- if (var8 != null) {
- this.imgX = var8.getWidth();
- this.imgY = var8.getHeight();
- } else {
- this.imgX = 100;
- this.imgY = 35;
- }
-
- this.modifyImageSize();
- }
-
- protected void RemoveAssets() {
- if (this.upID != 0) {
- this.assMan.RemoveAsset(this.upID);
- this.assMan.RemoveAsset(this.downID);
- }
-
- if (this.backID != 0) {
- this.assMan.RemoveAsset(this.backID);
- }
-
- }
-
- private void setAllUrls(int var1) {
- ButtonObject var2 = this.buttonList.getNext();
-
- for(int var3 = 1; var2 != null; ++var3) {
- int var4 = Integer.parseInt(var2.getID(), 10);
- String var5 = this.assMan.GetAssetRelativeLocation(var4, var1, 1);
- String var6 = this.assMan.GetTargetFromLink(var4);
- var2.setURL(var5);
- var2.setTarget(var6);
- if (var2.getSubButtonsExist()) {
- ButtonObject var7 = var2.getSubButtons().getNext();
-
- for(int var8 = 1; var7 != null; ++var8) {
- int var9 = Integer.parseInt(var7.getID(), 10);
- String var10 = this.assMan.GetAssetRelativeLocation(var9, var1, 1);
- String var11 = this.assMan.GetTargetFromLink(var9);
- var7.setURL(var10);
- var7.setTarget(var11);
- var7 = var7.getNext();
- }
- }
-
- var2 = var2.getNext();
- }
-
- }
-
- public void onDrop(DLayout var1, DRect var2, int var3) {
- if (var3 == 1) {
- this.theJavaApplet = new DDrawJava();
- this.field_0 = this.theJavaApplet.getCodeBase();
- this.compImage = this.field_0 + "DYNBUTTON.gif";
- this.theJavaApplet.SetStyle(1, 1);
- this.theJavaApplet.setStretch(2);
- this.buttonList = new ButtonObject();
- this.buttonList.setNext(new ButtonObject());
- this.theJavaApplet.setImageFile(this.compImage);
- this.theJavaApplet.setUsePictureText(true);
- this.theJavaApplet.setPictureText("DynaButtons");
- DSite var4 = var1.getSite();
- DStyle var5 = var4.getCurrentStyle();
- DSize var6 = var5.getButtonSize();
- int var7;
- int var8;
- if (var6 != null) {
- var7 = var6.getWidth();
- var8 = var6.getHeight();
- } else {
- var7 = 100;
- var8 = 35;
- }
-
- this.theJavaApplet.SetPositionRect(var2.getLeft(), var2.getTop(), var2.getLeft() + var7, var2.getTop() + var8);
- this.Orientation = "Horizontal";
- this.theJavaApplet.setAppletFileName(this.field_0 + "DynaButtons.class");
- this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopButton.class");
- this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopObject.class");
- this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "DynaButtons.zip");
- var1.AddObject(this.theJavaApplet);
- }
-
- if (var3 != 3 && var3 != 4) {
- this.updateSiteLook(0);
- this.SetPropertyValues();
- }
-
- }
-
- void checkList(ButtonObject var1) {
- }
-
- private void modifyImageSize() {
- int var1 = 0;
- int var2 = 0;
- ButtonObject var3 = this.buttonList.getNext();
- if (this.Orientation.compareTo("Horizontal") == 0) {
- for(var1 = this.countButtons(this.buttonList); var3 != null; var3 = var3.getNext()) {
- if (var2 == 0) {
- var2 = 1;
- }
-
- if (var3.getSubButtonsExist()) {
- int var4 = this.countButtons(var3.getSubButtons()) + 1;
- if (var4 > var2) {
- var2 = var4;
- }
- }
- }
- } else {
- var2 = this.countButtons(this.buttonList);
-
- for(int var6 = 1; var3 != null; ++var6) {
- if (var1 == 0) {
- var1 = 1;
- }
-
- if (var3.getSubButtonsExist()) {
- var1 = 2;
- int var5 = this.countButtons(var3.getSubButtons()) + var6;
- if (var5 > var2) {
- var2 = var5;
- }
- }
-
- var3 = var3.getNext();
- }
- }
-
- this.theJavaApplet.SetSize(var1 * this.imgX, var2 * this.imgY);
- }
- }
-