Changeset 11343:84f579a58442 in orange


Ignore:
Timestamp:
02/21/13 12:08:40 (14 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Fixed font size in the canvas scene.

Location:
Orange/OrangeCanvas
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/canvas/items/linkitem.py

    r11241 r11343  
    134134 
    135135        self.linkTextItem = QGraphicsTextItem(self) 
    136         self.linkTextItem.setFont(QFont("Helvetica", 11)) 
    137136 
    138137        self.__sourceName = "" 
     
    240239 
    241240        self.__updateCurve() 
     241 
     242    def setFont(self, font): 
     243        """ 
     244        Set the channel names font. 
     245        """ 
     246        if font != self.font(): 
     247            self.linkTextItem.setFont(font) 
     248            self.__updateText() 
     249 
     250    def font(self): 
     251        """ 
     252        Return the channel names font. 
     253        """ 
     254        return self.linkTextItem.font() 
    242255 
    243256    def setChannelNamesVisible(self, visible): 
  • Orange/OrangeCanvas/canvas/items/nodeitem.py

    r11331 r11343  
    697697        self.captionTextItem.setPlainText("") 
    698698        self.captionTextItem.setPos(0, 33) 
    699         font = QFont("Helvetica", 12) 
    700         self.captionTextItem.setFont(font) 
    701699 
    702700        def iconItem(standard_pixmap): 
     
    773771 
    774772    title_ = Property(unicode, fget=title, fset=setTitle) 
     773 
     774    def setFont(self, font): 
     775        """ 
     776        Set the title text font. 
     777        """ 
     778        if font != self.font(): 
     779            self.prepareGeometryChange() 
     780            self.captionTextItem.setFont(font) 
     781            self.__updateTitleText() 
     782 
     783    def font(self): 
     784        """ 
     785        Return the title text font. 
     786        """ 
     787        return self.captionTextItem.font() 
    775788 
    776789    def setProcessingState(self, state): 
  • Orange/OrangeCanvas/canvas/scene.py

    r11278 r11343  
    1414                        QGraphicsItem 
    1515 
    16 from PyQt4.QtCore import Qt, QPointF, QRectF, QSizeF, QLineF, QBuffer 
     16from PyQt4.QtCore import Qt, QPointF, QRectF, QSizeF, QLineF, QBuffer, QEvent 
    1717 
    1818from PyQt4.QtCore import pyqtSignal as Signal 
     
    228228            item.setPos(pos) 
    229229 
     230        item.setFont(self.font()) 
     231 
    230232        # Set signal mappings 
    231233        self.activated_mapper.setPyMapping(item, item) 
     
    337339            self.addItem(item) 
    338340 
     341        item.setFont(self.font()) 
    339342        self.__link_items.append(item) 
    340343 
     
    762765            handler.start() 
    763766 
     767    def event(self, event): 
     768        # TODO: change the base class of Node/LinkItem to QGraphicsWidget. 
     769        # It already handles font changes. 
     770        if event.type() == QEvent.FontChange: 
     771            self.__update_font() 
     772 
     773        return QGraphicsScene.event(self, event) 
     774 
     775    def __update_font(self): 
     776        font = self.font() 
     777        for item in self.__node_items + self.__link_items: 
     778            item.setFont(font) 
     779 
    764780    def __str__(self): 
    765781        return "%s(objectName=%r, ...)" % \ 
     
    777793 
    778794    if "size" in font_dict: 
    779         font.setPointSize(font_dict["size"]) 
     795        font.setPixelSize(font_dict["size"]) 
    780796 
    781797    return font 
  • Orange/OrangeCanvas/document/interactions.py

    r11279 r11343  
    886886        annot = scheme.SchemeTextAnnotation(rect_to_tuple(rect)) 
    887887        font = {"family": unicode(self.font.family()), 
    888                 "size": self.font.pointSize()} 
     888                "size": self.font.pixelSize()} 
    889889        annot.set_font(font) 
    890890 
  • Orange/OrangeCanvas/document/schemeedit.py

    r11341 r11343  
    3535from . import commands 
    3636from . import quickmenu 
    37  
    3837 
    3938log = logging.getLogger(__name__) 
     
    174173 
    175174        def font(size): 
    176             return QFont("Helvetica", size) 
     175            f = QFont(self.font()) 
     176            f.setPixelSize(size) 
     177            return f 
    177178 
    178179        for size in [12, 14, 16, 18, 20, 22, 24]: 
    179             action = QAction("%ip" % size, group, 
     180            action = QAction("%ipx" % size, group, 
    180181                             checkable=True, 
    181182                             font=font(size)) 
     
    324325        scene = CanvasScene() 
    325326        scene.set_channel_names_visible(self.__channelNamesVisible) 
     327        scene.setFont(self.font()) 
    326328 
    327329        view = CanvasView(scene) 
     
    490492            self.__view.setScene(self.__scene) 
    491493            self.__scene.set_channel_names_visible(self.__channelNamesVisible) 
     494            self.__scene.setFont(self.font()) 
    492495 
    493496            self.__scene.installEventFilter(self) 
     
    792795            self.setWindowModified(not clean) 
    793796            self.modificationChanged.emit(not clean) 
     797 
     798    def changeEvent(self, event): 
     799        if event.type() == QEvent.FontChange: 
     800            self.__updateFont() 
     801 
     802        QWidget.changeEvent(self, event) 
    794803 
    795804    def eventFilter(self, obj, event): 
     
    13691378            log.info("Control point editing finished.") 
    13701379 
     1380    def __updateFont(self): 
     1381        actions = self.__fontActionGroup.actions() 
     1382        font = self.font() 
     1383        for action in actions: 
     1384            size = action.font().pixelSize() 
     1385            action_font = QFont(font) 
     1386            action_font.setPixelSize(size) 
     1387            action.setFont(action_font) 
     1388 
     1389        if self.__scene: 
     1390            self.__scene.setFont(font) 
     1391 
    13711392 
    13721393def geometry_from_annotation_item(item): 
  • Orange/OrangeCanvas/styles/orange.qss

    r11212 r11343  
    321321} 
    322322 
     323/* SchemeEditWidget 
     324 */ 
     325 
     326SchemeEditWidget { 
     327    font-family: "Helvetica"; 
     328    font-size: 12px; 
     329} 
    323330 
    324331/* Quick Menu  
Note: See TracChangeset for help on using the changeset viewer.