home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / JCLASS.BIN / KLG.JAR / jclass / table / Table.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-12-05  |  19.3 KB  |  1,301 lines

  1. package jclass.table;
  2.  
  3. import java.applet.Applet;
  4. import java.applet.AppletContext;
  5. import java.awt.Color;
  6. import java.awt.Component;
  7. import java.awt.Container;
  8. import java.awt.Dimension;
  9. import java.awt.Event;
  10. import java.awt.Font;
  11. import java.awt.Frame;
  12. import java.awt.Graphics;
  13. import java.awt.LayoutManager;
  14. import java.awt.Panel;
  15. import java.awt.Point;
  16. import java.awt.Rectangle;
  17. import java.awt.TextComponent;
  18. import java.util.Vector;
  19. import jclass.util.JCString;
  20. import jclass.util.JCVector;
  21.  
  22. public class Table extends Panel implements Runnable {
  23.    public static final String about = "JClass LiveTable by KL Group (www.klg.com)";
  24.    public static final String version = JCVersion.getVersionString();
  25.    int rows;
  26.    int columns;
  27.    int allow_cell_resize;
  28.    JCVector cells;
  29.    JCVector column_labels;
  30.    int column_label_placement;
  31.    boolean column_label_sort;
  32.    int column_label_offset;
  33.    boolean display_clip_arrows;
  34.    boolean double_buffer;
  35.    int frame_bordertype;
  36.    int frame_shadow;
  37.    int frozen_columns;
  38.    int frozen_rows;
  39.    int frozen_column_placement;
  40.    int frozen_row_placement;
  41.    TblHorizScrollbar horiz_sb;
  42.    int horizsb_attach;
  43.    int horizsb_position;
  44.    int horizsb_offset;
  45.    int horizsb_display;
  46.    int jump;
  47.    int left_column;
  48.    int margin_width;
  49.    int margin_height;
  50.    int min_cell_visibility;
  51.    JCVector row_labels;
  52.    int row_label_placement;
  53.    int row_label_offset;
  54.    boolean repaint;
  55.    Color[] repeat_bg_colors;
  56.    Color[] repeat_fg_colors;
  57.    Color selected_bg;
  58.    Color selected_fg;
  59.    boolean selected_bg_set;
  60.    boolean selected_fg_set;
  61.    int shadow_thickness;
  62.    JCVector span_list;
  63.    JCVector span_list_orig;
  64.    int top_row;
  65.    boolean track_cursor;
  66.    boolean traversable;
  67.    TblVertScrollbar vert_sb;
  68.    int vertsb_attach;
  69.    int vertsb_position;
  70.    int vertsb_offset;
  71.    int vertsb_display;
  72.    int visible_columns;
  73.    int visible_rows;
  74.    TextComponent text;
  75.    JCVector series_list;
  76.    Series alignment_series;
  77.    Series bg_series;
  78.    Series bordersides_series;
  79.    Series bordertype_series;
  80.    Series charheight_series;
  81.    Series charwidth_series;
  82.    Series datatype_series;
  83.    Series font_series;
  84.    Series fg_series;
  85.    Series pixelheight_series;
  86.    Series pixelwidth_series;
  87.    protected JCVector cellValueListeners;
  88.    protected JCVector createComponentListeners;
  89.    protected JCVector displayComponentListeners;
  90.    protected JCVector enterCellListeners;
  91.    protected JCVector labelValueListeners;
  92.    protected JCVector paintListeners;
  93.    protected JCVector resizeCellListeners;
  94.    protected JCVector scrollListeners;
  95.    protected JCVector selectListeners;
  96.    protected JCVector sortListeners;
  97.    protected JCVector traverseCellListeners;
  98.    protected JCVector validateCellListeners;
  99.    boolean isJCTable;
  100.    boolean in_setComponent;
  101.    Chain column_widths;
  102.    Chain row_heights;
  103.    int column_label_height;
  104.    int row_label_width;
  105.    int cell_total_width;
  106.    int cell_total_height;
  107.    int cell_width;
  108.    int cell_height;
  109.    Rectangle cell_rect;
  110.    Rectangle rowlabel_rect;
  111.    Rectangle collabel_rect;
  112.    int edit_row;
  113.    int edit_column;
  114.    Clip[] clip_list;
  115.    Clip clip;
  116.    int cursor;
  117.    boolean set_top_row;
  118.    boolean set_left_column;
  119.    JCCellRange draw_range;
  120.    int desired_width;
  121.    int desired_height;
  122.    int resize_row;
  123.    int resize_column;
  124.    boolean scrolling;
  125.    boolean in_cell_value_cb;
  126.    boolean in_label_value_cb;
  127.    boolean in_get_cell;
  128.    boolean in_get_label;
  129.    boolean needs_repaint;
  130.    boolean needs_recalc;
  131.    String name;
  132.    transient Applet applet;
  133.    transient AppletContext applet_context;
  134.    transient String url;
  135.    static boolean preloaded;
  136.    static final boolean LITE = false;
  137.    static final int LITE_BANNER_HEIGHT = 38;
  138.    static final int LITE_BANNER_WIDTH = 440;
  139.    static final int LITE_BUTTON_WIDTH = 112;
  140.    // $FF: renamed from: r jclass.table.JCCellRange
  141.    private static JCCellRange field_0 = new JCCellRange();
  142.    private Point temp_pos;
  143.    Frame frame;
  144.    Frame lite_dialog;
  145.  
  146.    Table() {
  147.       this((Applet)null, (String)null);
  148.    }
  149.  
  150.    Table(Applet var1, String var2) {
  151.       this.rows = 10;
  152.       this.columns = 5;
  153.       this.allow_cell_resize = 0;
  154.       this.cells = new JCVector();
  155.       this.column_labels = new JCVector();
  156.       this.column_label_placement = 0;
  157.       this.column_label_sort = false;
  158.       this.display_clip_arrows = true;
  159.       this.double_buffer = true;
  160.       this.frame_bordertype = 3;
  161.       this.frozen_column_placement = 1;
  162.       this.frozen_row_placement = 0;
  163.       this.horizsb_attach = 0;
  164.       this.horizsb_position = 0;
  165.       this.horizsb_offset = 6;
  166.       this.horizsb_display = 0;
  167.       this.jump = 0;
  168.       this.margin_width = 5;
  169.       this.margin_height = 2;
  170.       this.min_cell_visibility = 100;
  171.       this.row_labels = new JCVector();
  172.       this.row_label_placement = 1;
  173.       this.repaint = true;
  174.       this.selected_bg_set = false;
  175.       this.selected_fg_set = false;
  176.       this.shadow_thickness = 1;
  177.       this.span_list = new JCVector();
  178.       this.span_list_orig = new JCVector();
  179.       this.track_cursor = false;
  180.       this.traversable = false;
  181.       this.vertsb_attach = 0;
  182.       this.vertsb_position = 0;
  183.       this.vertsb_offset = 6;
  184.       this.vertsb_display = 0;
  185.       this.visible_columns = -999;
  186.       this.visible_rows = -999;
  187.       this.series_list = new JCVector();
  188.       this.alignment_series = new Series(this, 0);
  189.       this.bg_series = new Series(this, (Object)null);
  190.       this.bordersides_series = new Series(this, 15);
  191.       this.bordertype_series = new Series(this, 3);
  192.       this.charheight_series = new Series(this, 1);
  193.       this.charwidth_series = new Series(this, 10);
  194.       this.datatype_series = new Series(this, 5);
  195.       this.font_series = new Series(this, (Object)null);
  196.       this.fg_series = new Series(this, (Object)null);
  197.       this.pixelheight_series = new Series(this, -999);
  198.       this.pixelwidth_series = new Series(this, -999);
  199.       this.cellValueListeners = new JCVector(0);
  200.       this.createComponentListeners = new JCVector(0);
  201.       this.displayComponentListeners = new JCVector(0);
  202.       this.enterCellListeners = new JCVector(0);
  203.       this.labelValueListeners = new JCVector(0);
  204.       this.paintListeners = new JCVector(0);
  205.       this.resizeCellListeners = new JCVector(0);
  206.       this.scrollListeners = new JCVector(0);
  207.       this.selectListeners = new JCVector(0);
  208.       this.sortListeners = new JCVector(0);
  209.       this.traverseCellListeners = new JCVector(0);
  210.       this.validateCellListeners = new JCVector(0);
  211.       this.isJCTable = false;
  212.       this.in_setComponent = false;
  213.       this.column_widths = new Chain();
  214.       this.row_heights = new Chain();
  215.       this.column_label_height = -999;
  216.       this.row_label_width = -999;
  217.       this.cell_rect = new Rectangle();
  218.       this.rowlabel_rect = new Rectangle();
  219.       this.collabel_rect = new Rectangle();
  220.       this.edit_row = -999;
  221.       this.edit_column = -999;
  222.       this.clip_list = new Clip[0];
  223.       this.cursor = -999;
  224.       this.set_top_row = false;
  225.       this.set_left_column = false;
  226.       this.draw_range = new JCCellRange();
  227.       this.resize_row = -999;
  228.       this.resize_column = -999;
  229.       this.scrolling = false;
  230.       this.in_cell_value_cb = false;
  231.       this.in_label_value_cb = false;
  232.       this.in_get_cell = false;
  233.       this.in_get_label = false;
  234.       this.needs_repaint = false;
  235.       this.needs_recalc = false;
  236.       this.temp_pos = new Point(0, 0);
  237.       this.name = var2;
  238.       Class var3 = this.getClass();
  239.  
  240.       boolean var10002;
  241.       do {
  242.          var10002 = var3.getName().indexOf("JCTable") != -1;
  243.       } while(!(this.isJCTable = var10002) && (var3 = var3.getSuperclass()) != null);
  244.  
  245.       if (this.isJCTable) {
  246.          this.track_cursor = true;
  247.          this.allow_cell_resize = 1;
  248.          this.setSeriesDefaults();
  249.       }
  250.  
  251.       this.clip = Clip.Create(this, 0);
  252.       if (var1 != null) {
  253.          this.getParameters(var1);
  254.       }
  255.  
  256.    }
  257.  
  258.    protected void setSeriesDefaults() {
  259.    }
  260.  
  261.    public void getParameters(Applet var1) {
  262.       this.applet = var1;
  263.       this.applet_context = null;
  264.       if (var1 != null) {
  265.          try {
  266.             this.applet_context = var1.getAppletContext();
  267.          } catch (Exception var2) {
  268.          }
  269.       }
  270.  
  271.       if (this.applet_context != null) {
  272.          Create.getParams(this, (String)null);
  273.       }
  274.  
  275.    }
  276.  
  277.    public String getAbout() {
  278.       return "JClass LiveTable by KL Group (www.klg.com)";
  279.    }
  280.  
  281.    public void setAbout(String var1) {
  282.    }
  283.  
  284.    public String getVersion() {
  285.       return version;
  286.    }
  287.  
  288.    public void setVersion(String var1) {
  289.    }
  290.  
  291.    boolean hasText() {
  292.       return false;
  293.    }
  294.  
  295.    public static final boolean isCell(int var0, int var1) {
  296.       return var0 >= 0 && var1 >= 0;
  297.    }
  298.  
  299.    public static final boolean isLabel(int var0, int var1) {
  300.       if (var0 == -1) {
  301.          return var1 >= 0;
  302.       } else if (var1 == -1) {
  303.          return var0 >= 0;
  304.       } else {
  305.          return false;
  306.       }
  307.    }
  308.  
  309.    public static final boolean isColumnLabel(int var0, int var1) {
  310.       label25: {
  311.          boolean var10000;
  312.          if (var0 == -1) {
  313.             if (var1 >= 0) {
  314.                break label25;
  315.             }
  316.  
  317.             var10000 = false;
  318.          } else {
  319.             if (var1 != -1) {
  320.                return false;
  321.             }
  322.  
  323.             if (var0 >= 0) {
  324.                break label25;
  325.             }
  326.  
  327.             var10000 = false;
  328.          }
  329.  
  330.          if (!var10000) {
  331.             return false;
  332.          }
  333.       }
  334.  
  335.       if (var0 == -1) {
  336.          return true;
  337.       } else {
  338.          return false;
  339.       }
  340.    }
  341.  
  342.    public static final boolean isRowLabel(int var0, int var1) {
  343.       label25: {
  344.          boolean var10000;
  345.          if (var0 == -1) {
  346.             if (var1 >= 0) {
  347.                break label25;
  348.             }
  349.  
  350.             var10000 = false;
  351.          } else {
  352.             if (var1 != -1) {
  353.                return false;
  354.             }
  355.  
  356.             if (var0 >= 0) {
  357.                break label25;
  358.             }
  359.  
  360.             var10000 = false;
  361.          }
  362.  
  363.          if (!var10000) {
  364.             return false;
  365.          }
  366.       }
  367.  
  368.       if (var1 == -1) {
  369.          return true;
  370.       } else {
  371.          return false;
  372.       }
  373.    }
  374.  
  375.    public boolean isSelected(int var1, int var2) {
  376.       return false;
  377.    }
  378.  
  379.    public synchronized void paint(Graphics var1) {
  380.       if (this.frame_shadow > 0 && this.repaint) {
  381.          Clip.drawFrames(var1, this, false);
  382.       }
  383.  
  384.    }
  385.  
  386.    public synchronized void paint(int var1, int var2) {
  387.       this.paint(field_0.reshape(var1, var2));
  388.    }
  389.  
  390.    public synchronized void paint(JCCellRange var1) {
  391.       if (((Component)this).getPeer() != null && ((Component)this).isShowing()) {
  392.          if (!this.repaint) {
  393.             this.needs_repaint = true;
  394.          } else if (var1 == null) {
  395.             for(int var5 = 0; var5 < this.clip_list.length; ++var5) {
  396.                this.clip_list[var5].repaint();
  397.             }
  398.  
  399.          } else {
  400.             for(int var2 = var1.start_row; var2 <= var1.end_row; ++var2) {
  401.                for(int var3 = var1.start_column; var3 <= var1.end_column; ++var3) {
  402.                   Clip var4 = Clip.find(this, var2, var3);
  403.                   if (var4 != null) {
  404.                      var4.paint(var2, var3);
  405.                   }
  406.                }
  407.             }
  408.  
  409.          }
  410.       }
  411.    }
  412.  
  413.    public void repaint() {
  414.       this.paint((JCCellRange)null);
  415.    }
  416.  
  417.    public boolean mouseMove(Event var1, int var2, int var3) {
  418.       if (this.repaint && this.track_cursor) {
  419.          TrackCursorAction.track(var1);
  420.       }
  421.  
  422.       return true;
  423.    }
  424.  
  425.    public boolean mouseExit(Event var1, int var2, int var3) {
  426.       if (this.repaint && this.track_cursor) {
  427.          TrackCursorAction.track(var1);
  428.       }
  429.  
  430.       return true;
  431.    }
  432.  
  433.    public boolean mouseDown(Event var1, int var2, int var3) {
  434.       if (this.repaint && this.url == null) {
  435.          if (this.allow_cell_resize != 0) {
  436.             ResizeCellAction.resize(var1, "START");
  437.          }
  438.  
  439.          if (this.column_label_sort) {
  440.             SortAction.sort(var1);
  441.          }
  442.  
  443.          return false;
  444.       } else {
  445.          return false;
  446.       }
  447.    }
  448.  
  449.    public boolean mouseDrag(Event var1, int var2, int var3) {
  450.       if (this.allow_cell_resize != 0) {
  451.          ResizeCellAction.resize(var1, "MOVE");
  452.       }
  453.  
  454.       return true;
  455.    }
  456.  
  457.    public boolean mouseUp(Event var1, int var2, int var3) {
  458.       if (this.allow_cell_resize != 0) {
  459.          ResizeCellAction.resize(var1, "END");
  460.       }
  461.  
  462.       return this.url != null && JCString.showURL(this.url, this.applet_context, this.applet) ? true : true;
  463.    }
  464.  
  465.    public boolean keyDown(Event var1, int var2) {
  466.       if (var2 == 1003) {
  467.          ScrollAction.scroll(var1, "PAGEDOWN");
  468.       } else if (var2 == 1002) {
  469.          ScrollAction.scroll(var1, "PAGEUP");
  470.       } else if (var2 == 27 && this.allow_cell_resize != 0) {
  471.          ResizeCellAction.resize(var1, "CANCEL");
  472.       }
  473.  
  474.       return false;
  475.    }
  476.  
  477.    public synchronized Dimension preferredSize() {
  478.       Size.compute(this, true, true);
  479.       return new Dimension(Math.max(1, this.desired_width), Math.max(1, this.desired_height));
  480.    }
  481.  
  482.    public synchronized Dimension minimumSize() {
  483.       return this.preferredSize();
  484.    }
  485.  
  486.    private final int xOffset(Clip var1) {
  487.       if (var1.range.start_column >= 0) {
  488.          int var2 = var1.range.start_column;
  489.          return var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2);
  490.       } else {
  491.          return 0;
  492.       }
  493.    }
  494.  
  495.    private final int yOffset(Clip var1) {
  496.       if (var1.range.start_row >= 0) {
  497.          int var2 = var1.range.start_row;
  498.          return var2 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var2);
  499.       } else {
  500.          return 0;
  501.       }
  502.    }
  503.  
  504.    final void getBoundsInternal(int var1, int var2, Rectangle var3) {
  505.       this.getPosition(var1, var2, this.temp_pos);
  506.       var3.reshape(this.temp_pos.x, this.temp_pos.y, this.columnWidth(var2), this.rowHeight(var1));
  507.    }
  508.  
  509.    public Point getPosition(int var1, int var2, Point var3) {
  510.       Clip var4 = Clip.find(this, var1, var2);
  511.       if (var4 == null) {
  512.          if (var3 != null) {
  513.             var3.x = Integer.MAX_VALUE;
  514.          }
  515.  
  516.          return null;
  517.       } else {
  518.          int var5 = 0;
  519.          int var6 = 0;
  520.          int var10000;
  521.          if (var4.range.start_column >= 0) {
  522.             int var7 = var4.range.start_column;
  523.             var10000 = var7 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var7);
  524.          } else {
  525.             var10000 = 0;
  526.          }
  527.  
  528.          int var9 = var10000;
  529.          if (var4.range.start_row >= 0) {
  530.             int var8 = var4.range.start_row;
  531.             var10000 = var8 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var8);
  532.          } else {
  533.             var10000 = 0;
  534.          }
  535.  
  536.          int var10 = var10000;
  537.          if (var2 < 0) {
  538.             var6 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - var10 - var4.vert_origin;
  539.          } else if (var1 < 0) {
  540.             var5 = (var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2)) - var9 - var4.horiz_origin;
  541.          } else {
  542.             var5 = (var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2)) - var9 - var4.horiz_origin;
  543.             var6 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - var10 - var4.vert_origin;
  544.          }
  545.  
  546.          if (var3 != null) {
  547.             var3.move(var5, var6);
  548.          }
  549.  
  550.          return var3 == null ? new Point(var5, var6) : null;
  551.       }
  552.    }
  553.  
  554.    boolean getVisibleRows(JCCellRange var1) {
  555.       if (((Component)this).getPeer() == null) {
  556.          return false;
  557.       } else {
  558.          int var2 = this.clip.yOffset() + this.clip.vert_origin;
  559.          var1.start_row = this.YtoRow(var2);
  560.          var1.end_row = this.YtoRow(var2 + this.clip.height - 1);
  561.          return true;
  562.       }
  563.    }
  564.  
  565.    boolean getVisibleColumns(JCCellRange var1) {
  566.       if (((Component)this).getPeer() == null) {
  567.          return false;
  568.       } else {
  569.          int var2 = this.clip.xOffset() + this.clip.horiz_origin;
  570.          var1.start_column = this.XtoColumn(var2);
  571.          var1.end_column = this.XtoColumn(var2 + this.clip.width - 1);
  572.          return true;
  573.       }
  574.    }
  575.  
  576.    JCCellRange getVisibleCells() {
  577.       if (((Component)this).getPeer() == null) {
  578.          return null;
  579.       } else {
  580.          JCCellRange var1 = new JCCellRange();
  581.          if (!this.getVisibleRows(var1)) {
  582.             return null;
  583.          } else {
  584.             int var2 = var1.start_row;
  585.             int var3 = var1.end_row;
  586.             return !this.getVisibleColumns(var1) ? null : new JCCellRange(var2, var1.start_column, var3, var1.end_column);
  587.          }
  588.       }
  589.    }
  590.  
  591.    int YtoRow(int var1) {
  592.       if (((Component)this).getPeer() == null) {
  593.          return -999;
  594.       } else if (this.rows != 0 && var1 >= 0) {
  595.          if (this.top_row == -999 || this.top_row >= this.rows) {
  596.             this.top_row = 0;
  597.             JCCellRange var3 = new JCCellRange();
  598.             if (this.getVisibleRows(var3)) {
  599.                this.top_row = var3.start_row;
  600.             }
  601.          }
  602.  
  603.          int var5 = this.top_row;
  604.          if (var1 < (var5 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var5))) {
  605.             for(int var4 = this.top_row - 1; var4 > 0; --var4) {
  606.                if ((var4 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var4)) < var1) {
  607.                   return var4;
  608.                }
  609.             }
  610.  
  611.             return 0;
  612.          } else {
  613.             var5 = this.top_row;
  614.             if (var1 > (var5 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var5))) {
  615.                int var2;
  616.                for(var2 = this.top_row + 1; var2 < this.rows; ++var2) {
  617.                   if ((var2 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var2)) > var1) {
  618.                      return var2 - 1;
  619.                   }
  620.                }
  621.  
  622.                return var2 - 1;
  623.             } else {
  624.                return this.top_row;
  625.             }
  626.          }
  627.       } else {
  628.          return -999;
  629.       }
  630.    }
  631.  
  632.    int XtoColumn(int var1) {
  633.       if (((Component)this).getPeer() == null) {
  634.          return -999;
  635.       } else if (this.columns != 0 && var1 >= 0) {
  636.          if (this.left_column == -999 || this.left_column >= this.columns) {
  637.             this.left_column = 0;
  638.             JCCellRange var3 = new JCCellRange();
  639.             if (this.getVisibleColumns(var3)) {
  640.                this.left_column = var3.start_column;
  641.             }
  642.          }
  643.  
  644.          int var5 = this.left_column;
  645.          if (var1 < (var5 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var5))) {
  646.             for(int var4 = this.left_column - 1; var4 > 0; --var4) {
  647.                if ((var4 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var4)) < var1) {
  648.                   return var4;
  649.                }
  650.             }
  651.  
  652.             return 0;
  653.          } else {
  654.             var5 = this.left_column;
  655.             if (var1 > (var5 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var5))) {
  656.                int var2;
  657.                for(var2 = this.left_column + 1; var2 < this.columns; ++var2) {
  658.                   if ((var2 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var2)) > var1) {
  659.                      return var2 - 1;
  660.                   }
  661.                }
  662.  
  663.                return var2 - 1;
  664.             } else {
  665.                return this.left_column;
  666.             }
  667.          }
  668.       } else {
  669.          return -999;
  670.       }
  671.    }
  672.  
  673.    public boolean makeVisible(int var1, int var2) {
  674.       if (((Component)this).getPeer() == null) {
  675.          return false;
  676.       } else if (var1 != -1 && var1 != -998) {
  677.          if (var2 != -1 && var2 != -998) {
  678.             return !this.makeRowVisible(var1) ? false : this.makeColumnVisible(var2);
  679.          } else {
  680.             return this.makeRowVisible(var1);
  681.          }
  682.       } else {
  683.          return this.makeColumnVisible(var2);
  684.       }
  685.    }
  686.  
  687.    public boolean makeColumnVisible(int var1) {
  688.       if (((Component)this).getPeer() == null) {
  689.          return false;
  690.       } else if (var1 >= this.frozen_columns && this.min_cell_visibility != 0) {
  691.          var1 = Math.max(0, Math.min(var1, this.columns - 1));
  692.          JCCellRange var4 = this.clip.range;
  693.          if (var4.start_row != -999 && var1 >= var4.start_column && (var1 <= var4.end_column || false)) {
  694.             double var10 = (double)this.columnWidth(var1) * ((double)100.0F - (double)this.min_cell_visibility) / (double)100.0F;
  695.             int var6 = (var1 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var1)) - this.clip.xOffset();
  696.             double var2;
  697.             if (var6 < this.clip.horiz_origin) {
  698.                var2 = Math.min((double)this.clip.horiz_origin, (double)var6 + var10);
  699.             } else {
  700.                if (var6 + this.columnWidth(var1) <= this.clip.size().width + this.clip.horiz_origin) {
  701.                   return true;
  702.                }
  703.  
  704.                int var7 = var6 + this.columnWidth(var1) - (this.clip.size().width + this.clip.horiz_origin);
  705.                if (var6 - var7 < this.clip.horiz_origin) {
  706.                   var2 = (double)var6;
  707.                } else {
  708.                   if ((double)var7 <= var10) {
  709.                      return true;
  710.                   }
  711.  
  712.                   var2 = (double)(this.clip.horiz_origin + var7) - var10;
  713.                }
  714.             }
  715.  
  716.             if (!(var2 < (double)0.0F) && !(var2 > (double)this.cell_total_width) && (double)this.clip.horiz_origin != var2) {
  717.                if (this.repaint) {
  718.                   TblHorizScrollbar var11 = this.horiz_sb;
  719.                   int var8 = (int)var2;
  720.                   HorizScrollbarUtil.scroll(var11, this, (Event)null, var8);
  721.                } else {
  722.                   this.needs_repaint = true;
  723.                   this.clip.horiz_origin = (int)var2;
  724.                }
  725.  
  726.                return true;
  727.             } else {
  728.                return true;
  729.             }
  730.          } else {
  731.             return false;
  732.          }
  733.       } else {
  734.          return true;
  735.       }
  736.    }
  737.  
  738.    public boolean makeRowVisible(int var1) {
  739.       if (((Component)this).getPeer() == null) {
  740.          return false;
  741.       } else if (var1 >= this.frozen_rows && this.min_cell_visibility != 0) {
  742.          var1 = Math.max(0, Math.min(var1, this.rows - 1));
  743.          JCCellRange var4 = this.clip.range;
  744.          if (var4.start_row != -999 && var1 >= var4.start_row && (var1 <= var4.end_row || false)) {
  745.             double var10 = (double)this.rowHeight(var1) * ((double)100.0F - (double)this.min_cell_visibility) / (double)100.0F;
  746.             int var6 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - this.clip.yOffset();
  747.             double var2;
  748.             if (var6 < this.clip.vert_origin) {
  749.                var2 = Math.min((double)this.clip.vert_origin, (double)var6 + var10);
  750.             } else {
  751.                if (var6 + this.rowHeight(var1) <= this.clip.size().height + this.clip.vert_origin) {
  752.                   return true;
  753.                }
  754.  
  755.                int var7 = var6 + this.rowHeight(var1) - (this.clip.size().height + this.clip.vert_origin);
  756.                if (var6 - var7 < this.clip.vert_origin) {
  757.                   var2 = (double)var6;
  758.                } else {
  759.                   if ((double)var7 <= var10) {
  760.                      return true;
  761.                   }
  762.  
  763.                   var2 = (double)(this.clip.vert_origin + var7) - var10;
  764.                }
  765.             }
  766.  
  767.             if (!(var2 < (double)0.0F) && !(var2 > (double)this.cell_total_height) && (double)this.clip.vert_origin != var2) {
  768.                if (this.repaint) {
  769.                   TblVertScrollbar var11 = this.vert_sb;
  770.                   int var8 = (int)var2;
  771.                   VertScrollbarUtil.scroll(var11, this, (Event)null, var8);
  772.                } else {
  773.                   this.needs_repaint = true;
  774.                   this.clip.vert_origin = (int)var2;
  775.                }
  776.  
  777.                return true;
  778.             } else {
  779.                return true;
  780.             }
  781.          } else {
  782.             return false;
  783.          }
  784.       } else {
  785.          return true;
  786.       }
  787.    }
  788.  
  789.    boolean isVisible(JCVector var1, int var2) {
  790.       return var1 == this.row_labels ? this.isRowVisible(var2) : this.isColumnVisible(var2);
  791.    }
  792.  
  793.    public boolean isVisible(int var1, int var2) {
  794.       return this.isRowVisible(var1) && this.isColumnVisible(var2);
  795.    }
  796.  
  797.    boolean isColumnVisible(int var1) {
  798.       if (((Component)this).getPeer() == null) {
  799.          return false;
  800.       } else if (var1 == -1) {
  801.          return this.column_label_height > 0 && this.columnWidth(var1) > 0;
  802.       } else if (var1 >= 0 && var1 < this.columns && this.columnWidth(var1) > 0) {
  803.          Clip var2 = Clip.find_by_type(this, 2);
  804.          if (var2 != null) {
  805.             JCCellRange var3 = var2.range;
  806.             if (var3.start_row != -999 && var1 >= var3.start_column && (var1 <= var3.end_column || false)) {
  807.                return true;
  808.             }
  809.          }
  810.  
  811.          JCCellRange var4 = this.clip.range;
  812.          if (var4.start_row != -999 && var1 >= var4.start_column && (var1 <= var4.end_column || false)) {
  813.             int var5 = (var1 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var1)) - this.clip.xOffset();
  814.             if (var5 + this.columnWidth(var1) > this.clip.horiz_origin && var5 < this.clip.width + this.clip.horiz_origin) {
  815.                return true;
  816.             } else {
  817.                return false;
  818.             }
  819.          } else {
  820.             return false;
  821.          }
  822.       } else {
  823.          return false;
  824.       }
  825.    }
  826.  
  827.    boolean isRowVisible(int var1) {
  828.       if (((Component)this).getPeer() == null) {
  829.          return false;
  830.       } else if (var1 == -1) {
  831.          return this.row_label_width > 0 && this.rowHeight(var1) > 0;
  832.       } else if (var1 >= 0 && var1 < this.rows && this.rowHeight(var1) > 0) {
  833.          Clip var2 = Clip.find_by_type(this, 3);
  834.          if (var2 != null) {
  835.             JCCellRange var3 = var2.range;
  836.             if (var3.start_row != -999 && var1 >= var3.start_row && (var1 <= var3.end_row || false)) {
  837.                return true;
  838.             }
  839.          }
  840.  
  841.          JCCellRange var4 = this.clip.range;
  842.          if (var4.start_row != -999 && var1 >= var4.start_row && (var1 <= var4.end_row || false)) {
  843.             int var5 = (var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1)) - this.clip.yOffset();
  844.             if (var5 + this.rowHeight(var1) > this.clip.vert_origin && var5 < this.clip.height + this.clip.vert_origin) {
  845.                return true;
  846.             } else {
  847.                return false;
  848.             }
  849.          } else {
  850.             return false;
  851.          }
  852.       } else {
  853.          return false;
  854.       }
  855.    }
  856.  
  857.    boolean IS_TRAVERSABLE(int var1, int var2) {
  858.       return false;
  859.    }
  860.  
  861.    boolean hasVertSB() {
  862.       return this.vert_sb != null && this.vert_sb.isVisible();
  863.    }
  864.  
  865.    boolean hasHorizSB() {
  866.       return this.horiz_sb != null && this.horiz_sb.isVisible();
  867.    }
  868.  
  869.    public TblVertScrollbar getVertSB() {
  870.       return this.vert_sb;
  871.    }
  872.  
  873.    public TblHorizScrollbar getHorizSB() {
  874.       return this.horiz_sb;
  875.    }
  876.  
  877.    Object cellValue(int var1, int var2) {
  878.       return this.cellExists(var1, var2) ? ((Vector)this.cells.elementAt(var1)).elementAt(var2) : null;
  879.    }
  880.  
  881.    void setCellValue(int var1, int var2, Object var3) {
  882.       if (var3 instanceof Component) {
  883.          this.setComponent(var1, var2, (Component)var3);
  884.       } else {
  885.          label38: {
  886.             label33: {
  887.                boolean var10000;
  888.                if (var1 == -1) {
  889.                   if (var2 >= 0) {
  890.                      break label38;
  891.                   }
  892.  
  893.                   var10000 = false;
  894.                } else {
  895.                   if (var2 != -1) {
  896.                      break label33;
  897.                   }
  898.  
  899.                   if (var1 >= 0) {
  900.                      break label38;
  901.                   }
  902.  
  903.                   var10000 = false;
  904.                }
  905.  
  906.                if (var10000) {
  907.                   break label38;
  908.                }
  909.             }
  910.  
  911.             if (var1 >= 0 && var2 >= 0) {
  912.                SetValue.cell(this, var1, var2, var3, true);
  913.             }
  914.  
  915.             return;
  916.          }
  917.  
  918.          SetValue.label(this, var1, var2, var3);
  919.       }
  920.    }
  921.  
  922.    public Object getColumnLabel(int var1) {
  923.       boolean var10000;
  924.       if (var1 == -1) {
  925.          if (this.row_labels.size() > -1) {
  926.             return this.column_labels.elementAt(var1);
  927.          }
  928.  
  929.          var10000 = false;
  930.       } else {
  931.          if (var1 < this.column_labels.size()) {
  932.             return this.column_labels.elementAt(var1);
  933.          }
  934.  
  935.          var10000 = false;
  936.       }
  937.  
  938.       if (!var10000) {
  939.          return null;
  940.       } else {
  941.          return this.column_labels.elementAt(var1);
  942.       }
  943.    }
  944.  
  945.    public Object getRowLabel(int var1) {
  946.       return var1 < this.row_labels.size() ? this.row_labels.elementAt(var1) : null;
  947.    }
  948.  
  949.    public Object getCell(int var1, int var2) {
  950.       label29: {
  951.          boolean var10000;
  952.          if (var1 == -1) {
  953.             if (var2 >= 0) {
  954.                return GetValue.label(this, var1, var2);
  955.             }
  956.  
  957.             var10000 = false;
  958.          } else {
  959.             if (var2 != -1) {
  960.                break label29;
  961.             }
  962.  
  963.             if (var1 >= 0) {
  964.                return GetValue.label(this, var1, var2);
  965.             }
  966.  
  967.             var10000 = false;
  968.          }
  969.  
  970.          if (var10000) {
  971.             return GetValue.label(this, var1, var2);
  972.          }
  973.       }
  974.  
  975.       if (var1 >= 0 && var2 >= 0) {
  976.          return GetValue.cell(this, var1, var2);
  977.       } else {
  978.          return null;
  979.       }
  980.    }
  981.  
  982.    JCValueEvent callGetCellValueCB(int var1, int var2) {
  983.       return null;
  984.    }
  985.  
  986.    JCValueEvent callGetLabelValueCB(int var1, int var2) {
  987.       return null;
  988.    }
  989.  
  990.    final boolean cellExists(int var1, int var2) {
  991.       return var1 >= 0 && var1 < this.cells.size() && this.cells.elementAt(var1) != null && var2 >= 0 && var2 < ((Vector)this.cells.elementAt(var1)).size();
  992.    }
  993.  
  994.    final boolean labelExists(int var1, int var2) {
  995.       if (var2 == -1) {
  996.          return var1 < this.row_labels.size();
  997.       } else if (var1 == -1) {
  998.          return var2 < this.column_labels.size();
  999.       } else {
  1000.          return false;
  1001.       }
  1002.    }
  1003.  
  1004.    final int rowPosition(int var1) {
  1005.       return var1 == -1 ? this.rowLabelPosition() : this.row_heights.getPosition(var1);
  1006.    }
  1007.  
  1008.    final int columnPosition(int var1) {
  1009.       return var1 == -1 ? this.columnLabelPosition() : this.column_widths.getPosition(var1);
  1010.    }
  1011.  
  1012.    final int textWidthOffset() {
  1013.       return this.margin_width + this.shadow_thickness;
  1014.    }
  1015.  
  1016.    final int textHeightOffset() {
  1017.       return this.margin_height + this.shadow_thickness;
  1018.    }
  1019.  
  1020.    final int rowHeight(int var1) {
  1021.       if (var1 < -1) {
  1022.          return 0;
  1023.       } else if (var1 == -1) {
  1024.          return this.column_label_height + (this.margin_height + this.shadow_thickness) * 2;
  1025.       } else {
  1026.          return this.rows > 0 ? this.row_heights.getValue(var1) : 0;
  1027.       }
  1028.    }
  1029.  
  1030.    final int rowLabelWidth() {
  1031.       return this.rows > 0 && this.row_label_width > 0 ? this.row_label_width + (this.margin_width + this.shadow_thickness) * 2 : 0;
  1032.    }
  1033.  
  1034.    final int columnLabelHeight() {
  1035.       return this.columns > 0 && this.column_label_height > 0 ? this.column_label_height + (this.margin_height + this.shadow_thickness) * 2 : 0;
  1036.    }
  1037.  
  1038.    final int rowLabelExtraWidth() {
  1039.       return this.rows > 0 && this.row_label_width > 0 ? this.row_label_offset + 2 * this.frame_shadow : 0;
  1040.    }
  1041.  
  1042.    final int colLabelExtraHeight() {
  1043.       byte var1 = 0;
  1044.       return this.columns != 0 && this.column_label_height != 0 ? var1 + this.column_label_offset + 2 * this.frame_shadow : var1;
  1045.    }
  1046.  
  1047.    final int columnWidth(int var1) {
  1048.       if (var1 < -1) {
  1049.          return 0;
  1050.       } else if (var1 == -1) {
  1051.          return this.row_label_width + (this.margin_width + this.shadow_thickness) * 2;
  1052.       } else {
  1053.          return this.columns > 0 ? this.column_widths.getValue(var1) : 0;
  1054.       }
  1055.    }
  1056.  
  1057.    final int frozenColumnWidth() {
  1058.       return this.columns > 0 ? this.column_widths.getPosition(this.frozen_columns) : 0;
  1059.    }
  1060.  
  1061.    final int columnLabelOffset() {
  1062.       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);
  1063.    }
  1064.  
  1065.    final int frozenRowHeight() {
  1066.       return this.rows > 0 ? this.row_heights.getPosition(this.frozen_rows) : 0;
  1067.    }
  1068.  
  1069.    final int rowLabelOffset() {
  1070.       return this.column_label_placement == 0 ? this.columnLabelHeight() + this.colLabelExtraHeight() : 0;
  1071.    }
  1072.  
  1073.    final int frozenRowLabelOffset() {
  1074.       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);
  1075.    }
  1076.  
  1077.    final int frozenRowPosition() {
  1078.       if (this.frozen_row_placement == 0) {
  1079.          return this.column_label_placement == 0 ? this.columnLabelHeight() + this.colLabelExtraHeight() : 0;
  1080.       } else {
  1081.          return (this.column_label_placement == 0 ? this.columnLabelHeight() + this.colLabelExtraHeight() : 0) + this.cell_height;
  1082.       }
  1083.    }
  1084.  
  1085.    final int frozenColumnPosition() {
  1086.       return this.frozen_column_placement == 1 ? this.columnLabelOffset() : this.columnLabelOffset() + this.cell_width;
  1087.    }
  1088.  
  1089.    final int rowLabelPosition() {
  1090.       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;
  1091.    }
  1092.  
  1093.    final int columnLabelPosition() {
  1094.       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;
  1095.    }
  1096.  
  1097.    int frozenColumnLabelOffset() {
  1098.       return this.columnLabelOffset() + (this.frozen_column_placement == 1 ? (this.columns > 0 ? this.column_widths.getPosition(this.frozen_columns) : 0) : 0);
  1099.    }
  1100.  
  1101.    int vertSBwidth() {
  1102.       return 16 + this.vertsb_offset;
  1103.    }
  1104.  
  1105.    int horizSBheight() {
  1106.       return 16 + this.horizsb_offset;
  1107.    }
  1108.  
  1109.    public synchronized void reshape(int var1, int var2, int var3, int var4) {
  1110.       if (var1 != ((Component)this).location().x || var2 != ((Component)this).location().y || var3 != ((Component)this).size().width || var4 != ((Component)this).size().height) {
  1111.          if (var3 >= 0 && var4 >= 0) {
  1112.             Dimension var5 = ((Component)this).getToolkit().getScreenSize();
  1113.             var3 = Math.max(1, Math.min(var3, var5.width));
  1114.             var4 = Math.max(1, Math.min(var4, var5.height));
  1115.             super.reshape(var1, var2, var3, var4);
  1116.             ((Container)this).invalidate();
  1117.             this.validate();
  1118.          }
  1119.       }
  1120.    }
  1121.  
  1122.    public synchronized void layout() {
  1123.       if (this.repaint && ((Component)this).getPeer() != null) {
  1124.          Layout.doLayout(this);
  1125.       } else {
  1126.          this.needs_repaint = this.needs_recalc = true;
  1127.       }
  1128.    }
  1129.  
  1130.    public void validate() {
  1131.       if (!((Component)this).isValid() && ((Component)this).getPeer() != null) {
  1132.          Object var1 = ((Component)this).getTreeLock();
  1133.          synchronized(var1){}
  1134.  
  1135.          try {
  1136.             ((Container)this).validateTree();
  1137.          } catch (Throwable var3) {
  1138.             throw var3;
  1139.          }
  1140.  
  1141.       }
  1142.    }
  1143.  
  1144.    void validateRes() {
  1145.       if (this.frozen_rows > 0 && this.frozen_rows >= this.rows) {
  1146.          System.out.println("Too many frozen rows: " + this.frozen_rows);
  1147.          this.frozen_rows = this.rows - 1;
  1148.       }
  1149.  
  1150.       if (this.frozen_columns > 0 && this.frozen_columns >= this.columns) {
  1151.          System.out.println("Too many frozen columns: " + this.frozen_columns);
  1152.          this.frozen_columns = this.columns - 1;
  1153.       }
  1154.  
  1155.       if (this.top_row != 0) {
  1156.          this.top_row = Math.max(0, Math.min(this.top_row, this.rows - 1));
  1157.          if (this.top_row != 0) {
  1158.             this.set_top_row = true;
  1159.          }
  1160.       }
  1161.  
  1162.       if (this.left_column != 0) {
  1163.          this.left_column = Math.max(0, Math.min(this.left_column, this.columns - 1));
  1164.          if (this.left_column != 0) {
  1165.             this.set_left_column = true;
  1166.          }
  1167.       }
  1168.  
  1169.       JCCellRange var1 = new JCCellRange();
  1170.       if (!this.set_left_column && this.getVisibleColumns(var1)) {
  1171.          this.left_column = var1.start_column;
  1172.       }
  1173.  
  1174.       if (!this.set_top_row && this.getVisibleRows(var1)) {
  1175.          this.top_row = var1.start_row;
  1176.       }
  1177.  
  1178.    }
  1179.  
  1180.    public void addNotify() {
  1181.       if (((Component)this).getPeer() == null) {
  1182.          super.addNotify();
  1183.       }
  1184.  
  1185.       this.validateRes();
  1186.       if (this.bg_series.getDefault() == null) {
  1187.          this.bg_series.setDefault(((Component)this).getBackground());
  1188.       }
  1189.  
  1190.       if (this.fg_series.getDefault() == null) {
  1191.          this.fg_series.setDefault(((Component)this).getForeground());
  1192.       }
  1193.  
  1194.       if (this.font_series.getDefault() == null) {
  1195.          this.font_series.setDefault(((Component)this).getFont());
  1196.       }
  1197.  
  1198.       this.column_label_height = Size.getColumnLabelMaxHeight(this, -998, 0);
  1199.       this.row_label_width = Size.getRowLabelMaxWidth(this, -998, 0);
  1200.       Size.setDimensions(this, 7, this.rows, this.columns, -998, 0, -998, 0, true);
  1201.       if (this.span_list_orig.size() > 0) {
  1202.          Span.copy(this);
  1203.          Span.adjust(this);
  1204.       }
  1205.  
  1206.    }
  1207.  
  1208.    public void convert(JCVector var1, int var2, int var3) {
  1209.       if (this.datatype_series.getSingleValue() != new Integer(5)) {
  1210.          TblConvertUtil.convert(this, var1, var2, var3);
  1211.       }
  1212.  
  1213.    }
  1214.  
  1215.    public int getAlignment(int var1, int var2) {
  1216.       return this.alignment_series.getIntValue(var1, var2);
  1217.    }
  1218.  
  1219.    private Color getRepeatColor(Object var1, int var2, int var3, boolean var4) {
  1220.       Color[] var5 = var4 ? this.repeat_bg_colors : this.repeat_fg_colors;
  1221.       if (var5 == null) {
  1222.          return var4 ? ((Component)this).getBackground() : ((Component)this).getForeground();
  1223.       } else {
  1224.          int var6 = (Integer)var1;
  1225.          int var7 = var6 == -995 ? var2 : var3;
  1226.          int var8 = var7 < 0 ? (var5.length - -1 * var7 % var5.length) % var5.length : var7 % var5.length;
  1227.          return var5[var8];
  1228.       }
  1229.    }
  1230.  
  1231.    public Color getBackground(int var1, int var2) {
  1232.       Object var3 = this.bg_series.getValue(var1, var2);
  1233.       return var3 instanceof Color ? (Color)var3 : this.getRepeatColor(var3, var1, var2, true);
  1234.    }
  1235.  
  1236.    public int getBorderSides(int var1, int var2) {
  1237.       return this.bordersides_series.getIntValue(var1, var2);
  1238.    }
  1239.  
  1240.    public int getBorderType(int var1, int var2) {
  1241.       return this.bordertype_series.getIntValue(var1, var2);
  1242.    }
  1243.  
  1244.    public int getCharHeight(int var1) {
  1245.       return this.charheight_series.getIntValue(var1, -998);
  1246.    }
  1247.  
  1248.    public Component getComponent(int var1, int var2) {
  1249.       return null;
  1250.    }
  1251.  
  1252.    public int getCharWidth(int var1) {
  1253.       return this.charwidth_series.getIntValue(-998, var1);
  1254.    }
  1255.  
  1256.    public int getDatatype(int var1, int var2) {
  1257.       return this.datatype_series.getIntValue(var1, var2);
  1258.    }
  1259.  
  1260.    public Font getFont(int var1, int var2) {
  1261.       return (Font)this.font_series.getValue(var1, var2);
  1262.    }
  1263.  
  1264.    public Color getForeground(int var1, int var2) {
  1265.       Object var3 = this.fg_series.getValue(var1, var2);
  1266.       return var3 instanceof Color ? (Color)var3 : this.getRepeatColor(var3, var1, var2, false);
  1267.    }
  1268.  
  1269.    public int getPixelHeight(int var1) {
  1270.       return this.pixelheight_series.getIntValue(var1, -998);
  1271.    }
  1272.  
  1273.    public int getPixelWidth(int var1) {
  1274.       return this.pixelwidth_series.getIntValue(-998, var1);
  1275.    }
  1276.  
  1277.    public void setComponent(int var1, int var2, Component var3) {
  1278.    }
  1279.  
  1280.    boolean hasComponents() {
  1281.       return false;
  1282.    }
  1283.  
  1284.    public void run() {
  1285.    }
  1286.  
  1287.    public JCCellPosition getPosition(Component var1, JCCellPosition var2) {
  1288.       return null;
  1289.    }
  1290.  
  1291.    public void printAll(Graphics var1) {
  1292.       boolean var2 = this.double_buffer;
  1293.       this.double_buffer = false;
  1294.       super.printAll(var1);
  1295.       this.double_buffer = var2;
  1296.    }
  1297.  
  1298.    public final void setLayout(LayoutManager var1) {
  1299.    }
  1300. }
  1301.