⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ide.py

📁 Wxpython Implemented on Windows CE, Source code
💻 PY
📖 第 1 页 / 共 5 页
字号:

        
        # Note:  Child document types aren't displayed in "Files of type" dropdown
        if not ACTIVEGRID_BASE_IDE:
            viewTemplate = wx.lib.pydocview.ChildDocTemplate(docManager,
                _("XForm"),
                "*.none",
                _("XForm"),
                _(".bpel"),
                _("XFormEditor Document"),
                _("XFormEditor View"),
                XFormEditor.XFormDocument,
                XFormEditor.XFormView,
                icon = XFormEditor.getXFormIcon())
            docManager.AssociateTemplate(viewTemplate)

        if not ACTIVEGRID_BASE_IDE:
            bpelTemplate = wx.lib.pydocview.ChildDocTemplate(docManager,
                _("BPEL"),
                "*.none",
                _("BPEL"),
                _(".bpel"),
                _("BPELEditor Document"),
                _("BPELEditor View"),
                BPELEditor.BPELDocument,
                BPELEditor.BPELView,
                icon = ProcessModelEditor.getProcessModelIcon())
            docManager.AssociateTemplate(bpelTemplate)

        if not ACTIVEGRID_BASE_IDE:
            dataModelChildTemplate = wx.lib.pydocview.ChildDocTemplate(docManager,
                _("Schema"),
                "*.none",
                _("Schema"),
                _(".xsd"),
                _("Schema Document"),
                _("Schema View"),
                DataModelEditor.DataModelChildDocument,
                DataModelEditor.DataModelView,
                icon = DataModelEditor.getDataModelIcon())
            docManager.AssociateTemplate(dataModelChildTemplate)
        
        textService             = self.InstallService(STCTextEditor.TextService())
        pythonService           = self.InstallService(PythonEditor.PythonService())
        perlService             = self.InstallService(PerlEditor.PerlService())
        phpService              = self.InstallService(PHPEditor.PHPService())
        if not ACTIVEGRID_BASE_IDE:
            propertyService     = self.InstallService(PropertyService.PropertyService("Properties", embeddedWindowLocation = wx.lib.pydocview.EMBEDDED_WINDOW_RIGHT))
        projectService          = self.InstallService(ProjectEditor.ProjectService("Projects", embeddedWindowLocation = wx.lib.pydocview.EMBEDDED_WINDOW_TOPLEFT))
        findService             = self.InstallService(FindInDirService.FindInDirService())
        if not ACTIVEGRID_BASE_IDE:
            webBrowserService   = self.InstallService(WebBrowserService.WebBrowserService())  # this must be before webServerService since it sets the proxy environment variable that is needed by the webServerService.
            webServerService    = self.InstallService(WebServerService.WebServerService())  # this must be after webBrowserService since that service sets the proxy environment variables.
        outlineService          = self.InstallService(OutlineService.OutlineService("Outline", embeddedWindowLocation = wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOMLEFT))
        filePropertiesService   = self.InstallService(wx.lib.pydocview.FilePropertiesService())
        markerService           = self.InstallService(MarkerService.MarkerService())
        messageService          = self.InstallService(MessageService.MessageService("Messages", embeddedWindowLocation = wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOM))
        debuggerService         = self.InstallService(DebuggerService.DebuggerService("Debugger", embeddedWindowLocation = wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOM))
        if not ACTIVEGRID_BASE_IDE:
            processModelService = self.InstallService(ProcessModelEditor.ProcessModelService())
            viewEditorService   = self.InstallService(XFormEditor.XFormService())
            deploymentService   = self.InstallService(DeploymentService.DeploymentService())
            dataModelService    = self.InstallService(DataModelEditor.DataModelService())
            dataSourceService   = self.InstallService(DataModelEditor.DataSourceService())
            wsdlService         = self.InstallService(WSDLEditor.WSDLService())
            welcomeService      = self.InstallService(WelcomeService.WelcomeService())
        if not ACTIVEGRID_BASE_IDE and _EDIT_LAYOUTS:
            layoutService       = self.InstallService(LayoutEditor.LayoutEditorService())
        extensionService        = self.InstallService(ExtensionService.ExtensionService())
        optionsService          = self.InstallService(wx.lib.pydocview.DocOptionsService(supportedModes=wx.lib.docview.DOC_MDI))
        aboutService            = self.InstallService(wx.lib.pydocview.AboutService(AboutDialog.AboutDialog))
        svnService              = self.InstallService(SVNService.SVNService())
        if not ACTIVEGRID_BASE_IDE:
            helpPath = os.path.join(sysutilslib.mainModuleDir, "activegrid", "tool", "data", "AGDeveloperGuideWebHelp", "AGDeveloperGuideWebHelp.hhp")
            helpService             = self.InstallService(HelpService.HelpService(helpPath))
        if self.GetUseTabbedMDI():
            windowService       = self.InstallService(wx.lib.pydocview.WindowMenuService())
        

        if not ACTIVEGRID_BASE_IDE:
            projectService.AddRunHandler(processModelService)

        # order of these added determines display order of Options Panels
        optionsService.AddOptionsPanel(ProjectEditor.ProjectOptionsPanel)
        optionsService.AddOptionsPanel(DebuggerService.DebuggerOptionsPanel)
        if not ACTIVEGRID_BASE_IDE:
            optionsService.AddOptionsPanel(WebServerService.WebServerOptionsPanel)
            optionsService.AddOptionsPanel(DataModelEditor.DataSourceOptionsPanel)
            optionsService.AddOptionsPanel(DataModelEditor.SchemaOptionsPanel)
            optionsService.AddOptionsPanel(WebBrowserService.WebBrowserOptionsPanel)
            optionsService.AddOptionsPanel(ImportServiceWizard.ServiceOptionsPanel)
        optionsService.AddOptionsPanel(PythonEditor.PythonOptionsPanel)
        optionsService.AddOptionsPanel(PHPEditor.PHPOptionsPanel)
        optionsService.AddOptionsPanel(PerlEditor.PerlOptionsPanel)
        optionsService.AddOptionsPanel(XmlEditor.XmlOptionsPanel)
        optionsService.AddOptionsPanel(HtmlEditor.HtmlOptionsPanel)
        optionsService.AddOptionsPanel(STCTextEditor.TextOptionsPanel)
        optionsService.AddOptionsPanel(SVNService.SVNOptionsPanel)
        optionsService.AddOptionsPanel(ExtensionService.ExtensionOptionsPanel)

        filePropertiesService.AddCustomEventHandler(projectService)

        outlineService.AddViewTypeForBackgroundHandler(PythonEditor.PythonView)
        outlineService.AddViewTypeForBackgroundHandler(PHPEditor.PHPView)
        outlineService.AddViewTypeForBackgroundHandler(ProjectEditor.ProjectView) # special case, don't clear outline if in project
        outlineService.AddViewTypeForBackgroundHandler(MessageService.MessageView) # special case, don't clear outline if in message window
        if not ACTIVEGRID_BASE_IDE:
            outlineService.AddViewTypeForBackgroundHandler(DataModelEditor.DataModelView)
            outlineService.AddViewTypeForBackgroundHandler(ProcessModelEditor.ProcessModelView)
            outlineService.AddViewTypeForBackgroundHandler(PropertyService.PropertyView) # special case, don't clear outline if in property window
        outlineService.StartBackgroundTimer()
        
        if not ACTIVEGRID_BASE_IDE:
            propertyService.AddViewTypeForBackgroundHandler(DataModelEditor.DataModelView)
            propertyService.AddViewTypeForBackgroundHandler(ProcessModelEditor.ProcessModelView)
            propertyService.AddViewTypeForBackgroundHandler(XFormEditor.XFormView)
            propertyService.AddViewTypeForBackgroundHandler(BPELEditor.BPELView)
            propertyService.AddViewTypeForBackgroundHandler(WSDLEditor.WSDLView)
            propertyService.StartBackgroundTimer()
            
            propertyService.AddCustomCellRenderers(DataModelEditor.GetCustomGridCellRendererDict())
            propertyService.AddCustomCellRenderers(BPELEditor.GetCustomGridCellRendererDict())
            propertyService.AddCustomCellRenderers(XFormEditor.GetCustomGridCellRendererDict())
            propertyService.AddCustomCellRenderers(XPathEditor.GetCustomGridCellRendererDict())
            propertyService.AddCustomCellRenderers(XPathExprEditor.GetCustomGridCellRendererDict())
            propertyService.AddCustomCellRenderers(WSDLEditor.GetCustomGridCellRendererDict())
            propertyService.AddCustomCellRenderers(WsdlAgEditor.GetCustomGridCellRendererDict())

            propertyService.AddCustomCellEditors(DataModelEditor.GetCustomGridCellEditorDict())
            propertyService.AddCustomCellEditors(BPELEditor.GetCustomGridCellEditorDict())
            propertyService.AddCustomCellEditors(XFormEditor.GetCustomGridCellEditorDict())
            propertyService.AddCustomCellEditors(XPathEditor.GetCustomGridCellEditorDict())
            propertyService.AddCustomCellEditors(XPathExprEditor.GetCustomGridCellEditorDict())
            propertyService.AddCustomCellEditors(WSDLEditor.GetCustomGridCellEditorDict())
            propertyService.AddCustomCellEditors(WsdlAgEditor.GetCustomGridCellEditorDict())
        
        if not ACTIVEGRID_BASE_IDE:
            projectService.AddNameDefault(".bpel", projectService.GetDefaultNameCallback)
            projectService.AddNameDefault(".xsd", dataModelService.GetDefaultNameCallback)
            projectService.AddNameDefault(".xform", projectService.GetDefaultNameCallback)
            projectService.AddNameDefault(".wsdl", projectService.GetDefaultNameCallback)
            projectService.AddNameDefault(".wsdlag", projectService.GetDefaultNameCallback)
            projectService.AddNameDefault(".skn", projectService.GetDefaultNameCallback)
            projectService.AddNameDefault(".xacml", projectService.GetDefaultNameCallback)

            projectService.AddFileTypeDefault(".lyt", basedocmgr.FILE_TYPE_LAYOUT)
            projectService.AddFileTypeDefault(".bpel", basedocmgr.FILE_TYPE_PROCESS)
            projectService.AddFileTypeDefault(".xsd", basedocmgr.FILE_TYPE_SCHEMA)
            projectService.AddFileTypeDefault(".wsdlag", basedocmgr.FILE_TYPE_SERVICE)
            projectService.AddFileTypeDefault(".skn", basedocmgr.FILE_TYPE_SKIN)
            projectService.AddFileTypeDefault(".xacml", basedocmgr.FILE_TYPE_IDENTITY)
            projectService.AddFileTypeDefault(".css", basedocmgr.FILE_TYPE_STATIC)
            projectService.AddFileTypeDefault(".js", basedocmgr.FILE_TYPE_STATIC)
            projectService.AddFileTypeDefault(".gif", basedocmgr.FILE_TYPE_STATIC)
            projectService.AddFileTypeDefault(".jpg", basedocmgr.FILE_TYPE_STATIC)
            projectService.AddFileTypeDefault(".jpeg", basedocmgr.FILE_TYPE_STATIC)
            projectService.AddFileTypeDefault(".xform", basedocmgr.FILE_TYPE_XFORM)

        projectService.AddLogicalViewFolderDefault(".agp", _("Projects"))
        projectService.AddLogicalViewFolderDefault(".wsdlag", _("Services"))
        projectService.AddLogicalViewFolderDefault(".wsdl", _("Services"))
        projectService.AddLogicalViewFolderDefault(".xsd", _("Data Models"))
        projectService.AddLogicalViewFolderDefault(".bpel", _("Page Flows"))
        projectService.AddLogicalViewFolderDefault(".xform", _("Pages"))
        projectService.AddLogicalViewFolderDefault(".xacml", _("Security"))
        projectService.AddLogicalViewFolderDefault(".lyt", _("Presentation/Layouts"))
        projectService.AddLogicalViewFolderDefault(".skn", _("Presentation/Skins"))
        projectService.AddLogicalViewFolderDefault(".css", _("Presentation/Stylesheets"))
        projectService.AddLogicalViewFolderDefault(".js", _("Presentation/Javascript"))
        projectService.AddLogicalViewFolderDefault(".html", _("Presentation/Static"))
        projectService.AddLogicalViewFolderDefault(".htm", _("Presentation/Static"))
        projectService.AddLogicalViewFolderDefault(".gif", _("Presentation/Images"))
        projectService.AddLogicalViewFolderDefault(".jpeg", _("Presentation/Images"))
        projectService.AddLogicalViewFolderDefault(".jpg", _("Presentation/Images"))
        projectService.AddLogicalViewFolderDefault(".png", _("Presentation/Images"))
        projectService.AddLogicalViewFolderDefault(".ico", _("Presentation/Images"))
        projectService.AddLogicalViewFolderDefault(".bmp", _("Presentation/Images"))
        projectService.AddLogicalViewFolderDefault(".py", _("Code"))
        projectService.AddLogicalViewFolderDefault(".php", _("Code"))
        projectService.AddLogicalViewFolderDefault(".pl", _("Code"))
        projectService.AddLogicalViewFolderDefault(".sql", _("Code"))
        projectService.AddLogicalViewFolderDefault(".xml", _("Code"))
        projectService.AddLogicalViewFolderDefault(".dpl", _("Code"))
        
        projectService.AddLogicalViewFolderCollapsedDefault(_("Page Flows"), False)
        projectService.AddLogicalViewFolderCollapsedDefault(_("Pages"), False)
    
        
        self.SetDefaultIcon(getActiveGridIcon())
        if not ACTIVEGRID_BASE_IDE:
            embeddedWindows = wx.lib.pydocview.EMBEDDED_WINDOW_TOPLEFT | wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOMLEFT |wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOM | wx.lib.pydocview.EMBEDDED_WINDOW_RIGHT
        else:
            embeddedWindows = wx.lib.pydocview.EMBEDDED_WINDOW_TOPLEFT | wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOMLEFT |wx.lib.pydocview.EMBEDDED_WINDOW_BOTTOM
        if self.GetUseTabbedMDI():
            self.frame = IDEDocTabbedParentFrame(docManager, None, -1, wx.GetApp().GetAppName(), embeddedWindows=embeddedWindows, minSize=150)
        else:
            self.frame = IDEMDIParentFrame(docManager, None, -1, wx.GetApp().GetAppName(), embeddedWindows=embeddedWindows, minSize=150)
        self.frame.Show(True)


        wx.lib.pydocview.DocApp.CloseSplash(self)
        self.OpenCommandLineArgs()

        if not projectService.OpenSavedProjects() and not docManager.GetDocuments() and self.IsSDI():  # Have to open something if it's SDI and there are no projects...
            projectTemplate.CreateDocument('', wx.lib.docview.DOC_NEW).OnNewDocument()
            
        tips_path = os.path.join(sysutilslib.mainModuleDir, "activegrid", "tool", "data", "tips.txt")
            
        # wxBug: On Mac, having the updates fire while the tip dialog is at front
        # for some reason messes up menu updates. This seems a low-level wxWidgets bug,
        # so until I track this down, turn off UI updates while the tip dialog is showing.
        if not ACTIVEGRID_BASE_IDE:
            wx.UpdateUIEvent.SetUpdateInterval(-1)
            UpdateService.UpdateVersionNag()
            appUpdater = UpdateService.AppUpdateService(self)
            appUpdater.RunUpdateIfNewer()
            if not welcomeService.RunWelcomeIfFirstTime():
                if os.path.isfile(tips_path):
                    self.ShowTip(docManager.FindSuitableParent(), wx.CreateFileTipProvider(tips_path, 0))
        else:
            if os.path.isfile(tips_path):
                self.ShowTip(docManager.FindSuitableParent(), wx.CreateFileTipProvider(tips_path, 0))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -