📄 ide.py
字号:
# 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 + -