Catalog Widgets
===============

Several types of catalog widgets exist, each showing certain details of a
specific item from Katana's catalog. As a higher-level utility widget type, the
:py:class:`UI4.Widgets.CatalogItemWidget` class combines instances of several
of the other catalog widget types in one container.

.. rubric:: Class Inheritance

- :py:class:`QtWidgets.QWidget`
    - :py:class:`UI4.Widgets.CatalogItemWidget`
    - :py:class:`QtWidgets.QFrame`
        - :py:class:`QtWidgets.QLabel`
            - :py:class:`UI4.Widgets.CatalogChannelsWidget`
            - :py:class:`UI4.Widgets.CatalogFrameRangeWidget`
            - :py:class:`UI4.Widgets.CatalogNameWidget`
        - :py:class:`QtWidgets.QAbstractScrollArea`
            - :py:class:`QT4Widgets.LogView`
                - :py:class:`UI4.Widgets.CatalogRenderLogWidget`
            - :py:class:`QtWidgets.QAbstractItemView`
                - :py:class:`QtWidgets.QTreeView`
                    - :py:class:`QtWidgets.QTreeWidget`
                        - :py:class:`UI4.Widgets.CatalogRenderGlobalsStatsWidget`
                        - :py:class:`UI4.Widgets.CatalogRenderTaskByTypeStatsWidget`
                        - :py:class:`UI4.Widgets.CatalogRenderTaskByNameStatsWidget`
    - :py:class:`UI4.Widgets.ProgressWidget`
        - :py:class:`UI4.Widgets.CatalogProgressWidget`
    - :py:class:`QtOpenGLWidgets.QOpenGLWidget`
        - :py:class:`QT4Color.HistogramWidget`
            - :py:class:`UI4.Widgets.CatalogHistogramWidget`


UI4.Widgets.CatalogItemWidget
-----------------------------
.. autoclass:: UI4.Widgets.CatalogItemWidget()

    **Code example**::

        catalogItemWidget = UI4.Widgets.CatalogItemWidget()
        catalogItemWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogItemWidget.resize(300, 55)
        catalogItemWidget.show()

    :kat:example_screenshot:`CatalogItemWidget`


UI4.Widgets.CatalogChannelsWidget
---------------------------------
.. autoclass:: UI4.Widgets.CatalogChannelsWidget

    **Code example**::

        catalogChannelsWidget = UI4.Widgets.CatalogChannelsWidget()
        catalogChannelsWidget.setCatalogItem(
             CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogChannelsWidget.show()

    :kat:example_screenshot:`CatalogChannelsWidget`


UI4.Widgets.CatalogFrameRangeWidget
-----------------------------------
.. autoclass:: UI4.Widgets.CatalogFrameRangeWidget

    **Code example**::

        catalogFrameRangeWidget = UI4.Widgets.CatalogFrameRangeWidget()
        catalogFrameRangeWidget.setCatalogItem(
             CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogFrameRangeWidget.show()

    :kat:example_screenshot:`CatalogFrameRangeWidget`


UI4.Widgets.CatalogNameWidget
-----------------------------
.. autoclass:: UI4.Widgets.CatalogNameWidget

    **Code example**::

        catalogNameWidget = UI4.Widgets.CatalogNameWidget()
        catalogNameWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogNameWidget.show()

    :kat:example_screenshot:`CatalogNameWidget`


UI4.Widgets.CatalogRenderLogWidget
----------------------------------
.. autoclass:: UI4.Widgets.CatalogRenderLogWidget()

    **Code example**::

        catalogRenderLogWidget = UI4.Widgets.CatalogRenderLogWidget()
        catalogRenderLogWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogRenderLogWidget.resize(400, 85)
        catalogRenderLogWidget.show()

    :kat:example_screenshot:`CatalogRenderLogWidget`


UI4.Widgets.CatalogRenderGlobalsStatsWidget
-------------------------------------------
.. autoclass:: UI4.Widgets.CatalogRenderGlobalsStatsWidget()

    **Code example**::

        catalogRenderGlobalsStatsWidget = UI4.Widgets.CatalogRenderGlobalsStatsWidget()
        catalogRenderGlobalsStatsWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogRenderGlobalsStatsWidget.resize(320, 115)
        catalogRenderGlobalsStatsWidget.show()

    :kat:example_screenshot:`CatalogRenderGlobalsStatsWidget`


UI4.Widgets.CatalogRenderTaskByTypeStatsWidget
----------------------------------------------
.. autoclass:: UI4.Widgets.CatalogRenderTaskByTypeStatsWidget()

    **Code example**::

        catalogRenderTaskByTypeStatsWidget = UI4.Widgets.CatalogRenderTaskByTypeStatsWidget()
        catalogRenderTaskByTypeStatsWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogRenderTaskByTypeStatsWidget.resize(400, 80)
        catalogRenderTaskByTypeStatsWidget.show()

    :kat:example_screenshot:`CatalogRenderTaskByTypeStatsWidget`


UI4.Widgets.CatalogRenderTaskByNameStatsWidget
----------------------------------------------
.. autoclass:: UI4.Widgets.CatalogRenderTaskByNameStatsWidget()

    **Code example**::

        catalogRenderTaskByNameStatsWidget = UI4.Widgets.CatalogRenderTaskByNameStatsWidget()
        catalogRenderTaskByNameStatsWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogRenderTaskByNameStatsWidget.resize(400, 80)
        catalogRenderTaskByNameStatsWidget.show()

    :kat:example_screenshot:`CatalogRenderTaskByNameStatsWidget`


UI4.Widgets.ProgressWidget
--------------------------
.. autoclass:: UI4.Widgets.ProgressWidget()

    **Code example**::

        progressWidget = UI4.Widgets.ProgressWidget()
        progressWidget.resize(200, 8)
        progressWidget.setFraction(0.74)
        progressWidget.setState(UI4.Widgets.ProgressWidget.STATE_CANCELLED)
        progressWidget.show()

    :kat:example_screenshot:`ProgressWidget`


UI4.Widgets.CatalogProgressWidget
---------------------------------
.. autoclass:: UI4.Widgets.CatalogProgressWidget()

    **Code example**::

        catalogProgressWidget = UI4.Widgets.CatalogProgressWidget()
        catalogProgressWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogProgressWidget.resize(200, 8)
        catalogProgressWidget.show()

    :kat:example_screenshot:`CatalogProgressWidget`


UI4.Widgets.CatalogHistogramWidget
----------------------------------
.. autoclass:: UI4.Widgets.CatalogHistogramWidget()

    **Code example**::

        catalogHistogramWidget = UI4.Widgets.CatalogHistogramWidget()
        catalogHistogramWidget.setCatalogItem(
            CatalogManager.CatalogItem.CreateCatalogItemFromID('i_1_0'))
        catalogHistogramWidget.setRect((284, 378, 326, 408))
        catalogHistogramWidget.setColorspace('linear')
        catalogHistogramWidget.resize(300, 55)
        catalogHistogramWidget.show()

    :kat:example_screenshot:`CatalogHistogramWidget`