home *** CD-ROM | disk | FTP | other *** search
- package allaire.controls;
-
- import allaire.util.FontUtils;
- import allaire.util.QuickSort;
- import allaire.util.SortCallback;
- import allaire.util.netHelpers;
- import java.applet.Applet;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Font;
- import java.awt.Image;
- import java.awt.Rectangle;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLEncoder;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class cfGridFormApplet extends Applet implements CFGRIDCallBack, SortCallback {
- CFGRID Grid;
- CFGridFormColumn[] ColumnDescription;
- CFGRIDActionbar GridBar;
- Vector deleteRows = new Vector();
- Vector filteredRows = new Vector();
- int SelectMode;
- int Row;
- int Columns;
- int TotalColumns;
- int Rows;
- int MaxRows;
- int sortKey;
- int sortType;
- boolean bUseRowHeaders;
- boolean bUseColumnHeaders;
- boolean bHasUrls;
- boolean sortAscending;
- boolean bAppendKeys = true;
-
- public String cf_getGridForm() {
- if (this.SelectMode == 105) {
- this.Grid.flushEditColumn();
- }
-
- Rectangle var1 = this.Grid.getSelection();
- if (this.SelectMode == 105) {
- return this.cf_getEditSelectionData();
- } else if (var1 != null && !this.Grid.isColumnHeaderSelected()) {
- if (this.SelectMode == 101) {
- return this.cf_getSingleSelectionData(var1);
- } else {
- return this.SelectMode == 103 ? this.cf_getColumnSelectionData(var1) : this.cf_getRowSelectionData(var1);
- }
- } else {
- return "";
- }
- }
-
- private String cf_getRowSelectionData(Rectangle var1) {
- CFDATARow var2 = (CFDATARow)this.Grid.getUserRowAttribute(var1.y);
- String var3 = "";
- int var4 = this.TotalColumns - 1;
- int var5 = 0;
- int var6 = this.Columns;
-
- for(int var7 = 0; var7 < this.TotalColumns; ++var7) {
- var3 = var3 + "__CFGRID__COLUMN__=";
- var3 = var3 + this.ColumnDescription[var7].m_name;
- var3 = var3 + "; __CFGRID__DATA__=";
- if (this.ColumnDescription[var7].m_visible) {
- var3 = var3 + var2.getDataColumn(var5);
- ++var5;
- } else {
- var3 = var3 + var2.getDataColumn(var6);
- ++var6;
- }
-
- if (var7 != var4) {
- var3 = var3 + "; ";
- }
- }
-
- return var3;
- }
-
- public int Compare(Object var1, Object var2) {
- CFDATARow var3 = (CFDATARow)var1;
- CFDATARow var4 = (CFDATARow)var2;
- if (this.sortType == 1) {
- byte var10 = 0;
- double var12 = var3.getDataColumn(this.sortKey) == null ? Double.MIN_VALUE : new Double(var3.getDataColumn(this.sortKey));
- double var8 = var4.getDataColumn(this.sortKey) == null ? Double.MIN_VALUE : new Double(var4.getDataColumn(this.sortKey));
- if (var12 > var8) {
- var10 = 1;
- } else {
- if (!(var8 > var12)) {
- return 0;
- }
-
- var10 = -1;
- }
-
- return this.sortAscending ? var10 : -var10;
- } else {
- String var5 = var3.getDataColumn(this.sortKey) == null ? "" : var3.getDataColumn(this.sortKey);
- String var6 = var4.getDataColumn(this.sortKey) == null ? "" : var4.getDataColumn(this.sortKey);
- return this.sortAscending ? var5.compareTo(var6) : var6.compareTo(var5);
- }
- }
-
- void Insert(String var1, int var2, int var3) {
- this.Grid.setElement(var1, var2, var3);
- }
-
- private String cf_getColumnSelectionData(Rectangle var1) {
- int var2 = this.Rows - 1;
- String var3 = "__CFGRID__COLUMN__=";
- var3 = var3 + this.ColumnDescription[var1.x].m_name;
- var3 = var3 + "; __CFGRID__DATA__=";
-
- for(int var4 = 0; var4 < this.Rows; ++var4) {
- CFDATARow var5 = (CFDATARow)this.Grid.getUserRowAttribute(var4);
- var3 = var3 + var5.getDataColumn(var1.x);
- if (var4 != var2) {
- var3 = var3 + ",";
- }
- }
-
- return var3;
- }
-
- public boolean CFGRIDMessage(CFGRID var1, int var2, Rectangle var3) {
- if (var3 != null && var2 == 510) {
- int var12 = this.cf_getVisibleColumnNdx(var3.x);
- if (this.ColumnDescription[var12].m_url != null) {
- try {
- String var5 = "";
- if (this.ColumnDescription[var12].m_urlkey != null) {
- int var15 = this.cf_getColumnNdx(this.ColumnDescription[var12].m_urlkey);
- if (var15 >= 0) {
- CFDATARow var18 = (CFDATARow)this.Grid.getUserRowAttribute(var3.y);
- var5 = var18.getDataColumn(var15) != null && var18.getDataColumn(var15).length() != 0 ? var18.getDataColumn(var15) : var18.getOrigioDataColumn(var15);
- if (var5 == null) {
- var5 = "";
- }
- }
- } else if (this.SelectMode == 101) {
- var5 = this.Grid.getElement(var3.y, var3.x);
- } else if (this.SelectMode == 103) {
- int var14 = this.Rows - 1;
-
- for(int var17 = 0; var17 < this.Rows; ++var17) {
- var5 = var5 + this.Grid.getElement(var17, var3.x);
- if (var17 != var14) {
- var5 = var5 + ",";
- }
- }
- } else {
- int var7 = this.Columns - 1;
-
- for(int var8 = 0; var8 < this.Columns; ++var8) {
- var5 = var5 + this.Grid.getElement(var3.y, var8);
- if (var8 != var7) {
- var5 = var5 + ",";
- }
- }
- }
-
- var5 = URLEncoder.encode(var5);
- String var19 = null;
- if (this.ColumnDescription[var12].m_url.toLowerCase().startsWith("http://")) {
- var19 = this.ColumnDescription[var12].m_url;
- } else {
- int var9 = this.cf_getColumnNdx(this.ColumnDescription[var12].m_url);
- if (var9 >= 0) {
- CFDATARow var10 = (CFDATARow)this.Grid.getUserRowAttribute(var3.y);
- var19 = var10.getDataColumn(var9) != null && var10.getDataColumn(var9).length() != 0 ? var10.getDataColumn(var9) : var10.getOrigioDataColumn(var9);
- }
-
- if (var19 == null || var19.length() == 0) {
- var19 = this.ColumnDescription[var12].m_url;
- }
- }
-
- String var16;
- if (!this.bAppendKeys) {
- var16 = var19;
- } else if (this.ColumnDescription[var12].m_url.indexOf("?") > 0) {
- var16 = var19 + "&CFGRIDKEY=" + var5;
- } else {
- var16 = this.ColumnDescription[var12].m_url + "?CFGRIDKEY=" + var5;
- }
-
- URL var6;
- if (var16.toLowerCase().startsWith("http://")) {
- var6 = new URL(var16);
- } else {
- var6 = new URL(((Applet)this).getDocumentBase(), var16);
- }
-
- if (this.ColumnDescription[var12].m_urldestination != null) {
- ((Applet)this).getAppletContext().showDocument(var6, this.ColumnDescription[var12].m_urldestination);
- } else {
- ((Applet)this).getAppletContext().showDocument(var6);
- }
- } catch (MalformedURLException var11) {
- }
- }
- } else if (var3 != null && var2 == 550) {
- CFDATARow var4 = (CFDATARow)this.Grid.getUserRowAttribute(var3.y);
- if (var4 != null) {
- var4.setDataColumn(this.Grid.getElement(var3.y, var3.x), var3.x);
- }
- } else if (var2 == 560) {
- this.InsertRow(this.Grid.getRows());
- } else if (var2 == 570) {
- this.DeleteRow();
- } else if (var2 == 580) {
- this.SortRows(true);
- } else if (var2 == 581) {
- this.SortRows(false);
- }
-
- return false;
- }
-
- private int cf_getVisibleColumnNdx(int var1) {
- int var2 = -1;
-
- for(int var3 = 0; var3 < this.TotalColumns; ++var3) {
- if (this.ColumnDescription[var3].m_visible) {
- ++var2;
- if (var2 == var1) {
- var2 = var3;
- break;
- }
- }
- }
-
- return var2;
- }
-
- private int cf_getColumnNdx(String var1) {
- int var2 = -1;
- int var3 = -1;
- int var4 = this.Columns - 1;
-
- for(int var5 = 0; var5 < this.TotalColumns; ++var5) {
- if (this.ColumnDescription[var5].m_visible) {
- ++var3;
- } else {
- ++var4;
- }
-
- if (this.ColumnDescription[var5].m_name.compareTo(var1) == 0) {
- var2 = this.ColumnDescription[var5].m_visible ? var3 : var4;
- break;
- }
- }
-
- return var2;
- }
-
- private void InsertRow(int var1) {
- this.Grid.insertRowAt(var1);
- int var2 = 0;
- if (this.bUseRowHeaders) {
- this.Grid.setRowHeaderElement(String.valueOf(var1 + 1), var1);
- }
-
- CFDATARow var3 = new CFDATARow(this.TotalColumns);
- var3.markInsert();
- this.Grid.setUserRowAttribute(var3, var1);
-
- for(int var4 = 0; var4 < this.TotalColumns; ++var4) {
- if (this.ColumnDescription[var4].m_visible) {
- if (!this.ColumnDescription[var4].m_readonly) {
- break;
- }
-
- ++var2;
- }
- }
-
- this.Grid.setSelection(var1, var2);
- }
-
- private void DeleteRow() {
- Rectangle var1 = this.Grid.getSelection();
- if (var1 != null) {
- if (!((CFDATARow)this.Grid.getUserRowAttribute(var1.y)).inserted()) {
- this.deleteRows.addElement((CFDATARow)this.Grid.getUserRowAttribute(var1.y));
- }
-
- this.Grid.deleteRow(var1.y);
- if (this.bUseRowHeaders) {
- int var2 = this.Grid.getRows();
-
- for(int var3 = var1.y; var3 < var2; ++var3) {
- this.Grid.setRowHeaderElement(String.valueOf(var3 + 1), var3);
- }
- }
-
- }
- }
-
- private String cf_getSingleSelectionData(Rectangle var1) {
- String var2 = "__CFGRID__COLUMN__=";
- var2 = var2 + this.ColumnDescription[var1.x].m_name;
- var2 = var2 + "; __CFGRID__DATA__=";
- CFDATARow var3 = (CFDATARow)this.Grid.getUserRowAttribute(var1.y);
- var2 = var2 + var3.getDataColumn(var1.x);
- return var2;
- }
-
- private String cf_getEditSelectionData() {
- int var1 = this.Grid.getRows();
- Object var2 = null;
- String var3 = "__CFGRID__EDIT__=";
- Vector var7 = new Vector();
- Vector var8 = new Vector();
- var3 = var3 + Integer.toString(this.TotalColumns);
-
- for(int var9 = 0; var9 < this.TotalColumns; ++var9) {
- var3 = var3 + "\u0001";
- var3 = var3 + this.ColumnDescription[var9].m_name;
- var3 = var3 + "\u0002";
- var3 = var3 + (this.ColumnDescription[var9].m_visible && !this.ColumnDescription[var9].m_readonly ? "Y" : "N");
- }
-
- var3 = var3 + "\u0001";
-
- for(int var32 = 0; var32 < var1; ++var32) {
- CFDATARow var11 = (CFDATARow)this.Grid.getUserRowAttribute(var32);
- if (!var11.unchanged()) {
- if (var11.updated()) {
- var8.addElement(var11);
- } else if (var11.inserted()) {
- var7.addElement(var11);
- }
- }
- }
-
- var3 = var3 + Integer.toString(var8.size() + var7.size() + this.deleteRows.size());
- int var6 = this.deleteRows.size();
-
- for(int var33 = 0; var33 < var6; ++var33) {
- var3 = var3 + "\u0001";
- var3 = var3 + "D";
- CFDATARow var12 = (CFDATARow)this.deleteRows.elementAt(var33);
- int var4 = 0;
- int var5 = this.Columns;
-
- for(int var10 = 0; var10 < this.TotalColumns; ++var10) {
- var3 = var3 + "\u0002";
- if (this.ColumnDescription[var10].m_visible) {
- var3 = var3 + (var12.getOrigioDataColumn(var4) != null && var12.getOrigioDataColumn(var4).length() != 0 ? var12.getOrigioDataColumn(var4) : "\u0003");
- ++var4;
- } else {
- var3 = var3 + (var12.getOrigioDataColumn(var5) != null && var12.getOrigioDataColumn(var5).length() != 0 ? var12.getOrigioDataColumn(var5) : "\u0003");
- ++var5;
- }
- }
- }
-
- var6 = var7.size();
-
- for(int var34 = 0; var34 < var6; ++var34) {
- var3 = var3 + "\u0001";
- var3 = var3 + "I";
- CFDATARow var13 = (CFDATARow)var7.elementAt(var34);
- int var27 = 0;
-
- for(int var36 = 0; var36 < this.TotalColumns; ++var36) {
- var3 = var3 + "\u0002";
- if (this.ColumnDescription[var36].m_visible) {
- if (!this.ColumnDescription[var36].m_readonly) {
- var3 = var3 + (var13.getDataColumn(var27) != null && var13.getDataColumn(var27).length() != 0 ? var13.getDataColumn(var27) : "\u0003");
- }
-
- ++var27;
- }
- }
- }
-
- var6 = var8.size();
-
- for(int var35 = 0; var35 < var6; ++var35) {
- var3 = var3 + "\u0001";
- var3 = var3 + "U";
- CFDATARow var14 = (CFDATARow)var8.elementAt(var35);
- int var28 = 0;
- int var29 = this.Columns;
-
- for(int var37 = 0; var37 < this.TotalColumns; ++var37) {
- var3 = var3 + "\u0002";
- if (this.ColumnDescription[var37].m_visible) {
- if (!this.ColumnDescription[var37].m_readonly) {
- var3 = var3 + (var14.getDataColumn(var28) != null && var14.getDataColumn(var28).length() != 0 ? var14.getDataColumn(var28) : "\u0003");
- var3 = var3 + "\u0002";
- }
-
- var3 = var3 + (var14.getOrigioDataColumn(var28) != null && var14.getOrigioDataColumn(var28).length() != 0 ? var14.getOrigioDataColumn(var28) : "\u0003");
- ++var28;
- } else {
- var3 = var3 + (var14.getOrigioDataColumn(var29) != null && var14.getOrigioDataColumn(var29).length() != 0 ? var14.getOrigioDataColumn(var29) : "\u0003");
- ++var29;
- }
- }
-
- var14.reset();
- }
-
- return var3;
- }
-
- public void init() {
- String var1 = ((Applet)this).getParameter("griddescription");
- String var2 = ((Applet)this).getParameter("griddata");
- String var3 = null;
- String var4 = null;
- String var5 = null;
- String var6 = null;
- String var7 = null;
- String var8 = null;
- String var9 = null;
- Font var10 = null;
- Font var11 = null;
- Font var12 = null;
- Color var13 = null;
- Color var14 = null;
- short var15 = 202;
- short var16 = 202;
- short var17 = 202;
- int var18 = -1;
- int var19 = -1;
- int var20 = 0;
- boolean var21 = true;
- boolean var22 = false;
- boolean var23 = true;
- boolean var24 = false;
- this.TotalColumns = 0;
- this.Columns = 0;
- this.MaxRows = 0;
- this.Rows = 0;
- this.bUseColumnHeaders = true;
- this.bUseRowHeaders = true;
- this.bHasUrls = false;
- if (var1 != null) {
- var1 = netHelpers.URLDecode(var1);
- StringTokenizer var31 = new StringTokenizer(var1, "\u0001");
- String var32 = var31.nextToken();
- StringTokenizer var33 = new StringTokenizer(var32, "\u0002");
- String var25;
- if (var33.hasMoreTokens()) {
- var25 = var33.nextToken();
- } else {
- var25 = "0";
- }
-
- this.TotalColumns = Integer.parseInt(var25);
- if (var33.hasMoreTokens()) {
- String var34 = var33.nextToken();
- if (var34.compareTo("\u0003") != 0) {
- this.Rows = Integer.parseInt(var34);
- }
- }
-
- if (var33.hasMoreTokens()) {
- var33.nextToken();
- }
-
- if (var33.hasMoreTokens()) {
- var33.nextToken();
- }
-
- if (var33.hasMoreTokens()) {
- String var73 = var33.nextToken();
- if (var73.compareTo("\u0003") != 0) {
- int var35 = Integer.parseInt(var73);
- if (var35 == 1) {
- var15 = 203;
- } else if (var35 == 2) {
- var15 = 201;
- }
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var74 = var33.nextToken();
- if (var74.compareTo("\u0003") != 0) {
- int var107 = Integer.parseInt(var74);
- if (var107 == 1) {
- var16 = 203;
- } else if (var107 == 2) {
- var16 = 201;
- }
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var75 = var33.nextToken();
- if (var75.compareTo("\u0003") != 0) {
- int var108 = Integer.parseInt(var75);
- if (var108 == 1) {
- var17 = 203;
- } else if (var108 == 2) {
- var17 = 201;
- }
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var26 = var33.nextToken();
- if (var26.compareTo("\u0003") != 0) {
- var13 = FontUtils.getColor(var26, Color.lightGray);
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var41 = var33.nextToken();
- if (var41.compareTo("\u0003") != 0) {
- var14 = FontUtils.getColor(var41, Color.pink);
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var27 = var33.nextToken();
- if (var27.compareTo("S") == 0) {
- this.SelectMode = 101;
- } else if (var27.compareTo("C") == 0) {
- this.SelectMode = 103;
- } else if (var27.compareTo("R") == 0) {
- this.SelectMode = 102;
- } else if (var27.compareTo("E") == 0) {
- this.SelectMode = 105;
- } else {
- this.SelectMode = 104;
- }
- } else {
- this.SelectMode = 104;
- }
-
- if (var33.hasMoreTokens()) {
- String var76 = var33.nextToken();
- if (var76.compareTo("\u0003") != 0) {
- this.MaxRows = Integer.parseInt(var76);
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var77 = var33.nextToken();
- if (var77.compareTo("Y") == 0 && this.SelectMode == 105) {
- var20 |= 1;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var78 = var33.nextToken();
- if (var78.compareTo("Y") == 0 && this.SelectMode == 105) {
- var20 |= 2;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var79 = var33.nextToken();
- if (var79.compareTo("Y") == 0) {
- var20 |= 4;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var80 = var33.nextToken();
- if (var80.compareTo("Y") == 0) {
- var20 |= 16;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var81 = var33.nextToken();
- if (var81.compareTo("N") == 0) {
- this.bUseColumnHeaders = false;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var82 = var33.nextToken();
- if (var82.compareTo("N") == 0) {
- this.bUseRowHeaders = false;
- }
- }
-
- String var28;
- if (var33.hasMoreTokens()) {
- var28 = var33.nextToken();
- if (var28.compareTo("\u0003") == 0) {
- var28 = ((Component)this).getFont().getName();
- }
- } else {
- var28 = ((Component)this).getFont().getName();
- }
-
- int var30;
- if (var33.hasMoreTokens()) {
- String var83 = var33.nextToken();
- if (var83.compareTo("\u0003") != 0) {
- var30 = Integer.parseInt(var83);
- } else {
- var30 = 12;
- }
- } else {
- var30 = 12;
- }
-
- int var29;
- if (var33.hasMoreTokens()) {
- String var84 = var33.nextToken();
- if (var84.compareTo("Y") == 0) {
- var29 = 2;
- } else {
- var29 = 0;
- }
- } else {
- var29 = 0;
- }
-
- if (var33.hasMoreTokens()) {
- String var85 = var33.nextToken();
- if (var85.compareTo("Y") == 0) {
- ++var29;
- }
- }
-
- var12 = new Font(var28, var29, var30);
- if (var33.hasMoreTokens()) {
- var28 = var33.nextToken();
- if (var28.compareTo("\u0003") == 0) {
- var28 = ((Component)this).getFont().getName();
- }
- } else {
- var28 = ((Component)this).getFont().getName();
- }
-
- if (var33.hasMoreTokens()) {
- String var86 = var33.nextToken();
- if (var86.compareTo("\u0003") != 0) {
- var30 = Integer.parseInt(var86);
- } else {
- var30 = 12;
- }
- } else {
- var30 = 12;
- }
-
- if (var33.hasMoreTokens()) {
- String var87 = var33.nextToken();
- if (var87.compareTo("Y") == 0) {
- var29 = 2;
- } else {
- var29 = 0;
- }
- } else {
- var29 = 0;
- }
-
- if (var33.hasMoreTokens()) {
- String var88 = var33.nextToken();
- if (var88.compareTo("Y") == 0) {
- ++var29;
- }
- }
-
- var11 = new Font(var28, var29, var30);
- if (var33.hasMoreTokens()) {
- String var89 = var33.nextToken();
- if (var89.compareTo("\u0003") != 0) {
- var19 = Integer.parseInt(var89);
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var90 = var33.nextToken();
- if (var90.compareTo("\u0003") != 0) {
- var18 = Integer.parseInt(var90);
- }
- }
-
- if (var33.hasMoreTokens()) {
- var28 = var33.nextToken();
- if (var28.compareTo("\u0003") == 0) {
- var28 = ((Component)this).getFont().getName();
- }
- } else {
- var28 = ((Component)this).getFont().getName();
- }
-
- if (var33.hasMoreTokens()) {
- String var91 = var33.nextToken();
- if (var91.compareTo("\u0003") != 0) {
- var30 = Integer.parseInt(var91);
- } else {
- var30 = 12;
- }
- } else {
- var30 = 12;
- }
-
- if (var33.hasMoreTokens()) {
- String var92 = var33.nextToken();
- if (var92.compareTo("Y") == 0) {
- var29 = 2;
- } else {
- var29 = 0;
- }
- } else {
- var29 = 0;
- }
-
- if (var33.hasMoreTokens()) {
- String var93 = var33.nextToken();
- if (var93.compareTo("Y") == 0) {
- ++var29;
- }
- }
-
- var10 = new Font(var28, var29, var30);
- if (var33.hasMoreTokens()) {
- String var94 = var33.nextToken();
- if (var94.compareTo("\u0003") != 0) {
- var3 = var94;
- this.bHasUrls = true;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var95 = var33.nextToken();
- if (var95.compareTo("\u0003") != 0) {
- var5 = var95;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var96 = var33.nextToken();
- if (var96.compareTo("\u0003") != 0) {
- var4 = var96;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var97 = var33.nextToken();
- if (var97.compareTo("N") == 0) {
- var21 = false;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var98 = var33.nextToken();
- if (var98.compareTo("N") == 0) {
- this.bAppendKeys = false;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var99 = var33.nextToken();
- if (var99.compareTo("N") == 0) {
- var23 = false;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var100 = var33.nextToken();
- if (var100.compareTo("Y") == 0) {
- var24 = true;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var101 = var33.nextToken();
- if (var101.compareTo("\u0003") != 0) {
- var6 = var101;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var102 = var33.nextToken();
- if (var102.compareTo("\u0003") != 0) {
- var7 = var102;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var103 = var33.nextToken();
- if (var103.compareTo("\u0003") != 0) {
- var8 = var103;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var104 = var33.nextToken();
- if (var104.compareTo("\u0003") != 0) {
- var9 = var104;
- }
- }
-
- if (this.TotalColumns > 0) {
- this.ColumnDescription = new CFGridFormColumn[this.TotalColumns];
- }
-
- int var105 = 0;
-
- while(var31.hasMoreTokens()) {
- var32 = var31.nextToken();
- if (var105 >= this.TotalColumns) {
- ++var105;
- } else {
- boolean var109 = false;
- var33 = new StringTokenizer(var32, "\u0002");
- this.ColumnDescription[var105] = new CFGridFormColumn();
- if (var33.hasMoreTokens()) {
- this.ColumnDescription[var105].m_name = var33.nextToken();
- }
-
- if (var33.hasMoreTokens()) {
- String var36 = var33.nextToken();
- if (var36.compareTo("N") == 0) {
- this.ColumnDescription[var105].m_visible = false;
- } else {
- ++this.Columns;
- }
- } else {
- ++this.Columns;
- }
-
- if (var33.hasMoreTokens()) {
- String var111 = var33.nextToken();
- if (var111.compareTo("Y") == 0) {
- this.ColumnDescription[var105].m_readonly = true;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var112 = var33.nextToken();
- if (var112.compareTo("\u0003") != 0) {
- this.ColumnDescription[var105].m_header = var112;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var113 = var33.nextToken();
- if (var113.compareTo("\u0003") != 0) {
- this.ColumnDescription[var105].m_dataWidth = Integer.parseInt(var113);
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var114 = var33.nextToken();
- if (var114.compareTo("\u0003") != 0) {
- int var37 = Integer.parseInt(var114);
- if (var37 == 1) {
- this.ColumnDescription[var105].m_dataAlign = 203;
- } else if (var37 == 2) {
- this.ColumnDescription[var105].m_dataAlign = 201;
- } else {
- this.ColumnDescription[var105].m_dataAlign = 202;
- }
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var115 = var33.nextToken();
- if (var115.compareTo("\u0003") != 0) {
- int var123 = Integer.parseInt(var115);
- if (var123 == 1) {
- this.ColumnDescription[var105].m_headerAlign = 203;
- } else if (var123 == 2) {
- this.ColumnDescription[var105].m_headerAlign = 201;
- } else {
- this.ColumnDescription[var105].m_headerAlign = 202;
- }
- }
- }
-
- int var116 = 0;
-
- while(var33.hasMoreTokens()) {
- var28 = var33.nextToken();
- if (var28.compareTo("\u0003") != 0) {
- var109 = true;
- } else {
- var28 = ((Component)this).getFont().getName();
- }
-
- if (var33.hasMoreTokens()) {
- String var124 = var33.nextToken();
- if (var124.compareTo("\u0003") != 0) {
- var30 = Integer.parseInt(var124);
- var109 = true;
- } else {
- var30 = 12;
- }
- } else {
- var30 = 12;
- }
-
- if (var33.hasMoreTokens()) {
- String var125 = var33.nextToken();
- if (var125.compareTo("Y") == 0) {
- var29 = 2;
- var109 = true;
- } else {
- if (var125.compareTo("N") == 0) {
- var109 = true;
- }
-
- var29 = 0;
- }
- } else {
- var29 = 0;
- }
-
- if (var33.hasMoreTokens()) {
- String var126 = var33.nextToken();
- if (var126.compareTo("Y") == 0) {
- ++var29;
- var109 = true;
- } else if (var126.compareTo("N") == 0) {
- var109 = true;
- }
- }
-
- if (var109) {
- if (var116 == 0) {
- this.ColumnDescription[var105].m_dataFont = new Font(var28, var29, var30);
- } else {
- this.ColumnDescription[var105].m_headerFont = new Font(var28, var29, var30);
- }
-
- var109 = false;
- }
-
- ++var116;
- if (var116 >= 2) {
- break;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var117 = var33.nextToken();
- if (var117.compareTo("\u0003") != 0) {
- this.ColumnDescription[var105].m_url = var117;
- this.bHasUrls = true;
- } else if (var3 != null) {
- this.ColumnDescription[var105].m_url = var3;
- }
- } else if (var3 != null) {
- this.ColumnDescription[var105].m_url = var3;
- }
-
- if (var33.hasMoreTokens()) {
- String var118 = var33.nextToken();
- if (var118.compareTo("\u0003") != 0) {
- this.ColumnDescription[var105].m_urldestination = var118;
- } else if (var5 != null) {
- this.ColumnDescription[var105].m_urldestination = var5;
- }
- } else if (var5 != null) {
- this.ColumnDescription[var105].m_urldestination = var5;
- }
-
- if (var33.hasMoreTokens()) {
- String var119 = var33.nextToken();
- if (var119.compareTo("\u0003") != 0) {
- this.ColumnDescription[var105].m_urlkey = var119;
- } else if (var4 != null) {
- this.ColumnDescription[var105].m_urlkey = var4;
- }
- } else if (var4 != null) {
- this.ColumnDescription[var105].m_urlkey = var4;
- }
-
- if (var33.hasMoreTokens()) {
- String var120 = var33.nextToken();
- if (var120.compareTo("\u0003") != 0) {
- int var127 = Integer.parseInt(var120);
- if (var127 == 1) {
- this.ColumnDescription[var105].m_formatType = 1;
- }
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var121 = var33.nextToken();
- if (var121.compareTo("\u0003") != 0) {
- this.ColumnDescription[var105].m_formatMask = var121;
- }
- }
-
- if (var33.hasMoreTokens()) {
- String var122 = var33.nextToken();
- if (var122.compareTo("\u0003") != 0) {
- int var128 = Integer.parseInt(var122);
- if (var128 == 2) {
- this.ColumnDescription[var105].m_dataType = 5;
- var22 = true;
- } else if (var128 == 1) {
- this.ColumnDescription[var105].m_dataType = 1;
- }
- }
- }
-
- ++var105;
- }
- }
-
- if (this.TotalColumns != var105) {
- }
- }
-
- if (this.Columns > 0) {
- int var40 = 0;
- if (this.bUseRowHeaders) {
- ++var40;
- }
-
- if (this.bUseColumnHeaders) {
- var40 += 2;
- }
-
- ((Container)this).setLayout(new BorderLayout());
- ((Container)this).add("Center", this.Grid = new CFGRID(var40 + 112 + 128, 0, 0));
- if (var20 != 0) {
- if (var24) {
- Image var42 = (var20 & 1) == 1 ? ((Applet)this).getImage(((Applet)this).getCodeBase(), "images/insert.gif") : null;
- Image var46 = (var20 & 2) == 2 ? ((Applet)this).getImage(((Applet)this).getCodeBase(), "images/delete.gif") : null;
- Image var54 = (var20 & 4) == 4 ? ((Applet)this).getImage(((Applet)this).getCodeBase(), "images/sortasc.gif") : null;
- Image var60 = (var20 & 4) == 4 ? ((Applet)this).getImage(((Applet)this).getCodeBase(), "images/sortdesc.gif") : null;
- ((Container)this).add("South", this.GridBar = new CFGRIDActionbar(this.Grid, var42, var46, var54, var60));
- } else {
- ((Container)this).add("South", this.GridBar = new CFGRIDActionbar(this.Grid, var20, var6, var7, var8, var9));
- }
- }
-
- if (this.bHasUrls || this.SelectMode == 105 || var20 != 0) {
- this.Grid.installCallBackHandler(this);
- }
-
- this.Grid.setCols(this.Columns);
- if (!var23) {
- this.Grid.setGridLines(var23);
- }
-
- if (this.bUseColumnHeaders) {
- this.Grid.setColHeaderAlignment(var16);
- }
-
- if (var13 != null) {
- this.Grid.setGridColor(var13);
- }
-
- if (var14 != null) {
- this.Grid.setSelectionColor(var14);
- }
-
- if (this.bUseColumnHeaders) {
- this.Grid.setColHeaderFont(var11);
- }
-
- if (var19 != -1) {
- this.Grid.setGridMinRowHeight(var19);
- }
-
- if (this.bUseRowHeaders) {
- this.Grid.setRowHeaderAlignment(var17);
- this.Grid.setRowHeaderFont(var10);
- if (var18 != -1) {
- this.Grid.setRowHeaderWidth(false, var18);
- }
- }
-
- this.Grid.setGridFont(var12);
- this.Grid.setGridVertMargin(0);
- this.Grid.setSelectionMode(this.SelectMode);
- this.MaxRows = this.Rows;
- this.Grid.setRows(this.MaxRows);
- if (this.bUseRowHeaders) {
- for(int var43 = 1; var43 <= this.MaxRows; ++var43) {
- this.Grid.setRowHeaderElement(String.valueOf(var43), var43 - 1);
- }
- }
-
- this.Grid.setGridAlignment(var15);
- int var44 = 0;
-
- for(int var47 = 0; var47 < this.TotalColumns; ++var47) {
- if (this.ColumnDescription[var47].m_visible) {
- if (this.bUseColumnHeaders) {
- if (this.ColumnDescription[var47].m_headerAlign != -1) {
- this.Grid.setColHeaderAlignment(this.ColumnDescription[var47].m_headerAlign, var44);
- }
-
- if (this.ColumnDescription[var47].m_headerFont != null) {
- this.Grid.setColHeaderFont(this.ColumnDescription[var47].m_headerFont, var44);
- }
-
- this.Grid.setColHeaderElement(this.ColumnDescription[var47].m_header == null ? this.ColumnDescription[var47].m_name : this.ColumnDescription[var47].m_header, var44);
- }
-
- if (this.ColumnDescription[var47].m_dataWidth != -1) {
- this.Grid.setColWidth(false, this.ColumnDescription[var47].m_dataWidth, var44);
- }
-
- if (this.ColumnDescription[var47].m_dataAlign != -1) {
- this.Grid.setGridAlignment(this.ColumnDescription[var47].m_dataAlign, var44);
- }
-
- if (this.ColumnDescription[var47].m_dataFont != null) {
- this.Grid.setGridFont(this.ColumnDescription[var47].m_dataFont, var44);
- }
-
- if (this.ColumnDescription[var47].m_url != null && var21) {
- this.Grid.setColTextColor(Color.blue, var44);
- this.Grid.setColUnderline(true, var44);
- }
-
- if (this.ColumnDescription[var47].m_readonly) {
- this.Grid.setColReadOnly(true, var44);
- }
-
- if (this.ColumnDescription[var47].m_formatMask != null) {
- this.Grid.setColFormat(this.ColumnDescription[var47].m_formatMask, this.ColumnDescription[var47].m_formatType, var44);
- }
-
- if (this.ColumnDescription[var47].m_dataType == 5) {
- this.Grid.setColImage(true, var44);
- } else if (this.ColumnDescription[var47].m_dataType == 1) {
- this.Grid.setColType(1, var44);
- } else {
- this.Grid.setColType(0, var44);
- }
-
- ++var44;
- }
- }
-
- if (var22) {
- String[] var48 = new String[]{"images/FolderClosed.gif", "images/CDDrive.gif", "images/Document.gif", "images/Elements.gif", "images/Computer.gif", "images/Floppy.gif", "images/HardDrive.gif", "images/NetworkDrive.gif"};
- String[] var55 = new String[]{"Folder", "cd", "Document", "Element", "Computer", "Floppy", "Fixed", "Remote"};
-
- for(int var66 = 0; var66 < var55.length; ++var66) {
- Image var61 = ((Applet)this).getImage(((Applet)this).getCodeBase(), var48[var66]);
- if (var61 != null) {
- this.Grid.addImage(var55[var66], var61);
- }
- }
- }
-
- if (var2 != null) {
- Object var49 = null;
- int var67 = 0;
- var2 = netHelpers.URLDecode(var2);
- StringTokenizer var68 = new StringTokenizer(var2, "\u0001");
-
- while(var68.hasMoreTokens()) {
- CFDATARow var50 = new CFDATARow(this.TotalColumns);
- int var70 = 0;
- int var72 = this.Columns;
- String var56 = var68.nextToken();
- StringTokenizer var106 = new StringTokenizer(var56, "\u0002");
- var44 = 0;
-
- while(var106.hasMoreTokens()) {
- String var62 = var106.nextToken();
- if (var62.compareTo("\u0003") != 0) {
- if (this.ColumnDescription[var70].m_visible) {
- this.Insert(var62, var67, var44);
- var50.setOrigioDataColumn(var62, var44);
- if (this.ColumnDescription[var70].m_dataType == 5) {
- Image var110 = ((Applet)this).getImage(((Applet)this).getCodeBase(), var62);
- if (var110 != null) {
- this.Grid.addImage(var62, var110);
- }
- }
-
- ++var44;
- } else {
- var50.setOrigioDataColumn(var62, var72);
- ++var72;
- }
- } else if (this.ColumnDescription[var70].m_visible) {
- this.Insert("", var67, var44);
- var50.setOrigioDataColumn("", var44);
- ++var44;
- } else {
- var50.setOrigioDataColumn("", var72);
- ++var72;
- }
-
- ++var70;
- if (var70 >= this.TotalColumns) {
- break;
- }
- }
-
- this.Grid.setUserRowAttribute(var50, var67);
- ++var67;
- if (var67 >= this.MaxRows) {
- break;
- }
- }
- }
- }
-
- }
-
- private void SortRows(boolean var1) {
- Rectangle var2 = this.Grid.getSelection();
- if (var2 != null) {
- this.sortAscending = var1;
- this.sortKey = var2.x;
- this.sortType = this.Grid.getDataType(this.sortKey);
- int var3 = this.Grid.getRows();
- Object var4 = null;
- QuickSort var5 = new QuickSort(var3);
- var5.setSortCallbackHandler(this);
- if (this.SelectMode == 105) {
- this.Grid.flushEditColumn();
- }
-
- for(int var6 = 0; var6 < var3; ++var6) {
- CFDATARow var10 = (CFDATARow)this.Grid.getUserRowAttribute(var6);
- var5.addrow(var10);
- }
-
- var5.sort();
-
- for(int var12 = var3 - 1; var12 >= 0; --var12) {
- this.Grid.deleteRow(var12);
- }
-
- this.Grid.clearSelection();
- this.Grid.setRows(var3);
- int var13 = 0;
-
- for(CFDATARow var11 = (CFDATARow)var5.getfirstrow(); var11 != null; ++var13) {
- int var7 = 0;
- if (this.bUseRowHeaders) {
- this.Grid.setRowHeaderElement(String.valueOf(var13 + 1), var13);
- }
-
- for(int var8 = 0; var8 < this.TotalColumns; ++var8) {
- if (this.ColumnDescription[var8].m_visible) {
- String var9 = var11.getDataColumn(var7);
- if (var9 != null) {
- this.Insert(var9, var13, var7);
- }
-
- ++var7;
- }
- }
-
- this.Grid.setUserRowAttribute(var11, var13);
- var11 = (CFDATARow)var5.getnextrow();
- }
-
- }
- }
- }
-