亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? resourcestatement.java

?? 外國人寫的c#語法解析器
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
  
  /**
   * Converts the given node, which must be a generic control node in a dialog, to XML
   * 
   * @param node The node to convert.
   * @param element The target element where to add the result to.
   */
  private void convertGenericControl(AST node, Element element)
  {
    Element controlElement = new Element("control");
    element.addContent(controlElement);
    controlElement.setAttribute("type", "generic");
    
    processEntryWithEvaluation(node, "control-text", controlElement);
    node = node.getNextSibling();
    processEntryWithEvaluation(node, "id", controlElement);
    node = node.getNextSibling();
    processEntryWithEvaluation(node, "class-name", controlElement);
    node = node.getNextSibling();
    processEntryWithEvaluation(node, "style", controlElement);

    // Dialog(Ex) generic control trailing.
    node = node.getNextSibling();
    processEntryWithEvaluation(node, "left", controlElement);
    node = node.getNextSibling();
    processEntryWithEvaluation(node, "top", controlElement);
    node = node.getNextSibling();
    processEntryWithEvaluation(node, "width", controlElement);
    node = node.getNextSibling();
    processEntryWithEvaluation(node, "height", controlElement);
    
    // The following entries only appear for DialogEx resource entries.
    node = node.getNextSibling();
    if (node != null)
    {
      processEntryWithEvaluation(node, "exstyle", controlElement);
      node = node.getNextSibling();
      if (node != null)
      {
        processEntryWithEvaluation(node, "help-id", controlElement);

        if (node.getNextSibling() != null)
        {
          Element dataElement = new Element("control-data");
          controlElement.addContent(dataElement);
          do
          {
            node = node.getNextSibling();
            processEntryWithEvaluation(node, "data-element", dataElement);
          }
          while (node != null);
        }
      }
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a "icon" entry to XML.
   * 
   * @param sourceNode The node containing the AST data to convert.
   * @param resourceElement The entry to which the new nodes must be added.
   */
  private void convertIconEntry(AST sourceNode, Element resourceElement)
  {
    resourceElement.setAttribute("type", "icon");

    AST currentNode = sourceNode.getFirstChild();
    if (currentNode != null)
    {
      if (currentNode.getType() == RCParserTokenTypes.RESOURCE_ATTRIBUTES)
      {
        convertResourceAttributes(resourceElement, currentNode);
        currentNode = currentNode.getNextSibling();
      }

      // Must be a file name node.
      String filename = currentNode.getText();
      if (filename.startsWith("\""))
        filename = filename.substring(1, filename.length());
      resourceElement.setAttribute("file-name", filename);
    }    
  }

  //------------------------------------------------------------------------------------------------

  /**
   * Converts a language entry to XML.
   * 
   * @param node The node to convert. Must be a language node.
   * @param target The XML node where to add the new content to.
   */
  private void convertLanguageEntry(AST node, Element target)
  {
    String languageID = "LANG_DEFAULT";
    AST languageNode = node.getFirstChild();
    languageID = languageNode.getText();
    String subLanguageID = "SUBLANG_DEFAULT";
    AST subLanguageNode = null;
    subLanguageNode = languageNode.getNextSibling();
    subLanguageID = subLanguageNode.getText();
    
    Element baseElement = new Element("language");
    target.addContent(baseElement);
    
    Element languageElement = new Element("language-value");
    baseElement.addContent(languageElement);
    languageElement.setAttribute("name", languageID);
    Object value = evaluate(languageID, languageNode.getLine(), languageNode.getColumn());
    if (value == null)
      reportError("Could not evaluate \"" + languageID + "\".");
    else
      languageElement.setAttribute("value", value.toString());

    Element subLanguageElement = new Element("sub-language-value");
    baseElement.addContent(subLanguageElement);
    subLanguageElement.setAttribute("name", subLanguageID);
    value = evaluate(subLanguageID, subLanguageNode.getLine(), subLanguageNode.getColumn());
    if (value == null)
      reportError("Could not evaluate \"" + subLanguageID + "\".");
    else
      subLanguageElement.setAttribute("value", value.toString());
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a "menu" entry to XML.
   * 
   * @param sourceNode The node containing the AST data to convert.
   * @param resourceElement The entry to which the new nodes must be added.
   */
  private void convertMenuEntry(AST sourceNode, Element resourceElement)
  {
    resourceElement.setAttribute("type", "menu");

    AST currentNode = sourceNode.getFirstChild();
    if (currentNode != null)
    {
      if (currentNode.getType() == RCParserTokenTypes.RESOURCE_ATTRIBUTES)
      {
        convertResourceAttributes(resourceElement, currentNode);
        currentNode = currentNode.getNextSibling();
      }

      // Optional common resource info part.
      if (currentNode != null)
      {
        while (currentNode.getType() == RCParserTokenTypes.COMMON_RESOURCE_INFO)
        {
          convertCommonResourceInfo(currentNode, resourceElement);
          currentNode = currentNode.getNextSibling();
        }
      }

      while (currentNode != null)
      {
        convertMenuItem(currentNode, resourceElement);
        currentNode = currentNode.getNextSibling();
      }
    }    
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Converts a "menuex" entry to XML.
   * 
   * @param sourceNode The node containing the AST data to convert.
   * @param resourceElement The entry to which the new nodes must be added.
   */
  private void convertMenuExEntry(AST sourceNode, Element resourceElement)
  {
    resourceElement.setAttribute("type", "menuex");

    AST currentNode = sourceNode.getFirstChild();
    if (currentNode != null)
    {
      if (currentNode.getType() == RCParserTokenTypes.RESOURCE_ATTRIBUTES)
      {
        convertResourceAttributes(resourceElement, currentNode);
        currentNode = currentNode.getNextSibling();
      }

      // Optional common resource info part.
      if (currentNode != null)
      {
        while (currentNode.getType() == RCParserTokenTypes.COMMON_RESOURCE_INFO)
        {
          convertCommonResourceInfo(currentNode, resourceElement);
          currentNode = currentNode.getNextSibling();
        }
      }

      while (currentNode != null)
      {
        convertMenuExItem(currentNode, resourceElement);
        currentNode = currentNode.getNextSibling();
      }
    }    
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Recursively called method to create a nested structure of menu items.
   * 
   * @param node The node containing the entry to convert.
   * @param element The target XML element to add the converted stuff to.
   */
  private void convertMenuExItem(AST node, Element element)
  {
    if (node.getType() == RCParserTokenTypes.LITERAL_menuitem)
    {
      node = node.getFirstChild();
      Element menuItemElement = new Element("menu-item");
      element.addContent(menuItemElement);
      menuItemElement.setAttribute("text", node.getText());
      
      node = node.getNextSibling();
      if (node != null && node.getType() == RCParserTokenTypes.EXPR)
      {
        Object value = evaluate(node);
        if (value != null)
          menuItemElement.setAttribute("id", value.toString());
        else
          menuItemElement.setAttribute("id", convertExpressionToText(node.getFirstChild()));
        node = node.getNextSibling();
        if (node != null && node.getType() == RCParserTokenTypes.EXPR)
        {
          value = evaluate(node);
          if (value != null)
            menuItemElement.setAttribute("type", value.toString());
          else
            menuItemElement.setAttribute("type", convertExpressionToText(node.getFirstChild()));
          node = node.getNextSibling();
          if (node != null && node.getType() == RCParserTokenTypes.EXPR)
          {
            value = evaluate(node);
            if (value != null)
              menuItemElement.setAttribute("state", value.toString());
            else
              menuItemElement.setAttribute("state", convertExpressionToText(node.getFirstChild()));
          }
        }
      }
    }
    else
    {
      // Found a popup menu definition.
      node = node.getFirstChild();
      Element menuItemElement = new Element("popup");
      element.addContent(menuItemElement);
      menuItemElement.setAttribute("text", node.getText());
      
      node = node.getNextSibling();
      if (node != null && node.getType() == RCParserTokenTypes.EXPR)
      {
        Object value = evaluate(node);
        if (value != null)
          menuItemElement.setAttribute("id", value.toString());
        else
          menuItemElement.setAttribute("id", convertExpressionToText(node.getFirstChild()));
        node = node.getNextSibling();
        if (node != null && node.getType() == RCParserTokenTypes.EXPR)
        {
          value = evaluate(node);
          if (value != null)
            menuItemElement.setAttribute("type", value.toString());
          else
            menuItemElement.setAttribute("type", convertExpressionToText(node.getFirstChild()));
          node = node.getNextSibling();
          if (node != null && node.getType() == RCParserTokenTypes.EXPR)
          {
            value = evaluate(node);
            if (value != null)
              menuItemElement.setAttribute("state", value.toString());
            else
              menuItemElement.setAttribute("state", convertExpressionToText(node.getFirstChild()));
            node = node.getNextSibling();
            if (node != null && node.getType() == RCParserTokenTypes.EXPR)
            {
              value = evaluate(node);
              if (value != null)
                menuItemElement.setAttribute("help-id", value.toString());
              else
                menuItemElement.setAttribute("help-id", convertExpressionToText(node.getFirstChild()));
            }
          }
        }
      }
      while (node != null)
      {
        convertMenuExItem(node, menuItemElement);
        node = node.getNextSibling();
      }
    }
  }

  //------------------------------------------------------------------------------------------------
  
  /**
   * Recursively called method to create a nested structure of menu items.
   * 
   * @param node The node containing the entry to convert.
   * @param element The target XML element to add the converted stuff to.
   */
  private void convertMenuItem(AST node, Element element)
  {
    if (node.getType() == RCParserTokenTypes.LITERAL_menuitem)
    {
      node = node.getFirstChild();
      Element menuItemElement = new Element("menu-item");
      element.addContent(menuItemElement);
      menuItemElement.setAttribute("text", node.getText());
      
      node = node.getNextSibling();
      if (node != null)
      {
        String expression = node.getText();
        Object value = evaluate(expression, node.getLine(), node.getColumn());
        menuItemElement.setAttribute("result", expression);
        if (value != null)
          menuItemElement.setAttribute("result-value", value.toString());
  
        // Optional menu options.
        node = node.getNextSibling();
        while (node != null)
        {
          Element optionElement = new Element("option");
          menuItemElement.addContent(optionElement);
          optionElement.setAttribute("value", node.getText());
          node = node.getNextSibling();
        }
      }
    }
    else
    {
      // Found a popup menu definition.
      node = node.getFirstChild();
      Element menuItemElement = new Element("popup");
      element.addContent(menuItemElement);
      menuItemElement.setAttribute("text", node.getText());
      
      // Optional menu options.
      node = node.getNextSibling();
      while ((node != null) && (node.getType() != RCParserTokenTypes.LITERAL_menuitem) && 
        (node.getType() != RCParserTokenTypes.LITERAL_popup))
      {
        Element optionElement = new Element("option");
        menuItemElement.addContent(optionElement);
        optionElement.setAttribute("value", node.getText());
        node = node.getNextSibling();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产精品一区二区| 精品国产乱码久久久久久图片| 中文在线一区二区 | 国产精品少妇自拍| 国产精品香蕉一区二区三区| 欧美激情自拍偷拍| 久久97超碰国产精品超碰| 精品奇米国产一区二区三区| 精品午夜一区二区三区在线观看| 精品国产第一区二区三区观看体验| 久久精品国产亚洲高清剧情介绍| 日韩三级.com| 成人综合婷婷国产精品久久 | 久久久国际精品| 国产 欧美在线| 一区二区在线观看免费视频播放| 在线看国产一区二区| 天天影视网天天综合色在线播放| 日韩午夜电影在线观看| 国产成人午夜片在线观看高清观看| 欧美国产一区在线| 欧美日韩专区在线| 国产一区二区三区国产| 亚洲日本va午夜在线电影| 欧美三级视频在线| 国产精品原创巨作av| 一区二区三区在线播| 在线不卡免费欧美| av电影在线不卡| 丝袜美腿亚洲色图| 亚洲国产成人在线| 日韩欧美精品在线视频| 99精品久久只有精品| 免费观看91视频大全| 国产精品久久久久aaaa| 3d成人h动漫网站入口| 懂色av中文一区二区三区| 亚洲曰韩产成在线| 亚洲国产成人私人影院tom | 成人丝袜18视频在线观看| 一区二区三区高清在线| 精品国产乱码久久久久久1区2区| 色综合久久综合| 狠狠色综合日日| 亚洲国产精品精华液网站| 亚洲国产高清在线观看视频| 在线播放亚洲一区| 色婷婷综合久久久| 日韩和的一区二区| 欧美三级视频在线观看| 亚洲妇女屁股眼交7| 国产精品一区一区三区| 精品久久五月天| 国产精品综合网| 日韩高清一区二区| 国产一区二区成人久久免费影院 | 中文字幕在线视频一区| 久久99国产精品尤物| 678五月天丁香亚洲综合网| 成人中文字幕合集| 国产老肥熟一区二区三区| 亚洲一区二区黄色| 国产91精品露脸国语对白| 91麻豆精品国产91久久久久 | 亚洲6080在线| 欧美精品v日韩精品v韩国精品v| 日韩不卡在线观看日韩不卡视频| 欧美一区二区国产| 久久精品国产久精国产爱| 精品国产乱码久久久久久1区2区 | 国产欧美日韩卡一| 岛国精品一区二区| 亚洲另类春色国产| 亚洲国产精品一区二区尤物区| 3751色影院一区二区三区| 久久草av在线| 亚洲天堂中文字幕| 日韩你懂的在线观看| av高清不卡在线| 精品中文字幕一区二区小辣椒 | 国产ts人妖一区二区| 欧美激情在线免费观看| 欧美丰满少妇xxxbbb| 国产专区欧美精品| 中文字幕日韩欧美一区二区三区| 欧美亚洲高清一区二区三区不卡| 国产福利一区二区| 伊人色综合久久天天| 精品欧美一区二区三区精品久久 | 精品一区二区三区在线播放视频 | 91天堂素人约啪| 日韩av电影天堂| 青娱乐精品视频| 日韩影院免费视频| 欧美一区二区三区公司| 成人国产精品免费| 99久久精品免费看国产| 91黄色小视频| 欧美精品日日鲁夜夜添| 欧美精品久久天天躁| 日韩一级黄色片| 久久亚洲私人国产精品va媚药| 久久久久国产免费免费| 日本一区二区三区国色天香 | 欧美日韩国产不卡| 在线综合视频播放| 精品久久久久久久久久久久包黑料 | 国产亚洲精品7777| 国产精品午夜免费| 一区二区三区在线观看国产| 午夜国产不卡在线观看视频| 三级在线观看一区二区| 九一久久久久久| 成人av第一页| 欧美精品一卡二卡| 国产女人18毛片水真多成人如厕| 亚洲天堂av一区| 美女久久久精品| 97se亚洲国产综合自在线不卡 | 欧美二区在线观看| 精品国产乱码久久| 一区二区三区高清| 国产成人亚洲综合a∨婷婷图片| 91福利社在线观看| 精品av综合导航| 一区二区在线看| 国产经典欧美精品| 欧美日韩高清在线| 中文字幕一区二区在线播放| 午夜免费久久看| 成人精品在线视频观看| 欧美精选一区二区| 中文字幕一区二区在线观看| 久久精品国产亚洲aⅴ| 91激情五月电影| 国产精品理论片在线观看| 另类小说欧美激情| 欧美丝袜丝交足nylons| 欧美国产1区2区| 精一区二区三区| 69堂亚洲精品首页| 亚洲一区二区欧美| youjizz国产精品| 国产校园另类小说区| 奇米精品一区二区三区在线观看 | 国产成人精品亚洲午夜麻豆| 欧美日韩视频在线观看一区二区三区| 国产欧美综合在线| 日本美女一区二区| 欧美日本一区二区三区| 亚洲老司机在线| 99视频精品在线| 国产女主播在线一区二区| 裸体一区二区三区| 欧美性猛交一区二区三区精品| 国产精品毛片久久久久久久| 国产在线精品视频| 欧美mv和日韩mv的网站| 日精品一区二区| 欧美日韩国产a| 日韩二区在线观看| 欧美军同video69gay| 一区二区三区中文字幕精品精品 | 在线免费一区三区| 综合电影一区二区三区| 成人小视频在线| 国产色91在线| 成人免费视频播放| 国产精品网站在线播放| 成人丝袜18视频在线观看| 欧美国产1区2区| 99久久久免费精品国产一区二区| 中文字幕av一区二区三区免费看| 懂色av一区二区三区免费观看| 久久久久久久综合日本| 国产**成人网毛片九色 | 亚洲精品一区二区三区香蕉| 亚洲国产视频a| 欧美日韩国产大片| 美女网站视频久久| 久久欧美中文字幕| 国产成人在线视频播放| 国产精品美女久久久久aⅴ国产馆| 成人av资源在线| 一区二区国产盗摄色噜噜| 91九色最新地址| 免费高清成人在线| 久久九九99视频| 97se狠狠狠综合亚洲狠狠| 亚洲日本成人在线观看| 7777精品伊人久久久大香线蕉| 免费成人在线影院| 国产日韩欧美综合在线| 91美女在线视频| 日韩和欧美一区二区| 久久久综合精品| 色国产精品一区在线观看| 午夜精品成人在线视频| 欧美电影免费观看高清完整版| 国产精品99久久久久久有的能看 |