mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-10 15:32:38 -07:00
* Bump cherrypy from 18.8.0 to 18.9.0 Bumps [cherrypy](https://github.com/cherrypy/cherrypy) from 18.8.0 to 18.9.0. - [Changelog](https://github.com/cherrypy/cherrypy/blob/main/CHANGES.rst) - [Commits](https://github.com/cherrypy/cherrypy/compare/v18.8.0...v18.9.0) --- updated-dependencies: - dependency-name: cherrypy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update cherrypy==18.9.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci]
74 lines
3.1 KiB
Python
74 lines
3.1 KiB
Python
# frame.py - The MDI frame window for an editor.
|
|
import pywin.framework.window
|
|
import win32con
|
|
import win32ui
|
|
|
|
from . import ModuleBrowser
|
|
|
|
|
|
class EditorFrame(pywin.framework.window.MDIChildWnd):
|
|
def OnCreateClient(self, cp, context):
|
|
# Create the default view as specified by the template (ie, the editor view)
|
|
view = context.template.MakeView(context.doc)
|
|
# Create the browser view.
|
|
browserView = ModuleBrowser.BrowserView(context.doc)
|
|
view2 = context.template.MakeView(context.doc)
|
|
|
|
splitter = win32ui.CreateSplitter()
|
|
style = win32con.WS_CHILD | win32con.WS_VISIBLE
|
|
splitter.CreateStatic(self, 1, 2, style, win32ui.AFX_IDW_PANE_FIRST)
|
|
sub_splitter = self.sub_splitter = win32ui.CreateSplitter()
|
|
sub_splitter.CreateStatic(splitter, 2, 1, style, win32ui.AFX_IDW_PANE_FIRST + 1)
|
|
|
|
# Note we must add the default view first, so that doc.GetFirstView() returns the editor view.
|
|
sub_splitter.CreateView(view, 1, 0, (0, 0))
|
|
splitter.CreateView(browserView, 0, 0, (0, 0))
|
|
sub_splitter.CreateView(view2, 0, 0, (0, 0))
|
|
|
|
## print "First view is", context.doc.GetFirstView()
|
|
## print "Views are", view, view2, browserView
|
|
## print "Parents are", view.GetParent(), view2.GetParent(), browserView.GetParent()
|
|
## print "Splitter is", splitter
|
|
## print "sub splitter is", sub_splitter
|
|
## Old
|
|
## splitter.CreateStatic (self, 1, 2)
|
|
## splitter.CreateView(view, 0, 1, (0,0)) # size ignored.
|
|
## splitter.CreateView (browserView, 0, 0, (0, 0))
|
|
|
|
# Restrict the size of the browser splitter (and we can avoid filling
|
|
# it until it is shown)
|
|
splitter.SetColumnInfo(0, 10, 20)
|
|
# And the active view is our default view (so it gets initial focus)
|
|
self.SetActiveView(view)
|
|
|
|
def GetEditorView(self):
|
|
# In a multi-view (eg, splitter) environment, get
|
|
# an editor (ie, scintilla) view
|
|
# Look for the splitter opened the most!
|
|
if self.sub_splitter is None:
|
|
return self.GetDlgItem(win32ui.AFX_IDW_PANE_FIRST)
|
|
v1 = self.sub_splitter.GetPane(0, 0)
|
|
v2 = self.sub_splitter.GetPane(1, 0)
|
|
r1 = v1.GetWindowRect()
|
|
r2 = v2.GetWindowRect()
|
|
if r1[3] - r1[1] > r2[3] - r2[1]:
|
|
return v1
|
|
return v2
|
|
|
|
def GetBrowserView(self):
|
|
# XXX - should fix this :-)
|
|
return self.GetActiveDocument().GetAllViews()[1]
|
|
|
|
def OnClose(self):
|
|
doc = self.GetActiveDocument()
|
|
if not doc.SaveModified():
|
|
## Cancel button selected from Save dialog, do not actually close
|
|
## print 'close cancelled'
|
|
return 0
|
|
## So the 'Save' dialog doesn't come up twice
|
|
doc._obj_.SetModifiedFlag(False)
|
|
|
|
# Must force the module browser to close itself here (OnDestroy for the view itself is too late!)
|
|
self.sub_splitter = None # ensure no circles!
|
|
self.GetBrowserView().DestroyBrowser()
|
|
return self._obj_.OnClose()
|