Changeset 5d845a92bf400f33b2006b7c79bf9fd657cd8162


Ignore:
Timestamp:
02/10/10 08:17:54 (2 years ago)
Author:
Luper Rouch <luper.rouch@…>
Children:
be4313eb5a52979c9eb8e136609f64e9af7faef6
Parents:
7c3dd5df3474cb42c458331412acb7994d162b89
git-committer:
Luper Rouch <luper.rouch@…> (02/10/10 08:17:54)
Message:

pyflu: treenode objects can be unselectable and disabled

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • derez/static/uploads/.gitignore

    r829c049 r5d845a9  
     1* 
  • pyflu/pyflu/qt/models/treemodel.py

    rc253966 r5d845a9  
    1010 
    1111    Implementations must create a member variable named 'root_item' in their 
    12     __init__. 
     12    __init__ that conforms to the TreeNode interface. 
    1313    """ 
    1414 
     
    8080     
    8181    def flags(self, index):          
    82         flags = QAbstractItemModel.flags(self, index) 
    8382        item = self.item_from_index(index) 
     83        flags = Qt.NoItemFlags 
    8484        if item.editable: 
    8585            flags |= Qt.ItemIsEditable 
     
    8888        if item.drop_target: 
    8989            flags |= Qt.ItemIsDropEnabled 
     90        if item.selectable: 
     91            flags |= Qt.ItemIsSelectable 
     92        if item.enabled: 
     93            flags |= Qt.ItemIsEnabled 
    9094        return flags 
     95 
     96    def removeRow(self, row, parent_index=QModelIndex(), detach=True): 
     97        """ 
     98        QAbstractItemModel.removeRow() implementation. 
     99 
     100        Accepts an additional argument, ``detach`` that determines the action 
     101        to take on the node pointed by the operation. If it is True (the 
     102        default), the node's ``detach()`` method is called, if it is False the 
     103        node's ``delete()`` method is called. 
     104        """ 
     105        parent_item = self.item_from_index(parent_index) 
     106        node = parent_item.children[row] 
     107        self.beginRemoveRows(parent_index, row, row) 
     108        if detach: 
     109            node.detach() 
     110        else: 
     111            node.delete() 
     112        self.endRemoveRows() 
     113        return True 
    91114 
    92115    # Drag and drop methods 
  • pyflu/pyflu/qt/models/treenode.py

    rc253966 r5d845a9  
    3030    be taken when the node is double clicked for example. 
    3131    """ 
     32 
     33    # Flags 
    3234    editable = False 
    33     """Tells wether the node's name can be edited.""" 
    3435    deletable = False 
    35     """Tells if the node can be deleted.""" 
    3636    draggable = False 
    37     """Tells if the node can be dragged.""" 
    3837    drop_target = False 
    39     """Tells if the node is a drop target.""" 
     38    selectable = True 
     39    enabled = True 
    4040 
    4141    def __init__(self, name=None, parent=None): 
Note: See TracChangeset for help on using the changeset viewer.