#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
**highlighters.py**
**Platform:**
Windows, Linux, Mac Os X.
**Description:**
Defines the Application themes classes.
**Others:**
"""
#**********************************************************************************************************************
#*** Future imports.
#**********************************************************************************************************************
from __future__ import unicode_literals
#**********************************************************************************************************************
#*** External imports.
#**********************************************************************************************************************
from PyQt4.QtGui import QColor
from PyQt4.QtGui import QTextCharFormat
#**********************************************************************************************************************
#*** Internal imports.
#**********************************************************************************************************************
import foundations.dataStructures
import foundations.exceptions
import foundations.verbose
#**********************************************************************************************************************
#*** Module attributes.
#**********************************************************************************************************************
__author__ = "Thomas Mansencal"
__copyright__ = "Copyright (C) 2008 - 2014 - Thomas Mansencal"
__license__ = "GPL V3.0 - http://www.gnu.org/licenses/"
__maintainer__ = "Thomas Mansencal"
__email__ = "[email protected]"
__status__ = "Production"
__all__ = ["LOGGER", "getFormat",
"DEFAULT_FORMAT",
"DEFAULT_THEME",
"LOGGING_THEME"]
LOGGER = foundations.verbose.installLogger()
#**********************************************************************************************************************
#*** Module classes and definitions.
#**********************************************************************************************************************
DEFAULT_FORMAT = getFormat(color=QColor(192, 192, 192))
DEFAULT_THEME = {"default" : getFormat(format=DEFAULT_FORMAT, backgroundColor=QColor(32, 32, 32)),
"comment" : getFormat(format=DEFAULT_FORMAT, color=QColor(96, 96, 96)),
"comment.line" : None,
"comment.line.double-slash" : None,
"comment.line.double-dash" : None,
"comment.line.number-sign" : None,
"comment.line.percentage" : None,
"comment.line.character" : None,
"comment.block" : getFormat(format=DEFAULT_FORMAT, color=QColor(128, 128, 128)),
"comment.block.documentation" : None,
"constant" : getFormat(format=DEFAULT_FORMAT, color=QColor(205, 105, 75)),
"constant.numeric" : None,
"constant.character" : None,
"constant.character.escape" : None,
"constant.language" : None,
"constant.other" : None,
"entity" : getFormat(format=DEFAULT_FORMAT, color=QColor(115, 135, 175)),
"entity.name" : None,
"entity.name.function" : None,
"entity.name.type" : None,
"entity.name.tag" : None,
"entity.name.section" : None,
"entity.other" : None,
"entity.inherited-class" : None,
"entity.attribute-name" : None,
"invalid" : None,
"invalid.illegal" : None,
"invalid.deprecated" : None,
"keyword" : getFormat(format=DEFAULT_FORMAT, color=QColor(205, 170, 105), fontWeight=75),
"keyword.control" : None,
"keyword.operator" : getFormat(format=DEFAULT_FORMAT, color=QColor(205, 170, 105)),
"keyword.other" : None,
"markup" : None,
"markup.underline" : None,
"markup.underline.link" : None,
"markup.bold" : None,
"markup.heading" : None,
"markup.italic" : None,
"markup.list" : None,
"markup.list.numbered" : None,
"markup.list.unnumbered" : None,
"markup.quote" : None,
"markup.raw" : None,
"markup.other" : None,
"meta" : None,
"storage" : None,
"storage.type" : getFormat(format=DEFAULT_FORMAT, color=QColor(205, 170, 105), fontWeight=75),
"storage.modifier" : getFormat(format=DEFAULT_FORMAT, italic=True),
"string" : getFormat(format=DEFAULT_FORMAT, color=QColor(145, 160, 105), italic=True),
"string.quoted" : None,
"string.quoted.single" : None,
"string.quoted.double" : None,
"string.quoted.triple" : None,
"string.quoted.other" : None,
"string.unquoted" : None,
"string.interpolated" : None,
"string.regexp" : None,
"string.other" : None,
"support" : getFormat(format=DEFAULT_FORMAT, color=QColor(115, 135, 175)),
"support.function" : None,
"support.class" : None,
"support.type" : None,
"support.constant" : None,
"support.variable" : None,
"support.other" : None,
"variable" : getFormat(format=DEFAULT_FORMAT, italic=True),
"variable.parameter" : None,
"variable.language" : None,
"variable.language.other" : None,
"accelerator.line": getFormat(format=DEFAULT_FORMAT, backgroundColor=QColor(48, 48, 48)),
"accelerator.occurence": getFormat(format=DEFAULT_FORMAT, backgroundColor=QColor(64, 64, 64)),
"accelerator.pair": getFormat(format=DEFAULT_FORMAT, backgroundColor=QColor(64, 64, 64))}
LOGGING_THEME = {"default" : getFormat(format=DEFAULT_FORMAT, backgroundColor=QColor(32, 32, 32)),
"logging.message" : getFormat(format=DEFAULT_FORMAT),
"logging.message.critical" : getFormat(format=DEFAULT_FORMAT, color=QColor(48, 48, 48),
backgroundColor=QColor(255, 64, 64)),
"logging.message.error" : getFormat(format=DEFAULT_FORMAT, color=QColor(255, 64, 64)),
"logging.message.warning" : getFormat(format=DEFAULT_FORMAT, color=QColor(255, 128, 0)),
"logging.message.debug" : getFormat(format=DEFAULT_FORMAT, italic=True),
"logging.message.debug.trace.in" : getFormat(format=DEFAULT_FORMAT, color=QColor(128, 160, 192), italic=True),
"logging.message.debug.trace.out" : getFormat(format=DEFAULT_FORMAT, color=QColor(192, 160, 128), italic=True)}