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

Docstring fixes in document package.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/document/quickmenu.py

    r11370 r11371  
    4646class MenuPage(ToolTree): 
    4747    """ 
    48     A menu page in a :class:`QuickMenu` widget. 
     48    A menu page in a :class:`QuickMenu` widget, showing a list of actions. 
     49    Shown actions can be disabled by setting a filtering function using the 
     50    :ref:`setFilterFunc`. 
     51 
    4952    """ 
    5053    def __init__(self, parent=None, title=None, icon=None, **kwargs): 
     
    9699 
    97100    def setFilterFunc(self, func): 
     101        """ 
     102        Set the filtering function. `func` should a function taking a single 
     103        :class:`QModelIndex` argument and returning True if the item at index 
     104        should be disabled and False otherwise. To disable filtering `func` can 
     105        be set to ``None``. 
     106 
     107        """ 
    98108        proxyModel = self.view().model() 
    99109        proxyModel.setFilterFunc(func) 
    100110 
    101111    def setModel(self, model): 
     112        """ 
     113        Reimplemented from :ref:`ToolTree.setModel`. 
     114        """ 
    102115        proxyModel = ItemDisableFilter(self) 
    103116        proxyModel.setSourceModel(model) 
     
    105118 
    106119    def setRootIndex(self, index): 
     120        """ 
     121        Reimplemented from :ref:`ToolTree.setRootIndex` 
     122        """ 
    107123        proxyModel = self.view().model() 
    108124        mappedIndex = proxyModel.mapFromSource(index) 
     
    110126 
    111127    def rootIndex(self): 
     128        """ 
     129        Reimplemented from :ref:`ToolTree.rootIndex` 
     130        """ 
    112131        proxyModel = self.view().model() 
    113132        return proxyModel.mapToSource(ToolTree.rootIndex(self)) 
     
    115134 
    116135class ItemDisableFilter(QSortFilterProxyModel): 
     136    """ 
     137    An filter proxy model used to disable selected items based on 
     138    a filtering function. 
     139 
     140    """ 
    117141    def __init__(self, parent=None): 
    118142        QSortFilterProxyModel.__init__(self, parent) 
     
    121145 
    122146    def setFilterFunc(self, func): 
     147        """ 
     148        Set the filtering function. 
     149        """ 
    123150        if not (isinstance(func, Callable) or func is None): 
    124151            raise ValueError("A callable object or None expected.") 
     
    131158 
    132159    def flags(self, index): 
     160        """ 
     161        Reimplemented from :class:`QSortFilterProxyModel.flags` 
     162        """ 
    133163        source = self.mapToSource(index) 
    134164        flags = source.flags() 
     
    143173 
    144174class SuggestMenuPage(MenuPage): 
     175    """ 
     176    A MenuMage for the QuickMenu widget supporting item filtering 
     177    (searching). 
     178 
     179    """ 
    145180    def __init__(self, *args, **kwargs): 
    146181        MenuPage.__init__(self, *args, **kwargs) 
    147182 
    148183    def setModel(self, model): 
     184        """ 
     185        Reimplmemented from :ref:`MenuPage.setModel`. 
     186        """ 
    149187        flat = FlattenedTreeItemModel(self) 
    150188        flat.setSourceModel(model) 
     
    158196 
    159197    def setFilterFixedString(self, pattern): 
     198        """ 
     199        Set the fixed string filtering pattern. Only items which contain the 
     200        `pattern` string will be shown. 
     201 
     202        """ 
    160203        proxy = self.view().model() 
    161204        proxy.setFilterFixedString(pattern) 
     
    163206 
    164207    def setFilterRegExp(self, pattern): 
     208        """ 
     209        Set the regular expression filtering pattern. Only items matching 
     210        the `pattern` expression will be shown. 
     211 
     212        """ 
    165213        filter_proxy = self.view().model() 
    166214        filter_proxy.setFilterRegExp(pattern) 
     
    168216 
    169217    def setFilterWildCard(self, pattern): 
     218        """ 
     219        Set a wildcard filtering pattern. 
     220        """ 
    170221        filter_proxy = self.view().model() 
    171222        filter_proxy.setFilterWildCard(pattern) 
     
    173224 
    174225    def setFilterFunc(self, func): 
     226        """ 
     227        Set a filtering function. 
     228        """ 
    175229        filter_proxy = self.view().model() 
    176230        filter_proxy.setFilterFunc(func) 
     
    178232 
    179233class SortFilterProxyModel(QSortFilterProxyModel): 
     234    """ 
     235    An filter proxy model used to filter items based on a filtering 
     236    function. 
     237 
     238    """ 
    180239    def __init__(self, parent=None): 
    181240        QSortFilterProxyModel.__init__(self, parent) 
     
    184243 
    185244    def setFilterFunc(self, func): 
     245        """ 
     246        Set the filtering function. 
     247        """ 
    186248        if not (isinstance(func, Callable) or func is None): 
    187249            raise ValueError("A callable object or None expected.") 
     
    300362 
    301363 
     364# TODO: ..application.canvastooldock.QuickCategoryToolbar is very similar, 
     365#       to TobBarWidget. Maybe common functionality could factored our. 
     366 
    302367class TabBarWidget(QWidget): 
    303     """A tab bar widget using tool buttons as tabs. 
    304  
     368    """ 
     369    A tab bar widget using tool buttons as tabs. 
    305370    """ 
    306371    # TODO: A uniform size box layout. 
     
    325390 
    326391    def count(self): 
    327         """Return the number of tabs in the widget. 
     392        """ 
     393        Return the number of tabs in the widget. 
    328394        """ 
    329395        return len(self.__tabs) 
    330396 
    331397    def addTab(self, text, icon=None, toolTip=None): 
    332         """Add a tab and return it's index. 
     398        """ 
     399        Add a new tab and return it's index. 
    333400        """ 
    334401        return self.insertTab(self.count(), text, icon, toolTip) 
    335402 
    336     def insertTab(self, index, text, icon, toolTip): 
    337         """Insert a tab at `index` 
     403    def insertTab(self, index, text, icon=None, toolTip=None): 
     404        """ 
     405        Insert a tab at `index` 
    338406        """ 
    339407        button = TabButton(self, objectName="tab-button") 
     
    353421 
    354422    def removeTab(self, index): 
     423        """ 
     424        Remove a tab at `index`. 
     425        """ 
    355426        if index >= 0 and index < self.count(): 
    356427            self.layout().takeItem(index) 
     
    366437 
    367438    def setTabIcon(self, index, icon): 
    368         """Set the `icon` for tab at `index`. 
     439        """ 
     440        Set the `icon` for tab at `index`. 
    369441        """ 
    370442        self.__tabs[index] = self.__tabs[index]._replace(icon=icon) 
     
    372444 
    373445    def setTabToolTip(self, index, toolTip): 
    374         """Set `toolTip` for tab at `index`. 
     446        """ 
     447        Set `toolTip` for tab at `index`. 
    375448        """ 
    376449        self.__tabs[index] = self.__tabs[index]._replace(toolTip=toolTip) 
     
    378451 
    379452    def setTabText(self, index, text): 
    380         """Set tab `text` for tab at `index` 
     453        """ 
     454        Set tab `text` for tab at `index` 
    381455        """ 
    382456        self.__tabs[index] = self.__tabs[index]._replace(text=text) 
     
    384458 
    385459    def setTabPalette(self, index, palette): 
    386         """Set the tab button palette. 
     460        """ 
     461        Set the tab button palette. 
    387462        """ 
    388463        self.__tabs[index] = self.__tabs[index]._replace(palette=palette) 
     
    390465 
    391466    def setCurrentIndex(self, index): 
     467        """ 
     468        Set the current tab index. 
     469        """ 
    392470        if self.__currentIndex != index: 
    393471            self.__currentIndex = index 
     
    398476            self.currentChanged.emit(index) 
    399477 
     478    def currentIndex(self): 
     479        """ 
     480        Return the current index. 
     481        """ 
     482        return self.__currentIndex 
     483 
    400484    def button(self, index): 
    401         """Return the `TabButton` instance for index. 
     485        """ 
     486        Return the `TabButton` instance for index. 
    402487        """ 
    403488        return self.__tabs[index].button 
    404489 
    405     def currentIndex(self): 
    406         """Return the current index. 
    407         """ 
    408         return self.__currentIndex 
    409  
    410490    def __updateTab(self, index): 
    411         """Update the tab button. 
     491        """ 
     492        Update the tab button. 
    412493        """ 
    413494        tab = self.__tabs[index] 
     
    464545 
    465546    def addPage(self, page, title, icon=None, toolTip=None): 
    466         """Add a `page` to the menu and return its index. 
     547        """ 
     548        Add a `page` to the menu and return its index. 
    467549        """ 
    468550        return self.insertPage(self.count(), page, title, icon, toolTip) 
    469551 
    470552    def insertPage(self, index, page, title, icon=None, toolTip=None): 
    471         """Insert `page` at `index`. 
     553        """ 
     554        Insert `page` at `index`. 
    472555        """ 
    473556        page.triggered.connect(self.triggered) 
     
    479562 
    480563    def page(self, index): 
    481         """Return the page at index. 
     564        """ 
     565        Return the page at index. 
    482566        """ 
    483567        return self.__stack.widget(index) 
    484568 
    485569    def removePage(self, index): 
    486         """Remove the page at `index`. 
     570        """ 
     571        Remove the page at `index`. 
    487572        """ 
    488573        page = self.__stack.widget(index) 
     
    494579 
    495580    def count(self): 
    496         """Return the number of pages. 
     581        """ 
     582        Return the number of pages. 
    497583        """ 
    498584        return self.__stack.count() 
    499585 
    500586    def setCurrentIndex(self, index): 
    501         """Set the current page index. 
     587        """ 
     588        Set the current page index. 
    502589        """ 
    503590        if self.__currentIndex != index: 
     
    508595 
    509596    def currentIndex(self): 
    510         """Return the index of the current page. 
     597        """ 
     598        Return the index of the current page. 
    511599        """ 
    512600        return self.__currentIndex 
    513601 
    514602    def setCurrentPage(self, page): 
    515         """Set `page` to be the current shown page. 
     603        """ 
     604        Set `page` to be the current shown page. 
    516605        """ 
    517606        index = self.__stack.indexOf(page) 
     
    519608 
    520609    def currentPage(self): 
    521         """Return the current page. 
     610        """ 
     611        Return the current page. 
    522612        """ 
    523613        return self.__stack.currentWidget() 
    524614 
    525615    def indexOf(self, page): 
    526         """Return the index of `page`. 
     616        """ 
     617        Return the index of `page`. 
    527618        """ 
    528619        return self.__stack.indexOf(page) 
    529620 
    530621    def tabButton(self, index): 
    531         """Return the tab button instance for index. 
     622        """ 
     623        Return the tab button instance for index. 
    532624        """ 
    533625        return self.__tab.button(index) 
     
    535627 
    536628class QuickMenu(FramelessWindow): 
    537     """A quick menu popup for the widgets. 
    538  
    539     The widgets are set using setModel which must be a 
     629    """ 
     630    A quick menu popup for the widgets. 
     631 
     632    The widgets are set using :ref:`setModel` which must be a 
    540633    model as returned by QtWidgetRegistry.model() 
    541634 
     
    609702 
    610703    def setSizeGripEnabled(self, enabled): 
    611         """Enable the resizing of the menu with a size grip in a bottom 
     704        """ 
     705        Enable the resizing of the menu with a size grip in a bottom 
    612706        right corner (enabled by default). 
    613707 
     
    622716 
    623717    def sizeGripEnabled(self): 
    624         """Is the size grip enabled. 
     718        """ 
     719        Is the size grip enabled. 
    625720        """ 
    626721        return bool(self.__grip) 
    627722 
    628723    def addPage(self, name, page): 
    629         """Add the page and return it's index. 
     724        """ 
     725        Add the page and return it's index. 
    630726        """ 
    631727        icon = page.icon() 
     
    648744 
    649745    def createPage(self, index): 
     746        """ 
     747        Create a new page based on the contents of an index 
     748        (:class:`QModeIndex`) item. 
     749 
     750        """ 
    650751        page = MenuPage(self) 
    651752        view = page.view() 
     
    675776 
    676777    def setModel(self, model): 
     778        """ 
     779        Set the model containing the actions. 
     780        """ 
    677781        root = model.invisibleRootItem() 
    678782        for i in range(root.rowCount()): 
     
    691795                button.setStyleSheet( 
    692796                    "TabButton {\n" 
    693                     "    qproperty-flat_: false;" 
     797                    "    qproperty-flat_: false;\n" 
    694798                    "    background-color: %s;\n" 
    695799                    "    border: none;\n" 
     
    705809 
    706810    def setFilterFunc(self, func): 
     811        """ 
     812        Set a filter function. 
     813        """ 
    707814        if func != self.__filterFunc: 
    708815            self.__filterFunc = func 
     
    711818 
    712819    def popup(self, pos=None): 
    713         """Popup the menu at `pos` (in screen coordinates).. 
     820        """ 
     821        Popup the menu at `pos` (in screen coordinates). 
    714822        """ 
    715823        if pos is None: 
     
    779887 
    780888    def setCurrentPage(self, page): 
     889        """ 
     890        Set the current shown page to `page`. 
     891        """ 
    781892        self.__pages.setCurrentPage(page) 
    782893 
    783894    def setCurrentIndex(self, index): 
     895        """ 
     896        Set the current page index. 
     897        """ 
    784898        self.__pages.setCurrentIndex(index) 
    785899 
    786900    def __onTriggered(self, action): 
    787         """Re-emit the action from the page. 
     901        """ 
     902        Re-emit the action from the page. 
    788903        """ 
    789904        self.__triggeredAction = action 
     
    798913 
    799914    def triggerSearch(self): 
     915        """ 
     916        Trigger action search. This changes to current page to the 
     917        'Suggest' page and sets the keyboard focus to the search line edit. 
     918 
     919        """ 
    800920        self.__pages.setCurrentPage(self.__suggestPage) 
    801921        self.__search.setFocus(Qt.ShortcutFocusReason) 
     
    873993 
    874994    def moveCurrent(self, rows, columns=0): 
    875         """Move the current index by rows, columns. 
     995        """ 
     996        Move the current index by rows, columns. 
    876997        """ 
    877998        if self.__view is not None: 
     
    8941015 
    8951016    def activateCurrent(self): 
    896         """Activate the current index. 
     1017        """ 
     1018        Activate the current index. 
    8971019        """ 
    8981020        if self.__view is not None: 
     
    9031025 
    9041026    def ensureCurrent(self): 
    905         """Ensure the view has a current item if one is available. 
     1027        """ 
     1028        Ensure the view has a current item if one is available. 
    9061029        """ 
    9071030        if self.__view is not None: 
     
    9171040 
    9181041class WindowSizeGrip(QSizeGrip): 
    919     """Automatically positioning SizeGrip. 
     1042    """ 
     1043    Automatically positioning :class:`QSizeGrip`. 
    9201044    """ 
    9211045    def __init__(self, parent): 
     
    9281052 
    9291053    def setCorner(self, corner): 
    930         """Set the corner where the size grip should position itself. 
     1054        """ 
     1055        Set the corner where the size grip should position itself. 
    9311056        """ 
    9321057        if corner not in [Qt.TopLeftCorner, Qt.TopRightCorner, 
     
    9391064 
    9401065    def corner(self): 
    941         """Return the corner where the size grip is positioned. 
     1066        """ 
     1067        Return the corner where the size grip is positioned. 
    9421068        """ 
    9431069        return self.__corner 
Note: See TracChangeset for help on using the changeset viewer.