Changeset 11200:a0771d72047e in orange


Ignore:
Timestamp:
11/23/12 18:49:16 (17 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Added color and font properties to SchemeAnnotation items.

Location:
Orange/OrangeCanvas
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/canvas/scene.py

    r11195 r11200  
    99from xml.sax.saxutils import escape 
    1010 
    11 from PyQt4.QtGui import QGraphicsScene, QPainter, QBrush, \ 
     11from PyQt4.QtGui import QGraphicsScene, QPainter, QBrush, QColor, QFont, \ 
    1212                        QGraphicsItem 
    1313 
     
    442442            item.resize(w, h) 
    443443            item.setTextInteractionFlags(Qt.TextEditorInteraction) 
     444            font = QFont() 
     445            font.fromString(scheme_annot.font) 
     446            item.setFont(font) 
    444447            scheme_annot.text_changed.connect(item.setPlainText) 
    445448 
     
    448451            start, end = scheme_annot.start_pos, scheme_annot.end_pos 
    449452            item.setLine(QLineF(QPointF(*start), QPointF(*end))) 
     453            item.setColor(QColor(scheme_annot.color)) 
    450454 
    451455        scheme_annot.geometry_changed.connect( 
  • Orange/OrangeCanvas/scheme/annotations.py

    r11151 r11200  
    1919    """ 
    2020 
    21     def __init__(self, start_pos, end_pos, anchor=None, parent=None): 
     21    color_changed = Signal(unicode) 
     22 
     23    def __init__(self, start_pos, end_pos, color="red", anchor=None, 
     24                 parent=None): 
    2225        BaseSchemeAnnotation.__init__(self, parent) 
    2326        self.__start_pos = start_pos 
    2427        self.__end_pos = end_pos 
     28        self.__color = color 
    2529        self.__anchor = anchor 
    2630 
     
    4953    geometry = Property(tuple, fget=geometry, fset=set_geometry) 
    5054 
     55    def set_color(self, color): 
     56        if self.__color != color: 
     57            self.__color = color 
     58            self.color_changed.emit(color) 
     59 
     60    def color(self): 
     61        return self.__color 
     62 
     63    color = Property(unicode, fget=color, fset=set_color) 
     64 
    5165 
    5266class SchemeTextAnnotation(BaseSchemeAnnotation): 
     
    5468    """ 
    5569    text_changed = Signal(unicode) 
     70    font_changed = Signal(unicode) 
    5671 
    57     def __init__(self, rect, text="", anchor=None, parent=None): 
     72    def __init__(self, rect, text="", font="", anchor=None, parent=None): 
    5873        BaseSchemeAnnotation.__init__(self, parent) 
    5974        self.__rect = rect 
    6075        self.__text = text 
     76        self.__font = font 
    6177        self.__anchor = anchor 
    6278 
     
    89105 
    90106    text = Property(tuple, fget=text, fset=set_text) 
     107 
     108    def set_font(self, font): 
     109        if self.__font != font: 
     110            self.__font = font 
     111            self.font_changed.emit(font) 
     112 
     113    def font(self): 
     114        return self.__font 
     115 
     116    font = Property(unicode, fget=font, fset=set_font) 
Note: See TracChangeset for help on using the changeset viewer.