home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMain.jar / JDPMaskEdit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-02-25  |  4.8 KB  |  330 lines

  1. import java.awt.TextComponent;
  2. import java.awt.TextField;
  3.  
  4. public class JDPMaskEdit {
  5.    public String getDecimalChar(String var1) {
  6.       if (var1 == null) {
  7.          return ".";
  8.       } else {
  9.          int var2 = var1.lastIndexOf(".");
  10.          int var3 = var1.lastIndexOf(",");
  11.          if (var3 > 0 && var3 > var2 && var2 >= 0) {
  12.             return ",";
  13.          } else {
  14.             return var2 > 0 && var2 > var3 ? "." : ".";
  15.          }
  16.       }
  17.    }
  18.  
  19.    public char getCommaChar(String var1) {
  20.       if (var1 == null) {
  21.          return ',';
  22.       } else {
  23.          int var2 = var1.lastIndexOf(".");
  24.          int var3 = var1.lastIndexOf(",");
  25.          if (var3 > 0 && var3 > var2 && var2 >= 0) {
  26.             return '.';
  27.          } else {
  28.             return (char)(var2 > 0 && var2 > var3 ? ',' : ',');
  29.          }
  30.       }
  31.    }
  32.  
  33.    public String stripFloat(TextField var1) {
  34.       String var2 = this.getDecimalChar(((TextComponent)var1).getText());
  35.       char var3 = var2.charAt(0);
  36.       String var4 = ((TextComponent)var1).getText();
  37.       String var5 = "";
  38.  
  39.       for(int var6 = 0; var6 < var4.length(); ++var6) {
  40.          if ((Character.isDigit(var4.charAt(var6)) || var4.charAt(var6) == var3 || var4.charAt(var6) == '-') && (var5.length() > 0 || var4.length() <= var6 + 1 || var4.charAt(var6) != '0' || var4.charAt(var6 + 1) != '0')) {
  41.             var5 = var5 + var4.substring(var6, var6 + 1);
  42.          }
  43.       }
  44.  
  45.       return var5.replace(',', '.');
  46.    }
  47.  
  48.    public String stripFloat(String var1) {
  49.       TextField var2 = new TextField(var1);
  50.       return this.stripFloat(var2);
  51.    }
  52.  
  53.    public String stripFloat(JDPSpinner var1) {
  54.       TextField var2 = new TextField(var1.getText());
  55.       return this.stripFloat(var2);
  56.    }
  57.  
  58.    public void formatString(TextField var1, String var2) {
  59.       if (var2 != null && !var2.equals("")) {
  60.          int var3 = ((TextComponent)var1).getSelectionStart();
  61.          String var4 = ((TextComponent)var1).getText();
  62.          String var5 = "";
  63.          int var6 = 0;
  64.  
  65.          for(int var7 = 0; var7 < var2.length(); ++var7) {
  66.             while(var6 < var2.length() && var2.charAt(var6) != '_') {
  67.                var5 = var5 + var2.substring(var6, var6 + 1);
  68.                ++var6;
  69.                if (var6 <= var3) {
  70.                   ++var3;
  71.                }
  72.             }
  73.  
  74.             if (var4.length() > var7) {
  75.                if (var2.indexOf(var4.substring(var7, var7 + 1)) < 0) {
  76.                   var5 = var5 + var4.substring(var7, var7 + 1);
  77.                   ++var6;
  78.                } else if (var3 > var6) {
  79.                   --var3;
  80.                }
  81.             }
  82.          }
  83.  
  84.          ((TextComponent)var1).setText(var5);
  85.  
  86.          try {
  87.             if (System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  88.                ((TextComponent)var1).setCaretPosition(var3);
  89.             } else {
  90.                ((TextComponent)var1).select(var3, var3);
  91.             }
  92.          } catch (Exception var8) {
  93.          }
  94.       }
  95.    }
  96.  
  97.    public String formatString(String var1, String var2) {
  98.       TextField var3 = new TextField(var1);
  99.       this.formatString(var3, var2);
  100.       return ((TextComponent)var3).getText();
  101.    }
  102.  
  103.    public String formatString(JDPTextGrid var1, String var2) {
  104.       return this.formatString(var1, var1.getCurrentColumn(), var1.getCurrentRow(), var2);
  105.    }
  106.  
  107.    public String formatString(JDPTextGrid var1, int var2, int var3, String var4) {
  108.       TextField var5 = new TextField(var1.getText(var2, var3));
  109.  
  110.       try {
  111.          if (System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  112.             ((TextComponent)var5).setCaretPosition(var1.getSelectionStart());
  113.             ((TextComponent)var5).setSelectionStart(var1.getSelectionStart());
  114.             ((TextComponent)var5).setSelectionEnd(var1.getSelectionEnd());
  115.          } else {
  116.             ((TextComponent)var5).select(var1.getSelectionStart(), var1.getSelectionEnd());
  117.          }
  118.       } catch (Exception var6) {
  119.       }
  120.  
  121.       this.formatString(var5, var4);
  122.       var1.setText(((TextComponent)var5).getText(), var2, var3);
  123.       var1.select(((TextComponent)var5).getSelectionStart(), ((TextComponent)var5).getSelectionEnd());
  124.       return ((TextComponent)var5).getText();
  125.    }
  126.  
  127.    public void formatFloat(TextField var1, String var2) {
  128.       this.formatFloat(var1, var2, ((TextComponent)var1).getSelectionStart());
  129.    }
  130.  
  131.    public void formatFloat(TextField var1, String var2, int var3) {
  132.       if (var2 != null && !var2.equals("")) {
  133.          String var4 = this.getDecimalChar(var2);
  134.          char var5 = var4.charAt(0);
  135.          char var6 = this.getCommaChar(var2);
  136.          String var7 = ((TextComponent)var1).getText();
  137.          String var8 = "";
  138.          int var9 = 0;
  139.  
  140.          for(int var10 = 0; var10 < var7.length(); ++var10) {
  141.             if (!Character.isDigit(var7.charAt(var10)) && var7.charAt(var10) != var5 || var8.length() <= 0 && var7.length() > var10 + 1 && var7.charAt(var10) == '0' && var7.charAt(var10 + 1) == '0') {
  142.                if (var10 < var3) {
  143.                   ++var9;
  144.                }
  145.             } else {
  146.                var8 = var8 + var7.substring(var10, var10 + 1);
  147.             }
  148.          }
  149.  
  150.          var3 -= var9;
  151.          String var21 = "";
  152.          int var11 = 0;
  153.          String var12 = "";
  154.          String var13 = "";
  155.          int var14 = var8.indexOf(var4);
  156.          if (var14 > 0) {
  157.             var13 = var8.substring(var14 + 1);
  158.             var12 = var8.substring(0, var14);
  159.          } else if (var14 == 0) {
  160.             var13 = var8.substring(var14 + 1);
  161.             var12 = "0";
  162.          } else {
  163.             var12 = var8;
  164.          }
  165.  
  166.          String var15 = "";
  167.          String var16 = "";
  168.          int var17 = var2.indexOf(var4);
  169.          if (var17 >= 0) {
  170.             var16 = var2.substring(var17 + 1);
  171.             var15 = var2.substring(0, var17);
  172.          } else {
  173.             var15 = var2;
  174.          }
  175.  
  176.          var11 = var15.length() - 1;
  177.  
  178.          for(int var18 = var12.length() - 1; var18 >= 0 && var11 >= 0 && var11 < var15.length(); --var18) {
  179.             while(var11 >= 0 && var15.charAt(var11) != '_' && var15.charAt(var11) != '0' && var15.charAt(var11) != '9') {
  180.                if (var21.length() <= var3 + 1) {
  181.                   ++var3;
  182.                }
  183.  
  184.                var21 = var15.substring(var11, var11 + 1) + var21;
  185.                --var11;
  186.             }
  187.  
  188.             if (var11 >= 0) {
  189.                var21 = var12.substring(var18, var18 + 1) + var21;
  190.                --var11;
  191.             } else if (var11 < 0) {
  192.                --var3;
  193.             }
  194.          }
  195.  
  196.          for(; var11 >= 0; --var11) {
  197.             if (var15.charAt(var11) != '_' && var15.charAt(var11) != var6 && var15.charAt(var11) != '0' && var15.charAt(var11) != '9') {
  198.                var21 = var15.substring(var11, var11 + 1) + var21;
  199.                ++var3;
  200.             }
  201.          }
  202.  
  203.          var11 = 0;
  204.          if (var14 >= 0 && var17 >= 0) {
  205.             var21 = var21 + var4;
  206.  
  207.             for(int var26 = 0; var26 < var13.length() && var11 < var16.length(); ++var26) {
  208.                while(var11 < var16.length() && var16.charAt(var11) != '_' && var16.charAt(var11) != '0' && var16.charAt(var11) != '9') {
  209.                   var21 = var21 + var16.substring(var11, var11 + 1);
  210.                   ++var11;
  211.                }
  212.  
  213.                if (var11 < var16.length()) {
  214.                   var21 = var21 + var13.substring(var26, var26 + 1);
  215.                   ++var11;
  216.                }
  217.             }
  218.          }
  219.  
  220.          for(boolean var27 = true; var11 < var16.length(); ++var11) {
  221.             if (var16.charAt(var11) != '_' && var16.charAt(var11) != var6 && var16.charAt(var11) != '9') {
  222.                if (var27 && var21.indexOf(var4) < 0) {
  223.                   var21 = var21 + var4;
  224.                }
  225.  
  226.                var21 = var21 + var16.substring(var11, var11 + 1);
  227.             }
  228.          }
  229.  
  230.          if (var7.indexOf("-") >= 0) {
  231.             var21 = "-" + var21;
  232.          }
  233.  
  234.          ((TextComponent)var1).setText(var21);
  235.  
  236.          try {
  237.             ((TextComponent)var1).select(var3, var3);
  238.             if (System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  239.                ((TextComponent)var1).setCaretPosition(var3);
  240.             } else {
  241.                ((TextComponent)var1).select(var3, var3);
  242.             }
  243.          } catch (Exception var19) {
  244.          }
  245.       }
  246.    }
  247.  
  248.    public String formatFloat(String var1, String var2) {
  249.       String var3 = this.getDecimalChar(var2);
  250.       if (var3.equals(",")) {
  251.          var1 = var1.replace('.', '#');
  252.          var1 = var1.replace(',', '.');
  253.          var1 = var1.replace('#', ',');
  254.       }
  255.  
  256.       TextField var4 = new TextField(var1);
  257.       this.formatFloat(var4, var2);
  258.       return ((TextComponent)var4).getText();
  259.    }
  260.  
  261.    public String formatFloat(JDPSpinner var1, String var2) {
  262.       TextField var3 = new TextField(var1.getText());
  263.       this.formatFloat(var3, var2);
  264.       return ((TextComponent)var3).getText();
  265.    }
  266.  
  267.    public String formatFloat(float var1, String var2) {
  268.       String var3 = this.getDecimalChar(var2);
  269.       String var4 = (new Float(var1)).toString();
  270.       TextField var5;
  271.       if (var4.indexOf("E") > 0) {
  272.          int var6 = (int)(var1 / 1000000.0F);
  273.          float var7 = var1 - (float)(var6 * 1000000);
  274.          var5 = new TextField(Integer.toString(var6) + (new Float(var7)).toString());
  275.       } else {
  276.          var5 = new TextField((new Float(var1)).toString());
  277.       }
  278.  
  279.       this.formatFloat(var5, var2);
  280.       String var8 = ((TextComponent)var5).getText();
  281.       if (var8.endsWith(var3)) {
  282.          var8 = var8.substring(0, var8.length() - 1);
  283.       }
  284.  
  285.       return var8;
  286.    }
  287.  
  288.    public String formatFloat(double var1, String var3) {
  289.       String var4 = this.getDecimalChar(var3);
  290.       String var5 = (new Double(var1)).toString();
  291.       TextField var6;
  292.       if (var5.indexOf("E") > 0) {
  293.          int var7 = (int)(var1 / (double)1000000.0F);
  294.          double var8 = var1 - (double)(var7 * 1000000);
  295.          var6 = new TextField(Integer.toString(var7) + (new Double(var8)).toString());
  296.       } else {
  297.          var6 = new TextField((new Double(var1)).toString());
  298.       }
  299.  
  300.       this.formatFloat(var6, var3);
  301.       String var10 = ((TextComponent)var6).getText();
  302.       if (var10.endsWith(var4)) {
  303.          var10 = var10.substring(0, var10.length() - 1);
  304.       }
  305.  
  306.       return var10;
  307.    }
  308.  
  309.    public String formatFloat(JDPTextGrid var1, String var2) {
  310.       return this.formatFloat(var1, var1.getCurrentColumn(), var1.getCurrentRow(), var2);
  311.    }
  312.  
  313.    public String formatFloat(JDPTextGrid var1, int var2, int var3, String var4) {
  314.       String var5 = var1.getText(var2, var3);
  315.       String var6 = this.getDecimalChar(var4);
  316.       String var7 = this.getDecimalChar(var5);
  317.       if (var6.equals(",") && var7.equals(".")) {
  318.          var5 = var5.replace('.', '#');
  319.          var5 = var5.replace(',', '.');
  320.          var5 = var5.replace('#', ',');
  321.       }
  322.  
  323.       TextField var8 = new TextField(var5);
  324.       this.formatFloat(var8, var4, var1.getSelectionStart());
  325.       var1.setText(((TextComponent)var8).getText(), var2, var3);
  326.       var1.select(((TextComponent)var8).getSelectionStart(), ((TextComponent)var8).getSelectionEnd());
  327.       return ((TextComponent)var8).getText();
  328.    }
  329. }
  330.