⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taghandler.java

📁 WAP ide 代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    catch (NullPointerException nullerr1) {}    try {      int pos = ((Integer) mergepoints.get("/wml")).intValue();      int end = deckData.indexOf(">", pos);      footer = "\n" + deckData.substring(pos, deckData.length());    }    catch (NullPointerException nullerr2) {}    try {      int pos = ((Integer) mergepoints.get("template")).intValue();      int pos2 = ((Integer) mergepoints.get("/template")).intValue();      int end = deckData.indexOf(">", pos2);      template = " " + deckData.substring(pos, end + 1) + "\n\n";    }    catch (NullPointerException nullerr3) {}    String data = header + template + cardData + footer;    return data;  }  /**   * Get the WML dtd version specified by the DOCTYPE tag.   */  public double getWMLVersion() {    return keywordFinder.getWMLVersion();  }  /**   * Gets the cards in the Graphics Designer and converts them to text.   * @return String text - the converted cards.   */  public String getCards() {    // call converter for each tab in CardPane    int index = CardPane.getSelectedIndex();    Vector data = new Vector();    data.add(new Integer(GlobalControlCounter));    data.add(gp.getStyledDocument());    data.add(new Boolean(CardTagsCreated));    data.add(cardControls);    data.add(CardLevelTags);    try {      openData.setElementAt(data, index);    }    catch (ArrayIndexOutOfBoundsException arrerr) {}    String txt = "";    for (int x = 0; x < CardPane.getComponentCount(); x++) {      // get the data      JTextPane p = new JTextPane();      data = (Vector) openData.get(x);      GlobalControlCounter = ((Integer) data.get(0)).intValue();      p.setStyledDocument((DefaultStyledDocument) data.get(1));      CardTagsCreated = ((Boolean) data.get(2)).booleanValue();      cardControls = (Vector) data.get(3);      CardLevelTags = (CardTags) data.get(4);      //convert the data to text      Converter conv = new Converter(p);      String s = conv.toText((StyledDocument) p.getDocument());      String properties = CardPane.getComponentAt(x).getName();      if (properties.length() > 0)        s = "\t<card " + properties + ">\n" + s + "\t</card>\n";      else        s = "\t<card>\n" + s + "\t</card>\n";      txt = txt + s;    }    return txt;  }  /**   * Deletes a card control from the application.  This process cannot be undone.   */  public void deleteCard() {    if (CardPane.getTabCount() > 0) {      try {        openData.remove(CardPane.getSelectedIndex());        CardPane.remove(CardPane.getSelectedIndex());        Vector data = (Vector) openData.get(CardPane.getSelectedIndex());        GlobalControlCounter = ((Integer) data.get(0)).intValue();        gp.setStyledDocument((DefaultStyledDocument) data.get(1));        CardTagsCreated = ((Boolean) data.get(2)).booleanValue();        cardControls = (Vector) data.get(3);        CardLevelTags = (CardTags) data.get(4);        gp.setVisible(false);        gp.setVisible(true);        previndex = CardPane.getSelectedIndex();      }      catch (ArrayIndexOutOfBoundsException arrerr) {        gp.setStyledDocument(new DefaultStyledDocument());        gp.setEnabled(false);        gp.setEditable(false);      }    }  }  /**   * Sets the properties of a the selected card.  Calls up a dialog box   * where the user can specify the various properties for a card.   */  public void setCardProperties() {    GraphicalControlsProperties gcp = new GraphicalControlsProperties();    String properties = CardPane.getSelectedComponent().getName();    String [] props = new String[7];    int start = -1;    int end = -1;    if (properties.indexOf("newcontext=\"") > -1) {      start = properties.indexOf("newcontext=\"") + 12;      end = properties.indexOf("\"", start);      props[0] = properties.substring(start, end);    }    else      props[0] = "N/A";    if (properties.indexOf("onenterbackward=\"") > -1) {      start = properties.indexOf("onenterbackward=\"") + 17;      end = properties.indexOf("\"", start);      props[1] = properties.substring(start, end);    }    if (properties.indexOf("onenterforward=\"") > -1) {      start = properties.indexOf("onenterforward=\"") + 16;      end = properties.indexOf("\"", start);      props[2] = properties.substring(start, end);    }    if (properties.indexOf("ontimer=\"") > -1) {      start = properties.indexOf("ontimer=\"") + 9;      end = properties.indexOf("\"", start);      props[3] = properties.substring(start, end);    }    if (properties.indexOf("ordered=\"") > -1) {      start = properties.indexOf("ordered=\"") + 9;      end = properties.indexOf("\"", start);      props[4] = properties.substring(start, end);    }    else      props[4] = "N/A";    if (properties.indexOf("title=\"") > -1) {      start = properties.indexOf("title=\"") + 7;      end = properties.indexOf("\"", start);      props[5] = properties.substring(start, end);    }    String extra = "";    if (properties.indexOf("id=\"") > -1) {      start = properties.indexOf("id=\"") + 4;      end = properties.indexOf("\"", start);      extra = extra + properties.substring(start -4, end + 1);    }    if (properties.indexOf("class=\"") > -1) {      start = properties.indexOf("class=\"") + 7;      end = properties.indexOf("\"", start);      extra = extra + properties.substring(start - 7, end + 1);    }    if (properties.indexOf("xml:lang=\"") > -1) {      start = properties.indexOf("xml:lang=\"") + 10;      end = properties.indexOf("\"", start);      extra = extra + properties.substring(start - 10, end + 1);    }    gcp.showCardPanel(props[0], props[1], props[2], props[3], props[4],                      props[5], extra);    gcp.show();    Vector dialogData = gcp.getData();    properties = "";    try {      if (!((String) dialogData.get(0)).equals("N/A"))        properties = properties + "newcontext=\"" + (String) dialogData.get(1) + "\" ";      if (!((String) dialogData.get(1)).equals(""))        properties = properties + "onenterbackward=\"" + (String) dialogData.get(2) + "\" ";      if (!((String) dialogData.get(2)).equals(""))        properties = properties + "onenterforward=\"" + (String) dialogData.get(3) + "\" ";      if (!((String) dialogData.get(3)).equals(""))        properties = properties + "ontimer=\"" + (String) dialogData.get(4) + "\" ";      if (!((String) dialogData.get(4)).equals("N/A"))        properties = properties + "ordered=\"" + (String) dialogData.get(5) + "\" ";      if (!((String) dialogData.get(5)).equals(""))        properties = properties + "title=\"" + (String) dialogData.get(5) + "\" ";      properties = properties + (String) dialogData.get(6);      properties = properties.trim();      CardPane.setTitleAt(CardPane.getSelectedIndex(), (String) dialogData.get(5));      CardPane.getSelectedComponent().setName(properties);    }    catch (NullPointerException nullerr) {// dialog cancelled    }  }  /**   * Sets the state of the editor, i.e. what buttons are enabled, based on   * the attributes found at the cursor's position.   */  public void checkCaretPosition() {    // get properties of text at caret position and set toolbar  & menu accordingly    // also check if text is selcted and if so set buttons and menus according.    JTextPane thepane;    if (focusControl == null) {      thepane = gp;    }    else      thepane = focusControl;    int start = -1;    int end = -1;    try {      start = thepane.getSelectionStart();      end = thepane.getSelectionEnd();    }    catch (NullPointerException noposerr) {}    // now check for paragraph properties    AttributeSet pset = thepane.getParagraphAttributes();    AttributeSet attribs;    if ((start == -1) && (end == -1))     attribs = thepane.getCharacterAttributes();    else {      attribs = (AttributeSet) ((StyledDocument) thepane.getDocument()).getCharacterElement(start);    }    // need to check for fieldset, anchor, and a tags    String match = "";    if (!(attribs.getAttribute("a") == null))      match = "a";    if (!(attribs.getAttribute("anchor") == null)) {      AnchorTagFound = true;      match = "anchor";    }    else      AnchorTagFound = false;    if (!(attribs.getAttribute("fieldset") == null))      match = "fieldset";    if (!currentDoDesigner.isVisible()) {      if (match.equals("")) {        Menu.getItem(1).setEnabled(true);        Menu.getItem(2).setEnabled(true);        Menu.getItem(3).setEnabled(true);        JMenu mi = (JMenu) Menu.getItem(2);        mi.setEnabled(true);        mi.getItem(0).setEnabled(true);        mi = (JMenu) Menu.getItem(4);        mi.setEnabled(true);        for (int x = 0; x < 4; x++)          mi.getItem(x).setEnabled(true);        Menu.getItem(5).setEnabled(true);        Menu.getItem(6).setEnabled(true);        Menu.getItem(7).setEnabled(true);        for (int x = 0; x < 20; x++)          Tools.getComponentAtIndex(x).setEnabled(true);        Tools.getComponentAtIndex(1).setEnabled(false); // dividers must stay disabled        Tools.getComponentAtIndex(4).setEnabled(false);        Tools.getComponentAtIndex(12).setEnabled(false);        for (int x = 0; x < 18; x++)          AdvancedTools.getComponentAtIndex(x).setEnabled(true);        AdvancedTools.getComponentAtIndex(5).setEnabled(false); // dividers        AdvancedTools.getComponentAtIndex(10).setEnabled(false);        AdvancedTools.getComponentAtIndex(14).setEnabled(false);        AdvancedTools.getComponentAtIndex(16).setEnabled(false);      }      else {        // if equals a or anchor disable all tools since no nesting is supported        // only img and br, and fieldset are supported, everything else not        // if fieldset, all allowed except p tag, and for now, fieldset tags        // for all, leave in new card and card level tags.        if (match.equals("fieldset")) { // fieldset first because less restrictions          Menu.getItem(1).setEnabled(true);          Menu.getItem(2).setEnabled(true);          Menu.getItem(3).setEnabled(true);          JMenu mi = (JMenu) Menu.getItem(2);          mi.setEnabled(true);          mi.getItem(0).setEnabled(false);          mi = (JMenu) Menu.getItem(4);          mi.setEnabled(true);          for (int x = 2; x < 4; x++) // the 4 should be 3, to be changed            mi.getItem(x).setEnabled(false); // when support for nested fieldset                                            // tags is built in          Menu.getItem(5).setEnabled(true);          Menu.getItem(6).setEnabled(true);          Menu.getItem(7).setEnabled(true);          for (int x = 0; x < 20; x++)            Tools.getComponentAtIndex(x).setEnabled(true);          Tools.getComponentAtIndex(1).setEnabled(false); // dividers must stay disabled          Tools.getComponentAtIndex(4).setEnabled(false);          Tools.getComponentAtIndex(12).setEnabled(false);          Tools.getComponentAtIndex(5).setEnabled(false);          for (int x = 0; x < 18; x++)            AdvancedTools.getComponentAtIndex(x).setEnabled(true);          AdvancedTools.getComponentAtIndex(5).setEnabled(false); // dividers          AdvancedTools.getComponentAtIndex(10).setEnabled(false);          AdvancedTools.getComponentAtIndex(14).setEnabled(false);          AdvancedTools.getComponentAtIndex(16).setEnabled(false);          AdvancedTools.getComponentAtIndex(0).setEnabled(false); // controls          AdvancedTools.getComponentAtIndex(1).setEnabled(false);          AdvancedTools.getComponentAtIndex(4).setEnabled(false);        }        if ((match.equals("a")) || (match.equals("anchor"))) {          Menu.getItem(1).setEnabled(false);          Menu.getItem(2).setEnabled(false);          Menu.getItem(3).setEnabled(true);          JMenu mi = (JMenu) Menu.getItem(4);          mi.setEnabled(true);          for (int x = 2; x < 4; x++)            mi.getItem(x).setEnabled(false);          Menu.getItem(5).setEnabled(false);          Menu.getItem(6).setEnabled(false);          Menu.getItem(7).setEnabled(false);          for (int x = 1; x < 12; x++)            Tools.getComponentAtIndex(x).setEnabled(false);          for (int x = 13; x < 20; x++)            Tools.getComponentAtIndex(x).setEnabled(true);          Tools.getComponentAtIndex(1).setEnabled(false); // dividers must stay disabled          Tools.getComponentAtIndex(4).setEnabled(false);          Tools.getComponentAtIndex(12).setEnabled(false);          for (int x = 0; x < 17; x++)            AdvancedTools.getComponentAtIndex(x).setEnabled(false);          AdvancedTools.getComponentAtIndex(4).setEnabled(false); // dividers          AdvancedTools.getComponentAtIndex(9).setEnabled(false);          AdvancedTools.getComponentAtIndex(13).setEnabled(false);          AdvancedTools.getComponentAtIndex(15).setEnabled(false);          AdvancedTools.getComponentAtIndex(2).setEnabled(true); // controls          AdvancedTools.getComponentAtIndex(3).setEnabled(true);          AdvancedTools.getComponentAtIndex(4).setEnabled(true);        }      }      if (pset.containsAttribute("pre", "")) {        // disable fieldset, img, table controls        Menu.getItem(7).setEnabled(false);        JMenu mi = (JMenu) Menu.getItem(4);        mi.setEnabled(true);        mi.getItem(1).setEnabled(false);        mi.getItem(3).setEnabled(false);        AdvancedTools.getComponentAtIndex(3).setEnabled(false);        AdvancedTools.getComponentAtIndex(4).setEnabled(false);        AdvancedTools.getComponentAtIndex(11).setEnabled(false);        AdvancedTools.getComponentAtIndex(12).setEnabled(false);        AdvancedTools.getComponentAtIndex(13).setEnabled(false);      }      else {        // enable fieldset, img, and table controls        Menu.getItem(7).setEnabled(true);        JMenu mi = (JMenu) Menu.getItem(4);        mi.setEnabled(true);        mi.getItem(1).setEnabled(true);        mi.getItem(3).setEnabled(true);        AdvancedTools.getComponentAtIndex(3).setEnabled(true);        AdvancedTools.getComponentAtIndex(4).setEnabled(true);        AdvancedTools.getComponentAtIndex(11).setEnabled(true);        AdvancedTools.getComponentAtIndex(12).setEnabled(true);        AdvancedTools.getComponentAtIndex(13).setEnabled(true);      }    }  }  /**   * Displays the CardLevelTagDesigner dialog.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -