summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/examples/theme/lib/main.js
blob: 3b71376a59880c9cb24783178ac2b31fe3f6381b (plain)
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
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";

const { Tool } = require("dev/toolbox");
const { Class } = require("sdk/core/heritage");
const { onEnable, onDisable } = require("dev/theme/hooks");
const { Theme, LightTheme } = require("dev/theme");

/**
 * This object represents a new theme registered within the Toolbox.
 * You can activate it by clicking on "My Light Theme" theme option
 * in the Options panel.
 * Note that the new theme derives styles from built-in Light theme.
 */
const MyTheme = Theme({
  name: "mytheme",
  label: "My Light Theme",
  styles: [LightTheme, "./theme.css"],

  onEnable: function(window, oldTheme) {
    console.log("myTheme.onEnable; method override " +
      window.location.href);
  },
  onDisable: function(window, newTheme) {
    console.log("myTheme.onDisable; method override " +
      window.location.href);
  },
});

// Registration

const mytheme = new Tool({
  name: "My Tool",
  themes: { mytheme: MyTheme }
});