# -*- coding: utf-8 -*-

"""
***************************************************************************
    customwidgets.py
    ---------------------
    Date                 : May 2014
    Copyright            : (C) 2014 by Denis Rouzaud
    Email                : denis.rouzaud@gmail.com
***************************************************************************
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
***************************************************************************
"""

"""
This file is used by pyuic to redirect includes
in custom widgets to the correct QGIS python packages.
It is copied on installation in /pythonX/dist-packages/PyQt5/uic/widget-plugins/
"""

# solution with CW_FILTER not fully working due to include of other files
# (e.g. for flags defined in other source files)

# pluginType = CW_FILTER
# def getFilter():
#       import qgis.gui
#
#       QGIS_widgets = {}
#       for pyClass in dir(qgis.gui):
#               QGIS_widgets[pyClass] = 'qgis.gui'
#
#       def _QGISfilter(widgetname, baseclassname, module):
#               print widgetname, baseclassname, module
#               if widgetname in QGIS_widgets:
#                       return (MATCH, (widgetname, baseclassname, QGIS_widgets[widgetname]))
#               else:
#                       return (NO_MATCH, None)
#
#       return _QGISfilter


pluginType = MODULE  # noqa


def moduleInformation():
    try:
        import qgis.gui
        widget_list = dir(qgis.gui)
        widget_list.remove('QgsScrollArea')
        return "qgis.gui", widget_list
    except ImportError:
        return "", []
