1/*
2 * Copyright (C) 2013 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 *    notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 *    notice, this list of conditions and the following disclaimer in the
11 *    documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26WebInspector.CodeMirrorColorEditingController = function(codeMirror, marker)
27{
28    WebInspector.CodeMirrorEditingController.call(this, codeMirror, marker);
29}
30
31WebInspector.CodeMirrorColorEditingController.prototype = {
32    constructor: WebInspector.CodeMirrorColorEditingController,
33    __proto__: WebInspector.CodeMirrorEditingController.prototype,
34
35    // Public
36
37    get initialValue()
38    {
39        return WebInspector.Color.fromString(this.text);
40    },
41
42    get cssClassName()
43    {
44        return "color";
45    },
46
47    popoverWillPresent: function(popover)
48    {
49        this._colorPicker = new WebInspector.ColorPicker;
50        this._colorPicker.addEventListener(WebInspector.ColorPicker.Event.ColorChanged, this._colorPickerColorChanged, this);
51        popover.content = this._colorPicker.element;
52    },
53
54    popoverDidPresent: function(popover)
55    {
56        this._colorPicker.color = this._value;
57    },
58
59    // Private
60
61    _colorPickerColorChanged: function(event)
62    {
63        this.value = event.target.color;
64    }
65}
66