Changeset 70450


Ignore:
Timestamp:
Jan 28, 2017, 8:47:03 PM (8 years ago)
Author:
wenzeslaus
Message:

wxGUI: lazy imports for lmgr and mapdisp

Avoids potential startup failures when dependencies are not met.
Insignificantly or potentially improves startup time.

Also removes unused imports (e.g. pylint -E --enable=unused-import).

Imports from core, gui_core etc. not reviewed (needs to be imported anyway).

Location:
grass/trunk/gui/wxpython
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • grass/trunk/gui/wxpython/lmgr/frame.py

    r70449 r70450  
    5151from lmgr.menudata import LayerManagerMenuData, LayerManagerModuleTree
    5252from gui_core.widgets import GNotebook, FormNotebook
    53 from modules.mcalc_builder import MapCalcFrame
    54 from dbmgr.manager import AttributeManager
    5553from core.workspace import ProcessWorkspaceFile, ProcessGrcFile, WriteWorkspaceFile
    5654from core.gconsole import GConsole, EVT_IGNORED_CMD_RUN
    5755from core.giface import Notification
    58 from gui_core.goutput import GConsoleWindow, GC_SEARCH, GC_PROMPT
    59 from modules.import_export import GdalOutputDialog, DxfImportDialog, GdalImportDialog, OgrImportDialog
     56from gui_core.goutput import GConsoleWindow, GC_PROMPT
    6057from gui_core.dialogs import LocationDialog, MapsetDialog, CreateNewVector, GroupDialog, MapLayersDialog, QuitDialog
    61 from modules.colorrules import RasterColorTable, VectorColorTable
    6258from gui_core.menu import SearchModuleWindow
    6359from gui_core.menu import Menu as GMenu
    64 from gmodeler.model import Model
    65 from gmodeler.frame import ModelFrame
    66 from psmap.frame import PsMapFrame
    6760from core.debug import Debug
    68 from gui_core.ghelp import AboutWindow
    69 from modules.extensions import InstallExtensionWindow, ManageExtensionWindow
    7061from lmgr.toolbars import LMWorkspaceToolbar, LMDataToolbar, LMToolsToolbar
    7162from lmgr.toolbars import LMMiscToolbar, LMVectorToolbar, LMNvizToolbar
     
    7566from gui_core.forms import GUI
    7667from gui_core.wrap import Menu
    77 from gcp.manager import GCPWizard
    78 from nviz.main import haveNviz
    79 from nviz.preferences import NvizPreferencesDialog
    80 from mapswipe.frame import SwipeMapFrame
    81 from rlisetup.frame import RLiSetupFrame
    8268
    8369
     
    419405        """
    420406        Debug.msg(5, "GMFrame.AddNvizTools()")
     407        from nviz.main import haveNviz
    421408        if not haveNviz:
    422409            return
     
    535522
    536523    def OnGCPManager(self, event=None, cmd=None):
    537         """Launch georectifier module. See OnIClass documentation.
    538         """
     524        """Launch georectifier module. See OnIClass documentation"""
     525        from gcp.manager import GCPWizard
    539526        GCPWizard(self, self._giface)
    540527
    541528    def OnGModeler(self, event=None, cmd=None):
    542         """Launch Graphical Modeler. See OnIClass documentation."""
     529        """Launch Graphical Modeler. See OnIClass documentation"""
     530        from gmodeler.frame import ModelFrame
    543531        win = ModelFrame(parent=self, giface=self._giface)
    544532        win.CentreOnScreen()
    545 
    546533        win.Show()
    547534
    548535    def OnPsMap(self, event=None, cmd=None):
    549         """Launch Cartographic Composer. See OnIClass documentation.
    550         """
     536        """Launch Cartographic Composer. See OnIClass documentation"""
     537        from psmap.frame import PsMapFrame
    551538        win = PsMapFrame(parent=self)
    552539        win.CentreOnScreen()
    553 
    554540        win.Show()
    555541
    556542    def OnMapSwipe(self, event=None, cmd=None):
    557         """Launch Map Swipe. See OnIClass documentation."""
     543        """Launch Map Swipe. See OnIClass documentation"""
     544        from mapswipe.frame import SwipeMapFrame
     545
    558546        win = SwipeMapFrame(parent=self, giface=self._giface)
    559547
     
    579567
    580568    def OnRLiSetup(self, event=None, cmd=None):
    581         """Launch r.li Setup. See OnIClass documentation."""
     569        """Launch r.li setup. See OnIClass documentation"""
     570        from rlisetup.frame import RLiSetupFrame
    582571        win = RLiSetupFrame(parent=self)
    583572        win.CentreOnScreen()
    584 
    585573        win.Show()
    586574
     
    605593            return
    606594
     595        from gmodeler.model import Model
    607596        self.model = Model()
    608597        self.model.LoadModel(filename)
     
    611600            onDone=self.OnDone,
    612601            parent=self)
    613 
    614602        dlg.Destroy()
    615603
     
    12601248    def OnAboutGRASS(self, event):
    12611249        """Display 'About GRASS' dialog"""
     1250        from gui_core.ghelp import AboutWindow
    12621251        win = AboutWindow(self)
    12631252        win.CentreOnScreen()
     
    17151704
    17161705    def OnRasterRules(self, event):
    1717         """Launches dialog for raster color rules
    1718         """
     1706        """Launches dialog for raster color rules"""
     1707        from modules.colorrules import RasterColorTable
    17191708        ctable = RasterColorTable(self, layerTree=self.GetLayerTree())
    17201709        ctable.Show()
     
    17221711
    17231712    def OnVectorRules(self, event):
    1724         """Launches dialog for vector color rules
    1725         """
     1713        """Launches dialog for vector color rules"""
     1714        from modules.colorrules import VectorColorTable
    17261715        ctable = VectorColorTable(self, layerTree=self.GetLayerTree(),
    17271716                                  attributeType='color')
     
    17381727    def OnInstallExtension(self, event):
    17391728        """Install extension from GRASS Addons SVN repository"""
     1729        from modules.extensions import InstallExtensionWindow
    17401730        win = InstallExtensionWindow(
    17411731            self, giface=self._giface, size=(650, 550))
     
    17441734
    17451735    def OnManageExtension(self, event):
    1746         """Uninstall extension"""
     1736        """Manage or uninstall extensions"""
     1737        from modules.extensions import ManageExtensionWindow
    17471738        win = ManageExtensionWindow(self, size=(650, 300))
    17481739        win.CentreOnScreen()
     
    17691760        """Show nviz preferences"""
    17701761        if not self.dialogs['nvizPreferences']:
     1762            from nviz.preferences import NvizPreferencesDialog
    17711763            dlg = NvizPreferencesDialog(parent=self, giface=self._giface)
    17721764            self.dialogs['nvizPreferences'] = dlg
    17731765            self.dialogs['nvizPreferences'].CenterOnScreen()
    1774 
    17751766        self.dialogs['nvizPreferences'].Show()
    17761767
     
    18661857        """Init map calculator for interactive creation of mapcalc statements
    18671858        """
     1859        from modules.mcalc_builder import MapCalcFrame
    18681860        if event:
    18691861            try:
     
    18711863            except KeyError:
    18721864                cmd = ['r.mapcalc']
    1873 
    18741865        win = MapCalcFrame(parent=self,
    18751866                           giface=self._giface,
     
    18921883    def OnVectorOutputFormat(self, event):
    18931884        """Set vector output format handler"""
     1885        from modules.import_export import GdalOutputDialog
    18941886        dlg = GdalOutputDialog(parent=self, ogr=True)
    18951887        dlg.CentreOnScreen()
     
    19061898    def OnImportDxfFile(self, event, cmd=None):
    19071899        """Convert multiple DXF layers to GRASS vector map layers"""
     1900        from modules.import_export import DxfImportDialog
    19081901        dlg = DxfImportDialog(parent=self, giface=self._giface)
    19091902        dlg.CentreOnScreen()
     
    19121905    def OnImportGdalLayers(self, event, cmd=None):
    19131906        """Convert multiple GDAL layers to GRASS raster map layers"""
     1907        from modules.import_export import GdalImportDialog
    19141908        dlg = GdalImportDialog(parent=self, giface=self._giface)
    19151909        dlg.CentreOnScreen()
     
    19181912    def OnLinkGdalLayers(self, event, cmd=None):
    19191913        """Link multiple GDAL layers to GRASS raster map layers"""
     1914        from modules.import_export import GdalImportDialog
    19201915        dlg = GdalImportDialog(parent=self, giface=self._giface, link=True)
    19211916        dlg.CentreOnScreen()
     
    19241919    def OnImportOgrLayers(self, event, cmd=None):
    19251920        """Convert multiple OGR layers to GRASS vector map layers"""
     1921        from modules.import_export import OgrImportDialog
    19261922        dlg = OgrImportDialog(parent=self, giface=self._giface)
    19271923        dlg.CentreOnScreen()
     
    19301926    def OnLinkOgrLayers(self, event, cmd=None):
    19311927        """Links multiple OGR layers to GRASS vector map layers"""
     1928        from modules.import_export import OgrImportDialog
    19321929        dlg = OgrImportDialog(parent=self, giface=self._giface, link=True)
    19331930        dlg.CentreOnScreen()
     
    19851982            return
    19861983
     1984        from dbmgr.manager import AttributeManager
    19871985        dbmanager = AttributeManager(parent=self, id=wx.ID_ANY,
    19881986                                     size=wx.Size(500, 300),
    19891987                                     item=layer, log=self._gconsole,
    19901988                                     selection=selection)
    1991 
    19921989        # register ATM dialog
    19931990        self.dialogs['atm'].append(dbmanager)
    1994 
    19951991        # show ATM window
    19961992        dbmanager.Show()
  • grass/trunk/gui/wxpython/mapdisp/frame.py

    r70296 r70450  
    3131import wx.aui
    3232
    33 from core.render import Map
    3433from mapdisp.toolbars import MapToolbar, NvizIcons
    3534from mapdisp.gprint import PrintOptions
    3635from core.gcmd import GError, GMessage, RunCommand
    37 from dbmgr.dialogs import DisplayAttributesDialog
    3836from core.utils import ListOfCatsToRange, GetLayerNameFromCmd, _
    3937from gui_core.dialogs import GetImageHandlers, ImageSizeDialog
     
    4644from mapwin.decorations import LegendController, BarscaleController, \
    4745    ArrowController, DtextController, LegendVectController
    48 from modules.histogram import HistogramFrame
    49 from wxplot.histogram import HistogramPlotFrame
    50 from wxplot.profile import ProfileFrame
    51 from wxplot.scatter import ScatterFrame
    5246from mapwin.analysis import ProfileController, MeasureDistanceController, \
    5347    MeasureAreaController
     
    5549from core.giface import Notification
    5650from gui_core.vselect import VectorSelectBase, VectorSelectHighlighter
    57 
    5851from mapdisp import statusbar as sb
    5952
     
    11391132    def Profile(self, rasters=None):
    11401133        """Launch profile tool"""
     1134        from wxplot.profile import ProfileFrame
     1135
    11411136        self.profileController = ProfileController(
    11421137            self._giface, mapWindow=self.GetMapWindow())
     
    11581153                raster.append(layer.maplayer.GetName())
    11591154
     1155        from wxplot.histogram import HistogramPlotFrame
    11601156        win = HistogramPlotFrame(parent=self, rasterList=raster)
    11611157        win.CentreOnParent()
     
    11711167                raster.append(layer.maplayer.GetName())
    11721168
     1169        from wxplot.scatter import ScatterFrame
    11731170        win = ScatterFrame(parent=self, rasterList=raster)
    11741171
     
    11821179        """Init histogram display canvas and tools
    11831180        """
     1181        from modules.histogram import HistogramFrame
    11841182        win = HistogramFrame(self, giface=self._giface)
    11851183
Note: See TracChangeset for help on using the changeset viewer.