DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (a81015259a98)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
<?xml version="1.0"?>

<bindings id="stringBundleBindings"
          xmlns="http://www.mozilla.org/xbl"
          xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

  <binding id="stringbundleset" extends="xul:box"/>

  <binding id="stringbundle" extends="xul:spacer">
    <implementation name="XStringBundle">

      <method name="getString">
        <parameter name="aStringKey"/>
        <body>
          <![CDATA[
            try {
              return this.stringBundle.GetStringFromName(aStringKey);
            }
            catch (e) {
              dump("*** Failed to get string " + aStringKey + " in bundle: " + this.src + "\n");
              throw e;
            }
          ]]>
        </body>
      </method>

      <method name="getFormattedString">
        <parameter name="aStringKey"/>
        <parameter name="aStringsArray"/>
        <body>
          <![CDATA[
            try {
              return this.stringBundle.formatStringFromName(aStringKey, aStringsArray, aStringsArray.length);
            }
            catch (e) {
              dump("*** Failed to format string " + aStringKey + " in bundle: " + this.src + "\n");
              throw e;
            }
          ]]>
        </body>
      </method>

      <property name="stringBundle" readonly="true">
        <getter>
          <![CDATA[
            if (!this._bundle) {
              try {
                this._bundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
                                         .getService(Components.interfaces.nsIStringBundleService)
                                         .createBundle(this.src);
              }
              catch (e) {
                dump("Failed to get stringbundle:\n");
                dump(e + "\n");
              }
            }
            return this._bundle;
          ]]>
        </getter>
      </property>

      <property name="src">
        <getter>
          <![CDATA[
            return this.getAttribute("src");
          ]]>
        </getter>
        <setter>
          <![CDATA[
            this._bundle = null;
            this.setAttribute("src", val);
            return val;
          ]]>
        </setter>
      </property>

      <property name="strings">
        <getter>
          <![CDATA[
            // Note: this is a sucky method name! Should be:
            //       readonly attribute nsISimpleEnumerator strings;
            return this.stringBundle.getSimpleEnumeration();
          ]]>
        </getter>
      </property>

      <field name="_bundle">null</field>

    </implementation>
  </binding>

</bindings>