[issue25036] IDLE - infrastructure changes so editors don't assume they're in a toplevel

2020-06-06 Thread Terry J. Reedy


Change by Terry J. Reedy :


--
nosy:  -kbk, roger.serwy
versions: +Python 3.10 -Python 3.6, Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25036] IDLE - infrastructure changes so editors don't assume they're in a toplevel

2017-06-19 Thread Terry J. Reedy

Changes by Terry J. Reedy :


--
assignee:  -> terry.reedy
stage:  -> test needed
versions: +Python 3.7 -Python 2.7, Python 3.4, Python 3.5

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25036] IDLE - infrastructure changes so editors don't assume they're in a toplevel

2015-09-12 Thread Mark Roseman

Mark Roseman added the comment:

FYI, I've gone past this point in my own playground, to the point of having a 
working tabbed editor implementation.  It's not that much further actually. 
Here are the next steps:

1. Change so that Container is passed to Components on creation, rather than 
Component creating its own container.

2. Change statusbar so that it's in control of what is displayed, and 
EditorWindow just pings it to update itself; statusbar calls into EditorWindow 
and chooses what info to get.

3. Change so that container decides how to display title, EditorWindow just 
says title has changed. Add saved/dirty status info to Container.

4. Create Container subclass TabbedContainer using the separate uitabs.py 
widget I put together. Manages the tabs and switching in different content as 
tabs are switched. Altogether < 100 lines of code.

5. Create Container subclass ProxyContainer, representing what's managed by a 
single tab. Just passes things off to TabbedContainer. < 50 lines of code.

6. Change FileList to created a TabbedContainer and then ProxyContainers for 
each  shell/editor added.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25036] IDLE - infrastructure changes so editors don't assume they're in a toplevel

2015-09-08 Thread Mark Roseman

New submission from Mark Roseman:

A necessary prerequisite of tabbed windows, editor and shell in same window 
etc. as per #24826, is that editors stop thinking they are in their own 
toplevel window.

The attached component.patch is unfortunately long, but this was necessary due 
to the highly inter-related nature of the changes. It results in no 
functionality changes to IDLE at this point, just a reorganization.

In summary, WindowList.ListedToplevel was abstracted into a more general 
Container, which will later be expanded to do more than just a simple toplevel 
(though that is all it is now). EditorWindow (and friends) no longer call 
window operations like wm_title themselves, but go through a Container API.

At the same time, a new Component base class was created, which EditorWindow 
and several others now inherit from. Components get inserted into Containers of 
course, and the base class ensures certain things the Container needs are 
present. (The Component also can respond to callbacks from other Components 
sent via the file list; this approach is used in the patch in #25031 for 
configuration changes).

Finally, what remained of WindowList (effectively a simplified WindowList 
class, but not ListedTopLevel) was folded into FileList.

In terms of understanding and/or reviewing this patch, I'd recommend the 
following:
  1. start with container.py
  2. then component.py
  3. then a simple example of how it's applied, ClassBrowser.py
  4. a slightly more verbose, but equally simple example, Debugger.py
  5. FileList.py (mostly comes from WindowList, but note how used by 
container.py
  6. then EditorWindow.py

--
components: IDLE
files: component.patch
keywords: patch
messages: 250264
nosy: kbk, markroseman, roger.serwy, terry.reedy
priority: normal
severity: normal
status: open
title: IDLE - infrastructure changes so editors don't assume they're in a 
toplevel
type: enhancement
versions: Python 2.7, Python 3.4, Python 3.5, Python 3.6
Added file: http://bugs.python.org/file40413/component.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com