mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
Colorize debug level column
This commit is contained in:
parent
0a483e4931
commit
97d114aeb1
1 changed files with 52 additions and 1 deletions
|
@ -51,6 +51,33 @@ from GstDebugViewer.Common import utils
|
||||||
|
|
||||||
from GstDebugViewer import Data, Main
|
from GstDebugViewer import Data, Main
|
||||||
|
|
||||||
|
class ColorTheme (object):
|
||||||
|
|
||||||
|
def __init__ (self):
|
||||||
|
|
||||||
|
self.colors = {}
|
||||||
|
|
||||||
|
def add_color (self, key, fg_color, bg_color = None, bg_color2 = None):
|
||||||
|
|
||||||
|
self.colors[key] = (fg_color, bg_color, bg_color2,)
|
||||||
|
|
||||||
|
class LevelColorTheme (ColorTheme):
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
class LevelColorThemeTango (LevelColorTheme):
|
||||||
|
|
||||||
|
def __init__ (self):
|
||||||
|
|
||||||
|
LevelColorTheme.__init__ (self)
|
||||||
|
|
||||||
|
self.add_color (Data.debug_level_none, None, None, None)
|
||||||
|
self.add_color (Data.debug_level_log, "#000000", "#ad7fa8", "#e0a4d9")
|
||||||
|
self.add_color (Data.debug_level_debug, "#000000", "#729fcf", "#8cc4ff")
|
||||||
|
self.add_color (Data.debug_level_info, "#000000", "#8ae234", "#9dff3b")
|
||||||
|
self.add_color (Data.debug_level_warning, "#000000", "#fcaf3e", "#ffc266")
|
||||||
|
self.add_color (Data.debug_level_error, "#ffffff", "#ef2929", "#ff4545")
|
||||||
|
|
||||||
class LogModelBase (gtk.GenericTreeModel):
|
class LogModelBase (gtk.GenericTreeModel):
|
||||||
|
|
||||||
__metaclass__ = Common.GUI.MetaModel
|
__metaclass__ = Common.GUI.MetaModel
|
||||||
|
@ -325,6 +352,7 @@ class Column (object):
|
||||||
id = None
|
id = None
|
||||||
label_header = None
|
label_header = None
|
||||||
get_modify_func = None
|
get_modify_func = None
|
||||||
|
get_data_func = None
|
||||||
get_sort_func = None
|
get_sort_func = None
|
||||||
|
|
||||||
def __init__ (self):
|
def __init__ (self):
|
||||||
|
@ -360,7 +388,13 @@ class TextColumn (SizedColumn):
|
||||||
cell.props.family = self.font_family
|
cell.props.family = self.font_family
|
||||||
cell.props.family_set = True
|
cell.props.family_set = True
|
||||||
|
|
||||||
if not self.get_modify_func:
|
if self.get_data_func:
|
||||||
|
data_func = self.get_data_func ()
|
||||||
|
id_ = self.id
|
||||||
|
def cell_data_func (column, cell, model, tree_iter):
|
||||||
|
data_func (cell.props, model.get (tree_iter, id_)[0], model.get_path (tree_iter))
|
||||||
|
column.set_cell_data_func (cell, cell_data_func)
|
||||||
|
elif not self.get_modify_func:
|
||||||
column.add_attribute (cell, "text", self.id)
|
column.add_attribute (cell, "text", self.id)
|
||||||
else:
|
else:
|
||||||
modify_func = self.get_modify_func ()
|
modify_func = self.get_modify_func ()
|
||||||
|
@ -438,6 +472,23 @@ class LevelColumn (TextColumn):
|
||||||
|
|
||||||
return format_level
|
return format_level
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_data_func ():
|
||||||
|
|
||||||
|
theme = LevelColorThemeTango ()
|
||||||
|
colors = theme.colors
|
||||||
|
def level_data_func (cell_props, level, path):
|
||||||
|
cell_props.text = level.name[0]
|
||||||
|
cell_colors = colors[level]
|
||||||
|
# FIXME: Use GdkColors!
|
||||||
|
cell_props.foreground = cell_colors[0]
|
||||||
|
if path[0] % 2:
|
||||||
|
cell_props.background = cell_colors[1]
|
||||||
|
else:
|
||||||
|
cell_props.background = cell_colors[2]
|
||||||
|
|
||||||
|
return level_data_func
|
||||||
|
|
||||||
def get_values_for_size (self):
|
def get_values_for_size (self):
|
||||||
|
|
||||||
values = [Data.debug_level_log, Data.debug_level_debug,
|
values = [Data.debug_level_log, Data.debug_level_debug,
|
||||||
|
|
Loading…
Reference in a new issue