doc/api/_static/doctools.js
author Simon Howkins <simonh@symbian.org>
Mon, 05 Oct 2009 10:20:32 +0100
changeset 578 75fa4158340a
parent 432 f2ddfa555b0f
permissions -rw-r--r--
Fixed handling or regular expression strings, so the regular expression functiuonality works, not just substring detection! Added special handling if the severity marker is "ignore". Unsuprisingly, it ignores that line.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
432
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     1
/// XXX: make it cross browser
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     2
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     3
/**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     4
 * make the code below compatible with browsers without
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     5
 * an installed firebug like debugger
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     6
 */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     7
if (!window.console || !console.firebug) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     8
  var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     9
      "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    10
  window.console = {};
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    11
  for (var i = 0; i < names.length; ++i)
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    12
    window.console[names[i]] = function() {}
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    13
}
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    14
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    15
/**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    16
 * small helper function to urldecode strings
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    17
 */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    18
jQuery.urldecode = function(x) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    19
  return decodeURIComponent(x).replace(/\+/g, ' ');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    20
}
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    21
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    22
/**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    23
 * small helper function to urlencode strings
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    24
 */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    25
jQuery.urlencode = encodeURIComponent;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    26
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    27
/**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    28
 * This function returns the parsed url parameters of the
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    29
 * current request. Multiple values per key are supported,
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    30
 * it will always return arrays of strings for the value parts.
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    31
 */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    32
jQuery.getQueryParameters = function(s) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    33
  if (typeof s == 'undefined')
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    34
    s = document.location.search;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    35
  var parts = s.substr(s.indexOf('?') + 1).split('&');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    36
  var result = {};
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    37
  for (var i = 0; i < parts.length; i++) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    38
    var tmp = parts[i].split('=', 2);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    39
    var key = jQuery.urldecode(tmp[0]);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    40
    var value = jQuery.urldecode(tmp[1]);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    41
    if (key in result)
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    42
      result[key].push(value);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    43
    else
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    44
      result[key] = [value];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    45
  }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    46
  return result;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    47
}
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    48
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    49
/**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    50
 * small function to check if an array contains
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    51
 * a given item.
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    52
 */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    53
jQuery.contains = function(arr, item) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    54
  for (var i = 0; i < arr.length; i++) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    55
    if (arr[i] == item)
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    56
      return true;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    57
  }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    58
  return false;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    59
}
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    60
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    61
/**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    62
 * highlight a given string on a jquery object by wrapping it in
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    63
 * span elements with the given class name.
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    64
 */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    65
jQuery.fn.highlightText = function(text, className) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    66
  function highlight(node) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    67
    if (node.nodeType == 3) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    68
      var val = node.nodeValue;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    69
      var pos = val.toLowerCase().indexOf(text);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    70
      if (pos >= 0 && !jQuery.className.has(node.parentNode, className)) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    71
        var span = document.createElement("span");
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    72
        span.className = className;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    73
        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    74
        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    75
          document.createTextNode(val.substr(pos + text.length)),
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    76
          node.nextSibling));
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    77
        node.nodeValue = val.substr(0, pos);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    78
      }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    79
    }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    80
    else if (!jQuery(node).is("button, select, textarea")) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    81
      jQuery.each(node.childNodes, function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    82
        highlight(this)
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    83
      });
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    84
    }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    85
  }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    86
  return this.each(function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    87
    highlight(this);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    88
  });
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    89
}
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    90
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    91
/**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    92
 * Small JavaScript module for the documentation.
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    93
 */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    94
