Changeset 11366:7f9332b11252 in orange


Ignore:
Timestamp:
02/19/13 15:01:43 (14 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Added rst documentation for the canvas gui package.

Fixing docstrings in the process.

Files:
13 added
12 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/gui/dock.py

    r11232 r11366  
    44======================= 
    55 
    6 A dock widget with a header that can be a collapsed/expanded. 
     6A dock widget that can be a collapsed/expanded. 
    77 
    88""" 
     
    1414) 
    1515 
    16 from PyQt4.QtCore import Qt, QTimer, QEvent 
     16from PyQt4.QtCore import Qt, QEvent 
    1717 
    1818from PyQt4.QtCore import pyqtProperty as Property 
     
    2525 
    2626class CollapsibleDockWidget(QDockWidget): 
    27     """A Dock widget for which the close action collapses the widget 
    28     to a smaller size. 
     27    """ 
     28    This :class:`QDockWidget` subclass overrides the `close` header 
     29    button to instead collapse to a smaller size. The contents contents 
     30    to show when in each state can be set using the ``setExpandedWidget`` 
     31    and ``setCollapsedWidget``. 
     32 
     33    .. note:: Do use the base class ``QDockWidget.setWidget`` method to set 
     34              the contents. 
    2935 
    3036    """ 
     
    7985 
    8086    def setExpanded(self, state): 
    81         """Set the expanded state. 
     87        """ 
     88        Set the widgets `expanded` state. 
    8289        """ 
    8390        if self.__expanded != state: 
     
    9299 
    93100    def expanded(self): 
    94         """Is the dock widget in expanded state 
     101        """ 
     102        Is the dock widget in expanded state. When `True` the 
     103        ``expandedWidget`` will be shown, and ``collapsedWidget`` otherwise. 
     104 
    95105        """ 
    96106        return self.__expanded 
     
    100110    def setWidget(self, w): 
    101111        raise NotImplementedError( 
    102                 "Please use the setExpandedWidget/setCollapsedWidget method." 
     112                "Please use the 'setExpandedWidget'/'setCollapsedWidget' " 
     113                "methods to set the contents of the dock widget." 
    103114              ) 
    104115 
    105116    def setExpandedWidget(self, widget): 
    106         """Set the widget with contents to show while expanded. 
     117        """ 
     118        Set the widget with contents to show while expanded. 
    107119        """ 
    108120        if widget is self.__expandedWidget: 
     
    119131            self.updateGeometry() 
    120132 
     133    def expandedWidet(self): 
     134        """ 
     135        Return the widget previously set with ``setExpandedWidget``, 
     136        or ``None`` if no widget has been set. 
     137 
     138        """ 
     139        return self.__expandedWidget 
     140 
    121141    def setCollapsedWidget(self, widget): 
    122         """Set the widget with contents to show while collapsed. 
     142        """ 
     143        Set the widget with contents to show while collapsed. 
    123144        """ 
    124145        if widget is self.__collapsedWidget: 
     
    135156            self.updateGeometry() 
    136157 
     158    def collapsedWidget(self): 
     159        """ 
     160        Return the widget previously set with ``setCollapsedWidget``, 
     161        or ``None`` if no widget has been set. 
     162 
     163        """ 
     164        return self.__collapsedWidget 
     165 
    137166    def setAnimationEnabled(self, animationEnabled): 
    138         """Enable/disable the transition animation. 
     167        """ 
     168        Enable/disable the transition animation. 
    139169        """ 
    140170        self.__stack.setAnimationEnabled(animationEnabled) 
    141171 
    142172    def animationEnabled(self): 
     173        """ 
     174        Is transition animation enabled. 
     175        """ 
    143176        return self.__stack.animationEnabled() 
    144177 
    145178    def currentWidget(self): 
    146         """Return the current widget. 
     179        """ 
     180        Return the current shown widget depending on the `expanded` state. 
    147181        """ 
    148182        if self.__expanded: 
     
    152186 
    153187    def expand(self): 
    154         """Expand the dock (same as `setExpanded(True)`) 
     188        """ 
     189        Expand the dock (same as ``setExpanded(True)``) 
    155190        """ 
    156191        self.setExpanded(True) 
    157192 
    158193    def collapse(self): 
    159         """Collapse the dock (same as `setExpanded(False)`) 
     194        """ 
     195        Collapse the dock (same as ``setExpanded(False)``) 
    160196        """ 
    161197        self.setExpanded(False) 
  • Orange/OrangeCanvas/gui/dropshadow.py

    r11130 r11366  
    11""" 
    2 A DropShadowWidget 
     2================= 
     3Drop Shadow Frame 
     4================= 
     5 
     6A widget providing a drop shadow (gaussian blur effect) around another 
     7widget. 
    38 
    49""" 
     
    4247 
    4348class DropShadowFrame(QWidget): 
    44     """A widget drawing a drop shadow effect around the geometry of 
    45     another widget (similar to QFocusFrame). 
     49    """ 
     50    A widget drawing a drop shadow effect around the geometry of 
     51    another widget (works similar to :class:`QFocusFrame`). 
     52 
     53    Parameters 
     54    ---------- 
     55    parent : :class:`QObject` 
     56        Parent object. 
     57    color : :class:`QColor` 
     58        The color of the drop shadow. 
     59    radius : float 
     60        Shadow radius. 
    4661 
    4762    """ 
     
    6479 
    6580    def setColor(self, color): 
    66         """Set the color of the shadow. 
     81        """ 
     82        Set the color of the shadow. 
    6783        """ 
    6884        if not isinstance(color, QColor): 
     
    7086 
    7187        if self.__color != color: 
    72             self.__color = color 
     88            self.__color = QColor(color) 
    7389            self.__updatePixmap() 
    7490 
    7591    def color(self): 
    76         return self.__color 
    77  
    78     color_ = Property(QColor, fget=color, fset=setColor, designable=True) 
     92        """ 
     93        Return the color of the drop shadow. 
     94        """ 
     95        return QColor(self.__color) 
     96 
     97    color_ = Property(QColor, fget=color, fset=setColor, designable=True, 
     98                      doc="Drop shadow color") 
    7999 
    80100    def setRadius(self, radius): 
    81         """Set the drop shadow blur radius. 
     101        """ 
     102        Set the drop shadow's blur radius. 
    82103        """ 
    83104        if self.__radius != radius: 
     
    87108 
    88109    def radius(self): 
     110        """ 
     111        Return the shadow blur radius. 
     112        """ 
    89113        return self.__radius 
    90114 
    91     radius_ = Property(int, fget=radius, fset=setRadius, designable=True) 
     115    radius_ = Property(int, fget=radius, fset=setRadius, designable=True, 
     116                       doc="Drop shadow blur radius.") 
    92117 
    93118    def setWidget(self, widget): 
    94         """Set the widget to show the shadow around. 
     119        """ 
     120        Set the widget around which to show the shadow. 
    95121        """ 
    96122        if self.__widget: 
     
    119145 
    120146    def widget(self): 
    121         """Return the widget taht was set by `setWidget`. 
     147        """ 
     148        Return the widget that was set by `setWidget`. 
    122149        """ 
    123150        return self.__widget 
     
    160187 
    161188    def __updateGeometry(self): 
    162         """Update the shadow geometry to fit the widget's changed 
     189        """ 
     190        Update the shadow geometry to fit the widget's changed 
    163191        geometry. 
     192 
    164193        """ 
    165194        widget = self.__widget 
     
    185214 
    186215    def __updatePixmap(self): 
    187         """Update the cached shadow pixmap. 
     216        """ 
     217        Update the cached shadow pixmap. 
    188218        """ 
    189219        rect_size = QSize(50, 50) 
     
    211241 
    212242    def __shadowPixmapFragments(self, pixmap_rect, shadow_rect): 
    213         """Return a list of 8 QRectF fragments for drawing a shadow. 
     243        """ 
     244        Return a list of 8 QRectF fragments for drawing a shadow. 
    214245        """ 
    215246        s_left, s_top, s_right, s_bottom = \ 
  • Orange/OrangeCanvas/gui/framelesswindow.py

    r11170 r11366  
    11""" 
    2 A Frameless window widget 
     2A frameless window widget 
    33 
    44""" 
     
    1212 
    1313class FramelessWindow(QWidget): 
    14     """A Basic frameless window widget with rounded corners (if supported by 
     14    """ 
     15    A basic frameless window widget with rounded corners (if supported by 
    1516    the windowing system). 
    1617 
     
    2627 
    2728    def setRadius(self, radius): 
    28         """Set the window rounded border radius. 
     29        """ 
     30        Set the window rounded border radius. 
    2931        """ 
    3032        if self.__radius != radius: 
     
    3537 
    3638    def radius(self): 
    37         """Return the border radius. 
     39        """ 
     40        Return the border radius. 
    3841        """ 
    3942        return self.__radius 
    4043 
    4144    radius_ = Property(int, fget=radius, fset=setRadius, 
    42                        designable=True) 
     45                       designable=True, 
     46                       doc="Window border radius") 
    4347 
    4448    def resizeEvent(self, event): 
  • Orange/OrangeCanvas/gui/lineedit.py

    r11105 r11366  
    2424 
    2525class LineEditButton(QToolButton): 
     26    """ 
     27    A button in the :class:`LineEdit`. 
     28    """ 
    2629    def __init__(self, parent=None, flat=True, **kwargs): 
    2730        QToolButton.__init__(self, parent, **kwargs) 
     
    5154 
    5255class LineEdit(QLineEdit): 
    53     """A line edit widget with support for adding actions (buttons) to 
     56    """ 
     57    A line edit widget with support for adding actions (buttons) to 
    5458    the left/right of the edited text 
    5559 
    5660    """ 
     61    #: Position flags 
    5762    LeftPosition, RightPosition = 1, 2 
    5863 
     64    #: Emitted when the action is triggered. 
    5965    triggered = Signal(QAction) 
     66 
     67    #: The left action was triggered. 
    6068    leftTriggered = Signal() 
     69 
     70    #: The right action was triggered. 
    6171    rightTriggered = Signal() 
    6272 
     
    6676 
    6777    def setAction(self, action, position=LeftPosition): 
    68         """Set `action` to be displayed at `position`. Existing action 
    69         if present will be removed. 
     78        """ 
     79        Set `action` to be displayed at `position`. Existing action 
     80        (if present) will be removed. 
     81 
     82        Parameters 
     83        ---------- 
     84        action : :class:`QAction` 
     85        position : int 
     86            Position where to set the action (default: ``LeftPosition``). 
    7087 
    7188        """ 
     
    93110 
    94111    def actionAt(self, position): 
    95         """Return `action` at `position`. 
     112        """ 
     113        Return :class:`QAction` at `position`. 
    96114        """ 
    97115        self._checkPosition(position) 
     
    103121 
    104122    def removeActionAt(self, position): 
    105         """Remove action at position. 
     123        """ 
     124        Remove the action at position. 
    106125        """ 
    107126        self._checkPosition(position) 
     
    116135 
    117136    def button(self, position): 
    118         """Return the actions button at position. 
     137        """ 
     138        Return the button (:class:`LineEditButton`) for the action 
     139        at `position`. 
     140 
    119141        """ 
    120142        self._checkPosition(position) 
  • Orange/OrangeCanvas/gui/quickhelp.py

    r11264 r11366  
    77 
    88class QuickHelp(QTextBrowser): 
     9 
     10    #: Emitted when the shown text changes. 
    911    textChanged = Signal() 
    1012 
     
    2325 
    2426    def showHelp(self, text, timeout=0): 
    25         """Show help for `timeout` milliseconds. if timeout is 0 then 
     27        """ 
     28        Show help for `timeout` milliseconds. if timeout is 0 then 
    2629        show the text until it is cleared with clearHelp or showHelp is 
    2730        called with an empty string. 
     
    3740 
    3841    def clearHelp(self): 
    39         """Clear help text previously set with `showHelp`. 
     42        """ 
     43        Clear help text previously set with `showHelp`. 
    4044        """ 
    4145        self.__timer.stop() 
     
    4347 
    4448    def showPermanentHelp(self, text): 
    45         """Set permanent help text. The text may be temporarily 
    46         overridden by showHelp but will be shown again when that is cleared 
     49        """ 
     50        Set permanent help text. The text may be temporarily overridden 
     51        by showHelp but will be shown again when that is cleared. 
    4752 
    4853        """ 
     
    5358 
    5459    def currentText(self): 
    55         """Return the current shown text. 
     60        """ 
     61        Return the current shown text. 
    5662        """ 
    5763        return self.__text or self.__permanentText 
     
    103109 
    104110class StatusTipPromoter(QObject): 
    105     """Promotes `QStatusTipEvent` to `QuickHelpTipEvent` using whatsThis 
     111    """ 
     112    Promotes `QStatusTipEvent` to `QuickHelpTipEvent` using ``whatsThis`` 
    106113    property of the object. 
    107114 
  • Orange/OrangeCanvas/gui/splashscreen.py

    r11123 r11366  
    11""" 
    2 Orange Canvas Splash Screen 
     2A splash screen widget with support for positioning of the message text. 
     3 
    34""" 
    45 
     
    1314 
    1415class SplashScreen(QSplashScreen): 
     16    """ 
     17    Splash screen widget. 
     18 
     19    Parameters 
     20    ---------- 
     21    parent : :class:`QWidget` 
     22        Parent widget 
     23 
     24    pixmap : :class:`QPixmap` 
     25        Splash window pixmap. 
     26 
     27    textRect : :class:`QRect` 
     28        Bounding rectangle of the shown message on the widget. 
     29 
     30    """ 
    1531    def __init__(self, parent=None, pixmap=None, textRect=None, **kwargs): 
    1632        QSplashScreen.__init__(self, parent, **kwargs) 
     
    3046 
    3147    def setTextRect(self, rect): 
    32         """Set the rectangle in which to show the message text. 
     48        """ 
     49        Set the rectangle (:class:`QRect`) in which to show the message text. 
    3350        """ 
    3451        if self.__textRect != rect: 
     
    3754 
    3855    def textRect(self): 
    39         """Return the text rect. 
     56        """ 
     57        Return the text message rectangle. 
    4058        """ 
    4159        return self.__textRect 
     
    4765 
    4866    def drawContents(self, painter): 
    49         """Reimplementation of drawContents to limit the drawing 
     67        """ 
     68        Reimplementation of drawContents to limit the drawing 
    5069        inside `textRext`. 
    5170 
     
    7594 
    7695    def showMessage(self, message, alignment=Qt.AlignLeft, color=Qt.black): 
     96        """ 
     97        Show the `message` with `color` and `alignment`. 
     98        """ 
    7799        # Need to store all this arguments for drawContents (no access 
    78100        # methods) 
  • Orange/OrangeCanvas/gui/stackedwidget.py

    r11365 r11366  
    44===================== 
    55 
    6 A widget similar to QStackedWidget that supports animated 
     6A widget similar to :class:`QStackedWidget` supporting animated 
    77transitions between widgets. 
    88 
     
    2525 
    2626def clipMinMax(size, minSize, maxSize): 
    27     """Clip the size so it is bigger then minSize but smaller than maxSize. 
     27    """ 
     28    Clip the size so it is bigger then minSize but smaller than maxSize. 
    2829    """ 
    2930    return size.expandedTo(minSize).boundedTo(maxSize) 
     
    3132 
    3233def fixSizePolicy(size, hint, policy): 
    33     """Fix size so it conforms to the size policy and the given size hint. 
     34    """ 
     35    Fix size so it conforms to the size policy and the given size hint. 
    3436    """ 
    3537    width, height = hint.width(), hint.height() 
     
    5355 
    5456class StackLayout(QStackedLayout): 
    55     """A stacked layout with `sizeHint` always the same as that 
    56     of the current widget. 
     57    """ 
     58    A stacked layout with ``sizeHint`` always the same as that of the 
     59    `current` widget. 
    5760 
    5861    """ 
     
    99102 
    100103    def _onCurrentChanged(self, index): 
    101         """Current widget changed, invalidate the layout. 
     104        """ 
     105        Current widget changed, invalidate the layout. 
    102106        """ 
    103107        self.invalidate() 
     
    105109 
    106110class AnimatedStackedWidget(QFrame): 
     111    # Current widget has changed 
    107112    currentChanged = Signal(int) 
     113 
     114    # Transition animation has started 
    108115    transitionStarted = Signal() 
     116 
     117    # Transition animation has finished 
    109118    transitionFinished = Signal() 
    110119 
     
    136145 
    137146    def setAnimationEnabled(self, animationEnabled): 
    138         """Enable/disable transition animations. 
     147        """ 
     148        Enable/disable transition animations. 
    139149        """ 
    140150        if self.__animationEnabled != animationEnabled: 
     
    145155 
    146156    def animationEnabled(self): 
     157        """ 
     158        Is the transition animation enabled. 
     159        """ 
    147160        return self.__animationEnabled 
    148161 
    149162    def addWidget(self, widget): 
    150         """Add the widget to the stack in the last place. 
     163        """ 
     164        Append the widget to the stack and return its index. 
    151165        """ 
    152166        return self.insertWidget(self.layout().count(), widget) 
    153167 
    154168    def insertWidget(self, index, widget): 
    155         """Insert widget at index. 
     169        """ 
     170        Insert `widget` into the stack at `index`. 
    156171        """ 
    157172        index = min(index, self.count()) 
     
    162177 
    163178    def removeWidget(self, widget): 
    164         """Remove `widget` from the stack. 
     179        """ 
     180        Remove `widget` from the stack. 
     181 
     182        .. note:: The widget is hidden but is not deleted. 
     183 
    165184        """ 
    166185        index = self.__widgets.index(widget) 
     
    169188 
    170189    def widget(self, index): 
    171         """Return the widget at `index` 
     190        """ 
     191        Return the widget at `index` 
    172192        """ 
    173193        return self.__widgets[index] 
    174194 
    175195    def indexOf(self, widget): 
    176         """Return the index of `widget` in the stack. 
     196        """ 
     197        Return the index of `widget` in the stack. 
    177198        """ 
    178199        return self.__widgets.index(widget) 
    179200 
    180201    def count(self): 
    181         """Return the number of widgets in the stack. 
     202        """ 
     203        Return the number of widgets in the stack. 
    182204        """ 
    183205        return max(self.layout().count() - 1, 0) 
    184206 
    185207    def setCurrentWidget(self, widget): 
    186         """Set the current shown widget. 
     208        """ 
     209        Set the current shown widget. 
    187210        """ 
    188211        index = self.__widgets.index(widget) 
     
    190213 
    191214    def setCurrentIndex(self, index): 
    192         """Set the current shown widget index. 
     215        """ 
     216        Set the current shown widget index. 
    193217        """ 
    194218        index = max(min(index, self.count() - 1), 0) 
     
    217241 
    218242    def currentIndex(self): 
     243        """ 
     244        Return the current shown widget index. 
     245        """ 
    219246        return self.__currentIndex 
    220247 
     
    226253 
    227254    def __transitionStart(self): 
    228         """Start the transition. 
     255        """ 
     256        Start the transition. 
    229257        """ 
    230258        log.debug("Stack transition start (%s)", str(self.objectName())) 
     
    236264 
    237265    def __onTransitionFinished(self): 
    238         """Transition has finished. 
     266        """ 
     267        Transition has finished. 
    239268        """ 
    240269        log.debug("Stack transition finished (%s)" % str(self.objectName())) 
     
    252281 
    253282class CrossFadePixmapWidget(QWidget): 
    254     """A widget for cross fading between two pixmaps. 
     283    """ 
     284    A widget for cross fading between two pixmaps. 
    255285    """ 
    256286    def __init__(self, parent=None, pixmap1=None, pixmap2=None): 
     
    262292 
    263293    def setPixmap(self, pixmap): 
    264         """Set pixmap 1 
     294        """ 
     295        Set pixmap 1 
    265296        """ 
    266297        self.pixmap1 = pixmap 
     
    268299 
    269300    def setPixmap2(self, pixmap): 
    270         """Set pixmap 2 
     301        """ 
     302        Set pixmap 2 
    271303        """ 
    272304        self.pixmap2 = pixmap 
     
    274306 
    275307    def setBlendingFactor(self, factor): 
    276         """Set the blending factor between the two pixmaps. 
     308        """ 
     309        Set the blending factor between the two pixmaps. 
    277310        """ 
    278311        self.__blendingFactor = factor 
     
    280313 
    281314    def blendingFactor(self): 
    282         """Pixmap blending factor between 0.0 and 1.0 
     315        """ 
     316        Pixmap blending factor between 0.0 and 1.0 
    283317        """ 
    284318        return self.__blendingFactor 
     
    288322 
    289323    def sizeHint(self): 
    290         """Return an interpolated size between pixmap1.size() 
     324        """ 
     325        Return an interpolated size between pixmap1.size() 
    291326        and pixmap2.size() 
    292327 
     
    300335 
    301336    def paintEvent(self, event): 
    302         """Paint the interpolated pixmap image. 
     337        """ 
     338        Paint the interpolated pixmap image. 
    303339        """ 
    304340        p = QPainter(self) 
  • Orange/OrangeCanvas/gui/toolbar.py

    r11179 r11366  
    11""" 
    2 A custom toolbar. 
     2A custom toolbar with linear uniform size layout. 
    33 
    44""" 
     
    1515 
    1616class DynamicResizeToolBar(QToolBar): 
    17     """A QToolBar subclass that dynamically resizes its tool buttons 
     17    """ 
     18    A :class:`QToolBar` subclass that dynamically resizes its tool buttons 
    1819    to fit available space (this is done by setting fixed size on the 
    1920    button instances). 
  • Orange/OrangeCanvas/gui/toolbox.py

    r11365 r11366  
    11""" 
    22============== 
    3 ToolBox Widget 
     3Tool Box Widget 
    44============== 
    55 
    6 A reimplementation of the QToolBox widget but with all the tabs 
    7 in a single QScrollArea and support for multiple open tabs. 
     6A reimplementation of the :class:`QToolBox` widget that keeps all the tabs 
     7in a single :class:`QScrollArea` instance and can keep multiple open tabs. 
    88 
    99""" 
     
    4040 
    4141def create_tab_gradient(base_color): 
    42     """Create a default background gradient for a tab button from a single 
     42    """ 
     43    Create a default background gradient for a tab button from a single 
    4344    color. 
    4445 
     
    5556 
    5657class ToolBoxTabButton(QToolButton): 
    57     """A tab button for an item in a ToolBox. 
     58    """ 
     59    A tab button for an item in a :class:`ToolBox`. 
    5860    """ 
    5961 
    6062    def setNativeStyling(self, state): 
    61         """Render tab buttons as native QToolButtons. 
     63        """ 
     64        Render tab buttons as native :class:`QToolButtons`. 
     65        If set to `False` (default) the button is pained using a 
     66        custom routine. 
     67 
    6268        """ 
    6369        self.__nativeStyling = state 
     
    6571 
    6672    def nativeStyling(self): 
    67         """Use native QStyle's QToolButton look. 
     73        """ 
     74        Use :class:`QStyle`'s to paint the class:`QToolButton` look. 
    6875        """ 
    6976        return self.__nativeStyling 
     
    210217 
    211218class ToolBox(QFrame): 
    212     """A tool box widget. 
    213     """ 
     219    """ 
     220    A tool box widget. 
     221    """ 
     222    # Emitted when a tab is toggled. 
    214223    tabToogled = Signal(int, bool) 
    215224 
    216225    def setExclusive(self, exclusive): 
    217         """Set exclusive tabs (only one tab can be open at a time). 
     226        """ 
     227        Set exclusive tabs (only one tab can be open at a time). 
    218228        """ 
    219229        if self.__exclusive != exclusive: 
     
    222232 
    223233    def exclusive(self): 
     234        """ 
     235        Are the tabs in the toolbox exclusive. 
     236        """ 
    224237        return self.__exclusive 
    225238 
    226239    exclusive_ = Property(bool, 
    227                          fget=exclusive, 
    228                          fset=setExclusive, 
    229                          designable=True) 
     240                          fget=exclusive, 
     241                          fset=setExclusive, 
     242                          designable=True, 
     243                          doc="Exclusive tabs") 
    230244 
    231245    def __init__(self, parent=None, **kwargs): 
     
    283297 
    284298    def setTabButtonHeight(self, height): 
    285         """Set the tab button height. 
     299        """ 
     300        Set the tab button height. 
    286301        """ 
    287302        if self.__tabButtonHeight != height: 
     
    291306 
    292307    def tabButtonHeight(self): 
     308        """ 
     309        Return the tab button height. 
     310        """ 
    293311        return self.__tabButtonHeight 
    294312 
    295313    def setTabIconSize(self, size): 
    296         """Set the tab button icon size. 
     314        """ 
     315        Set the tab button icon size. 
    297316        """ 
    298317        if self.__tabIconSize != size: 
     
    302321 
    303322    def tabIconSize(self): 
     323        """ 
     324        Return the tab icon size. 
     325        """ 
    304326        return self.__tabIconSize 
    305327 
    306     def tabButton(self, i): 
    307         """Return the tab button for the `i`-th item. 
    308         """ 
    309         return self.__pages[i].button 
    310  
    311     def tabAction(self, i): 
    312         """Return open/close action for the `i`-th tab. 
    313         """ 
    314         return self.__pages[i].action 
     328    def tabButton(self, index): 
     329        """ 
     330        Return the tab button at `index` 
     331        """ 
     332        return self.__pages[index].button 
     333 
     334    def tabAction(self, index): 
     335        """ 
     336        Return open/close action for the tab at `index`. 
     337        """ 
     338        return self.__pages[index].action 
    315339 
    316340    def addItem(self, widget, text, icon=None, toolTip=None): 
    317         """Add the `widget` in a new tab. Return the index of the new tab. 
     341        """ 
     342        Append the `widget` in a new tab and return its index. 
     343 
     344        Parameters 
     345        ---------- 
     346        widget : :class:`QWidget` 
     347            A widget to be inserted. The toolbox takes ownership 
     348            of the widget. 
     349 
     350        text : str 
     351            Name/title of the new tab. 
     352 
     353        icon : :class:`QIcon`, optional 
     354            An icon for the tab button. 
     355 
     356        toolTip : str, optional 
     357            Tool tip for the tab button. 
     358 
    318359        """ 
    319360        return self.insertItem(self.count(), widget, text, icon, toolTip) 
    320361 
    321362    def insertItem(self, index, widget, text, icon=None, toolTip=None): 
    322         """Insert the `widget` in a new tab at position `index`. 
     363        """ 
     364        Insert the `widget` in a new tab at position `index`. 
     365 
     366        See also 
     367        -------- 
     368        ToolBox.addItem 
     369 
    323370        """ 
    324371        button = self.createTabButton(widget, text, icon, toolTip) 
     
    347394 
    348395    def removeItem(self, index): 
     396        """ 
     397        Remove the widget at `index`. 
     398 
     399        .. note:: The widget hidden but is is not deleted. 
     400 
     401        """ 
    349402        self.__contentsLayout.takeAt(2 * index + 1) 
    350403        self.__contentsLayout.takeAt(2 * index) 
    351404        page = self.__pages.pop(index) 
    352405 
     406        # Update the page indexes 
    353407        for i in range(index, self.count()): 
    354408            self.__pages[i] = self.__pages[i]._replace(index=i) 
     
    367421 
    368422    def count(self): 
     423        """ 
     424        Return the number of widgets inserted in the toolbox. 
     425        """ 
    369426        return len(self.__pages) 
    370427 
    371428    def widget(self, index): 
    372         """Return the widget at index. 
     429        """ 
     430        Return the widget at `index`. 
    373431        """ 
    374432        return self.__pages[index].widget 
    375433 
    376434    def createTabButton(self, widget, text, icon=None, toolTip=None): 
    377         """Create the tab button for `widget`. 
     435        """ 
     436        Create the tab button for `widget`. 
    378437        """ 
    379438        action = QAction(text, self) 
     
    404463 
    405464    def ensureWidgetVisible(self, child, xmargin=50, ymargin=50): 
    406         """Scroll the contents so child widget instance is visible inside 
     465        """ 
     466        Scroll the contents so child widget instance is visible inside 
    407467        the viewport. 
    408468 
     
    507567 
    508568def find(iterable, *what, **kwargs): 
    509     """find(iterable, [what, [key=None, [predicate=operator.eq]]]) 
     569    """ 
     570    find(iterable, [what, [key=None, [predicate=operator.eq]]]) 
    510571    """ 
    511572    if what: 
  • Orange/OrangeCanvas/gui/toolgrid.py

    r11345 r11366  
    11""" 
    2 Tool Grid Widget. 
    3 ================ 
    4  
    5 A Widget containing a grid of clickable actions/buttons. 
     2A widget containing a grid of clickable actions/buttons. 
    63 
    74""" 
     
    110107 
    111108class ToolGrid(QFrame): 
    112     """A widget containing a grid of actions/buttons. 
    113  
    114     Actions can be added using standard QWidget addAction and insertAction 
    115     methods. 
    116  
    117109    """ 
     110    A widget containing a grid of actions/buttons. 
     111 
     112    Actions can be added using standard :ref:`QWidget.addAction(QAction)` 
     113    and :ref:`QWidget.insertAction(int, QAction)` methods. 
     114 
     115    Parameters 
     116    ---------- 
     117    parent : :class:`QWidget` 
     118        Parent widget. 
     119    columns : int 
     120        Number of columns in the grid layout. 
     121    buttonSize : :class:`QSize`, optional 
     122        Size of tool buttons in the grid. 
     123    iconSize : :class:`QSize`, optional 
     124        Size of icons in the buttons. 
     125    toolButtonStyle : :class:`Qt.ToolButtonStyle` 
     126        Tool button style. 
     127 
     128    """ 
     129 
    118130    actionTriggered = Signal(QAction) 
    119131    actionHovered = Signal(QAction) 
     
    157169 
    158170    def setButtonSize(self, size): 
    159         """Set the button size. 
     171        """ 
     172        Set the button size. 
    160173        """ 
    161174        if self.__buttonSize != size: 
     
    165178 
    166179    def buttonSize(self): 
     180        """ 
     181        Return the button size. 
     182        """ 
    167183        return QSize(self.__buttonSize) 
    168184 
    169185    def setIconSize(self, size): 
    170         """Set the button icon size. 
     186        """ 
     187        Set the button icon size. 
    171188        """ 
    172189        if self.__iconSize != size: 
     
    176193 
    177194    def iconSize(self): 
     195        """ 
     196        Return the icon size 
     197        """ 
    178198        return QSize(self.__iconSize) 
    179199 
    180200    def setToolButtonStyle(self, style): 
    181         """Set the tool button style. 
     201        """ 
     202        Set the tool button style. 
    182203        """ 
    183204        if self.__toolButtonStyle != style: 
     
    187208 
    188209    def toolButtonStyle(self): 
     210        """ 
     211        Return the tool button style. 
     212        """ 
    189213        return self.__toolButtonStyle 
    190214 
    191215    def setColumnCount(self, columns): 
    192         """Set the number of button/action columns. 
     216        """ 
     217        Set the number of button/action columns. 
    193218        """ 
    194219        if self.__columns != columns: 
     
    197222 
    198223    def columns(self): 
     224        """ 
     225        Return the number of columns in the grid. 
     226        """ 
    199227        return self.__columns 
    200228 
    201229    def clear(self): 
    202         """Clear all actions. 
     230        """ 
     231        Clear all actions/buttons. 
    203232        """ 
    204233        for slot in reversed(list(self.__gridSlots)): 
     
    207236 
    208237    def insertAction(self, before, action): 
    209         """Insert a new action at the position currently occupied 
     238        """ 
     239        Insert a new action at the position currently occupied 
    210240        by `before` (can also be an index). 
     241 
     242        Parameters 
     243        ---------- 
     244        before : :class:`QAction` or int 
     245            Position where the `action` should be inserted. 
     246        action : :class:`QAction` 
     247            Action to insert 
    211248 
    212249        """ 
     
    214251            actions = list(self.actions()) 
    215252            if len(actions) == 0 or before >= len(actions): 
    216                 # Insert as the first action of the last action. 
     253                # Insert as the first action or the last action. 
    217254                return self.addAction(action) 
    218255 
     
    222259 
    223260    def setActions(self, actions): 
    224         """Clear the grid and add actions. 
     261        """ 
     262        Clear the grid and add `actions`. 
    225263        """ 
    226264        self.clear() 
     
    230268 
    231269    def buttonForAction(self, action): 
    232         """Return the `QToolButton` instance button for `action`. 
     270        """ 
     271        Return the :class:`QToolButton` instance button for `action`. 
    233272        """ 
    234273        actions = [slot.action for slot in self.__gridSlots] 
     
    237276 
    238277    def createButtonForAction(self, action): 
    239         """Create and return a QToolButton for action. 
     278        """ 
     279        Create and return a :class:`QToolButton` for action. 
    240280        """ 
    241281        button = _ToolGridButton(self) 
     
    252292 
    253293    def count(self): 
     294        """ 
     295        Return the number of buttons/actions in the grid. 
     296        """ 
    254297        return len(self.__gridSlots) 
    255298 
     
    349392 
    350393    def __onButtonRightClick(self, button): 
    351         print button 
     394        pass 
    352395 
    353396    def __onButtonEnter(self, button): 
     
    397440 
    398441class ToolButtonEventListener(QObject): 
    399     """An event listener(filter) for QToolButtons. 
     442    """ 
     443    An event listener(filter) for :class:`QToolButtons`. 
    400444    """ 
    401445    buttonLeftClicked = Signal(QToolButton) 
  • Orange/OrangeCanvas/gui/tooltree.py

    r11228 r11366  
    1919 
    2020class ToolTree(QWidget): 
    21     """A ListView like presentation of a list of actions. 
     21    """ 
     22    A ListView like presentation of a list of actions. 
     23 
    2224    """ 
    2325    triggered = Signal(QAction) 
     
    7274 
    7375    def setTitle(self, title): 
    74         """Set the title 
     76        """ 
     77        Set the title 
    7578        """ 
    7679        if self.__title != title: 
     
    7982 
    8083    def title(self): 
    81         """Return the title of this tool tree. 
     84        """ 
     85        Return the title of this tool tree. 
    8286        """ 
    8387        return self.__title 
     
    8690 
    8791    def setIcon(self, icon): 
    88         """Set icon for this tool tree. 
     92        """ 
     93        Set icon for this tool tree. 
    8994        """ 
    9095        if self.__icon != icon: 
     
    9398 
    9499    def icon(self): 
    95         """Return the icon of this tool tree. 
     100        """ 
     101        Return the icon of this tool tree. 
    96102        """ 
    97103        return self.__icon 
     
    100106 
    101107    def setFlattened(self, flatten): 
    102         """Show the actions in a flattened view. 
     108        """ 
     109        Show the actions in a flattened view. 
    103110        """ 
    104111        if self.__flattened != flatten: 
     
    113120 
    114121    def flattened(self): 
     122        """ 
     123        Are actions shown in a flattened tree (a list). 
     124        """ 
    115125        return self.__flattened 
    116126 
  • docs/index.rst

    r11070 r11366  
    1414 
    1515- :doc:`Widget development manual <extend-widgets/rst/index>` 
     16- :doc:`Canvas development reference <canvas/index>` 
    1617- `Wiki pages for developers <http://orange.biolab.si/trac>`_ 
    1718 
Note: See TracChangeset for help on using the changeset viewer.