Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def update_editor(self, ):
dim = self._dimension
sp = self._spacing
self._scene.clear()
for r, v in enumerate(self.value.split('\n')):
for c, vi in enumerate(v):
rect = self._scene.addRect(c * (dim + sp), r * (dim + sp), dim, dim)
if vi == '1':
rect.setBrush(QColor(200, 0, 0))
def _add_emphasis(self, control):
"""Adds emphasis to a specified control's font.
"""
# Set the foreground colour.
pal = QtGui.QPalette(control.palette())
pal.setColor(QtGui.QPalette.WindowText, QtGui.QColor(0, 0, 127))
control.setPalette(pal)
# Set the font.
font = QtGui.QFont(control.font())
font.setBold(True)
font.setPointSize(font.pointSize())
control.setFont(font)
def convert_to_color(object, name, value):
""" Converts a number into a QColor object.
"""
# Try the toolkit agnostic format.
try:
tup = eval(value)
except:
tup = value
if isinstance(tup, tuple):
if 3 <= len(tup) <= 4:
try:
color = QtGui.QColor(*tup)
except TypeError:
raise TraitError
else:
raise TraitError
else:
if isinstance(value, basestring):
# Allow for spaces in the string value.
value = value.replace(' ', '')
# Let the standard ctors handle the value.
try:
color = QtGui.QColor(value)
except TypeError:
raise TraitError
if not color.isValid():
current_color_index = 0
colors = [
QtGui.QColor(Qt.red),
QtGui.QColor(Qt.green),
QtGui.QColor(Qt.blue),
QtGui.QColor(Qt.black),
QtGui.QColor(Qt.darkRed),
QtGui.QColor(Qt.darkGreen),
QtGui.QColor(Qt.darkBlue),
QtGui.QColor(Qt.cyan),
QtGui.QColor(Qt.magenta),
# Orange; Qt.yellow is too low-contrast
# qtutils.rgba(0xff, 0x66, 0x00),
QtGui.QColor(Qt.gray),
QtGui.QColor(Qt.darkCyan),
QtGui.QColor(Qt.darkMagenta),
QtGui.QColor(Qt.darkYellow),
QtGui.QColor(Qt.darkGray),
]
@classmethod
def cycle(cls):
cls.current_color_index += 1
cls.current_color_index %= len(cls.colors)
color = cls.colors[cls.current_color_index]
color.setAlpha(128)
return color
@classmethod
def current(cls):
return cls.colors[cls.current_color_index]
def paintEvent(self, event):
"""Paint handler."""
super(QGradientControl, self).paintEvent(event)
painter = QtGui.QPainter(self)
brush = QtGui.QBrush(QtGui.QColor(0, 0, 0) )
painter.setBrush(brush)
painter.setBackgroundMode(QtCore.Qt.OpaqueMode)
sz = self.size()
width, height = sz.width(), sz.height()
xform = self.gradient_table.scaling_function
start_y = 0
end_y = height
if xform:
# if a scaling transformation is provided, paint the original
# gradient under the scaled gradient.
start_y = height/2
# paint the original gradient as it stands in the table.
color = QtGui.QColor()
for x in range(width):
def _add_emphasis(self, control):
"""Adds emphasis to a specified control's font.
"""
# Set the foreground colour.
pal = QtGui.QPalette(control.palette())
pal.setColor(QtGui.QPalette.WindowText, QtGui.QColor(0, 0, 127))
control.setPalette(pal)
# Set the font.
font = QtGui.QFont(control.font())
font.setBold(True)
font.setPointSize(font.pointSize())
control.setFont(font)
def paint(self, painter):
"""Paint current channel into Canvas (a canvas of a function control
object).
Contents of the canvas are not deleted prior to painting,
so more than one channel can be painted into the same canvas.
"""
table = self.control.table
# only control points which are active for the current channel
# are to be painted. filter them out.
relevant_control_points = [
x for x in table.control_points if self.name in x.active_channels
]
# lines between control points
color = QtGui.QColor(*self.rgb_color)
painter.setPen(color)
brush = QtGui.QBrush(color)
painter.setBrush(brush)
painter.setBackgroundMode(QtCore.Qt.OpaqueMode)
for k in range( len(relevant_control_points) - 1 ):
cur_point = relevant_control_points[k]
next_point = relevant_control_points[1+k]
painter.drawLine(self.get_pos_index(cur_point.pos),
self.get_value_index(cur_point.color),
self.get_pos_index(next_point.pos),
self.get_value_index(next_point.color))
# control points themself.
color = QtCore.Qt.black
painter.setPen(color)
image = adapter.get_image(editor.object, editor.name, index)
image = editor.get_image(image)
if image is not None:
return image
elif role == QtCore.Qt.BackgroundRole:
if editor.is_auto_add(index):
color = adapter.get_default_bg_color(
editor.object, editor.name)
else:
color = adapter.get_bg_color(editor.object, editor.name, index)
if color is not None:
if isinstance(color, SequenceTypes):
q_color = QtGui.QColor(*color)
else:
q_color = QtGui.QColor(color)
return QtGui.QBrush(q_color)
elif role == QtCore.Qt.ForegroundRole:
if editor.is_auto_add(index):
color = adapter.get_default_text_color(editor.object,
editor.name)
else:
color = adapter.get_text_color(editor.object,
editor.name, index)
if color is not None:
if isinstance(color, SequenceTypes):
q_color = QtGui.QColor(*color)
else:
q_color = QtGui.QColor(color)
return QtGui.QBrush(q_color)
def color_editor_for(editor, parent):
""" Creates a custom color editor panel for a specified editor.
"""
# Create the colour samples if it hasn't already been done.
if len(color_samples) == 0:
color_choices = (0, 128, 192, 255)
for r in color_choices:
for g in color_choices:
for b in (0, 128, 255):
color_samples.append(QtGui.QColor(r, g, b))
root = QtGui.QWidget()
panel = QtGui.QHBoxLayout(root)
panel.setContentsMargins(0, 0, 0, 0)
swatch_editor = editor.factory.simple_editor(
editor.ui, editor.object, editor.name, editor.description, None)
swatch_editor.prepare(parent)
panel.addWidget(swatch_editor.control)
# Add all of the color choice buttons:
grid = QtGui.QGridLayout()
grid.setSpacing(0)
mapper = QtCore.QSignalMapper(panel)
def get_cell_color(self, obj):
if obj.parent.is_tube_unique(obj) and obj.all_conditions_set:
return super(ObjectColumn, self).get_cell_color(object)
else:
return QtGui.QColor('lightpink')