home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2003 March / DPPCPRO0303.ISO / Netfusion / data1.cab / Components / SiteMapper / check_box_panel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-12-10  |  2.8 KB  |  76 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Checkbox;
  3. import java.awt.CheckboxGroup;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.FlowLayout;
  9. import java.awt.Label;
  10. import java.awt.Panel;
  11.  
  12. class check_box_panel extends Panel {
  13.    Sitemapper parent_applet;
  14.    CheckboxGroup cbg;
  15.    Checkbox level_two;
  16.    Checkbox level_three;
  17.    Checkbox level_four;
  18.    Checkbox level_all;
  19.  
  20.    check_box_panel(Sitemapper parent_applet) {
  21.       ((Component)this).setBackground(Color.lightGray);
  22.       this.parent_applet = parent_applet;
  23.       ((Container)this).setLayout(new BorderLayout());
  24.       Panel p = new Panel();
  25.       ((Container)this).add("West", p);
  26.       ((Container)p).setLayout(new FlowLayout());
  27.       this.cbg = new CheckboxGroup();
  28.       if (parent_applet.wsb.max_level + 1 > 2) {
  29.          ((Container)p).add(new Label("Show up to Level: "));
  30.          ((Container)p).add(this.level_two = new Checkbox("2", this.cbg, false));
  31.          if (parent_applet.wsb.max_level + 1 <= 3) {
  32.             ((Container)p).add(this.level_all = new Checkbox("All", this.cbg, true));
  33.             return;
  34.          }
  35.  
  36.          ((Container)p).add(this.level_three = new Checkbox("3", this.cbg, false));
  37.          if (parent_applet.wsb.max_level + 1 <= 4) {
  38.             ((Container)p).add(this.level_all = new Checkbox("All", this.cbg, true));
  39.             return;
  40.          }
  41.  
  42.          ((Container)p).add(this.level_four = new Checkbox("4", this.cbg, false));
  43.          ((Container)p).add(this.level_all = new Checkbox("All", this.cbg, true));
  44.       }
  45.  
  46.    }
  47.  
  48.    public boolean action(Event evt, Object arg) {
  49.       if (evt.target instanceof Checkbox) {
  50.          this.parent_applet.wsb.web_list.removeAllElements();
  51.          int tree_level = -1;
  52.          if (evt.target.equals(this.level_two)) {
  53.             tree_level = 1;
  54.          } else if (evt.target.equals(this.level_three)) {
  55.             tree_level = 2;
  56.          } else if (evt.target.equals(this.level_four)) {
  57.             tree_level = 3;
  58.          } else if (evt.target.equals(this.level_all)) {
  59.             tree_level = this.parent_applet.wsb.max_level;
  60.          }
  61.  
  62.          this.parent_applet.wsb.restrict_tree(this.parent_applet.wsb.web_tree, tree_level);
  63.          this.parent_applet.main_canvas.max_level = tree_level;
  64.          this.parent_applet.main_canvas.my_max_width = this.parent_applet.tgb.find_grid_width(tree_level);
  65.          this.parent_applet.tgb.remap_grid(tree_level);
  66.          this.parent_applet.main_canvas.my_max_width = this.parent_applet.tgb.find_grid_width(tree_level);
  67.          this.parent_applet.main_canvas.repaint();
  68.          this.parent_applet.main_list_box.delItems(0, this.parent_applet.main_list_box.countItems() - 1);
  69.          this.parent_applet.main_list_box.draw_web_list();
  70.          return true;
  71.       } else {
  72.          return false;
  73.       }
  74.    }
  75. }
  76.