home *** CD-ROM | disk | FTP | other *** search
- package jclass.table;
-
- import java.applet.Applet;
- import java.applet.AppletContext;
- 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.Frame;
- import java.awt.Graphics;
- import java.awt.LayoutManager;
- import java.awt.Panel;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.TextComponent;
- import java.util.Vector;
- import jclass.util.JCString;
- import jclass.util.JCVector;
-
- public class Table extends Panel implements Runnable {
- public static final String about = "JClass LiveTable by KL Group (www.klg.com)";
- public static final String version = JCVersion.getVersionString();
- int rows;
- int columns;
- int allow_cell_resize;
- JCVector cells;
- JCVector column_labels;
- int column_label_placement;
- boolean column_label_sort;
- int column_label_offset;
- boolean display_clip_arrows;
- boolean double_buffer;
- int frame_bordertype;
- int frame_shadow;
- int frozen_columns;
- int frozen_rows;
- int frozen_column_placement;
- int frozen_row_placement;
- TblHorizScrollbar horiz_sb;
- int horizsb_attach;
- int horizsb_position;
- int horizsb_offset;
- int horizsb_display;
- int jump;
- int left_column;
- int margin_width;
- int margin_height;
- int min_cell_visibility;
- JCVector row_labels;
- int row_label_placement;
- int row_label_offset;
- boolean repaint;
- Color[] repeat_bg_colors;
- Color[] repeat_fg_colors;
- Color selected_bg;
- Color selected_fg;
- boolean selected_bg_set;
- boolean selected_fg_set;
- int shadow_thickness;
- JCVector span_list;
- JCVector span_list_orig;
- int top_row;
- boolean track_cursor;
- boolean traversable;
- TblVertScrollbar vert_sb;
- int vertsb_attach;
- int vertsb_position;
- int vertsb_offset;
- int vertsb_display;
- int visible_columns;
- int visible_rows;
- TextComponent text;
- JCVector series_list;
- Series alignment_series;
- Series bg_series;
- Series bordersides_series;
- Series bordertype_series;
- Series charheight_series;
- Series charwidth_series;
- Series datatype_series;
- Series font_series;
- Series fg_series;
- Series pixelheight_series;
- Series pixelwidth_series;
- protected JCVector cellValueListeners;
- protected JCVector createComponentListeners;
- protected JCVector displayComponentListeners;
- protected JCVector enterCellListeners;
- protected JCVector labelValueListeners;
- protected JCVector paintListeners;
- protected JCVector resizeCellListeners;
- protected JCVector scrollListeners;
- protected JCVector selectListeners;
- protected JCVector sortListeners;
- protected JCVector traverseCellListeners;
- protected JCVector validateCellListeners;
- boolean isJCTable;
- boolean in_setComponent;
- Chain column_widths;
- Chain row_heights;
- int column_label_height;
- int row_label_width;
- int cell_total_width;
- int cell_total_height;
- int cell_width;
- int cell_height;
- Rectangle cell_rect;
- Rectangle rowlabel_rect;
- Rectangle collabel_rect;
- int edit_row;
- int edit_column;
- Clip[] clip_list;
- Clip clip;
- int cursor;
- boolean set_top_row;
- boolean set_left_column;
- JCCellRange draw_range;
- int desired_width;
- int desired_height;
- int resize_row;
- int resize_column;
- boolean scrolling;
- boolean in_cell_value_cb;
- boolean in_label_value_cb;
- boolean in_get_cell;
- boolean in_get_label;
- boolean needs_repaint;
- boolean needs_recalc;
- String name;
- transient Applet applet;
- transient AppletContext applet_context;
- transient String url;
- static boolean preloaded;
- static final boolean LITE = false;
- static final int LITE_BANNER_HEIGHT = 38;
- static final int LITE_BANNER_WIDTH = 440;
- static final int LITE_BUTTON_WIDTH = 112;
- // $FF: renamed from: r jclass.table.JCCellRange
- private static JCCellRange field_0 = new JCCellRange();
- private Point temp_pos;
- Frame frame;
- Frame lite_dialog;
-
- Table() {
- this((Applet)null, (String)null);
- }
-
- Table(Applet var1, String var2) {
- this.rows = 10;
- this.columns = 5;
- this.allow_cell_resize = 0;
- this.cells = new JCVector();
- this.column_labels = new JCVector();
- this.column_label_placement = 0;
- this.column_label_sort = false;
- this.display_clip_arrows = true;
- this.double_buffer = true;
- this.frame_bordertype = 3;
- this.frozen_column_placement = 1;
- this.frozen_row_placement = 0;
- this.horizsb_attach = 0;
- this.horizsb_position = 0;
- this.horizsb_offset = 6;
- this.horizsb_display = 0;
- this.jump = 0;
- this.margin_width = 5;
- this.margin_height = 2;
- this.min_cell_visibility = 100;
- this.row_labels = new JCVector();
- this.row_label_placement = 1;
- this.repaint = true;
- this.selected_bg_set = false;
- this.selected_fg_set = false;
- this.shadow_thickness = 1;
- this.span_list = new JCVector();
- this.span_list_orig = new JCVector();
- this.track_cursor = false;
- this.traversable = false;
- this.vertsb_attach = 0;
- this.vertsb_position = 0;
- this.vertsb_offset = 6;
- this.vertsb_display = 0;
- this.visible_columns = -999;
- this.visible_rows = -999;
- this.series_list = new JCVector();
- this.alignment_series = new Series(this, 0);
- this.bg_series = new Series(this, (Object)null);
- this.bordersides_series = new Series(this, 15);
- this.bordertype_series = new Series(this, 3);
- this.charheight_series = new Series(this, 1);
- this.charwidth_series = new Series(this, 10);
- this.datatype_series = new Series(this, 5);
- this.font_series = new Series(this, (Object)null);
- this.fg_series = new Series(this, (Object)null);
- this.pixelheight_series = new Series(this, -999);
- this.pixelwidth_series = new Series(this, -999);
- this.cellValueListeners = new JCVector(0);
- this.createComponentListeners = new JCVector(0);
- this.displayComponentListeners = new JCVector(0);
- this.enterCellListeners = new JCVector(0);
- this.labelValueListeners = new JCVector(0);
- this.paintListeners = new JCVector(0);
- this.resizeCellListeners = new JCVector(0);
- this.scrollListeners = new JCVector(0);
- this.selectListeners = new JCVector(0);
- this.sortListeners = new JCVector(0);
- this.traverseCellListeners = new JCVector(0);
- this.validateCellListeners = new JCVector(0);
- this.isJCTable = false;
- this.in_setComponent = false;
- this.column_widths = new Chain();
- this.row_heights = new Chain();
- this.column_label_height = -999;
- this.row_label_width = -999;
- this.cell_rect = new Rectangle();
- this.rowlabel_rect = new Rectangle();
- this.collabel_rect = new Rectangle();
- this.edit_row = -999;
- this.edit_column = -999;
- this.clip_list = new Clip[0];
- this.cursor = -999;
- this.set_top_row = false;
- this.set_left_column = false;
- this.draw_range = new JCCellRange();
- this.resize_row = -999;
- this.resize_column = -999;
- this.scrolling = false;
- this.in_cell_value_cb = false;
- this.in_label_value_cb = false;
- this.in_get_cell = false;
- this.in_get_label = false;
- this.needs_repaint = false;
- this.needs_recalc = false;
- this.temp_pos = new Point(0, 0);
- this.name = var2;
- Class var3 = this.getClass();
-
- boolean var10002;
- do {
- var10002 = var3.getName().indexOf("JCTable") != -1;
- } while(!(this.isJCTable = var10002) && (var3 = var3.getSuperclass()) != null);
-
- if (this.isJCTable) {
- this.track_cursor = true;
- this.allow_cell_resize = 1;
- this.setSeriesDefaults();
- }
-
- this.clip = Clip.Create(this, 0);
- if (var1 != null) {
- this.getParameters(var1);
- }
-
- }
-
- protected void setSeriesDefaults() {
- }
-
- public void getParameters(Applet var1) {
- this.applet = var1;
- this.applet_context = null;
- if (var1 != null) {
- try {
- this.applet_context = var1.getAppletContext();
- } catch (Exception var2) {
- }
- }
-
- if (this.applet_context != null) {
- Create.getParams(this, (String)null);
- }
-
- }
-
- public String getAbout() {
- return "JClass LiveTable by KL Group (www.klg.com)";
- }
-
- public void setAbout(String var1) {
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setVersion(String var1) {
- }
-
- boolean hasText() {
- return false;
- }
-
- public static final boolean isCell(int var0, int var1) {
- return var0 >= 0 && var1 >= 0;
- }
-
- public static final boolean isLabel(int var0, int var1) {
- if (var0 == -1) {
- return var1 >= 0;
- } else if (var1 == -1) {
- return var0 >= 0;
- } else {
- return false;
- }
- }
-
- public static final boolean isColumnLabel(int var0, int var1) {
- label25: {
- boolean var10000;
- if (var0 == -1) {
- if (var1 >= 0) {
- break label25;
- }
-
- var10000 = false;
- } else {
- if (var1 != -1) {
- return false;
- }
-
- if (var0 >= 0) {
- break label25;
- }
-
- var10000 = false;
- }
-
- if (!var10000) {
- return false;
- }
- }
-
- if (var0 == -1) {
- return true;
- } else {
- return false;
- }
- }
-
- public static final boolean isRowLabel(int var0, int var1) {
- label25: {
- boolean var10000;
- if (var0 == -1) {
- if (var1 >= 0) {
- break label25;
- }
-
- var10000 = false;
- } else {
- if (var1 != -1) {
- return false;
- }
-
- if (var0 >= 0) {
- break label25;
- }
-
- var10000 = false;
- }
-
- if (!var10000) {
- return false;
- }
- }
-
- if (var1 == -1) {
- return true;
- } else {
- return false;
- }
- }
-
- public boolean isSelected(int var1, int var2) {
- return false;
- }
-
- public synchronized void paint(Graphics var1) {
- if (this.frame_shadow > 0 && this.repaint) {
- Clip.drawFrames(var1, this, false);
- }
-
- }
-
- public synchronized void paint(int var1, int var2) {
- this.paint(field_0.reshape(var1, var2));
- }
-
- public synchronized void paint(JCCellRange var1) {
- if (((Component)this).getPeer() != null && ((Component)this).isShowing()) {
- if (!this.repaint) {
- this.needs_repaint = true;
- } else if (var1 == null) {
- for(int var5 = 0; var5 < this.clip_list.length; ++var5) {
- this.clip_list[var5].repaint();
- }
-
- } else {
- for(int var2 = var1.start_row; var2 <= var1.end_row; ++var2) {
- for(int var3 = var1.start_column; var3 <= var1.end_column; ++var3) {
- Clip var4 = Clip.find(this, var2, var3);
- if (var4 != null) {
- var4.paint(var2, var3);
- }
- }
- }
-
- }
- }
- }
-
- public void repaint() {
- this.paint((JCCellRange)null);
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- if (this.repaint && this.track_cursor) {
- TrackCursorAction.track(var1);
- }
-
- return true;
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- if (this.repaint && this.track_cursor) {
- TrackCursorAction.track(var1);
- }
-
- return true;
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- if (this.repaint && this.url == null) {
- if (this.allow_cell_resize != 0) {
- ResizeCellAction.resize(var1, "START");
- }
-
- if (this.column_label_sort) {
- SortAction.sort(var1);
- }
-
- return false;
- } else {
- return false;
- }
- }
-
- public boolean mouseDrag(Event var1, int var2, int var3) {
- if (this.allow_cell_resize != 0) {
- ResizeCellAction.resize(var1, "MOVE");
- }
-
- return true;
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- if (this.allow_cell_resize != 0) {
- ResizeCellAction.resize(var1, "END");
- }
-
- return this.url != null && JCString.showURL(this.url, this.applet_context, this.applet) ? true : true;
- }
-
- public boolean keyDown(Event var1, int var2) {
- if (var2 == 1003) {
- ScrollAction.scroll(var1, "PAGEDOWN");
- } else if (var2 == 1002) {
- ScrollAction.scroll(var1, "PAGEUP");
- } else if (var2 == 27 && this.allow_cell_resize != 0) {
- ResizeCellAction.resize(var1, "CANCEL");
- }
-
- return false;
- }
-
- public synchronized Dimension preferredSize() {
- Size.compute(this, true, true);
- return new Dimension(Math.max(1, this.desired_width), Math.max(1, this.desired_height));
- }
-
- public synchronized Dimension minimumSize() {
- return this.preferredSize();
- }
-
- private final int xOffset(Clip var1) {
- if (var1.range.start_column >= 0) {
- int var2 = var1.range.start_column;
- return var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2);
- } else {
- return 0;
- }
- }
-
- private final int yOffset(Clip var1) {
- if (var1.range.start_row >= 0) {
- int var2 = var1.range.start_row;
- return var2 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var2);
- } else {
- return 0;
- }
- }
-
- final void getBoundsInternal(int var1, int var2, Rectangle var3) {
- this.getPosition(var1, var2, this.temp_pos);
- var3.reshape(this.temp_pos.x, this.temp_pos.y, this.columnWidth(var2), this.rowHeight(var1));
- }
-
- public Point getPosition(int var1, int var2, Point var3) {
- Clip var4 = Clip.find(this, var1, var2);
- if (var4 == null) {
- if (var3 != null) {
- var3.x = Integer.MAX_VALUE;
- }
-
- return null;
- } else {
- int var5 = 0;
- int var6 = 0;
- int var10000;
- if (var4.range.start_column >= 0) {
- int var7 = var4.range.start_column;
- var10000 = var7 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var7);
- } else {
- var10000 = 0;
- }
-
- int var9 = var10000;
- if (var4.range.start_row >= 0) {
- int var8 = var4.range.start_row;
- var10000 = var8 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var8);
- } else {
- var10000 = 0;
- }
-
- int var10 = var10000;
- if (var2 < 0) {
- var6 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - var10 - var4.vert_origin;
- } else if (var1 < 0) {
- var5 = (var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2)) - var9 - var4.horiz_origin;
- } else {
- var5 = (var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2)) - var9 - var4.horiz_origin;
- var6 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - var10 - var4.vert_origin;
- }
-
- if (var3 != null) {
- var3.move(var5, var6);
- }
-
- return var3 == null ? new Point(var5, var6) : null;
- }
- }
-
- boolean getVisibleRows(JCCellRange var1) {
- if (((Component)this).getPeer() == null) {
- return false;
- } else {
- int var2 = this.clip.yOffset() + this.clip.vert_origin;
- var1.start_row = this.YtoRow(var2);
- var1.end_row = this.YtoRow(var2 + this.clip.height - 1);
- return true;
- }
- }
-
- boolean getVisibleColumns(JCCellRange var1) {
- if (((Component)this).getPeer() == null) {
- return false;
- } else {
- int var2 = this.clip.xOffset() + this.clip.horiz_origin;
- var1.start_column = this.XtoColumn(var2);
- var1.end_column = this.XtoColumn(var2 + this.clip.width - 1);
- return true;
- }
- }
-
- JCCellRange getVisibleCells() {
- if (((Component)this).getPeer() == null) {
- return null;
- } else {
- JCCellRange var1 = new JCCellRange();
- if (!this.getVisibleRows(var1)) {
- return null;
- } else {
- int var2 = var1.start_row;
- int var3 = var1.end_row;
- return !this.getVisibleColumns(var1) ? null : new JCCellRange(var2, var1.start_column, var3, var1.end_column);
- }
- }
- }
-
- int YtoRow(int var1) {
- if (((Component)this).getPeer() == null) {
- return -999;
- } else if (this.rows != 0 && var1 >= 0) {
- if (this.top_row == -999 || this.top_row >= this.rows) {
- this.top_row = 0;
- JCCellRange var3 = new JCCellRange();
- if (this.getVisibleRows(var3)) {
- this.top_row = var3.start_row;
- }
- }
-
- int var5 = this.top_row;
- if (var1 < (var5 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var5))) {
- for(int var4 = this.top_row - 1; var4 > 0; --var4) {
- if ((var4 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var4)) < var1) {
- return var4;
- }
- }
-
- return 0;
- } else {
- var5 = this.top_row;
- if (var1 > (var5 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var5))) {
- int var2;
- for(var2 = this.top_row + 1; var2 < this.rows; ++var2) {
- if ((var2 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var2)) > var1) {
- return var2 - 1;
- }
- }
-
- return var2 - 1;
- } else {
- return this.top_row;
- }
- }
- } else {
- return -999;
- }
- }
-
- int XtoColumn(int var1) {
- if (((Component)this).getPeer() == null) {
- return -999;
- } else if (this.columns != 0 && var1 >= 0) {
- if (this.left_column == -999 || this.left_column >= this.columns) {
- this.left_column = 0;
- JCCellRange var3 = new JCCellRange();
- if (this.getVisibleColumns(var3)) {
- this.left_column = var3.start_column;
- }
- }
-
- int var5 = this.left_column;
- if (var1 < (var5 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var5))) {
- for(int var4 = this.left_column - 1; var4 > 0; --var4) {
- if ((var4 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var4)) < var1) {
- return var4;
- }
- }
-
- return 0;
- } else {
- var5 = this.left_column;
- if (var1 > (var5 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var5))) {
- int var2;
- for(var2 = this.left_column + 1; var2 < this.columns; ++var2) {
- if ((var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2)) > var1) {
- return var2 - 1;
- }
- }
-
- return var2 - 1;
- } else {
- return this.left_column;
- }
- }
- } else {
- return -999;
- }
- }
-
- public boolean makeVisible(int var1, int var2) {
- if (((Component)this).getPeer() == null) {
- return false;
- } else if (var1 != -1 && var1 != -998) {
- if (var2 != -1 && var2 != -998) {
- return !this.makeRowVisible(var1) ? false : this.makeColumnVisible(var2);
- } else {
- return this.makeRowVisible(var1);
- }
- } else {
- return this.makeColumnVisible(var2);
- }
- }
-
- public boolean makeColumnVisible(int var1) {
- if (((Component)this).getPeer() == null) {
- return false;
- } else if (var1 >= this.frozen_columns && this.min_cell_visibility != 0) {
- var1 = Math.max(0, Math.min(var1, this.columns - 1));
- JCCellRange var4 = this.clip.range;
- if (var4.start_row != -999 && var1 >= var4.start_column && (var1 <= var4.end_column || false)) {
- double var10 = (double)this.columnWidth(var1) * ((double)100.0F - (double)this.min_cell_visibility) / (double)100.0F;
- int var6 = (var1 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var1)) - this.clip.xOffset();
- double var2;
- if (var6 < this.clip.horiz_origin) {
- var2 = Math.min((double)this.clip.horiz_origin, (double)var6 + var10);
- } else {
- if (var6 + this.columnWidth(var1) <= this.clip.size().width + this.clip.horiz_origin) {
- return true;
- }
-
- int var7 = var6 + this.columnWidth(var1) - (this.clip.size().width + this.clip.horiz_origin);
- if (var6 - var7 < this.clip.horiz_origin) {
- var2 = (double)var6;
- } else {
- if ((double)var7 <= var10) {
- return true;
- }
-
- var2 = (double)(this.clip.horiz_origin + var7) - var10;
- }
- }
-
- if (!(var2 < (double)0.0F) && !(var2 > (double)this.cell_total_width) && (double)this.clip.horiz_origin != var2) {
- if (this.repaint) {
- TblHorizScrollbar var11 = this.horiz_sb;
- int var8 = (int)var2;
- HorizScrollbarUtil.scroll(var11, this, (Event)null, var8);
- } else {
- this.needs_repaint = true;
- this.clip.horiz_origin = (int)var2;
- }
-
- return true;
- } else {
- return true;
- }
- } else {
- return false;
- }
- } else {
- return true;
- }
- }
-
- public boolean makeRowVisible(int var1) {
- if (((Component)this).getPeer() == null) {
- return false;
- } else if (var1 >= this.frozen_rows && this.min_cell_visibility != 0) {
- var1 = Math.max(0, Math.min(var1, this.rows - 1));
- JCCellRange var4 = this.clip.range;
- if (var4.start_row != -999 && var1 >= var4.start_row && (var1 <= var4.end_row || false)) {
- double var10 = (double)this.rowHeight(var1) * ((double)100.0F - (double)this.min_cell_visibility) / (double)100.0F;
- int var6 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - this.clip.yOffset();
- double var2;
- if (var6 < this.clip.vert_origin) {
- var2 = Math.min((double)this.clip.vert_origin, (double)var6 + var10);
- } else {
- if (var6 + this.rowHeight(var1) <= this.clip.size().height + this.clip.vert_origin) {
- return true;
- }
-
- int var7 = var6 + this.rowHeight(var1) - (this.clip.size().height + this.clip.vert_origin);
- if (var6 - var7 < this.clip.vert_origin) {
- var2 = (double)var6;
- } else {
- if ((double)var7 <= var10) {
- return true;
- }
-
- var2 = (double)(this.clip.vert_origin + var7) - var10;
- }
- }
-
- if (!(var2 < (double)0.0F) && !(var2 > (double)this.cell_total_height) && (double)this.clip.vert_origin != var2) {
- if (this.repaint) {
- TblVertScrollbar var11 = this.vert_sb;
- int var8 = (int)var2;
- VertScrollbarUtil.scroll(var11, this, (Event)null, var8);
- } else {
- this.needs_repaint = true;
- this.clip.vert_origin = (int)var2;
- }
-
- return true;
- } else {
- return true;
- }
- } else {
- return false;
- }
- } else {
- return true;
- }
- }
-
- boolean isVisible(JCVector var1, int var2) {
- return var1 == this.row_labels ? this.isRowVisible(var2) : this.isColumnVisible(var2);
- }
-
- public boolean isVisible(int var1, int var2) {
- return this.isRowVisible(var1) && this.isColumnVisible(var2);
- }
-
- boolean isColumnVisible(int var1) {
- if (((Component)this).getPeer() == null) {
- return false;
- } else if (var1 == -1) {
- return this.column_label_height > 0 && this.columnWidth(var1) > 0;
- } else if (var1 >= 0 && var1 < this.columns && this.columnWidth(var1) > 0) {
- Clip var2 = Clip.find_by_type(this, 2);
- if (var2 != null) {
- JCCellRange var3 = var2.range;
- if (var3.start_row != -999 && var1 >= var3.start_column && (var1 <= var3.end_column || false)) {
- return true;
- }
- }
-
- JCCellRange var4 = this.clip.range;
- if (var4.start_row != -999 && var1 >= var4.start_column && (var1 <= var4.end_column || false)) {
- int var5 = (var1 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var1)) - this.clip.xOffset();
- if (var5 + this.columnWidth(var1) > this.clip.horiz_origin && var5 < this.clip.width + this.clip.horiz_origin) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
-
- boolean isRowVisible(int var1) {
- if (((Component)this).getPeer() == null) {
- return false;
- } else if (var1 == -1) {
- return this.row_label_width > 0 && this.rowHeight(var1) > 0;
- } else if (var1 >= 0 && var1 < this.rows && this.rowHeight(var1) > 0) {
- Clip var2 = Clip.find_by_type(this, 3);
- if (var2 != null) {
- JCCellRange var3 = var2.range;
- if (var3.start_row != -999 && var1 >= var3.start_row && (var1 <= var3.end_row || false)) {
- return true;
- }
- }
-
- JCCellRange var4 = this.clip.range;
- if (var4.start_row != -999 && var1 >= var4.start_row && (var1 <= var4.end_row || false)) {
- int var5 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - this.clip.yOffset();
- if (var5 + this.rowHeight(var1) > this.clip.vert_origin && var5 < this.clip.height + this.clip.vert_origin) {
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
-
- boolean IS_TRAVERSABLE(int var1, int var2) {
- return false;
- }
-
- boolean hasVertSB() {
- return this.vert_sb != null && this.vert_sb.isVisible();
- }
-
- boolean hasHorizSB() {
- return this.horiz_sb != null && this.horiz_sb.isVisible();
- }
-
- public TblVertScrollbar getVertSB() {
- return this.vert_sb;
- }
-
- public TblHorizScrollbar getHorizSB() {
- return this.horiz_sb;
- }
-
- Object cellValue(int var1, int var2) {
- return this.cellExists(var1, var2) ? ((Vector)this.cells.elementAt(var1)).elementAt(var2) : null;
- }
-
- void setCellValue(int var1, int var2, Object var3) {
- if (var3 instanceof Component) {
- this.setComponent(var1, var2, (Component)var3);
- } else {
- label38: {
- label33: {
- boolean var10000;
- if (var1 == -1) {
- if (var2 >= 0) {
- break label38;
- }
-
- var10000 = false;
- } else {
- if (var2 != -1) {
- break label33;
- }
-
- if (var1 >= 0) {
- break label38;
- }
-
- var10000 = false;
- }
-
- if (var10000) {
- break label38;
- }
- }
-
- if (var1 >= 0 && var2 >= 0) {
- SetValue.cell(this, var1, var2, var3, true);
- }
-
- return;
- }
-
- SetValue.label(this, var1, var2, var3);
- }
- }
-
- public Object getColumnLabel(int var1) {
- boolean var10000;
- if (var1 == -1) {
- if (this.row_labels.size() > -1) {
- return this.column_labels.elementAt(var1);
- }
-
- var10000 = false;
- } else {
- if (var1 < this.column_labels.size()) {
- return this.column_labels.elementAt(var1);
- }
-
- var10000 = false;
- }
-
- if (!var10000) {
- return null;
- } else {
- return this.column_labels.elementAt(var1);
- }
- }
-
- public Object getRowLabel(int var1) {
- return var1 < this.row_labels.size() ? this.row_labels.elementAt(var1) : null;
- }
-
- public Object getCell(int var1, int var2) {
- label29: {
- boolean var10000;
- if (var1 == -1) {
- if (var2 >= 0) {
- return GetValue.label(this, var1, var2);
- }
-
- var10000 = false;
- } else {
- if (var2 != -1) {
- break label29;
- }
-
- if (var1 >= 0) {
- return GetValue.label(this, var1, var2);
- }
-
- var10000 = false;
- }
-
- if (var10000) {
- return GetValue.label(this, var1, var2);
- }
- }
-
- if (var1 >= 0 && var2 >= 0) {
- return GetValue.cell(this, var1, var2);
- } else {
- return null;
- }
- }
-
- JCValueEvent callGetCellValueCB(int var1, int var2) {
- return null;
- }
-
- JCValueEvent callGetLabelValueCB(int var1, int var2) {
- return null;
- }
-
- final boolean cellExists(int var1, int var2) {
- return var1 >= 0 && var1 < this.cells.size() && this.cells.elementAt(var1) != null && var2 >= 0 && var2 < ((Vector)this.cells.elementAt(var1)).size();
- }
-
- final boolean labelExists(int var1, int var2) {
- if (var2 == -1) {
- return var1 < this.row_labels.size();
- } else if (var1 == -1) {
- return var2 < this.column_labels.size();
- } else {
- return false;
- }
- }
-
- final int rowPosition(int var1) {
- return var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1);
- }
-
- final int columnPosition(int var1) {
- return var1 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var1);
- }
-
- final int textWidthOffset() {
- return this.margin_width + this.shadow_thickness;
- }
-
- final int textHeightOffset() {
- return this.margin_height + this.shadow_thickness;
- }
-
- final int rowHeight(int var1) {
- if (var1 < -1) {
- return 0;
- } else if (var1 == -1) {
- return this.column_label_height + (this.margin_height + this.shadow_thickness) * 2;
- } else {
- return this.rows > 0 ? this.row_heights.getValue(var1) : 0;
- }
- }
-
- final int rowLabelWidth() {
- return this.rows > 0 && this.row_label_width > 0 ? this.row_label_width + (this.margin_width + this.shadow_thickness) * 2 : 0;
- }
-
- final int columnLabelHeight() {
- return this.columns > 0 && this.column_label_height > 0 ? this.column_label_height + (this.margin_height + this.shadow_thickness) * 2 : 0;
- }
-
- final int rowLabelExtraWidth() {
- return this.rows > 0 && this.row_label_width > 0 ? this.row_label_offset + 2 * this.frame_shadow : 0;
- }
-
- final int colLabelExtraHeight() {
- byte var1 = 0;
- return this.columns != 0 && this.column_label_height != 0 ? var1 + this.column_label_offset + 2 * this.frame_shadow : var1;
- }
-
- final int columnWidth(int var1) {
- if (var1 < -1) {
- return 0;
- } else if (var1 == -1) {
- return this.row_label_width + (this.margin_width + this.shadow_thickness) * 2;
- } else {
- return this.columns > 0 ? this.column_widths.getValue(var1) : 0;
- }
- }
-
- final int frozenColumnWidth() {
- return this.columns > 0 ? this.column_widths.getPosition(this.frozen_columns) : 0;
- }
-
- final int columnLabelOffset() {
- return this.row_label_placement != 1 ? 0 : this.rowLabelWidth() + (this.rows > 0 && this.row_label_width > 0 ? this.row_label_offset + 2 * this.frame_shadow : 0);
- }
-
- final int frozenRowHeight() {
- return this.rows > 0 ? this.row_heights.getPosition(this.frozen_rows) : 0;
- }
-
- final int rowLabelOffset() {
- return this.column_label_placement == 0 ? this.columnLabelHeight() + this.colLabelExtraHeight() : 0;
- }
-
- final int frozenRowLabelOffset() {
- return (this.column_label_placement == 0 ? this.columnLabelHeight() + this.colLabelExtraHeight() : 0) + (this.frozen_row_placement == 0 ? (this.rows > 0 ? this.row_heights.getPosition(this.frozen_rows) : 0) : 0);
- }
-
- final int frozenRowPosition() {
- if (this.frozen_row_placement == 0) {
- return this.column_label_placement == 0 ? this.columnLabelHeight() + this.colLabelExtraHeight() : 0;
- } else {
- return (this.column_label_placement == 0 ? this.columnLabelHeight() + this.colLabelExtraHeight() : 0) + this.cell_height;
- }
- }
-
- final int frozenColumnPosition() {
- return this.frozen_column_placement == 1 ? this.columnLabelOffset() : this.columnLabelOffset() + this.cell_width;
- }
-
- final int rowLabelPosition() {
- return this.row_label_placement == 0 ? (this.columns > 0 ? this.column_widths.getPosition(this.frozen_columns) : 0) + this.cell_width + this.row_label_offset + 2 * this.frame_shadow : 0;
- }
-
- final int columnLabelPosition() {
- return this.column_label_placement == 1 ? (this.rows > 0 ? this.row_heights.getPosition(this.frozen_rows) : 0) + this.cell_height + this.column_label_offset + 2 * this.frame_shadow : 0;
- }
-
- int frozenColumnLabelOffset() {
- return this.columnLabelOffset() + (this.frozen_column_placement == 1 ? (this.columns > 0 ? this.column_widths.getPosition(this.frozen_columns) : 0) : 0);
- }
-
- int vertSBwidth() {
- return 16 + this.vertsb_offset;
- }
-
- int horizSBheight() {
- return 16 + this.horizsb_offset;
- }
-
- public synchronized void reshape(int var1, int var2, int var3, int var4) {
- if (var1 != ((Component)this).location().x || var2 != ((Component)this).location().y || var3 != ((Component)this).size().width || var4 != ((Component)this).size().height) {
- if (var3 >= 0 && var4 >= 0) {
- Dimension var5 = ((Component)this).getToolkit().getScreenSize();
- var3 = Math.max(1, Math.min(var3, var5.width));
- var4 = Math.max(1, Math.min(var4, var5.height));
- super.reshape(var1, var2, var3, var4);
- ((Container)this).invalidate();
- this.validate();
- }
- }
- }
-
- public synchronized void layout() {
- if (this.repaint && ((Component)this).getPeer() != null) {
- Layout.doLayout(this);
- } else {
- this.needs_repaint = this.needs_recalc = true;
- }
- }
-
- public void validate() {
- if (!((Component)this).isValid() && ((Component)this).getPeer() != null) {
- Object var1 = ((Component)this).getTreeLock();
- synchronized(var1){}
-
- try {
- ((Container)this).validateTree();
- } catch (Throwable var3) {
- throw var3;
- }
-
- }
- }
-
- void validateRes() {
- if (this.frozen_rows > 0 && this.frozen_rows >= this.rows) {
- System.out.println("Too many frozen rows: " + this.frozen_rows);
- this.frozen_rows = this.rows - 1;
- }
-
- if (this.frozen_columns > 0 && this.frozen_columns >= this.columns) {
- System.out.println("Too many frozen columns: " + this.frozen_columns);
- this.frozen_columns = this.columns - 1;
- }
-
- if (this.top_row != 0) {
- this.top_row = Math.max(0, Math.min(this.top_row, this.rows - 1));
- if (this.top_row != 0) {
- this.set_top_row = true;
- }
- }
-
- if (this.left_column != 0) {
- this.left_column = Math.max(0, Math.min(this.left_column, this.columns - 1));
- if (this.left_column != 0) {
- this.set_left_column = true;
- }
- }
-
- JCCellRange var1 = new JCCellRange();
- if (!this.set_left_column && this.getVisibleColumns(var1)) {
- this.left_column = var1.start_column;
- }
-
- if (!this.set_top_row && this.getVisibleRows(var1)) {
- this.top_row = var1.start_row;
- }
-
- }
-
- public void addNotify() {
- if (((Component)this).getPeer() == null) {
- super.addNotify();
- }
-
- this.validateRes();
- if (this.bg_series.getDefault() == null) {
- this.bg_series.setDefault(((Component)this).getBackground());
- }
-
- if (this.fg_series.getDefault() == null) {
- this.fg_series.setDefault(((Component)this).getForeground());
- }
-
- if (this.font_series.getDefault() == null) {
- this.font_series.setDefault(((Component)this).getFont());
- }
-
- this.column_label_height = Size.getColumnLabelMaxHeight(this, -998, 0);
- this.row_label_width = Size.getRowLabelMaxWidth(this, -998, 0);
- Size.setDimensions(this, 7, this.rows, this.columns, -998, 0, -998, 0, true);
- if (this.span_list_orig.size() > 0) {
- Span.copy(this);
- Span.adjust(this);
- }
-
- }
-
- public void convert(JCVector var1, int var2, int var3) {
- if (this.datatype_series.getSingleValue() != new Integer(5)) {
- TblConvertUtil.convert(this, var1, var2, var3);
- }
-
- }
-
- public int getAlignment(int var1, int var2) {
- return this.alignment_series.getIntValue(var1, var2);
- }
-
- private Color getRepeatColor(Object var1, int var2, int var3, boolean var4) {
- Color[] var5 = var4 ? this.repeat_bg_colors : this.repeat_fg_colors;
- if (var5 == null) {
- return var4 ? ((Component)this).getBackground() : ((Component)this).getForeground();
- } else {
- int var6 = (Integer)var1;
- int var7 = var6 == -995 ? var2 : var3;
- int var8 = var7 < 0 ? (var5.length - -1 * var7 % var5.length) % var5.length : var7 % var5.length;
- return var5[var8];
- }
- }
-
- public Color getBackground(int var1, int var2) {
- Object var3 = this.bg_series.getValue(var1, var2);
- return var3 instanceof Color ? (Color)var3 : this.getRepeatColor(var3, var1, var2, true);
- }
-
- public int getBorderSides(int var1, int var2) {
- return this.bordersides_series.getIntValue(var1, var2);
- }
-
- public int getBorderType(int var1, int var2) {
- return this.bordertype_series.getIntValue(var1, var2);
- }
-
- public int getCharHeight(int var1) {
- return this.charheight_series.getIntValue(var1, -998);
- }
-
- public Component getComponent(int var1, int var2) {
- return null;
- }
-
- public int getCharWidth(int var1) {
- return this.charwidth_series.getIntValue(-998, var1);
- }
-
- public int getDatatype(int var1, int var2) {
- return this.datatype_series.getIntValue(var1, var2);
- }
-
- public Font getFont(int var1, int var2) {
- return (Font)this.font_series.getValue(var1, var2);
- }
-
- public Color getForeground(int var1, int var2) {
- Object var3 = this.fg_series.getValue(var1, var2);
- return var3 instanceof Color ? (Color)var3 : this.getRepeatColor(var3, var1, var2, false);
- }
-
- public int getPixelHeight(int var1) {
- return this.pixelheight_series.getIntValue(var1, -998);
- }
-
- public int getPixelWidth(int var1) {
- return this.pixelwidth_series.getIntValue(-998, var1);
- }
-
- public void setComponent(int var1, int var2, Component var3) {
- }
-
- boolean hasComponents() {
- return false;
- }
-
- public void run() {
- }
-
- public JCCellPosition getPosition(Component var1, JCCellPosition var2) {
- return null;
- }
-
- public void printAll(Graphics var1) {
- boolean var2 = this.double_buffer;
- this.double_buffer = false;
- super.printAll(var1);
- this.double_buffer = var2;
- }
-
- public final void setLayout(LayoutManager var1) {
- }
- }
-