Changeset 1921:ac450b5faf1f in orange-bioinformatics


Ignore:
Timestamp:
11/29/13 18:52:24 (5 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Changed tooltip set labels.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orangecontrib/bio/widgets/OWVennDiagram.py

    r1917 r1921  
    55 
    66import math 
     7import unicodedata 
    78 
    89from collections import namedtuple, defaultdict, OrderedDict, Counter 
     
    353354        self.vennwidget.setItems(vennitems) 
    354355 
    355         def label_text(i): 
    356             return "".join(chr(ord("A") + i) 
    357                            for i, b in enumerate(setkey(i, n)) if b) 
    358  
    359356        for i, area in enumerate(self.vennwidget.vennareas()): 
    360357            area_items = list(self.disjoint[i]) 
     
    362359                area.setText("{0}".format(len(area_items))) 
    363360 
    364             label = label_text(i) 
    365             head = "<h4>|{}| = {}</h4>".format(label, len(area_items)) 
     361            label = disjoint_set_label(i, n, simplify=False) 
     362            head = u"<h4>|{}| = {}</h4>".format(label, len(area_items)) 
    366363            if len(area_items) > 32: 
    367                 items_str = ", ".join(map(escape, area_items[:32])) 
     364                items_str = u", ".join(map(escape, area_items[:32])) 
    368365                hidden = len(area_items) - 32 
    369                 tooltip = ("{}<span>{}, ...</br>({} items not shown)<span>" 
     366                tooltip = (u"{}<span>{}, ...</br>({} items not shown)<span>" 
    370367                           .format(head, items_str, hidden)) 
    371368            elif area_items: 
    372                 tooltip = "{}<span>{}</span>".format( 
     369                tooltip = u"{}<span>{}</span>".format( 
    373370                    head, 
    374                     ", ".join(map(escape, area_items)) 
     371                    u", ".join(map(escape, area_items)) 
    375372                ) 
    376373            else: 
     
    786783 
    787784    return disjoint_sets 
     785 
     786 
     787def disjoint_set_label(i, n, simplify=False): 
     788    """ 
     789    Return a html formated label for a disjoint set indexed by `i`. 
     790    """ 
     791    intersection = unicodedata.lookup("INTERSECTION") 
     792    # comp = unicodedata.lookup("COMPLEMENT")  # 
     793    # This depends on the font but the unicode complement in 
     794    # general does not look nice in a super script so we use 
     795    # plain c instead. 
     796    comp = "c" 
     797 
     798    def label_for_index(i): 
     799        return chr(ord("A") + i) 
     800 
     801    if simplify: 
     802        return "".join(label_for_index(i) for i, b in enumerate(setkey(i, n)) 
     803                       if b) 
     804    else: 
     805        return intersection.join(label_for_index(i) + 
     806                                 ("" if b else "<sup>" + comp + "</sup>") 
     807                                 for i, b in enumerate(setkey(i, n))) 
    788808 
    789809 
Note: See TracChangeset for help on using the changeset viewer.