home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 June / INTERNET92.ISO / pc / software / windows / building / visual_dhtml / visualdhtmlwin2000.exe / OCfdlg.___ (.txt) < prev    next >
Encoding:
Java Class File  |  2001-10-19  |  6.4 KB  |  340 lines

  1. import com.ms.awt.FontX;
  2. import java.awt.Button;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dialog;
  7. import java.awt.Dimension;
  8. import java.awt.Event;
  9. import java.awt.FlowLayout;
  10. import java.awt.Font;
  11. import java.awt.FontMetrics;
  12. import java.awt.Graphics;
  13. import java.awt.Image;
  14. import java.awt.Label;
  15. import java.awt.List;
  16. import java.awt.Panel;
  17. import java.awt.Point;
  18. import java.awt.TextField;
  19. import java.awt.Window;
  20. import sun.awt.VariableGridLayout;
  21.  
  22. class OCfdlg extends Dialog {
  23.    Panel c_p;
  24.    Panel s_p;
  25.    Label lb1;
  26.    Label lb2;
  27.    Label lb3;
  28.    TextField ib1;
  29.    TextField ib2;
  30.    TextField ib3;
  31.    // $FF: renamed from: l1 java.awt.List
  32.    List field_0;
  33.    // $FF: renamed from: l2 java.awt.List
  34.    List field_1;
  35.    // $FF: renamed from: l3 java.awt.List
  36.    List field_2;
  37.    // $FF: renamed from: b1 java.awt.Button
  38.    Button field_3;
  39.    // $FF: renamed from: b2 java.awt.Button
  40.    Button field_4;
  41.    // $FF: renamed from: b3 java.awt.Button
  42.    Button field_5;
  43.    // $FF: renamed from: nf java.awt.Font
  44.    Font field_6 = new Font("Helvetica", 0, 11);
  45.    boolean first_paint = true;
  46.    ACIntf parent;
  47.    Image npoff_i;
  48.    Graphics npoff_g;
  49.    Dimension npdim;
  50.    Font curfont;
  51.    OCAgrid grid;
  52.    String def_str;
  53.    int type;
  54.    OCTextArea fntDisplay;
  55.    boolean spec_grid = false;
  56.    boolean first_run = true;
  57.    // $FF: renamed from: d java.awt.Dimension
  58.    Dimension field_7;
  59.    int[] family_weight_style_size;
  60.    int[] default_fwss;
  61.    boolean seperated_griditems = false;
  62.    String[] font_str;
  63.  
  64.    OCfdlg(int var1, ACIntf var2, OCAgrid var3, int var4) {
  65.       super(var2, true);
  66.       this.parent = var2;
  67.       this.grid = var3;
  68.       this.type = var1;
  69.       this.initDialog();
  70.    }
  71.  
  72.    OCfdlg(int var1, ACIntf var2, OCAgrid var3, int[] var4) {
  73.       super(var2, false);
  74.       this.parent = var2;
  75.       this.grid = var3;
  76.       this.type = var1;
  77.       this.family_weight_style_size = var4;
  78.       this.seperated_griditems = true;
  79.       this.initDialog();
  80.    }
  81.  
  82.    OCfdlg(int var1, ACIntf var2, OCAgrid var3, int[] var4, int[] var5) {
  83.       super(var2, false);
  84.       this.spec_grid = true;
  85.       this.parent = var2;
  86.       this.grid = var3;
  87.       this.type = var1;
  88.       this.family_weight_style_size = var4;
  89.       this.default_fwss = var5;
  90.       this.seperated_griditems = true;
  91.       this.initDialog();
  92.    }
  93.  
  94.    private Point figureTextPos() {
  95.       FontMetrics var1 = this.npoff_g.getFontMetrics();
  96.       int var2 = (this.npdim.width - var1.stringWidth(this.ib1.getText())) / 2;
  97.       int var3 = (this.npdim.height - var1.getHeight()) / 2 + var1.getLeading() + var1.getAscent();
  98.       return new Point(var2, var3);
  99.    }
  100.  
  101.    private void initSelections(String[] var1) {
  102.       this.ib1.setText(var1[0]);
  103.       String var3 = var1[1];
  104.       String var4 = var1[2];
  105.       int var5 = 0;
  106.       if (var3.toLowerCase().equals("bold")) {
  107.          var5 = 1;
  108.       }
  109.  
  110.       if (var4.toLowerCase().equals("italic")) {
  111.          var5 += 2;
  112.       }
  113.  
  114.       if (var5 == 0) {
  115.          this.ib2.setText("Plain");
  116.       } else if (var5 == 1) {
  117.          this.ib2.setText("Bold");
  118.       } else if (var5 == 2) {
  119.          this.ib2.setText("Italic");
  120.       } else if (var5 == 3) {
  121.          this.ib2.setText("Bold-Italic");
  122.       } else {
  123.          this.ib2.setText("Plain");
  124.       }
  125.  
  126.       this.ib3.setText(var1[3]);
  127.  
  128.       for(int var2 = 0; var2 < this.field_0.countItems(); ++var2) {
  129.          if (var1[0].equalsIgnoreCase(this.field_0.getItem(var2))) {
  130.             this.field_0.select(var2);
  131.          }
  132.       }
  133.  
  134.       for(int var6 = 0; var6 < this.field_1.countItems(); ++var6) {
  135.          if (this.ib2.getText().equalsIgnoreCase(this.field_1.getItem(var6))) {
  136.             this.field_1.select(var6);
  137.          }
  138.       }
  139.  
  140.       for(int var7 = 0; var7 < this.field_2.countItems(); ++var7) {
  141.          if (var1[3].equalsIgnoreCase(this.field_2.getItem(var7))) {
  142.             this.field_2.select(var7);
  143.          }
  144.       }
  145.  
  146.    }
  147.  
  148.    public void show() {
  149.       super.show();
  150.       this.initSelections(this.font_str);
  151.       this.updateDisplay();
  152.    }
  153.  
  154.    private void setGridValues() {
  155.       String var1 = "";
  156.       if (this.field_0.getSelectedIndex() > -1) {
  157.          var1 = this.field_0.getSelectedItem();
  158.       } else {
  159.          var1 = this.ib1.getText();
  160.       }
  161.  
  162.       this.grid.setGridValue(this.family_weight_style_size[0], var1);
  163.       if (this.field_1.getSelectedIndex() > -1) {
  164.          var1 = this.field_1.getSelectedItem().toLowerCase();
  165.       } else {
  166.          var1 = this.ib2.getText();
  167.       }
  168.  
  169.       String var2 = "normal";
  170.       String var3 = "normal";
  171.       if (var1.equals("bold")) {
  172.          var2 = "bold";
  173.       } else if (var1.equals("italic")) {
  174.          var3 = "italic";
  175.       } else if (var1.equals("bold-italic")) {
  176.          var2 = "bold";
  177.          var3 = "italic";
  178.       }
  179.  
  180.       this.grid.setGridValue(this.family_weight_style_size[1], var2);
  181.       this.grid.setGridValue(this.family_weight_style_size[2], var3);
  182.       if (this.field_2.getSelectedIndex() > -1) {
  183.          var1 = this.field_2.getSelectedItem().toLowerCase();
  184.       } else {
  185.          var1 = this.ib3.getText();
  186.       }
  187.  
  188.       this.grid.setGridValue(this.family_weight_style_size[3], var1);
  189.    }
  190.  
  191.    private void updateDisplay() {
  192.       this.curfont = new FontX(this.field_0.getSelectedItem(), this.field_1.getSelectedIndex(), new Integer(this.ib3.getText()) + 3);
  193.       this.fntDisplay.setFont(this.curfont);
  194.       this.fntDisplay.setText(this.ib1.getText());
  195.    }
  196.  
  197.    private void initDialog() {
  198.       int var1 = 0;
  199.       this.def_str = this.parent.appinfo.getDefValue("Font");
  200.       if (this.def_str.indexOf(",") == -1) {
  201.          this.def_str = "Helvetica, plain, 12";
  202.       }
  203.  
  204.       this.font_str = new String[4];
  205.  
  206.       for(int var8 = 0; var8 < this.font_str.length; ++var8) {
  207.          this.font_str[var8] = this.grid.getGridValue(this.family_weight_style_size[var8]);
  208.          if (this.spec_grid && this.font_str[var8].toLowerCase().equals("<default>")) {
  209.             this.font_str[var8] = ACutila.iface.ipan.defgrid.getGridValue(this.default_fwss[var8]);
  210.          }
  211.       }
  212.  
  213.       ((Dialog)this).setTitle("Font Picker");
  214.       ((Dialog)this).setResizable(false);
  215.       VariableGridLayout var2 = new VariableGridLayout(3, 1);
  216.       ((Container)this).setLayout(var2);
  217.       var2.setRowFraction(0, (double)0.25F);
  218.       var2.setRowFraction(1, 0.65);
  219.       var2.setRowFraction(2, 0.1);
  220.       Dimension var3 = ((Window)this).getToolkit().getScreenSize();
  221.       int var4 = (var3.width - 350) / 2;
  222.       int var5 = (var3.height - 210) / 2;
  223.       ((Component)this).reshape(var4, var5, 420, 290);
  224.       this.fntDisplay = new OCTextArea("Helvetica");
  225.       this.fntDisplay.setAlign(1);
  226.       this.fntDisplay.setVAlign(1);
  227.       this.c_p = new Panel();
  228.       this.c_p.setFont(this.field_6);
  229.       VariableGridLayout var6 = new VariableGridLayout(3, 3);
  230.       this.c_p.setLayout(var6);
  231.       var6.setRowFraction(0, (double)0.125F);
  232.       var6.setRowFraction(1, (double)0.125F);
  233.       var6.setRowFraction(2, (double)0.75F);
  234.       this.s_p = new Panel();
  235.       this.s_p.setFont(this.field_6);
  236.       this.s_p.setLayout(new FlowLayout(2, 2, 4));
  237.       this.lb1 = new Label("Family:", 0);
  238.       this.lb2 = new Label("Style / Weight:", 0);
  239.       this.lb3 = new Label("Size:", 0);
  240.       this.ib1 = new TextField(this.font_str[0]);
  241.       this.ib1.setEditable(false);
  242.       this.ib1.setBackground(Color.white);
  243.       this.ib2 = new TextField(this.font_str[1]);
  244.       this.ib2.setEditable(false);
  245.       this.ib2.setBackground(Color.white);
  246.       this.ib3 = new TextField(this.font_str[2]);
  247.       this.field_0 = new List();
  248.       this.field_1 = new List();
  249.       this.field_2 = new List();
  250.       this.field_3 = new Button("OK");
  251.       this.field_4 = new Button("Apply");
  252.       this.field_5 = new Button("Cancel");
  253.       this.c_p.add(this.lb1);
  254.       this.c_p.add(this.lb2);
  255.       this.c_p.add(this.lb3);
  256.       this.c_p.add(this.ib1);
  257.       this.c_p.add(this.ib2);
  258.       this.c_p.add(this.ib3);
  259.       this.c_p.add(this.field_0);
  260.       this.c_p.add(this.field_1);
  261.       this.c_p.add(this.field_2);
  262.       this.s_p.add(this.field_3);
  263.       this.s_p.add(this.field_4);
  264.       this.s_p.add(this.field_5);
  265.       ((Container)this).add("North", this.fntDisplay);
  266.       ((Container)this).add("Center", this.c_p);
  267.       ((Container)this).add("South", this.s_p);
  268.       String[] var7 = FontX.getFontList();
  269.  
  270.       for(int var9 = 0; var9 < var7.length; ++var9) {
  271.          this.field_0.addItem(var7[var9]);
  272.       }
  273.  
  274.       this.field_1.addItem("Plain");
  275.       this.field_1.addItem("Bold");
  276.       this.field_1.addItem("Italic");
  277.       this.field_1.addItem("Bold-Italic");
  278.       var1 = 8;
  279.  
  280.       do {
  281.          this.field_2.addItem((new Integer(var1)).toString());
  282.          var1 += 2;
  283.       } while(var1 < 30);
  284.  
  285.       this.field_2.addItem((new Integer(36)).toString());
  286.       this.field_2.addItem((new Integer(48)).toString());
  287.    }
  288.  
  289.    public boolean handleEvent(Event var1) {
  290.       if (var1.id == 701) {
  291.          if (var1.target == this.field_0) {
  292.             this.ib1.setText(this.field_0.getSelectedItem());
  293.          } else if (var1.target == this.field_1) {
  294.             this.ib2.setText(this.field_1.getSelectedItem());
  295.          } else {
  296.             this.ib3.setText(this.field_2.getSelectedItem());
  297.          }
  298.  
  299.          this.updateDisplay();
  300.          return true;
  301.       } else {
  302.          if (var1.id == 1001) {
  303.             if (var1.target == this.field_3) {
  304.                this.setGridValues();
  305.                ((Window)this).dispose();
  306.                return true;
  307.             }
  308.  
  309.             if (var1.target == this.field_4) {
  310.                this.setGridValues();
  311.                return true;
  312.             }
  313.  
  314.             if (var1.target == this.field_5) {
  315.                ((Window)this).dispose();
  316.                return true;
  317.             }
  318.          } else {
  319.             if (var1.id == 201) {
  320.                ((Window)this).dispose();
  321.                this.parent.toFront();
  322.                return true;
  323.             }
  324.  
  325.             if (var1.id == 1005) {
  326.                this.updateDisplay();
  327.                return super.handleEvent(var1);
  328.             }
  329.  
  330.             if (var1.key == 10) {
  331.                this.updateDisplay();
  332.                return true;
  333.             }
  334.          }
  335.  
  336.          return super.handleEvent(var1);
  337.       }
  338.    }
  339. }
  340.