home *** CD-ROM | disk | FTP | other *** search
- package allaire.controls;
-
- import allaire.util.Format;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.MediaTracker;
- import java.awt.Panel;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.TextField;
- import java.awt.image.ImageObserver;
- import java.util.Vector;
-
- class CFGRIDCanvas extends Panel {
- private static final int NO_CHANGE = 0;
- private static final int SELECTION_CHANGE = 1;
- private static final int ALL_CHANGE = 2;
- private static final int UPDATE_NOW = 4;
- private static final int OFF = 0;
- private static final int MAYBE = 1;
- // $FF: renamed from: ON int
- private static final int field_0 = 2;
- private int updateStatus;
- private Point mainOrigo;
- boolean rowHeaderDefined;
- boolean colHeaderDefined;
- private boolean autoScrollbars = true;
- private CFGRIDList rowList;
- private CFGRIDList colProps;
- private CFGRIDRow row;
- private int rowQty;
- private int colQty;
- int gridRows;
- int gridCols;
- private int currentRow;
- private int currentCol;
- private int selectionMode;
- private Rectangle selection = new Rectangle(0, 0, 0, 0);
- private Rectangle visibleSelection = new Rectangle(0, 0, 0, 0);
- private Rectangle editSelection = new Rectangle(0, 0, 0, 0);
- private Color bgSelection;
- private Color bgRegular;
- private int firstGridRow;
- private int firstGridCol;
- private int firstVisibleRow;
- private int firstVisibleCol;
- private int lastVisibleRow;
- private int lastVisibleCol;
- private Dimension totalGridSize;
- private int headerVertMarg;
- private int gridVertMarg;
- private int gridMinRowHeight;
- private boolean normalized;
- private boolean updateDisplay;
- private boolean gridLines;
- private static final long DOUBLE_CLICK_SPAN = 300L;
- private Image offscreen;
- private Dimension offscreensize;
- private Graphics offgraphics;
- private CFGRIDTextAttributes textAttri;
- private Font defFont;
- // $FF: renamed from: fm java.awt.FontMetrics
- private FontMetrics field_1;
- // $FF: renamed from: fa int
- private int field_2;
- // $FF: renamed from: fd int
- private int field_3;
- // $FF: renamed from: gs allaire.controls.CFGRID
- private CFGRID field_4;
- private long lastTime;
- private Point mouseDownPos;
- private static final int resizeMargin = 2;
- private Frame parentFrame;
- private int resizeCursor;
- private int resizedCol;
- private int resizedX;
- private int gridDisplayHeight;
- private int gap;
- private int horzBorder;
- private int vertBorder;
- private boolean reversevideo;
- private Rectangle editRectangle;
- private TextField editField;
- private boolean editSelectionChanged;
- private boolean editFieldOff;
- CFGRIDImage[] imageObject;
- MediaTracker imageTracker;
- int imageNDX;
- int numimages;
- int maximages;
- boolean imageDrawn;
-
- synchronized void setColType(int var1, int var2) {
- if (var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).gridAttri.setType(var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setColImage(boolean var1, int var2) {
- if (var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).gridAttri.setImage(var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- private synchronized void smallUpdate(Graphics var1) {
- for(int var2 = this.firstVisibleCol; var2 <= this.lastVisibleCol; ++var2) {
- CFGRIDColProperties var3 = this.colProps.getProp(var2);
- this.setTextAttributes(var3.gridAttri);
-
- for(int var4 = this.firstVisibleRow; var4 <= this.lastVisibleRow; ++var4) {
- CFGRIDCell var5 = this.getDisplayCell(var4, var2);
- if (var5 != null && var5.dirty) {
- this.paintCell(var4, var2, var3.xBase, this.rowList.getRow(var4).yBase);
- }
- }
- }
-
- this.offgraphics.setColor(Color.black);
- if (this.vertBorder > 0) {
- this.offgraphics.drawLine(this.offscreensize.width - 1, 0, this.offscreensize.width - 1, this.vertBorder);
- }
-
- if (this.horzBorder > 0) {
- this.offgraphics.drawLine(0, this.offscreensize.height - 1, this.horzBorder, this.offscreensize.height - 1);
- }
-
- var1.drawImage(this.offscreen, 0, 0, (ImageObserver)null);
- }
-
- void internalSetColWidth(boolean var1, int var2, int var3) {
- CFGRIDColProperties var4 = this.colProps.getProp(var3);
- var4.modeAuto = var1;
- var4.width = var2;
- this.fixUpdate(true, 2);
- }
-
- synchronized void setColHeaderVertMargin(int var1) {
- this.headerVertMarg = var1;
- this.fixUpdate(true, 2);
- }
-
- synchronized void setGridVertMargin(int var1) {
- this.gridVertMarg = var1;
- this.fixUpdate(true, 2);
- }
-
- synchronized void setRowHeaderWidth(boolean var1, int var2) {
- if (this.rowHeaderDefined) {
- this.internalSetColWidth(var1, var2, 0);
- }
- }
-
- synchronized void setColWidth(boolean var1, int var2, int var3) {
- if (var3 >= 0) {
- var3 += this.firstGridCol;
- if (var3 < this.colQty) {
- this.internalSetColWidth(var1, var2, var3);
- }
- }
- }
-
- synchronized void setColWidth(boolean var1, int var2) {
- for(int var3 = this.firstGridCol; var3 < this.colQty; ++var3) {
- CFGRIDColProperties var4 = this.colProps.getProp(var3);
- var4.modeAuto = var1;
- var4.width = var2;
- }
-
- this.fixUpdate(true, 2);
- }
-
- private CFGRIDTextAttributes getRowHeaderAttri() {
- return this.rowHeaderDefined ? this.colProps.getProp(0).headerAttri : null;
- }
-
- private CFGRIDTextAttributes getColHeaderAttri(int var1) {
- if (var1 >= 0 && var1 < this.colQty) {
- if (this.rowHeaderDefined) {
- if (var1 > 0) {
- var1 += this.firstVisibleCol - 1;
- }
- } else {
- var1 += this.firstVisibleCol;
- }
-
- return this.colProps.getProp(var1).headerAttri;
- } else {
- return null;
- }
- }
-
- synchronized void setGridMinRowHeight(int var1) {
- this.gridMinRowHeight = var1;
- this.fixUpdate(true, 2);
- }
-
- synchronized void clearSelection() {
- this.setSelection(0, 0, 0, 0);
- this.editFieldOff = true;
- }
-
- public void addImage(String var1, Image var2) {
- if (this.imageObject == null) {
- this.imageObject = new CFGRIDImage[this.maximages];
- this.imageTracker = new MediaTracker(this);
- }
-
- if (this.getImageNDX(var1) == -1) {
- if (this.numimages >= this.maximages) {
- CFGRIDImage[] var3 = new CFGRIDImage[this.maximages * 2];
-
- for(int var4 = 0; var4 < this.maximages; ++var4) {
- var3[var4] = this.imageObject[var4];
- }
-
- this.maximages *= 2;
- this.imageObject = var3;
- }
-
- this.imageObject[this.numimages] = new CFGRIDImage(var1, var2);
- this.imageTracker.addImage(this.imageObject[this.numimages].image, this.numimages);
-
- try {
- this.imageTracker.waitForID(this.numimages);
- this.imageObject[this.numimages].width = this.imageObject[this.numimages].image.getWidth((ImageObserver)null);
- this.imageObject[this.numimages].height = this.imageObject[this.numimages].image.getHeight((ImageObserver)null);
- ++this.numimages;
- } catch (InterruptedException var5) {
- this.imageObject[this.numimages++].invalid = true;
- }
- }
- }
-
- void bufferImage(int var1) {
- Image var2 = ((Component)this).createImage(1, 1);
- Graphics var3 = var2.getGraphics();
- var3.drawImage(this.imageObject[var1].image, 0, 0, (ImageObserver)null);
- var3.dispose();
- this.imageObject[this.imageNDX].buffered = true;
- }
-
- synchronized void insertRowAt(int var1) {
- if (var1 >= 0) {
- var1 += this.firstGridRow;
- if (var1 <= this.rowQty) {
- CFGRIDRow var2 = new CFGRIDRow();
- ((Vector)var2).setSize(this.colQty);
- if (var1 == this.rowQty) {
- this.rowList.addElement(var2);
- } else {
- this.rowList.insertElementAt(var2, var1);
- }
-
- ++this.rowQty;
- ++this.gridRows;
- if (var1 <= this.selection.y) {
- ++this.selection.y;
- }
-
- this.adjustSelection();
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setGridColor(Color var1) {
- this.bgRegular = var1;
- this.fixUpdate(true, 2);
- }
-
- synchronized void setSelectionColor(Color var1) {
- this.bgSelection = var1;
- this.fixUpdate(false, 1);
- }
-
- synchronized void setColTextColor(Color var1, int var2) {
- if (var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).gridAttri.setColor(var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- private void makeVisible(int var1, int var2, int var3, int var4) {
- Dimension var5 = ((Component)this).size();
- boolean var6 = false;
- if (var5.width > this.mainOrigo.x && var5.height > this.mainOrigo.y) {
- if (this.selectionMode != 102) {
- CFGRIDColProperties var7 = this.colProps.getProp(var2);
- if (var2 == this.lastVisibleCol && var7.xBase + var7.width > var5.width) {
- if (this.firstVisibleCol < this.lastVisibleCol) {
- ++this.firstVisibleCol;
- }
-
- var6 = true;
- } else if (var2 < this.firstVisibleCol || var2 > this.lastVisibleCol) {
- if ((this.firstVisibleCol = var2 - var4) < this.firstGridCol) {
- this.firstVisibleCol = this.firstGridCol;
- }
-
- var6 = true;
- }
- }
-
- if (this.selectionMode != 103) {
- CFGRIDRow var8 = this.rowList.getRow(this.lastVisibleRow);
- if (var1 == this.lastVisibleRow && var8.yBase + var8.height > var5.height) {
- if (this.firstVisibleRow < this.lastVisibleRow) {
- ++this.firstVisibleRow;
- }
-
- var6 = true;
- } else if (var1 < this.firstVisibleRow || var1 > this.lastVisibleRow) {
- if ((this.firstVisibleRow = var1 - var3) < this.firstGridRow) {
- this.firstVisibleRow = this.firstGridRow;
- }
-
- var6 = true;
- }
- }
-
- if (var6) {
- this.fixUpdate(true, 2);
- }
-
- }
- }
-
- public synchronized boolean isVisible(int var1, int var2) {
- var2 = this.rowHeaderDefined ? var2 + 1 : var2;
- var1 = this.colHeaderDefined ? var1 + 1 : var1;
- return var2 >= this.firstVisibleCol && var2 <= this.lastVisibleCol && var1 >= this.firstVisibleRow && var1 <= this.lastVisibleRow;
- }
-
- private synchronized Point pickCell(int var1, int var2) {
- if (this.gridRows > 0 && this.gridCols > 0 && var1 >= this.mainOrigo.x && var2 >= this.mainOrigo.y) {
- int var4;
- for(var4 = this.firstVisibleRow; var4 <= this.lastVisibleRow; ++var4) {
- CFGRIDRow var3 = this.rowList.getRow(var4);
- if (var2 <= var3.yBase + var3.height) {
- break;
- }
- }
-
- int var5;
- for(var5 = this.firstVisibleCol; var5 <= this.lastVisibleCol && var1 > this.colProps.getProp(var5).xBase + this.colProps.getProp(var5).width; ++var5) {
- }
-
- if (var4 < this.rowQty && var5 < this.colQty && this.colProps.getProp(var5).gridAttri.allowSelect) {
- this.updateStatus |= 4;
- switch (this.selectionMode) {
- case 101:
- case 104:
- this.setSelection(var5, var4, 1, 1);
- break;
- case 102:
- this.setSelection(this.firstGridCol, var4, this.colQty, 1);
- break;
- case 103:
- this.setSelection(var5, this.firstGridRow, 1, this.rowQty);
- break;
- case 105:
- this.setEditSelection(var5, var4);
- this.setSelection(var5, var4, 1, 1);
- }
-
- return new Point(var5, var4);
- }
-
- if (this.reversevideo && var4 < this.rowQty && var5 < this.colQty) {
- this.updateStatus |= 4;
- this.clearSelection();
- return new Point(var5, var4);
- }
- }
-
- return null;
- }
-
- synchronized void setDisplayOrigo(int var1, int var2) {
- if (var1 >= 0 && var2 >= 0) {
- var1 += this.firstGridRow;
- var2 += this.firstGridCol;
- if (var1 < this.rowQty && var2 < this.colQty) {
- if (this.firstVisibleRow != var1 || this.firstVisibleCol != var2) {
- this.firstVisibleRow = var1;
- this.firstVisibleCol = var2;
- this.fixUpdate(true, 2);
- }
-
- }
- }
- }
-
- Point getDisplayOrigo() {
- return new Point(this.firstVisibleCol - this.firstGridCol, this.firstVisibleRow - this.firstGridRow);
- }
-
- synchronized void deleteRow(int var1) {
- if (var1 >= 0) {
- var1 += this.firstGridRow;
- if (var1 < this.rowQty) {
- this.rowList.removeElementAt(var1);
- this.rowQty += -1;
- this.gridRows += -1;
- if (this.selectionMode == 105) {
- this.editFieldOff = true;
- this.hideEditColumn();
- }
-
- if (this.firstVisibleRow > var1) {
- this.firstVisibleRow += -1;
- }
-
- if (this.firstVisibleRow >= this.rowQty) {
- this.firstVisibleRow = this.rowQty - 1;
- }
-
- if (this.firstVisibleRow < 1) {
- this.firstVisibleRow = 1;
- }
-
- if (var1 < this.selection.y) {
- Rectangle var10000 = this.selection;
- var10000.y += -1;
- } else if (var1 == this.selection.y) {
- this.selection.width = this.selection.height = 0;
- }
-
- this.adjustSelection();
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setReverseVideo(int var1, int var2, int var3, int var4) {
- if (!this.reversevideo || var1 != this.selection.x || var2 != this.selection.y || var3 != this.selection.width || var4 != this.selection.height) {
- this.reversevideo = true;
- this.markDirty(this.selection);
- int var5 = this.selection.x >= this.firstVisibleCol && this.selection.x <= this.lastVisibleCol ? this.selection.x - this.firstVisibleCol : 0;
- int var6 = this.selection.y >= this.firstVisibleRow && this.selection.y <= this.lastVisibleRow ? this.selection.y - this.firstVisibleRow : 0;
- this.selection.x = var1;
- this.selection.y = var2;
- this.selection.width = var3;
- this.selection.height = var4;
- this.markDirty(this.selection);
- this.makeVisible(var2, var1, var6, var5);
- this.fixUpdate(false, 1);
- }
-
- }
-
- private int fixAutoScrollbars(Graphics var1, Dimension var2) {
- int var3 = 0;
- Dimension var4 = this.field_4.size();
- Dimension var5 = this.field_4.horz.size();
- Dimension var6 = this.field_4.vert.size();
- int var7 = var4.height - this.totalGridSize.height;
- int var8 = var4.width - this.totalGridSize.width;
- byte var10;
- if (var7 < 0) {
- var10 = 2;
- } else if (var7 > var5.height) {
- var10 = 0;
- } else {
- var10 = 1;
- }
-
- byte var9;
- if (var8 < 0) {
- var9 = 2;
- } else if (var8 > var6.width) {
- var9 = 0;
- } else {
- var9 = 1;
- }
-
- if (var10 == 1) {
- var10 = var9 == 1 ? 2 : var9;
- }
-
- if (var9 == 1) {
- var9 = var10 == 1 ? 2 : var10;
- }
-
- if (this.field_4.vert.isVisible() && var10 == 0 || !this.field_4.vert.isVisible() && var10 == 2 || this.field_4.horz.isVisible() && var9 == 0 || !this.field_4.horz.isVisible() && var9 == 2) {
- int var11 = var4.width - 2 * this.gap;
- if (var10 == 2) {
- var11 -= var6.width;
- }
-
- int var12 = var4.height - 2 * this.gap;
- if (var9 == 2) {
- var12 -= var5.height;
- }
-
- if (!this.field_4.vert.isVisible() && var10 == 2) {
- this.field_4.vert.show();
- } else if (this.field_4.vert.isVisible() && var10 == 0) {
- this.field_4.vert.hide();
- this.firstVisibleRow = this.firstGridRow;
- }
-
- if (!this.field_4.horz.isVisible() && var9 == 2) {
- this.field_4.horz.show();
- } else if (this.field_4.horz.isVisible() && var9 == 0) {
- this.field_4.horz.hide();
- this.firstVisibleCol = this.firstGridCol;
- }
-
- ((Component)this).resize(var11, var12);
- this.field_4.repaint();
- Dimension var13 = ((Component)this).size();
- this.fixOffscreenBuffer(var13);
- if ((var3 = this.normalize(this.offgraphics, var13)) > 0) {
- return var3;
- }
- }
-
- return var3;
- }
-
- public synchronized void flushEditField() {
- if (this.editField != null && !this.editFieldOff) {
- Rectangle var1 = this.getEditSelection();
- if (var1 != null) {
- int var2 = this.firstGridCol + var1.x;
- int var3 = this.firstGridRow + var1.y;
- if (var3 >= this.rowQty || var3 < 0 || var2 >= this.colQty || var2 < 0) {
- return;
- }
-
- if (this.rowList.getRow(var3).getCell(var2) == null) {
- this.rowList.getRow(var3).setCell(var3, var2);
- }
-
- this.rowList.getRow(var3).getCell(var2).set(this.editField.getText() == null ? "" : this.editField.getText());
- if (this.field_4.caller != null) {
- this.field_4.caller.CFGRIDMessage(this.field_4, 550, this.getSelection());
- }
- }
-
- }
- }
-
- private boolean colOnDisplay(int var1) {
- return var1 >= this.firstVisibleCol && var1 <= this.lastVisibleCol;
- }
-
- private synchronized boolean fastPaintOK(Graphics var1) {
- Dimension var2 = ((Component)this).size();
- if (this.updateStatus == 0 && this.offscreen != null && var2.width == this.offscreensize.width && var2.height == this.offscreensize.height) {
- var1.drawImage(this.offscreen, 0, 0, (ImageObserver)null);
- if (this.resizedCol >= 0 && this.gridLines) {
- var1.setColor(Color.black);
- var1.drawLine(this.resizedX, 0, this.resizedX, this.gridDisplayHeight);
- }
-
- return true;
- } else {
- return false;
- }
- }
-
- synchronized void setCols(int var1) {
- if (var1 >= 0) {
- var1 += this.firstGridCol;
- if (var1 != this.colQty) {
- if (this.rowQty == 0 && this.rowHeaderDefined) {
- this.rowList.getRow(0).setSize(var1);
- } else {
- for(int var3 = 0; var3 < this.rowQty; ++var3) {
- this.rowList.getRow(var3).setSize(var1);
- }
- }
-
- for(int var2 = this.colQty; var2 < var1; ++var2) {
- this.colProps.addElement(new CFGRIDColProperties());
- }
-
- this.colQty = this.gridCols = var1;
- this.gridCols -= this.firstGridCol;
- this.colProps.setSize(var1);
- if (this.firstVisibleCol >= this.colQty) {
- this.firstVisibleCol = this.firstGridCol;
- }
-
- this.adjustSelection();
- this.fixUpdate(true, 2);
- }
- }
- }
-
- private CFGRIDCell getDisplayCell(int var1, int var2) {
- return var1 >= 0 && var1 < this.rowQty && var2 >= 0 && var2 < this.colQty ? this.rowList.getRow(var1).getCell(var2) : null;
- }
-
- synchronized void setGridLines(boolean var1) {
- this.gridLines = var1;
- this.fixUpdate(true, 2);
- }
-
- synchronized Rectangle getSelection() {
- return this.selection.width > 0 && this.selection.height > 0 ? new Rectangle(this.rowHeaderDefined ? this.selection.x - 1 : this.selection.x, this.colHeaderDefined ? this.selection.y - 1 : this.selection.y, this.selection.width, this.selection.height) : null;
- }
-
- synchronized void setSelection(int var1, int var2) {
- if (this.gridRows != 0 && this.gridCols != 0 && var1 >= 0 && var2 >= 0) {
- var2 += this.firstGridCol;
- var1 += this.firstGridRow;
- if (var1 < this.rowQty && var2 < this.colQty) {
- int var3 = 1;
- int var4 = 1;
- if (this.selectionMode == 102) {
- var2 = this.firstGridCol;
- var3 = this.colQty;
- } else if (this.selectionMode == 103) {
- var1 = this.firstGridRow;
- var4 = this.rowQty;
- } else if (this.selectionMode == 105) {
- this.setEditSelection(var2, var1);
- }
-
- this.setSelection(var2, var1, var3, var4);
- }
- }
- }
-
- synchronized void setSelection(int var1, int var2, int var3, int var4) {
- if (this.reversevideo || var1 != this.selection.x || var2 != this.selection.y || var3 != this.selection.width || var4 != this.selection.height) {
- this.reversevideo = false;
- this.markDirty(this.selection);
- int var5 = this.selection.x >= this.firstVisibleCol && this.selection.x <= this.lastVisibleCol ? this.selection.x - this.firstVisibleCol : 0;
- int var6 = this.selection.y >= this.firstVisibleRow && this.selection.y <= this.lastVisibleRow ? this.selection.y - this.firstVisibleRow : 0;
- this.selection.x = var1;
- this.selection.y = var2;
- this.selection.width = var3;
- this.selection.height = var4;
- this.markDirty(this.selection);
- this.makeVisible(var2, var1, var6, var5);
- this.fixUpdate(false, 1);
- }
-
- }
-
- private void setTextAttributes(CFGRIDTextAttributes var1) {
- this.textAttri = var1;
- this.offgraphics.setFont(var1.font);
- this.field_1 = var1.fm;
- this.field_2 = var1.fontAsc;
- this.field_3 = var1.fontDesc;
- this.offgraphics.setColor(var1.textColor);
- }
-
- CFGRIDCanvas(CFGRID var1, Point var2, boolean var3, int var4) {
- this.bgSelection = Color.pink;
- this.bgRegular = new Color(255, 255, 225);
- this.totalGridSize = new Dimension(0, 0);
- this.headerVertMarg = 2;
- this.gridVertMarg = 2;
- this.updateDisplay = true;
- this.gridLines = true;
- this.mouseDownPos = new Point(0, 0);
- this.resizeCursor = 10;
- this.resizedCol = -1;
- this.maximages = 100;
- this.field_4 = var1;
- this.mainOrigo = var2;
- this.gap = var4;
- if (this.mainOrigo.y > 0) {
- this.firstGridRow = this.firstVisibleRow = 1;
- this.colHeaderDefined = true;
- this.rowQty = 1;
- }
-
- if (this.mainOrigo.x > 0) {
- this.firstGridCol = this.firstVisibleCol = 1;
- this.rowHeaderDefined = true;
- this.colQty = 1;
- }
-
- this.rowList = new CFGRIDList();
- this.colProps = new CFGRIDList();
- if (this.rowHeaderDefined || this.colHeaderDefined) {
- CFGRIDRow var5 = new CFGRIDRow();
- var5.addCell(0, 0);
- this.rowList.addElement(var5);
- this.colProps.addElement(new CFGRIDColProperties());
- }
-
- this.selectionMode = 101;
- this.autoScrollbars = var3;
- }
-
- synchronized void setEditSelection(int var1, int var2) {
- if (this.editSelection.x == var1 && this.editSelection.y == var2 && !this.editFieldOff) {
- this.editField.select(0, 0);
- } else {
- this.resetElement(this.colHeaderDefined ? this.editSelection.y - 1 : this.editSelection.y, this.rowHeaderDefined ? this.editSelection.x - 1 : this.editSelection.x);
- this.editSelection.x = var1;
- this.editSelection.y = var2;
- this.editSelection.width = 1;
- this.editSelection.height = 1;
- this.editSelectionChanged = true;
- this.setEditColumn(this.colHeaderDefined ? this.editSelection.y - 1 : this.editSelection.y, this.rowHeaderDefined ? this.editSelection.x - 1 : this.editSelection.x);
- }
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 401:
- if (var1.key == 9) {
- this.moveSelection((var1.modifiers & 1) != 0 ? 413 : 414);
- }
- break;
- case 402:
- if (var1.key == 10 && this.field_4.caller != null) {
- this.field_4.caller.CFGRIDMessage(this.field_4, 500, this.getSelection());
- }
- break;
- case 403:
- short var2 = 400;
- boolean var3 = false;
- switch (var1.key) {
- case 1000:
- if (this.selectionMode != 105) {
- if (this.colProps.getProp(this.firstGridCol).gridAttri.allowSelect) {
- var3 = true;
- } else {
- var3 = false;
- }
-
- var2 = 409;
- } else if ((var1.modifiers & 8) != 0) {
- if (this.colProps.getProp(this.firstGridCol).gridAttri.allowSelect) {
- var3 = true;
- } else {
- var3 = false;
- }
-
- var2 = 409;
- }
- break;
- case 1001:
- if (this.selectionMode != 105) {
- if (this.colProps.getProp(this.colQty - 1).gridAttri.allowSelect) {
- var3 = true;
- } else {
- var3 = false;
- }
-
- var2 = 410;
- } else if ((var1.modifiers & 8) != 0) {
- if (this.colProps.getProp(this.colQty - 1).gridAttri.allowSelect) {
- var3 = true;
- } else {
- var3 = false;
- }
-
- var2 = 410;
- }
- break;
- case 1002:
- var3 = true;
- var2 = 405;
- break;
- case 1003:
- var3 = true;
- var2 = 406;
- break;
- case 1004:
- var3 = true;
- var2 = 401;
- break;
- case 1005:
- var3 = true;
- var2 = 402;
- break;
- case 1006:
- if (this.selectionMode != 105) {
- var3 = true;
- var2 = 403;
- } else if ((var1.modifiers & 8) != 0) {
- var3 = true;
- var2 = 403;
- }
- break;
- case 1007:
- if (this.selectionMode != 105) {
- var3 = true;
- var2 = 404;
- } else if ((var1.modifiers & 8) != 0) {
- var3 = true;
- var2 = 404;
- }
- }
-
- if (var2 != 400) {
- if (var3) {
- this.moveSelection(var2);
- } else {
- this.scrollGrid(var2);
- }
- }
- break;
- case 501:
- this.mouseDownPos.x = var1.x;
- long var11 = System.currentTimeMillis();
- boolean var7 = var11 - this.lastTime >= 300L;
- if (this.pickCell(var1.x, var1.y) == null) {
- if (this.colHeaderDefined) {
- if (this.pickColumnHeaderCell(var1.x, var1.y) == null && var7) {
- var11 = 0L;
- }
- } else if (var7) {
- var11 = 0L;
- }
- } else if (this.field_4.caller != null) {
- this.field_4.caller.CFGRIDMessage(this.field_4, var7 ? 510 : 520, this.getSelection());
- }
-
- this.lastTime = var11;
- break;
- case 502:
- if (this.resizedCol >= 0) {
- this.parentFrame.setCursor(0);
- int var8 = this.resizedCol;
- this.resizedCol = -1;
- this.resizedX = -1;
- int var9 = this.colProps.getProp(var8).width + (var1.x - this.mouseDownPos.x);
- if (var9 <= 0) {
- var9 = 1;
- }
-
- this.updateStatus |= 4;
- this.internalSetColWidth(false, var9, var8);
- }
- break;
- case 503:
- if (this.parentFrame != null) {
- int var4 = 0;
- this.resizedCol = -1;
- if (this.colHeaderDefined) {
- if (var1.y < this.mainOrigo.y) {
- if (this.rowHeaderDefined) {
- int var5 = this.mainOrigo.x - 1;
- if (var1.x >= var5 - 2 && var1.x <= var5 + 2) {
- var4 = this.resizeCursor;
- if (this.gridCols > 0 && var1.x >= var5 + 1 + this.colProps.getProp(this.firstVisibleCol).width) {
- this.resizedCol = this.firstVisibleCol;
- } else {
- this.resizedCol = 0;
- }
- }
- }
-
- if (this.resizedCol < 0 && this.firstGridCol < this.colQty) {
- for(int var6 = this.firstVisibleCol; var6 <= this.lastVisibleCol; ++var6) {
- int var10 = this.colProps.getProp(var6).xBase + this.colProps.getProp(var6).width;
- if (var1.x >= var10 - 2 && var1.x <= var10 + 2) {
- if (var6 < this.lastVisibleCol && var1.x >= var10 + 1 + this.colProps.getProp(var6 + 1).width) {
- ++var6;
- }
-
- var4 = this.resizeCursor;
- this.resizedCol = var6;
- break;
- }
- }
- }
- }
-
- if (var4 != this.parentFrame.getCursorType()) {
- this.parentFrame.setCursor(var4);
- }
- }
- }
- break;
- case 505:
- if (this.parentFrame != null) {
- this.parentFrame.setCursor(0);
- }
- break;
- case 506:
- if (this.resizedCol >= 0 && this.resizedX != var1.x) {
- this.resizedX = var1.x;
- if (!this.fastPaintOK(((Component)this).getGraphics())) {
- ((Component)this).repaint();
- }
- }
- }
-
- if (this.selectionMode != 105 || var1.key != 1005 && var1.key != 1004 && var1.key != 1002 && var1.key != 1003 && ((var1.modifiers & 8) == 0 || var1.key != 1007 && var1.key != 1006 && var1.key != 1000 && var1.key != 1001)) {
- return var1.key == 9 ? true : super.handleEvent(var1);
- } else {
- return true;
- }
- }
-
- synchronized boolean isColumnHeaderSelected() {
- return this.reversevideo;
- }
-
- private synchronized Rectangle getEditSelection() {
- return this.editSelection.width > 0 && this.editSelection.height > 0 ? new Rectangle(this.rowHeaderDefined ? this.editSelection.x - 1 : this.editSelection.x, this.colHeaderDefined ? this.editSelection.y - 1 : this.editSelection.y, this.editSelection.width, this.editSelection.height) : null;
- }
-
- private CFGRIDImage getImageResource(int var1) {
- if (this.imageObject[var1].invalid) {
- return null;
- } else {
- if (!this.imageObject[var1].buffered) {
- this.bufferImage(var1);
- }
-
- return this.imageObject[var1];
- }
- }
-
- private synchronized void moveSelection(int var1) {
- if (this.selection.width != 0 && this.selection.height != 0) {
- int var2;
- int var3;
- var2 = this.selection.x;
- var3 = this.selection.y;
- label170:
- switch (var1) {
- case 401:
- if (this.selectionMode == 103) {
- this.scrollGrid(var1);
- } else if (var3 > this.firstGridRow) {
- --var3;
- }
- break;
- case 402:
- if (this.selectionMode == 103) {
- this.scrollGrid(var1);
- } else if (var3 < this.rowQty - 1) {
- ++var3;
- }
- break;
- case 403:
- if (this.selectionMode == 102) {
- this.scrollGrid(var1);
- } else {
- for(int var9 = var2 - 1; var9 >= this.firstGridCol; --var9) {
- if (this.colProps.getProp(var9).gridAttri.allowSelect) {
- var2 = var9;
- break label170;
- }
- }
- }
- break;
- case 404:
- if (this.selectionMode == 102) {
- this.scrollGrid(var1);
- } else {
- for(int var8 = var2 + 1; var8 < this.colQty; ++var8) {
- if (this.colProps.getProp(var8).gridAttri.allowSelect) {
- var2 = var8;
- break label170;
- }
- }
- }
- break;
- case 405:
- if (this.selectionMode == 103) {
- this.scrollGrid(var1);
- return;
- }
-
- var3 -= (((Component)this).size().height - this.mainOrigo.y) / (this.rowList.getRow(this.lastVisibleRow).height + 1);
- if (var3 < this.firstGridRow) {
- var3 = this.firstGridRow;
- }
- break;
- case 406:
- if (this.selectionMode == 103) {
- this.scrollGrid(var1);
- return;
- }
-
- var3 += (((Component)this).size().height - this.mainOrigo.y) / (this.rowList.getRow(this.lastVisibleRow).height + 1);
- if (var3 >= this.rowQty) {
- var3 = this.rowQty - 1;
- }
- break;
- case 407:
- case 408:
- case 411:
- case 412:
- default:
- return;
- case 409:
- if (this.selectionMode != 103) {
- var3 = this.firstGridRow;
- }
-
- if (this.selectionMode != 102) {
- var2 = this.firstGridCol;
- }
- break;
- case 410:
- if (this.selectionMode != 103) {
- var3 = this.rowQty - 1;
- }
-
- if (this.selectionMode != 102) {
- var2 = this.colQty - 1;
- }
- break;
- case 413:
- if (this.selectionMode == 102) {
- this.scrollGrid(403);
- }
-
- if (this.selectionMode == 102) {
- if (this.firstVisibleCol > this.firstGridCol) {
- this.scrollGrid(403);
- }
- } else {
- int var6;
- for(var6 = var2 - 1; var6 >= this.firstGridCol; --var6) {
- if (this.colProps.getProp(var6).gridAttri.allowSelect) {
- var2 = var6;
- break;
- }
- }
-
- if (var6 < this.firstGridCol && var3 > this.firstGridRow && this.selectionMode != 103) {
- for(int var7 = this.colQty - 1; var7 >= this.firstGridCol; --var7) {
- if (this.colProps.getProp(var7).gridAttri.allowSelect) {
- var2 = var7;
- --var3;
- break label170;
- }
- }
- }
- }
- break;
- case 414:
- if (this.selectionMode == 102) {
- if (this.firstVisibleCol < this.colQty - 1) {
- this.scrollGrid(404);
- }
- } else {
- int var4;
- for(var4 = var2 + 1; var4 < this.colQty; ++var4) {
- if (this.colProps.getProp(var4).gridAttri.allowSelect) {
- var2 = var4;
- break;
- }
- }
-
- if (var4 >= this.colQty && var3 < this.rowQty - 1 && this.selectionMode != 103) {
- for(int var5 = this.firstGridCol; var5 < this.colQty; ++var5) {
- if (this.colProps.getProp(var5).gridAttri.allowSelect) {
- var2 = var5;
- ++var3;
- break;
- }
- }
- }
- }
- }
-
- this.updateStatus |= 4;
- if (this.selectionMode == 105 && (var2 != this.editSelection.x || var3 != this.editSelection.y)) {
- this.setEditSelection(var2, var3);
- }
-
- this.setSelection(var2, var3, this.selection.width, this.selection.height);
- }
- }
-
- String description() {
- String var1 = new String();
- if (this.rowHeaderDefined && this.colHeaderDefined) {
- var1 = var1 + "row and column headers, ";
- } else if (this.rowHeaderDefined) {
- var1 = var1 + "row header, ";
- } else if (this.colHeaderDefined) {
- var1 = var1 + "column header, ";
- }
-
- var1 = var1 + this.gridRows + " rows, " + this.gridCols + " columns, ";
- if (this.autoScrollbars) {
- var1 = var1 + "auto";
- } else if (this.field_4.vert != null && this.field_4.horz != null) {
- var1 = var1 + "horz and vert";
- } else if (this.field_4.vert != null) {
- var1 = var1 + "vert";
- } else if (this.field_4.horz != null) {
- var1 = var1 + "horz";
- } else {
- var1 = var1 + "no";
- }
-
- var1 = var1 + " scrollbars";
- return var1;
- }
-
- private synchronized void setEditColumn(int var1, int var2) {
- if (this.editField == null) {
- ((Container)this).add(this.editField = new TextField());
- }
-
- this.editFieldOff = false;
- this.editRectangle = this.getEditSelectionRect(var1, var2);
- this.editField.reshape(0, 0, 0, 0);
- this.editField.setText(this.getElement(var1, var2) == null ? "" : this.getElement(var1, var2));
- this.editField.reshape(this.editRectangle.x, this.editRectangle.y, this.editRectangle.width, this.editRectangle.height);
- if (this.editSelectionChanged) {
- this.editField.selectAll();
- this.editSelectionChanged = false;
- }
-
- this.editField.requestFocus();
- this.editField.validate();
- }
-
- private synchronized int normalize(Graphics var1, Dimension var2) {
- int var7 = 0;
- int var11 = 0;
- int var12 = 0;
- String var14 = System.getProperty("os.name");
- byte var9;
- if (!var14.equals("Windows NT") && !var14.equals("Windows 95")) {
- var9 = 10;
- } else {
- var9 = 0;
- }
-
- if (this.rowQty - 1 > 1 && this.field_4.vert != null) {
- this.field_4.vert.setValues(this.firstVisibleRow - this.firstGridRow, var9, 0, this.rowQty - 1 - this.firstGridRow);
- }
-
- if (this.colQty - 1 > 1 && this.field_4.horz != null) {
- this.field_4.horz.setValues(this.firstVisibleCol - this.firstGridCol, var9, 0, this.colQty - 1 - this.firstGridCol);
- }
-
- for(int var10 = 0; var10 < this.colQty; ++var10) {
- CFGRIDTextAttributes var15;
- if ((var15 = this.colProps.getProp(var10).gridAttri).fontHeight == 0) {
- var15.setFontData(var1, var15.font == null ? this.defFont : var15.font);
- }
-
- if (this.colHeaderDefined && (var15 = this.colProps.getProp(var10).headerAttri).fontHeight == 0) {
- var15.setFontData(var1, var15.font == null ? this.defFont : var15.font);
- }
- }
-
- if (!this.normalized) {
- if (!this.colHeaderDefined) {
- var12 = 0;
- } else {
- int var8 = 0;
-
- for(int var38 = this.firstVisibleCol; var38 < this.colQty; ++var38) {
- var7 = this.colProps.getProp(var38).headerAttri.fontHeight;
- if (var8 < var7) {
- var8 = var7;
- }
- }
-
- CFGRIDRow var4 = this.rowList.getRow(0);
- var4.height = var8 + this.headerVertMarg * 2;
- var4.yBase = 0;
- var12 = var4.height + 1;
- }
-
- this.totalGridSize.height = var12;
- if (this.gridRows > 0) {
- int var30 = this.gridMinRowHeight;
-
- for(int var39 = 0; var39 < this.colQty; ++var39) {
- var7 = this.colProps.getProp(var39).gridAttri.fontHeight;
- if (var30 < var7) {
- var30 = var7;
- }
- }
-
- var30 += this.gridVertMarg * 2;
-
- for(int var33 = this.firstVisibleRow; var12 <= var2.height + 1 && var33 < this.rowQty; ++var33) {
- CFGRIDRow var21 = this.rowList.getRow(var33);
- var21.height = var30;
- var21.yBase = var12;
- var12 += var30 + 1;
- }
-
- Dimension var10000 = this.totalGridSize;
- var10000.height += (this.rowQty - 1) * (var30 + 1);
- var9 = var2.height - (this.colHeaderDefined ? this.rowList.getRow(0).height - 1 : 0);
- var12 = this.rowList.getRow(this.firstVisibleRow).height + 1;
- int var40 = var9 / var12;
- if (var40 * var12 < var9) {
- ++var40;
- }
-
- int var16 = this.firstVisibleRow + var40 - 1;
- if (var16 >= this.rowQty) {
- if (this.field_4.caller != null && this.field_4.caller.CFGRIDMessage(this.field_4, 530, (Rectangle)null)) {
- this.updateDisplay = false;
- return var16 - this.rowQty + 1;
- }
-
- var16 = this.rowQty - 1;
- }
-
- this.lastVisibleRow = var16;
- }
-
- if (this.totalGridSize.height < this.field_4.size().height) {
- int var50 = this.firstGridRow;
- int var17 = this.rowQty - 1;
- } else {
- int var51 = this.firstVisibleRow;
- int var52 = this.lastVisibleRow;
- }
-
- for(int var35 = 0; var35 < this.colQty; ++var35) {
- CFGRIDColProperties var5 = this.colProps.getProp(var35);
- int var32;
- if (!var5.modeAuto) {
- var32 = var5.width;
- } else {
- var32 = 0;
- if (this.rowHeaderDefined && var35 == 0) {
- CFGRIDTextAttributes var47 = var5.gridAttri;
- FontMetrics var6 = var47.fm;
- var7 = var47.horzMargin * 2;
- int var18 = 0;
-
- for(int var19 = this.rowQty > 11 ? this.rowQty + 10 : 11; var19 > 0; var19 /= 10) {
- var18 = var18 * 10 + 5;
- }
-
- var7 += var6.stringWidth(Integer.toString(var18));
- if (var32 < var7) {
- var32 = var7;
- }
-
- var5.modeAuto = false;
- var5.width = var32;
- }
-
- if (this.colHeaderDefined) {
- CFGRIDTextAttributes var48 = var5.headerAttri;
- var7 = var48.horzMargin * 2;
- CFGRIDCell var3;
- String var13;
- if ((var3 = this.rowList.getRow(0).getCell(var35)) != null && (var13 = (String)var3.elem) != null) {
- var7 += var48.fm.stringWidth(var13);
- }
-
- if (var32 < var7) {
- var32 = var7;
- }
- }
-
- if (this.gridRows > 0) {
- CFGRIDTextAttributes var49 = var5.gridAttri;
- FontMetrics var23 = var49.fm;
-
- for(int var41 = this.firstGridRow; var41 < this.rowQty; ++var41) {
- var7 = var49.horzMargin * 2;
- CFGRIDCell var20;
- String var45;
- if ((var20 = this.rowList.getRow(var41).getCell(var35)) != null && (var45 = (String)var20.elem) != null) {
- if (var49.format != null && var49.formatType == 1) {
- var45 = Format.formatNumber(var45, var49.format);
- }
-
- var7 += var23.stringWidth(var45);
- }
-
- if (var32 < var7) {
- var32 = var7;
- }
- }
- }
-
- if (var32 > var5.maxAutoWidth) {
- var32 = var5.maxAutoWidth;
- }
-
- if (var35 < this.colQty - 1) {
- var5.modeAuto = false;
- }
- }
-
- var5.width = var32;
- }
-
- var11 = this.rowHeaderDefined ? this.colProps.getProp(0).width + 1 : 0;
- if (this.gridCols > 0) {
- for(var9 = this.firstVisibleCol; var9 < this.colQty && var11 < var2.width; ++var9) {
- CFGRIDColProperties var22 = this.colProps.getProp(var9);
- var22.xBase = var11;
- var11 += var22.width + 1;
- }
-
- this.lastVisibleCol = var9 - 1;
- }
-
- var9 = 0;
-
- for(this.totalGridSize.width = 0; var9 < this.colQty; ++var9) {
- Dimension var53 = this.totalGridSize;
- var53.width += this.colProps.getProp(var9).width + 1;
- }
-
- if (this.rowHeaderDefined) {
- this.mainOrigo.x = this.colProps.getProp(0).width + 1;
- }
-
- if (this.colHeaderDefined) {
- this.mainOrigo.y = this.rowList.getRow(0).height + 1;
- }
-
- this.normalized = true;
- }
-
- return 0;
- }
-
- synchronized void setColHeaderAlignment(int var1, int var2) {
- if (this.colHeaderDefined && var2 >= 0) {
- if (var1 == 202 || var1 == 201 || var1 == 203) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).headerAttri.alignment = var1;
- this.fixUpdate(true, 2);
- }
- }
- }
- }
-
- synchronized void setColHeaderAlignment(int var1) {
- if (this.colHeaderDefined) {
- if (var1 == 202 || var1 == 201 || var1 == 203) {
- for(int var2 = this.firstGridCol; var2 < this.colQty; ++var2) {
- this.colProps.getProp(var2).headerAttri.alignment = var1;
- }
-
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setRowHeaderAlignment(int var1) {
- if (this.rowHeaderDefined) {
- if (var1 == 202 || var1 == 201 || var1 == 203) {
- this.colProps.getProp(0).gridAttri.alignment = var1;
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setGridAlignment(int var1, int var2) {
- if (var2 >= 0) {
- if (var1 == 202 || var1 == 201 || var1 == 203) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).gridAttri.alignment = var1;
- this.fixUpdate(true, 2);
- }
- }
- }
- }
-
- synchronized void setGridAlignment(int var1) {
- if (var1 == 202 || var1 == 201 || var1 == 203) {
- for(int var2 = this.firstGridCol; var2 < this.colQty; ++var2) {
- this.colProps.getProp(var2).gridAttri.alignment = var1;
- }
-
- this.fixUpdate(true, 2);
- }
- }
-
- synchronized String getElement(int var1, int var2) {
- var2 += this.firstGridCol;
- var1 += this.firstGridRow;
- if (var1 < this.rowQty && var1 >= 0 && var2 < this.colQty && var2 >= 0) {
- return this.rowList.getRow(var1).getCell(var2) != null ? (String)this.rowList.getRow(var1).getCell(var2).get() : null;
- } else {
- return null;
- }
- }
-
- synchronized void setColReadOnly(boolean var1, int var2) {
- if (var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty && this.selectionMode != 102) {
- this.colProps.getProp(var2).gridAttri.setAllowSelect(!var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setElement(String var1, int var2, int var3) {
- var3 += this.firstGridCol;
- var2 += this.firstGridRow;
- if (var2 < this.rowQty && var2 >= 0 && var3 < this.colQty && var3 >= 0) {
- if (this.rowList.getRow(var2).getCell(var3) == null) {
- this.rowList.getRow(var2).setCell(var2, var3);
- }
-
- this.rowList.getRow(var2).getCell(var3).set(var1);
- if (this.rowOnDisplay(var2) && this.colOnDisplay(var3)) {
- this.fixUpdate(true, 2);
- }
-
- }
- }
-
- synchronized void scrollGrid(int var1) {
- boolean var2 = true;
- switch (var1) {
- case 401:
- if (this.firstVisibleRow > this.firstGridRow) {
- this.firstVisibleRow += -1;
- } else {
- var2 = false;
- }
- break;
- case 402:
- if (this.firstVisibleRow < this.rowQty - 1) {
- ++this.firstVisibleRow;
- } else {
- var2 = false;
- }
- break;
- case 403:
- if (this.firstVisibleCol > this.firstGridCol) {
- this.firstVisibleCol += -1;
- } else {
- var2 = false;
- }
- break;
- case 404:
- if (this.firstVisibleCol < this.colQty - 1) {
- ++this.firstVisibleCol;
- } else {
- var2 = false;
- }
- break;
- case 405:
- if (this.gridRows > 0) {
- this.firstVisibleRow -= (((Component)this).size().height - this.mainOrigo.y) / (this.rowList.getRow(this.lastVisibleRow).height + 1);
- if (this.firstVisibleRow < this.firstGridRow) {
- this.firstVisibleRow = this.firstGridRow;
- }
- }
- break;
- case 406:
- if (this.gridRows > 0) {
- this.firstVisibleRow += (((Component)this).size().height - this.mainOrigo.y) / (this.rowList.getRow(this.lastVisibleRow).height + 1);
- if (this.firstVisibleRow >= this.rowQty) {
- this.firstVisibleRow = this.rowQty - 1;
- }
- }
- break;
- case 407:
- if (this.gridCols > 0) {
- int var4 = ((Component)this).size().width - this.mainOrigo.x;
-
- int var5;
- for(var5 = this.firstVisibleCol - 1; var5 >= this.firstGridCol; --var5) {
- var4 -= this.colProps.getProp(var5).width - 1;
- if (var4 <= 0) {
- break;
- }
- }
-
- if (this.firstVisibleCol == var5 + 1 && this.firstVisibleCol > this.firstGridCol) {
- this.firstVisibleCol = var5;
- } else {
- this.firstVisibleCol = var5 + 1;
- }
- }
- break;
- case 408:
- if (this.gridCols > 0) {
- CFGRIDColProperties var3 = this.colProps.getProp(this.lastVisibleCol);
- if (var3.xBase + var3.width > ((Component)this).size().width && this.firstVisibleCol != this.lastVisibleCol) {
- this.firstVisibleCol = this.lastVisibleCol;
- } else {
- this.firstVisibleCol = this.lastVisibleCol + 1;
- }
-
- if (this.firstVisibleCol >= this.colQty) {
- this.firstVisibleCol = this.colQty - 1;
- }
- }
- break;
- case 409:
- if (this.firstVisibleRow > this.firstGridRow) {
- this.firstVisibleRow = this.firstGridRow;
- } else {
- var2 = false;
- }
- break;
- case 410:
- if (this.firstVisibleRow < this.rowQty - 1) {
- this.firstVisibleRow = this.rowQty - 1;
- } else {
- var2 = false;
- }
- break;
- case 411:
- if (this.gridRows > 0) {
- this.firstVisibleRow = this.field_4.vert.getValue();
- if (this.colHeaderDefined) {
- ++this.firstVisibleRow;
- }
- }
- break;
- case 412:
- if (this.gridCols > 0) {
- this.firstVisibleCol = this.field_4.horz.getValue();
- if (this.rowHeaderDefined) {
- ++this.firstVisibleCol;
- }
- }
- break;
- default:
- var2 = false;
- }
-
- if (var2) {
- this.fixUpdate(true, 2);
- if (this.selectionMode == 105) {
- Rectangle var6 = this.getEditSelection();
- if (!this.isVisible(var6.y, var6.x)) {
- this.hideEditColumn();
- }
- }
- }
-
- }
-
- private synchronized int innerPaint(Graphics var1) {
- Dimension var10 = ((Component)this).size();
- Dimension var11 = new Dimension();
- if (this.defFont == null) {
- this.defFont = ((Component)this).getFont();
-
- Container var12;
- for(var12 = ((Component)this).getParent(); !(var12 instanceof Frame); var12 = ((Component)var12).getParent()) {
- }
-
- this.parentFrame = (Frame)var12;
- }
-
- if (this.rowQty != 0 && this.colQty != 0) {
- this.fixOffscreenBuffer(var10);
- int var5;
- if ((var5 = this.normalize(this.offgraphics, var10)) > 0) {
- return var5;
- } else {
- if (this.autoScrollbars) {
- if ((var5 = this.fixAutoScrollbars(this.offgraphics, var10)) > 0) {
- return var5;
- }
-
- var10 = ((Component)this).size();
- }
-
- this.offgraphics.setColor(this.bgRegular);
- this.offgraphics.fillRect(0, 0, var10.width, var10.height);
- int var59 = this.mainOrigo.x;
- int var13 = this.mainOrigo.y;
- int var3;
- if (this.gridCols > 0) {
- var3 = this.colProps.getProp(this.lastVisibleCol).xBase + this.colProps.getProp(this.lastVisibleCol).width;
- } else {
- var3 = var59;
- }
-
- if (this.lastVisibleCol == this.colQty - 1 && this.colProps.getProp(this.lastVisibleCol).modeAuto) {
- CFGRIDColProperties var14 = this.colProps.getProp(this.lastVisibleCol);
- var14.modeAuto = false;
- if (var3 < var10.width) {
- int var15 = var10.width - var14.xBase;
- if (this.field_4.vert != null && this.field_4.vert.isVisible()) {
- var15 -= 15;
- }
-
- var14.width = var15 > var14.width ? var15 : var14.width;
- var3 = var14.xBase + var14.width;
- }
- }
-
- if (this.gridRows > 0) {
- var5 = this.rowList.getRow(this.lastVisibleRow).yBase + this.rowList.getRow(this.lastVisibleRow).height;
- } else {
- var5 = var13;
- }
-
- var11.width = var3 > var10.width ? var10.width : var3;
- var11.height = var5 > var10.height ? var10.height : var5;
- this.gridDisplayHeight = var11.height - 1;
- this.offgraphics.setColor(Color.lightGray);
- if (this.colHeaderDefined && this.rowHeaderDefined) {
- this.offgraphics.fillRect(0, 0, this.colProps.getProp(0).width - 1, this.rowList.getRow(0).height - 1);
- }
-
- this.offgraphics.setColor(Color.white);
- if (this.colHeaderDefined) {
- this.offgraphics.drawLine(0, 0, var11.width - 1, 0);
- }
-
- if (this.rowHeaderDefined) {
- this.offgraphics.drawLine(0, 0, 0, var11.height - 1);
- }
-
- if (this.colHeaderDefined && this.rowHeaderDefined) {
- this.offgraphics.drawLine(1, 1, 1, this.rowList.getRow(0).height - 1);
- this.offgraphics.drawLine(2, 1, this.colProps.getProp(0).width - 1, 1);
- }
-
- this.offgraphics.setColor(Color.gray);
- if (this.colHeaderDefined) {
- var5 = this.rowList.getRow(0).height - 1;
- this.offgraphics.drawLine(0, var5, var11.width - 1, var5);
- }
-
- if (this.rowHeaderDefined) {
- var3 = this.colProps.getProp(0).width - 1;
- this.offgraphics.drawLine(var3, 1, var3, var11.height - 1);
- }
-
- if (this.colHeaderDefined && this.rowHeaderDefined) {
- var3 = this.colProps.getProp(0).width - 1;
- var5 = this.rowList.getRow(0).height - 1;
- this.offgraphics.drawLine(var3 - 1, 2, var3 - 1, var5 - 2);
- this.offgraphics.drawLine(1, var5 - 1, var3, var5 - 1);
- }
-
- this.offgraphics.setColor(Color.black);
- if (this.colHeaderDefined) {
- var5 = this.rowList.getRow(0).height;
- this.offgraphics.drawLine(0, var5, var11.width, var5);
- }
-
- if (this.rowHeaderDefined) {
- var3 = this.colProps.getProp(0).width;
- this.offgraphics.drawLine(var3, 0, var3, var11.height - 1);
- }
-
- if (this.colHeaderDefined && this.gridCols > 0) {
- int var7 = this.rowList.getRow(0).height;
- this.offgraphics.setColor(Color.lightGray);
-
- for(int var8 = this.firstVisibleCol; var8 <= this.lastVisibleCol; ++var8) {
- CFGRIDColProperties var16 = this.colProps.getProp(var8);
- var3 = this.colProps.getProp(var8).xBase;
- this.offgraphics.fillRect(var3, 0, var16.width, var7 - 1);
- }
-
- this.offgraphics.setColor(Color.white);
-
- for(int var47 = this.firstVisibleCol; var47 <= this.lastVisibleCol; ++var47) {
- var3 = this.colProps.getProp(var47).xBase;
- this.offgraphics.drawLine(var3, 1, var3, var7 - 2);
- }
-
- this.offgraphics.setColor(Color.gray);
-
- for(int var48 = this.firstVisibleCol; var48 <= this.lastVisibleCol; ++var48) {
- CFGRIDColProperties var17 = this.colProps.getProp(var48);
- var3 = var17.xBase + var17.width - 1;
- this.offgraphics.drawLine(var3, 1, var3, var7 - 1);
- }
-
- this.offgraphics.setColor(Color.black);
-
- for(int var49 = this.firstVisibleCol; var49 <= this.lastVisibleCol; ++var49) {
- CFGRIDColProperties var18 = this.colProps.getProp(var49);
- if ((var3 = var18.xBase + var18.width) > var10.width) {
- break;
- }
-
- if (this.gridLines) {
- this.offgraphics.drawLine(var3, 0, var3, var49 == this.colQty - 1 ? var11.height : var7);
- } else {
- this.offgraphics.drawLine(var3, 0, var3, var7);
- }
- }
-
- for(int var50 = this.firstVisibleCol; var50 <= this.lastVisibleCol; ++var50) {
- CFGRIDColProperties var19 = this.colProps.getProp(var50);
- this.setTextAttributes(var19.headerAttri);
- this.paintCell(0, var50, var19.xBase, 0);
- }
- } else if (this.lastVisibleCol == this.colQty - 1 && this.gridLines) {
- CFGRIDColProperties var2 = this.colProps.getProp(this.lastVisibleCol);
- if ((var3 = var2.xBase + var2.width) < var10.width) {
- this.offgraphics.drawLine(var3, 0, var3, var11.height);
- }
- }
-
- if (this.rowHeaderDefined && this.gridRows > 0) {
- int var6 = this.colProps.getProp(0).width;
- this.offgraphics.setColor(Color.lightGray);
-
- for(int var51 = this.firstVisibleRow; var51 <= this.lastVisibleRow; ++var51) {
- CFGRIDRow var32 = this.rowList.getRow(var51);
- this.offgraphics.fillRect(0, var32.yBase, var6 - 1, var32.height);
- }
-
- this.offgraphics.setColor(Color.white);
-
- for(int var52 = this.firstVisibleRow; var52 <= this.lastVisibleRow; ++var52) {
- var5 = this.rowList.getRow(var52).yBase;
- this.offgraphics.drawLine(1, var5, var6 - 1, var5);
- }
-
- this.offgraphics.setColor(Color.gray);
-
- for(int var53 = this.firstVisibleRow; var53 <= this.lastVisibleRow; ++var53) {
- CFGRIDRow var33 = this.rowList.getRow(var53);
- var5 = var33.yBase + var33.height - 1;
- this.offgraphics.drawLine(0, var5, var6 - 1, var5);
- }
-
- this.offgraphics.setColor(Color.black);
-
- for(int var54 = this.firstVisibleRow; var54 <= this.lastVisibleRow; ++var54) {
- CFGRIDRow var34 = this.rowList.getRow(var54);
- if ((var5 = var34.yBase + var34.height) > var10.height) {
- break;
- }
-
- if (this.gridLines) {
- this.offgraphics.drawLine(0, var5, var54 == this.rowQty - 1 ? var11.width : var6, var5);
- } else {
- this.offgraphics.drawLine(0, var5, var6, var5);
- }
- }
-
- this.setTextAttributes(this.colProps.getProp(0).gridAttri);
-
- for(int var55 = this.firstVisibleRow; var55 <= this.lastVisibleRow; ++var55) {
- this.paintCell(var55, 0, 0, this.rowList.getRow(var55).yBase);
- }
- } else if (this.lastVisibleRow == this.rowQty - 1) {
- CFGRIDRow var4 = this.rowList.getRow(this.lastVisibleRow);
- if ((var5 = var4.yBase + var4.height) < var10.height && this.gridLines) {
- this.offgraphics.drawLine(0, var5, var11.width, var5);
- }
- }
-
- this.offgraphics.setColor(Color.gray);
- if (this.gridRows > 0 && this.gridCols > 0) {
- if (this.gridLines) {
- var5 = this.rowList.getRow(this.firstVisibleRow).yBase;
-
- for(int var56 = this.firstVisibleCol; var56 <= this.lastVisibleCol; ++var56) {
- CFGRIDColProperties var20 = this.colProps.getProp(var56);
- if ((var3 = var20.xBase + var20.width) > var11.width || var56 == this.colQty - 1) {
- break;
- }
-
- this.offgraphics.drawLine(var3, var5, var3, var11.height - 1);
- }
-
- var3 = this.colProps.getProp(this.firstVisibleCol).xBase;
-
- for(int var57 = this.firstVisibleRow; var57 <= this.lastVisibleRow; ++var57) {
- CFGRIDRow var35 = this.rowList.getRow(var57);
- if ((var5 = var35.yBase + var35.height) > var11.height || var57 == this.rowQty - 1) {
- break;
- }
-
- this.offgraphics.drawLine(var3, var5, var11.width - 1, var5);
- }
- }
-
- for(int var9 = this.firstVisibleCol; var9 <= this.lastVisibleCol; ++var9) {
- CFGRIDColProperties var21 = this.colProps.getProp(var9);
- this.setTextAttributes(var21.gridAttri);
-
- for(int var58 = this.firstVisibleRow; var58 <= this.lastVisibleRow; ++var58) {
- this.paintCell(var58, var9, var21.xBase, this.rowList.getRow(var58).yBase);
- }
- }
- }
-
- if (this.gap == 2 && this.gridLines) {
- this.offgraphics.setColor(Color.black);
- if ((this.field_4.vert == null || !this.field_4.vert.isVisible()) && var11.width == var10.width) {
- this.vertBorder = var11.height;
- this.offgraphics.drawLine(var10.width - 1, 0, var10.width - 1, this.vertBorder);
- } else {
- this.vertBorder = 0;
- }
-
- if ((this.field_4.horz == null || !this.field_4.horz.isVisible()) && var11.height == var10.height && !this.field_4.actionBar) {
- this.horzBorder = var11.width;
- this.offgraphics.drawLine(0, var10.height - 1, this.horzBorder, var10.height - 1);
- } else {
- this.horzBorder = 0;
- }
- }
-
- var1.drawImage(this.offscreen, 0, 0, (ImageObserver)null);
- if (this.resizedCol >= 0) {
- var1.setColor(Color.black);
- var1.drawLine(this.resizedX, 0, this.resizedX, this.gridDisplayHeight);
- }
-
- return 0;
- }
- } else {
- return 0;
- }
- }
-
- private synchronized void resetElement(int var1, int var2) {
- if (this.editField != null && !this.editFieldOff) {
- this.setElement(this.editField.getText() == null ? "" : this.editField.getText(), var1, var2);
- if (this.field_4.caller != null) {
- this.field_4.caller.CFGRIDMessage(this.field_4, 550, this.getSelection());
- }
-
- }
- }
-
- private boolean rowOnDisplay(int var1) {
- return var1 >= this.firstVisibleRow && var1 <= this.lastVisibleRow;
- }
-
- private void fixUpdate(boolean var1, int var2) {
- if (var1) {
- this.normalized = false;
- }
-
- this.updateStatus |= var2;
- if (this.updateDisplay || (this.updateStatus & 4) == 4) {
- ((Component)this).repaint();
- }
-
- }
-
- synchronized void setUserRowAttribute(Object var1, int var2) {
- if (var2 >= 0) {
- var2 += this.firstGridRow;
- if (var2 < this.rowQty) {
- this.rowList.getRow(var2).userAttri = var1;
- }
- }
- }
-
- synchronized Object getUserRowAttribute(int var1) {
- if (var1 < 0) {
- return null;
- } else {
- var1 += this.firstGridRow;
- return var1 >= this.rowQty ? null : this.rowList.getRow(var1).userAttri;
- }
- }
-
- public synchronized void update(Graphics var1) {
- Dimension var2 = ((Component)this).size();
- if (this.offscreen != null && var2.width == this.offscreensize.width && var2.height == this.offscreensize.height && (this.updateStatus & 2) == 0) {
- if ((this.updateStatus & 1) != 0) {
- this.smallUpdate(var1);
- }
- } else {
- this.paint(var1);
- }
-
- this.updateStatus = 0;
- }
-
- public CFGRIDImage getImage(String var1) {
- int var2 = this.getImageNDX(var1);
- if (var2 < 0) {
- return null;
- } else {
- return this.imageObject[var2].invalid ? null : this.getImageResource(var2);
- }
- }
-
- synchronized void setColHeaderFont(Font var1, int var2) {
- if (this.colHeaderDefined && var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).headerAttri.setFont(var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setColHeaderFont(Font var1) {
- if (this.colHeaderDefined) {
- for(int var2 = this.firstGridCol; var2 < this.colQty; ++var2) {
- this.colProps.getProp(var2).headerAttri.setFont(var1);
- }
-
- this.fixUpdate(true, 2);
- }
- }
-
- synchronized void setRowHeaderFont(Font var1) {
- if (this.rowHeaderDefined && this.colQty != 0) {
- this.colProps.getProp(0).gridAttri.setFont(var1);
- this.fixUpdate(true, 2);
- }
- }
-
- synchronized void setGridFont(Font var1, int var2) {
- if (var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).gridAttri.setFont(var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setGridFont(Font var1) {
- if (this.rowQty != 0 || this.colQty != 0) {
- for(int var2 = this.firstGridCol; var2 < this.colQty; ++var2) {
- this.colProps.getProp(var2).gridAttri.setFont(var1);
- }
-
- this.fixUpdate(true, 2);
- }
- }
-
- private synchronized Point pickColumnHeaderCell(int var1, int var2) {
- if (this.resizedCol < 0 && this.gridRows > 0 && this.gridCols > 0 && var1 >= this.mainOrigo.x && var2 < this.mainOrigo.y) {
- int var3;
- for(var3 = this.firstVisibleCol; var3 <= this.lastVisibleCol && var1 > this.colProps.getProp(var3).xBase + this.colProps.getProp(var3).width; ++var3) {
- }
-
- if (var3 < this.colQty) {
- if (this.selectionMode == 105) {
- if (!this.editFieldOff) {
- this.resetElement(this.editSelection.y - 1, this.rowHeaderDefined ? this.editSelection.x - 1 : this.editSelection.x);
- this.editFieldOff = true;
- }
-
- this.hideEditColumn();
- }
-
- this.updateStatus |= 4;
- this.setReverseVideo(var3, this.firstGridRow, 1, this.rowQty);
- return new Point(var3, 0);
- }
- }
-
- return null;
- }
-
- private void paintCell(int var1, int var2, int var3, int var4) {
- int var6 = this.colProps.getProp(var2).width;
- int var7 = this.rowList.getRow(var1).height;
- CFGRIDCell var5;
- if ((var5 = this.getDisplayCell(var1, var2)) != null) {
- if (!this.isSelected(var1, var2)) {
- if (var5.dirty) {
- this.offgraphics.setColor(this.bgRegular);
- this.offgraphics.fillRect(var3, var4, var6, var7);
- this.offgraphics.setColor(this.textAttri.textColor);
- }
- } else {
- if (this.reversevideo) {
- this.offgraphics.setColor(Color.black);
- } else {
- this.offgraphics.setColor(this.selectionMode != 105 && this.selectionMode != 104 ? this.bgSelection : this.bgRegular);
- }
-
- this.offgraphics.fillRect(var3, var4, var6, var7);
- this.offgraphics.setColor(this.reversevideo ? Color.white : this.textAttri.textColor);
- if (this.selectionMode == 105 && !this.reversevideo) {
- Rectangle var8 = this.getEditSelection();
- Rectangle var9 = this.getEditSelectionRect(var8.y, var8.x);
- if (var9.x != this.editRectangle.x || var9.y != this.editRectangle.y || var9.width != this.editRectangle.width || var9.height != this.editRectangle.height) {
- this.moveEditColumn(var8.y, var8.x);
- }
- }
- }
-
- if (var5.elem instanceof String) {
- String var16 = (String)var5.elem;
- CFGRIDImage var17 = null;
- int var10 = this.textAttri.horzMargin * 2;
- if (this.textAttri.image) {
- var17 = this.getImage(var16);
- }
-
- if (var17 == null) {
- if (this.textAttri.format != null && this.textAttri.formatType == 1) {
- var16 = Format.formatNumber(var16, this.textAttri.format);
- }
-
- if (this.field_1.stringWidth(var16) + var10 > var6) {
- int var18;
- for(var18 = 1; this.field_1.stringWidth(var16.substring(0, var18)) + var10 <= var6; ++var18) {
- }
-
- var16 = var16.substring(0, var18 - 1);
- var3 += this.textAttri.horzMargin;
- } else {
- switch (this.textAttri.alignment) {
- case 201:
- var3 += (var6 - this.field_1.stringWidth(var16)) / 2;
- break;
- case 202:
- var3 += this.textAttri.horzMargin;
- break;
- case 203:
- var3 += var6 - this.field_1.stringWidth(var16) - this.textAttri.horzMargin;
- }
- }
-
- var4 += var7;
- var4 -= this.field_3 + (var7 - (this.field_2 + this.field_3)) / 2;
- this.offgraphics.drawString(var16, var3, var4);
- if (this.textAttri.underline) {
- this.offgraphics.drawLine(var3, var4 + 1, var3 + this.field_1.stringWidth(var16), var4 + 1);
- }
- } else {
- int var11 = var17.width;
- int var12 = var17.height;
- if (var11 + var10 > var6) {
- var11 = var6;
- } else {
- switch (this.textAttri.alignment) {
- case 201:
- var3 += (var6 - var11) / 2;
- break;
- case 202:
- var3 += this.textAttri.horzMargin;
- break;
- case 203:
- var3 += var6 - var11 - this.textAttri.horzMargin;
- }
- }
-
- if (var12 > var7) {
- var12 = var7;
- } else {
- var4 += (var7 - var12) / 2;
- }
-
- if (var11 == var17.width && var12 == var17.height) {
- this.offgraphics.drawImage(var17.image, var3, var4, (ImageObserver)null);
- } else {
- Graphics var13 = this.offscreen.getGraphics();
- var13.clipRect(var3, var4, var11, var12);
- var13.drawImage(var17.image, var3, var4, (ImageObserver)null);
- var13.dispose();
- }
- }
- }
-
- var5.dirty = false;
- }
-
- }
-
- synchronized void adjustSelection() {
- if (this.selection.width > 0 && this.selection.height > 0) {
- if (this.selection.x >= this.colQty || this.selection.y >= this.rowQty) {
- this.clearSelection();
- return;
- }
-
- if (this.selectionMode == 102) {
- this.selection.x = this.firstGridCol;
- this.selection.width = this.colQty;
- return;
- }
-
- if (this.selectionMode == 103) {
- this.selection.y = this.firstGridRow;
- this.selection.height = this.rowQty;
- }
- }
-
- }
-
- synchronized Rectangle getEditSelectionRect(int var1, int var2) {
- Dimension var3 = ((Component)this).size();
- var2 = this.rowHeaderDefined ? var2 + 1 : var2;
- int var4 = this.colProps.getProp(var2).xBase;
- int var5 = this.rowList.getRow(this.colHeaderDefined ? var1 + 1 : var1).yBase;
- int var6 = this.colProps.getProp(var2).width;
- int var7 = this.rowList.getRow(this.colHeaderDefined ? var1 + 1 : var1).height;
- if (var2 == this.lastVisibleCol && var4 + var6 > var3.width) {
- var6 = var3.width - var4;
- }
-
- return new Rectangle(var4, var5 - 2, var6, var7 + 5);
- }
-
- synchronized void setColHeaderHorzMargin(int var1, int var2) {
- if (this.colHeaderDefined && var1 >= 0) {
- var1 += this.firstGridCol;
- if (var1 < this.colQty) {
- this.colProps.getProp(var1).headerAttri.horzMargin = var2;
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setColHeaderHorzMargin(int var1) {
- if (this.colHeaderDefined) {
- for(int var2 = this.firstGridCol; var2 < this.colQty; ++var2) {
- this.colProps.getProp(var2).headerAttri.horzMargin = var1;
- }
-
- this.fixUpdate(true, 2);
- }
- }
-
- synchronized void setRowHeaderHorzMargin(int var1) {
- if (this.rowHeaderDefined) {
- this.colProps.getProp(0).gridAttri.horzMargin = var1;
- this.fixUpdate(true, 2);
- }
- }
-
- synchronized void setGridHorzMargin(int var1, int var2) {
- if (var1 >= 0) {
- var1 += this.firstGridCol;
- if (var1 < this.colQty) {
- this.colProps.getProp(var1).gridAttri.horzMargin = var2;
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void setGridHorzMargin(int var1) {
- for(int var2 = this.firstGridCol; var2 < this.colQty; ++var2) {
- this.colProps.getProp(var2).gridAttri.horzMargin = var1;
- }
-
- this.fixUpdate(true, 2);
- }
-
- synchronized String getColHeaderElement(int var1) {
- if (this.colHeaderDefined && var1 >= 0) {
- var1 += this.firstGridCol;
- return var1 >= this.colQty ? null : (String)this.rowList.getRow(0).getCell(var1).get();
- } else {
- return null;
- }
- }
-
- synchronized void setColHeaderElement(String var1, int var2) {
- if (this.colHeaderDefined && var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- if (this.rowList.getRow(0).getCell(var2) == null) {
- this.rowList.getRow(0).setCell(0, var2);
- }
-
- this.rowList.getRow(0).getCell(var2).set(var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized String getRowHeaderElement(int var1) {
- if (this.rowHeaderDefined && var1 >= 0) {
- var1 += this.firstGridRow;
- return var1 >= this.rowQty ? null : (String)this.rowList.getRow(var1).getCell(0).get();
- } else {
- return null;
- }
- }
-
- synchronized void setRowHeaderElement(String var1, int var2) {
- if (this.rowHeaderDefined && var2 >= 0) {
- var2 += this.firstGridRow;
- if (var2 < this.rowQty) {
- if (this.rowList.getRow(var2).getCell(0) == null) {
- this.rowList.getRow(var2).setCell(var2, 0);
- }
-
- this.rowList.getRow(var2).getCell(0).set(var1);
- if (this.rowOnDisplay(var2)) {
- this.fixUpdate(true, 2);
- }
-
- }
- }
- }
-
- private boolean isSelected(int var1, int var2) {
- return var2 >= this.selection.x && var2 < this.selection.x + this.selection.width && var1 >= this.selection.y && var1 < this.selection.y + this.selection.height;
- }
-
- public void paint(Graphics var1) {
- if (!this.fastPaintOK(var1)) {
- int var2 = this.innerPaint(var1);
- if (var2 > 0 && this.field_4.caller != null && this.field_4.caller.CFGRIDMessage(this.field_4, 540, (Rectangle)null)) {
- this.field_4.updateGridDisplay(true);
- }
-
- }
- }
-
- private synchronized void moveEditColumn(int var1, int var2) {
- if (this.editField != null) {
- int var3 = this.editField.getSelectionStart();
- int var4 = this.editField.getSelectionEnd();
- this.editRectangle = this.getEditSelectionRect(var1, var2);
- this.editField.reshape(this.editRectangle.x, this.editRectangle.y, this.editRectangle.width, this.editRectangle.height);
- if (this.editSelectionChanged) {
- this.editField.selectAll();
- this.editSelectionChanged = false;
- } else {
- this.editField.select(var3, var4);
- }
-
- this.editField.requestFocus();
- this.editField.validate();
- }
- }
-
- private synchronized void hideEditColumn() {
- if (this.editField != null) {
- if (this.editRectangle.width != 0 || this.editRectangle.height != 0) {
- this.editRectangle.x = 0;
- this.editRectangle.y = 0;
- this.editRectangle.width = 0;
- this.editRectangle.height = 0;
- this.editField.reshape(this.editRectangle.x, this.editRectangle.y, this.editRectangle.width, this.editRectangle.height);
- }
- }
- }
-
- synchronized void setColFormat(String var1, int var2, int var3) {
- if (var1 != null) {
- if (var3 >= 0) {
- var3 += this.firstGridCol;
- if (var3 < this.colQty) {
- this.colProps.getProp(var3).gridAttri.setFormat(var1, var2);
- this.fixUpdate(true, 2);
- }
- }
- }
- }
-
- synchronized void setSelectionMode(int var1) {
- if (var1 == 101 || var1 == 102 || var1 == 103 || var1 == 104 || var1 == 105) {
- this.selectionMode = var1;
- this.selection.width = this.selection.height = 0;
- }
-
- }
-
- private void fixOffscreenBuffer(Dimension var1) {
- if (this.offscreen == null || var1.width != this.offscreensize.width || var1.height != this.offscreensize.height) {
- this.offscreen = ((Component)this).createImage(var1.width, var1.height);
- this.offscreensize = var1;
- this.offgraphics = this.offscreen.getGraphics();
- this.normalized = false;
- }
-
- }
-
- protected void finalize() {
- if (this.offgraphics != null) {
- this.offgraphics.dispose();
- }
-
- }
-
- private int getImageNDX(String var1) {
- int var2 = -1;
-
- for(int var3 = 0; var3 < this.numimages; ++var3) {
- if (var1.equalsIgnoreCase(this.imageObject[var3].getName())) {
- var2 = var3;
- break;
- }
- }
-
- return var2;
- }
-
- private void markDirty(Rectangle var1) {
- if (this.gridRows != 0 && this.gridCols != 0 && var1.width != 0 && var1.height != 0) {
- int var2 = var1.y + var1.height;
- int var3 = var1.x + var1.width;
- if (var2 > this.rowQty) {
- var2 = this.rowQty;
- }
-
- if (var3 > this.colQty) {
- var3 = this.colQty;
- }
-
- for(int var4 = var1.x; var4 < var3; ++var4) {
- for(int var5 = var1.y; var5 < var2; ++var5) {
- CFGRIDCell var6 = this.rowList.getRow(var5).getCell(var4);
- if (var6 == null) {
- this.rowList.getRow(var5).setCell(var5, var4);
- var6 = this.rowList.getRow(var5).getCell(var4);
- }
-
- var6.dirty = true;
- }
- }
-
- }
- }
-
- synchronized void setColUnderline(boolean var1, int var2) {
- if (var2 >= 0) {
- var2 += this.firstGridCol;
- if (var2 < this.colQty) {
- this.colProps.getProp(var2).gridAttri.setUnderline(var1);
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized void updateGridDisplay(boolean var1) {
- if (this.updateDisplay = var1) {
- this.fixUpdate(true, 2);
- }
-
- }
-
- synchronized void setRows(int var1) {
- if (var1 >= 0) {
- var1 += this.firstGridRow;
- if (var1 != this.rowQty) {
- for(int var3 = this.rowQty; var3 < var1; ++var3) {
- CFGRIDRow var2 = new CFGRIDRow();
- ((Vector)var2).setSize(this.colQty);
- this.rowList.addElement(var2);
- }
-
- this.rowQty = this.gridRows = var1;
- this.gridRows -= this.firstGridRow;
- this.rowList.setSize(this.rowQty);
- if (this.firstVisibleRow >= this.rowQty) {
- this.firstVisibleRow = this.firstGridRow;
- }
-
- this.adjustSelection();
- this.fixUpdate(true, 2);
- }
- }
- }
-
- synchronized int getDataType(int var1) {
- return var1 >= this.colQty ? 0 : this.colProps.getProp(this.rowHeaderDefined ? var1 + 1 : var1).gridAttri.dataType;
- }
- }
-