Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #74881

PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"!

Newsgroups comp.lang.python
Date 2014-07-20 14:14 -0700
Message-ID <232acf45-096d-466a-aa75-06d8c378b128@googlegroups.com> (permalink)
Subject PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"!
From Rick Johnson <rantingrickjohnson@gmail.com>

Show all headers | View raw


============================================================
 BUG 1: FileDialog Duplicity:
============================================================

If you open the IDLE application (either utilizing the
"shell window" or "editor window") and then go to the "File"
menu and choose the "Open" command you will see a file
dialog appear, okay, nothing wrong with that.

HOWEVER, if you go to the "File" menu *AGAIN* choose the
"Open" command, you will see *ANOTHER* file dialog open.

    Note that on windows (at least), the new file dialogs are
    stacked *perfectly* on top of old filedialogs, so you will
    need to move the top dialog before you can see any
    hiding below.

And not only can you open more than one dialog ,there seems
to be no limit on the number of dialogs you can open!

Modal dialogs *MUST* be limited to a "one dialog at a time"
policy. And even *IF* the designers of Tkinter were too
naieve to relize this, the designers of IDLE should have
been intelligent enough to ensure this cannot happen,
because, opening more than one filedialog is about has
useful as buying shoes in sets of greater than two.

    Two feet -> two shoes.

    One document -> one dialog

    or rather,

    One dialog per "active" document!

And since IDLE is not a "tabbed editor", only *1* document
is going to be displayed at a time. The troubling issue is,
Tkinter filedialogs are working fine (see my code at the end
of this message which proves my statement!), whereas the
IDLE dialogs which utilize Tkinter code are not!

    ============================================================
     POSSIBLE FIX FOR "BUG 1":
    ============================================================

    If for some reason IDLE is not using the tkFileDialogs, a
    simple "request contract" can solve the issue by setting a
    "counter variable" like "activeFileDialogs = 0", then
    incrementing the counter by 1 each time a filedialog is
    displayed, and then decrementing the value by one each time
    a filedialog is closed. Furturemore, each time a filedialog
    is "requested", the logic will deny the request *IF* the
    value of "activeFileDialogs" is greater than one. However,
    this all seems rediculous since Tkinter filedialogs are
    working as expected! (see code at end of this message)

============================================================
 BUG 2: FileDialog "Hide and go seek":
============================================================

When you have a filedialog displayed *AND* the "parent
window" from which you spawned the filedialog is in "full
screen" mode, if you (or your OS) decides to "unfocus" the
"parent window" window, when you return you will *NOT* see
the open dialog, because the filedialog will be hidden
*BEHIND* the full screen "parent window".

Again, this only happens in IDLE, but in my example code at
the end of this message you will find that the dialog
behaves as expected.

============================================================
 BUG 3: FileDialog not using "native" dialogs anymore.
============================================================

Currently, when opening a filedialog in IDLE, i don't get
the "shortcut pane" that is visible in my Windows Explorer
application, *HOWEVER*, before i updated to version 2.7.8 i
swear it was there!

    WHAT THE HECK HAPPNED?

============================================================
 REFERENCES:
============================================================

############################################################
# BEGIN CODE
############################################################
# The following code proves that Tkinter filedialogs are
# behaving in expected manners (properly placed as children
# of the windows which "own" them, and following normal
# focus patterns of "child windows" -- therfore, the problem
# *MUST* be an IDLE problem.
#
# Tested on Python 2.7.8
#
import Tkinter as tk
from tkFileDialog import askopenfilename, asksaveasfilename

