Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDLE - file list improvements #69219

Open
roseman mannequin opened this issue Sep 8, 2015 · 2 comments
Open

IDLE - file list improvements #69219

roseman mannequin opened this issue Sep 8, 2015 · 2 comments
Assignees
Labels
3.10 only security fixes topic-IDLE type-feature A feature request or enhancement

Comments

@roseman
Copy link
Mannequin

roseman mannequin commented Sep 8, 2015

BPO 25031
Nosy @terryjreedy, @roseman
Files
  • hide_flist_internals.patch
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/terryjreedy'
    closed_at = None
    created_at = <Date 2015-09-08.15:53:19.505>
    labels = ['expert-IDLE', 'type-feature', '3.10']
    title = 'IDLE - file list improvements'
    updated_at = <Date 2020-06-06.22:29:38.616>
    user = 'https://github.com/roseman'

    bugs.python.org fields:

    activity = <Date 2020-06-06.22:29:38.616>
    actor = 'terry.reedy'
    assignee = 'terry.reedy'
    closed = False
    closed_date = None
    closer = None
    components = ['IDLE']
    creation = <Date 2015-09-08.15:53:19.505>
    creator = 'markroseman'
    dependencies = []
    files = ['40408']
    hgrepos = []
    issue_num = 25031
    keywords = ['patch']
    message_count = 2.0
    messages = ['250229', '250231']
    nosy_count = 2.0
    nosy_names = ['terry.reedy', 'markroseman']
    pr_nums = []
    priority = 'normal'
    resolution = None
    stage = 'test needed'
    status = 'open'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue25031'
    versions = ['Python 3.10']

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Sep 8, 2015

    This is a placeholder for what will be a series of patches to the FileList to generalize and enhance it.

    This is part of generalizing pieces of IDLE to be more flexible, including things like editors not necessarily being in toplevel windows, dialogs not being modal, etc.

    The goal is to turn the FileList into an application "hub" that knows about the various pieces of the application, and can be used for communication between them. Some aspects of this will include:

    1. Ensuring other modules don't use internal implementation (e.g. dict/inversedict) so can change it later.

    2. Merging PyShellFileList into here (will keep things simpler).

    3. Having FileList launch/keep track of certain dialogs (e.g. config) or other non-editor components.

    4. Eventually take on some other responsibilities from editors, part of a general component/container refactoring.

    @roseman roseman mannequin added topic-IDLE type-feature A feature request or enhancement labels Sep 8, 2015
    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Sep 8, 2015

    This first patch is a straight refactoring so that other modules do not touch the FileList internals.

    This is done in two steps. First, we remove references to inversedict etc. from outside FileList.

    Second, we run all notifications through FileList. So for example when the config dialog wants to notify all editors of changes, it previously walked through the list of windows and called various editor methods directly. Now, the config dialog asks FileList to notify all editors. Each editor implements the callback to make the needed changes.

    Same code, just moved to a more appropriate place. The config dialog no longer needs any knowledge of FileList or of EditorWindow. Later more of these sorts of callbacks will be added. Doing it this way provides a framework where different components might respond differently to these notifications.

    @terryjreedy terryjreedy added the 3.7 (EOL) end of life label Jun 19, 2017
    @terryjreedy terryjreedy self-assigned this Jun 19, 2017
    @terryjreedy terryjreedy added 3.10 only security fixes and removed 3.7 (EOL) end of life labels Jun 6, 2020
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.10 only security fixes topic-IDLE type-feature A feature request or enhancement
    Projects
    Status: No status
    Development

    No branches or pull requests

    1 participant