var Documentation = {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    95
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    96
  init : function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    97
    this.fixFirefoxAnchorBug();
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    98
    this.highlightSearchWords();
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    99
    this.initModIndex();
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   100
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   101
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   102
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   103
   * i18n support
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   104
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   105
  TRANSLATIONS : {},
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   106
  PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   107
  LOCALE : 'unknown',
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   108
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   109
  // gettext and ngettext don't access this so that the functions
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   110
  // can savely bound to a different name (_ = Documentation.gettext)
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   111
  gettext : function(string) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   112
    var translated = Documentation.TRANSLATIONS[string];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   113
    if (typeof translated == 'undefined')
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   114
      return string;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   115
    return (typeof translated == 'string') ? translated : translated[0];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   116
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   117
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   118
  ngettext : function(singular, plural, n) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   119
    var translated = Documentation.TRANSLATIONS[singular];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   120
    if (typeof translated == 'undefined')
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   121
      return (n == 1) ? singular : plural;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   122
    return translated[Documentation.PLURALEXPR(n)];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   123
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   124
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   125
  addTranslations : function(catalog) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   126
    for (var key in catalog.messages)
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   127
      this.TRANSLATIONS[key] = catalog.messages[key];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   128
    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   129
    this.LOCALE = catalog.locale;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   130
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   131
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   132
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   133
   * add context elements like header anchor links
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   134
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   135
  addContextElements : function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   136
    $('div[@id] > :header:first').each(function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   137
      $('<a class="headerlink">\u00B6</a>').
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   138
      attr('href', '#' + this.id).
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   139
      attr('title', _('Permalink to this headline')).
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   140
      appendTo(this);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   141
    });
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   142
    $('dt[@id]').each(function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   143
      $('<a class="headerlink">\u00B6</a>').
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   144
      attr('href', '#' + this.id).
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   145
      attr('title', _('Permalink to this definition')).
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   146
      appendTo(this);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   147
    });
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   148
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   149
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   150
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   151
   * workaround a firefox stupidity
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   152
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   153
  fixFirefoxAnchorBug : function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   154
    if (document.location.hash && $.browser.mozilla)
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   155
      window.setTimeout(function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   156
        document.location.href += '';
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   157
      }, 10);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   158
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   159
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   160
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   161
   * highlight the search words provided in the url in the text
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   162
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   163
  highlightSearchWords : function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   164
    var params = $.getQueryParameters();
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   165
    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   166
    if (terms.length) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   167
      var body = $('div.body');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   168
      window.setTimeout(function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   169
        $.each(terms, function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   170
          body.highlightText(this.toLowerCase(), 'highlight');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   171
        });
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   172
      }, 10);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   173
      $('<li class="highlight-link"><a href="javascript:Documentation.' +
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   174
        'hideSearchWords()">' + _('Hide Search Matches') + '</a></li>')
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   175
          .appendTo($('.sidebar .this-page-menu'));
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   176
    }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   177
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   178
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   179
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   180
   * init the modindex toggle buttons
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   181
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   182
  initModIndex : function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   183
    var togglers = $('img.toggler').click(function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   184
      var src = $(this).attr('src');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   185
      var idnum = $(this).attr('id').substr(7);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   186
      console.log($('tr.cg-' + idnum).toggle());
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   187
      if (src.substr(-9) == 'minus.png')
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   188
        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   189
      else
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   190
        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   191
    }).css('display', '');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   192
    if (DOCUMENTATION_OPTIONS.COLLAPSE_MODINDEX) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   193
        togglers.click();
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   194
    }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   195
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   196
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   197
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   198
   * helper function to hide the search marks again
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   199
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   200
  hideSearchWords : function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   201
    $('.sidebar .this-page-menu li.highlight-link').fadeOut(300);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   202
    $('span.highlight').removeClass('highlight');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   203
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   204
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   205
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   206
   * make the url absolute
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   207
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   208
  makeURL : function(relativeURL) {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   209
    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   210
  },
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   211
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   212
  /**
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   213
   * get the current relative url
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   214
   */
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   215
  getCurrentURL : function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   216
    var path = document.location.pathname;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   217
    var parts = path.split(/\//);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   218
    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   219
      if (this == '..')
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   220
        parts.pop();
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   221
    });
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   222
    var url = parts.join('/');
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   223
    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   224
  }
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   225
};
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   226
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   227
// quick alias for translations
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   228
_ = Documentation.gettext;
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   229
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   230
$(document).ready(function() {
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   231
  Documentation.init();
f2ddfa555b0f Add FBF documents for default config that built PDK 2.0.e
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   232
});