class App(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self._createMenus()

    def _createMenus(self):
        menubar = tk.Menu(self)
        self.config(menu=menubar)
        filemenu = tk.Menu(menubar)
        menubar.add_cascade(label='File', menu=filemenu)
        filemenu.add_command(label='Open', command=self.requestOpenDialog)
        filemenu.add_command(label='Save As', command=self.requestSaveAsDialog)

    def _requestFileDialog(self, func, **kw):
        path = func(**kw)
        return path

    def requestOpenDialog(self, **kw):
        return self._requestFileDialog(askopenfilename, **kw)

    def requestSaveAsDialog(self, **kw):
        return self._requestFileDialog(asksaveasfilename, **kw)

if __name__ == '__main__':
    app = App()
    app.mainloop()
#
############################################################
# END CODE
############################################################



Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Rick Johnson <rantingrickjohnson@gmail.com> - 2014-07-20 14:14 -0700
  Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-07-20 22:36 +0100
  Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Irmen de Jong <irmen.NOSPAM@xs4all.nl> - 2014-07-20 23:40 +0200
    Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Rick Johnson <rantingrickjohnson@gmail.com> - 2014-07-20 15:44 -0700
      Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-21 11:02 +1000
        Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Rick Johnson <rantingrickjohnson@gmail.com> - 2014-07-20 19:06 -0700
          Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Tim Chase <python.list@tim.thechases.com> - 2014-07-20 21:30 -0500
          Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-21 12:38 +1000
            Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Grant Edwards <invalid@invalid.invalid> - 2014-07-21 14:27 +0000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Shiyao Ma <i@introo.me> - 2014-07-21 22:40 +0800
                Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Grant Edwards <invalid@invalid.invalid> - 2014-07-21 16:51 +0000
                Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Grant Edwards <invalid@invalid.invalid> - 2014-07-21 16:57 +0000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-22 00:48 +1000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-22 00:51 +1000
                Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Grant Edwards <invalid@invalid.invalid> - 2014-07-21 16:55 +0000
                Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-22 03:56 +1000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Monte Milanuk <memilanuk@invalid.com> - 2014-07-21 14:55 +0000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-07-21 16:19 +0100
                Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Grant Edwards <invalid@invalid.invalid> - 2014-07-21 16:56 +0000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-22 01:27 +1000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Lele Gaifax <lele@metapensiero.it> - 2014-07-21 17:57 +0200
                Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-07-21 17:03 +0000
                Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Lele Gaifax <lele@metapensiero.it> - 2014-07-21 19:40 +0200
                Adapt bash readline operate-and-get-next Lele Gaifax <lele@metapensiero.it> - 2014-08-18 20:49 +0200
                Re: Adapt bash readline operate-and-get-next Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-08-19 10:17 +1000
                Re: Adapt bash readline operate-and-get-next Chris Angelico <rosuav@gmail.com> - 2014-08-19 10:32 +1000
                Re: Adapt bash readline operate-and-get-next Lele Gaifax <lele@metapensiero.it> - 2014-08-19 10:49 +0200
                Re: Adapt bash readline operate-and-get-next Lele Gaifax <lele@metapensiero.it> - 2014-08-19 11:51 +0200
                Re: Adapt bash readline operate-and-get-next Skip Montanaro <skip@pobox.com> - 2014-08-18 14:06 -0500
                Re: Adapt bash readline operate-and-get-next Lele Gaifax <lele@metapensiero.it> - 2014-08-19 10:44 +0200
                Re: Adapt bash readline operate-and-get-next Skip Montanaro <skip@pobox.com> - 2014-08-19 07:45 -0500
                Re: Adapt bash readline operate-and-get-next Lele Gaifax <lele@metapensiero.it> - 2014-08-19 15:10 +0200
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-22 02:05 +1000
              Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Terry Reedy <tjreedy@udel.edu> - 2014-07-21 15:16 -0400
            RE: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! "Coll-Barth, Michael" <Michael.Coll-Barth@VerizonWireless.com> - 2014-07-21 10:51 -0400
          Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-07-21 03:45 +0100
          Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Terry Reedy <tjreedy@udel.edu> - 2014-07-20 23:05 -0400
          Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Chris Angelico <rosuav@gmail.com> - 2014-07-21 13:09 +1000
          Re: PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"! Martin S <shieldfire@gmail.com> - 2014-07-21 09:51 +0200
    Re: Tabbed IDLE (was PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"!) Tim Chase <python.list@tim.thechases.com> - 2014-07-20 19:56 -0500
    Re: Tabbed IDLE (was PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"!) Chris Angelico <rosuav@gmail.com> - 2014-07-21 11:04 +1000
    Re: Tabbed IDLE (was PyWart(2.7.8) IDLE is more buggy than "Joe's apartment"!) Tim Chase <tim@thechases.com> - 2014-07-20 19:55 -0500
  Idle open file dialogs (was ...) Terry Reedy <tjreedy@udel.edu> - 2014-07-20 22:59 -0400

csiph-web