:orphan:

Code reorganization in Glue v0.7
================================

In the Glue v0.7 release, a large number of functions and classes have been
reorganized to help make the code base more approachable to new developers. As
a result, users importing classes/functions from Glue may need to update
imports in e.g. config scripts. Most of the files affected are likely only used
internally in Glue, but all the moves are nevertheless documented below for
completeness.

For a few common cases, backward-compatibility is provided for now. These
special cases are:

====================================================  ===============================================================
  Old location in Glue v0.6                             New location in Glue v0.7
====================================================  ===============================================================
  ``glue.qt.get_qapp``                                ``glue.external.qt.get_qapp``
  ``glue.qt.qtutil.load_ui``                          ``glue.utils.qt.helpers.load_ui``
  ``glue.qt.widget_properties``                       ``glue.utils.qt.widget_properties``
  ``glue.qt.widgets.data_viewer``                     ``glue.viewers.common.qt.data_viewer``
====================================================  ===============================================================

The old imports will continue to work for now, but will be removed in future,
after a couple of major releases.

On the other hand, the following imports will need to be updated now, as no
backward-compatibility is provided for these:

====================================================  ===============================================================
  Old location in Glue v0.6                             New location in Glue v0.7
====================================================  ===============================================================
  ``glue.clients.ds9norm``                            ``glue.viewers.image.ds9norm``
  ``glue.clients.histogram_client``                   ``glue.viewers.histogram.client``
  ``glue.clients.image_client``                       ``glue.viewers.image.client``
  ``glue.clients.layer_artist.ChangedTrigger``        ``glue.clients.layer_artist.ChangedTrigger``
  ``glue.clients.layer_artist.LayerArtistContainer``  ``glue.clients.layer_artist.LayerArtistContainer``
  ``glue.clients.layer_artist.LayerArtist``           ``glue.clients.layer_artist.MatplotlibLayerArtist``
  ``glue.clients.profile_viewer``                     ``glue.plugins.tools.spectrum_viewer.profile_viewer``
  ``glue.clients.scatter_client``                     ``glue.viewers.scatter.client``
  ``glue.clients.tests.util.renderless_figure``       ``glue.utils.matplotlib.renderless_figure``
  ``glue.clients.util.small_view_array``              ``glue.core.util.small_view_array``
  ``glue.clients.util.small_view``                    ``glue.core.util.small_view``
  ``glue.clients.util.tick_linker``                   ``glue.core.util.tick_linker``
  ``glue.clients.util.update_ticks``                  ``glue.core.util.update_ticks``
  ``glue.clients.util.visible_limits``                ``glue.core.util.visible_limits``
  ``glue.core.qt.simpleforms``                        ``glue.core.qt.simpleforms``
  ``glue.core.util.CallbackMixin``                    ``glue.utils.misc.CallbackMixin``
  ``glue.core.util.defer``                            ``glue.utils.misc.defer``
  ``glue.core.util.Pointer``                          ``glue.utils.misc.Pointer``
  ``glue.core.util.PropertySetMixin``                 ``glue.utils.misc.PropertySetMixin``
  ``glue.qt.custom_viewer``                           ``glue.viewers.custom.qt``
  ``glue.qt.data_slice_widget``                       ``glue.viewers.common.qt.data_slice_widget``
  ``glue.qt.decorators``                              ``glue.utils.qt.decorators``
  ``glue.qt.feedback.FeedbackWidget``                 ``glue.app.qt.feedback.FeedbackWidget``
  ``glue.qt.glue_application.GlueApplication``        ``glue.app.qt.application.GlueApplication``
  ``glue.qt.glue_toolbar``                            ``glue.viewers.common.qt.toolbar``
  ``glue.qt.layer_artist_model``                      ``glue.core.qt.layer_artist_model``
  ``glue.qt.link_editor``                             ``glue.dialogs.link_editor.qt``
  ``glue.qt.mime.PyMimeData``                         ``glue.utils.qt.mime.PyMimeData``
  ``glue.qt.mime``                                    ``glue.core.qt.mime``
  ``glue.qt.mouse_mode``                              ``glue.viewers.common.qt.mouse_mode``
  ``glue.qt.plugin_manager.QtPluginManager``          ``glue.app.qt.plugin_manager.QtPluginManager``
  ``glue.qt.qtutil.action``                           ``glue.app.qt.actions.action``
  ``glue.qt.qtutil.cache_axes``                       ``glue.utils.matplotlib.cache_axes``
  ``glue.qt.qtutil.cmap2pixmap``                      ``glue.utils.qt.colors.cmap2pixmap``
  ``glue.qt.qtutil.ComponentIDCombo``                 ``glue.core.qt.component_id_combo``
  ``glue.qt.qtutil.data_wizard``                      ``glue.dialogs.data_wizard.qt.data_wizard``
  ``glue.qt.qtutil.get_text``                         ``glue.utils.qt.dialogs.get_text``
  ``glue.qt.qtutil.GlueActionButton``                 ``glue.app.qt.actions.GlueActionButton``
  ``glue.qt.qtutil.GlueItemWidget``                   ``glue.utils.qt.mixins.GlueItemWidget``
  ``glue.qt.qtutil.GlueListWidget``                   ``glue.core.qt.mime.GlueMimeListWidget``
  ``glue.qt.qtutil.GlueTabBar``                       ``glue.utils.qt.helpers.GlueTabBar``
  ``glue.qt.qtutil.icon_path``                        ``glue.icons.icon_path``
  ``glue.qt.qtutil.layer_artist_icon``                ``glue.icons.qt.layer_artist_icon``
  ``glue.qt.qtutil.layer_icon``                       ``glue.icons.qt.layer_icon``
  ``glue.qt.qtutil.load_icon``                        ``glue.icons.qt.load_icon``
  ``glue.qt.qtutil.mpl_to_qt4_color``                 ``glue.utils.qt.colors.mpl_to_qt4_color``
  ``glue.qt.qtutil.pick_class``                       ``glue.utils.qt.dialogs.pick_class``
  ``glue.qt.qtutil.pick_item``                        ``glue.utils.qt.dialogs.pick_item``
  ``glue.qt.qtutil.pretty_number``                    ``glue.utils.qt.PropertySetMixin``
  ``glue.qt.qtutil.PythonListModel``                  ``glue.utils.qt.python_list_model.PythonListModel``
  ``glue.qt.qtutil.qt4_to_mpl_color``                 ``glue.utils.qt.colors.qt4_to_mpl_color``
  ``glue.qt.qtutil.RGBEdit``                          ``glue.viewers.image.qt.rgb_edit.RGBEdit``
  ``glue.qt.qtutil.symbol_icon``                      ``glue.icons.qt.symbol_icon``
  ``glue.qt.qtutil.tint_pixmap``                      ``glue.utils.qt.colors.tint_pixmap``
  ``glue.qt.qtutil.update_combobox``                  ``glue.utils.qt.helpers.update_combobox``
  ``glue.qt.qtutil.Worker``                           ``glue.utils.qt.threading.Worker``
  ``glue.qt.qt_backend.Timer``                        ``glue.backends.QtTimer``
  ``glue.qt.qt_roi``                                  ``glue.core.qt.roi``
  ``glue.qt.widgets.custom_component_widget``         ``glue.dialogs.custom_component.qt``
  ``glue.qt.widgets.glue_mdi_area``                   ``glue.app.qt.mdi_area``
  ``glue.qt.widgets.histogram_widget``                ``glue.viewers.histogram.qt``
  ``glue.qt.widgets.histogram_widget``                ``glue.viewers.image.qt``
  ``glue.qt.widgets.layer_tree_widget``               ``glue.app.qt.layer_tree_widget``
  ``glue.qt.widgets.message_widget``                  ``glue.core.qt.message_widget``
  ``glue.qt.widgets.MplWidget``                       ``glue.viewers.common.qt.mpl_widget.MplWidget``
  ``glue.qt.widgets.mpl_widget``                      ``glue.viewers.common.qt.mpl_widget``
  ``glue.qt.widgets.scatter_widget``                  ``glue.viewers.scatter.qt``
  ``glue.qt.widgets.settings_editor``                 ``glue.app.qt.settings_editor``
  ``glue.qt.widgets.style_dialog``                    ``glue.core.qt.style_dialog``
  ``glue.qt.widgets.subset_facet``                    ``glue.dialogs.subset_facet.qt``
  ``glue.qt.widgets.table_widget``                    ``glue.viewers.table.qt``
  ``glue.qt.widgets.terminal``                        ``glue.app.qt.terminal``
====================================================  ===============================================================

If it would be helpful for us to add back backward-compatibility for any of
these, please let us know!