
    "e#                         d Z ddlZddlZddlmZ ddlmZmZmZm	Z	m
Z
mZmZ d Zd Z e       Ze ee      \  ZZZZyddlmZmZmZmZ y)a   Import Qt in a manner suitable for an IPython kernel.

This is the import used for the `gui=qt` or `matplotlib=qt` initialization.

Import Priority:

if Qt4 has been imported anywhere else:
   use that

if matplotlib has been imported and doesn't support v2 (<= 1.0.1):
    use PyQt4 @v1

Next, ask ETS' QT_API env variable

if QT_API not set:
    ask matplotlib via rcParams['backend.qt4']
    if it said PyQt:
        use PyQt4 @v1
    elif it said PySide:
        use PySide

    else: (matplotlib said nothing)
        # this is the default path - nobody told us anything
        try:
            PyQt @v1
        except:
            fallback on PySide
else:
    use PyQt @v2 or PySide, depending on QT_API
    because ETS doesn't work with PyQt @v1.

    N)check_version)load_qtQT_API_PYSIDEQT_API_PYSIDE2QT_API_PYQTQT_API_PYQT_DEFAULT
loaded_apiQT_API_PYQT5c                 
   | y | j                   j                  dd       }|dk(  r{| j                   j                  dd       }|y |j                         dk(  rt        gS |j                         dk(  rt        gS |j                         dk(  rt
        gS t        d|z        |dk(  rG| j                   j                  d	d       }|y |j                         d
k(  rt        gS t        d|z        | j                   j                  dd       }|| j                   j                  d	d       }|y |j                         dk(  rt        gS |j                         dk(  rt        gS |j                         d
k(  rt        gS t        d|z        )NbackendQt4Aggzbackend.qt4pysidepyqt4pyqt4v2z3unhandled value for backend.qt4 from matplotlib: %rQt5Aggzbackend.qt5pyqt5z3unhandled value for backend.qt5 from matplotlib: %rz2unhandled value for qt backend from matplotlib: %r)rcParamsgetlowerr   r   r   ImportErrorr
   )mplr   mpqts      =/usr/lib/python3/dist-packages/pydev_ipython/qt_for_kernel.pymatplotlib_optionsr   ,   s   
{
 lly$/G(||t4<::<8#!?"ZZ\W$'((ZZ\Y&= O   	  
H	||t4<::<7" >!O   	  <<M40D|||t4|zz|x		 #$$		 ~
J      c                  &   t               } | | gS t        j                  j                  dd      }|t	        |j
                  d      st        gS t        j                  j                  dd      #t        |      xs t        t        t        t        gS y)zOReturn a list of acceptable QT APIs, in decreasing order of
    preference
    N
matplotlibz1.0.2QT_API)r	   sysmodulesr   r   __version__r   osenvironr   r   r   r
   )loadedr   s     r   get_optionsr%   [   s|    
 \Fx
++//,
-C
}S__gF#$$	zz~~h%-!#&l+>~_k*ll r   )QtCoreQtGuiQtSvgr   )__doc__r"   r   pydev_ipython.versionr   pydev_ipython.qt_loadersr   r   r   r   r   r	   r
   r   r%   api_optsr&   r'   r(   r   pydev_ipython.qt r   r   <module>r/      s]   B 
 
 /C C C,^. =#*8#4 FE5& >=r   