File: color_dialog.py

package info (click to toggle)
python-pyface 8.0.0-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 13,944 kB
  • sloc: python: 54,107; makefile: 82
file content (44 lines) | stat: -rw-r--r-- 1,363 bytes parent folder | download
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
# (C) Copyright 2005-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!

""" The implementation of a dialog that allows the user to select a color.
"""

from .constant import OK
from .toolkit import toolkit_object


ColorDialog = toolkit_object("color_dialog:ColorDialog")


def get_color(parent, color, show_alpha=False):
    """ Convenience function that displays a color dialog.

    Parameters
    ----------
    parent : toolkit control
        The parent toolkit control for the modal dialog.
    color : Color or color description
        The initial Color object, rgb(a) tuple or a string holding a valid
        color description.
    show_alpha : bool
        Whether or not to show alpha channel information.

    Returns
    -------
    color : Color or None
        The selected color, or None if the user made no selection.
    """
    dialog = ColorDialog(parent=parent, color=color, show_alpha=show_alpha)
    result = dialog.open()
    if result == OK:
        return dialog.color
    else:
        return None