Freeze() and Thaw()

I tried self.Hide() instead of self.Freeze(). No change.
Then I eliminated the hide and freeze. No change.

Soooo, there must be something else besides an explicit object.Show() that can cause the display to occur despite the presence of object.Freeze() or object.Hide().

I'm all ears.

Bob

···

X-Originating-IP: [130.225.247.88]
Mailing-List: contact wxPython-users-help@lists.wxwidgets.org; run by ezmlm
List-Post: <mailto:wxPython-users@lists.wxwidgets.org>
List-Help: <mailto:wxPython-users-help@lists.wxwidgets.org>
List-Unsubscribe: <mailto:wxPython-users-unsubscribe@lists.wxwidgets.org>
List-Subscribe: <mailto:wxPython-users-subscribe@lists.wxwidgets.org>
Reply-To: wxPython-users@lists.wxwidgets.org
Delivered-To: mailing list wxPython-users@lists.wxwidgets.org
X-Spam-Checker-Version: SpamAssassin 3.1.0 on a.mx.sunsite.dk
X-Spam-Level:
X-Spam-Status: No, score=-2.6 required=6.0 tests=BAYES_00 autolearn=ham
        version=3.1.0
X-Spam-Hits: -2.6
X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9
Date: Fri, 05 Oct 2007 07:26:37 -0400
To: wxPython-users@lists.wxwidgets.org
From: Bob Klahn <bobstones@comcast.net>
Cc: wxPython-users@lists.wxwidgets.org
Subject: Re: [wxPython-users] Freeze() and Thaw()
X-Antivirus: AVG for E-mail 7.5.488 [269.14.1/1050]

Chris, frame.Show() is only called here:

    app = wx.App(redirect=False)
    frame = MainFrame(None, -1, "(title)")
    frame.Show()
    app.MainLoop()

I call self.Freeze() at the beginning of the frame's __init__, and I've even commented out the thaw, so there's no thaw at all, and still have the problem. I'm mystified.

Bob

At 07:50 PM 10/4/2007, Christopher Barker wrote:

Bob Klahn wrote:

As I said, the problem is occurring during the building and layout of the initial display. I.e., the freeze and the thaw are part of my main frame's ___init___ code.

That may be your problem -- during __init__, your frame may not be at it's final size, so all the layout needs to be re-done after the Frame gets Show()'d. When is Frame.Show() called in this process?

You might be able to do something by catching the EVT_SIZE, and doing your layout there, with Freeze in place.

-Chris