Archaeopteryx Software, Inc.
Take Flight!Search

Home
Wing IDE
News
Support
About Us
Python
Open Source
Store

 Search:
 
 Advanced Search




[wingide-users] Auto-completion of wxPython classes during ed iting?

David Bolen db3l at fitlinxx.com
Wed, 28 May 2003 18:09:23 -0400


Thanks for the response - my test project properties do not have an explicit
path but appear to be set to 'Use "python"' and 'Use environment' - I didn't
change them from whatever creating a new project gave me.  Using "python" on
my system is set to yield 2.2.2, and a check in the Source->Show Analysis
Stats window shows that it's finding my interpreter and path.

While I've certainly modified sys.path dynamically in the past, in this case
wxPython is in the standard lib/site-packages/wxPython location beneath my
Python root.  If that was the problem, would you still expect Wing to tell
me about __init__, this, and thisone?  Those are part of the wxStaticText
class which is in the same module (in the wxPython installation,
controls.py) as the superclass having the more interesting methods.

Just for reference, here's the small test module I had narrowed my testing
down to - I've noted in comments where the completion worked as expected,
and the wx case where it didn't.

                 - - - - - - - - - - - - - - - - - - - - - - - - - 

from wxPython import wx

class testing:
    
    def foobar(self):
        pass
    
    def blah(self):
        pass
    
    def last(self):
        pass
    

class subclass(testing):
    
    def __init__(self):
        # Completion works fine here
        self.blah()
        
class mystatic(wx.wxStaticText):
    
    def __init__(self):
        # XXX Tried typing "self." here but can't see all methods
        pass

                 - - - - - - - - - - - - - - - - - - - - - - - - - 

And here's a small snippet of the wxPython (I'm using 2.4.0.7) controls.py
module containing that class definition.  Note that Ctrl-Right-Clicking on
the wx.wxStaticText class reference above does take me right to this code.

                 - - - - - - - - - - - - - - - - - - - - - - - - - 
class wxStaticTextPtr(wxControlPtr):
    def __init__(self,this):
        self.this = this
        self.thisown = 0
    def Create(self, *_args, **_kwargs):
        val = apply(controlsc.wxStaticText_Create,(self,) + _args, _kwargs)
        return val
    def GetLabel(self, *_args, **_kwargs):
        val = apply(controlsc.wxStaticText_GetLabel,(self,) + _args,
_kwargs)
        return val
    def SetLabel(self, *_args, **_kwargs):
        val = apply(controlsc.wxStaticText_SetLabel,(self,) + _args,
_kwargs)
        return val
    def __repr__(self):
        return "<C wxStaticText instance at %s>" % (self.this,)
class wxStaticText(wxStaticTextPtr):
    def __init__(self,*_args,**_kwargs):
        self.this = apply(controlsc.new_wxStaticText,_args,_kwargs)
        self.thisown = 1
        self._setOORInfo(self)

                 - - - - - - - - - - - - - - - - - - - - - - - - - 

Thanks for any other suggestions - just let me know if I can provide any
other information.  I'm hoping from your response that the idea is that in
theory Wing ought to be able to provide full completion in this case.

-- David

-----Original Message-----
From: Wing IDE Support [mailto:support@wingide.com]
Sent: Wednesday, May 28, 2003 5:45 PM
To: David Bolen
Cc: 'wingide-users@wingide.com'
Subject: Re: [wingide-users] Auto-completion of wxPython classes during
editing?


Hi,

Have you checked whether you've got the Python Path in Project Properties
set up to match the path at runtime?  If your code does things like
os.path.append() or otherwise sets up the path to find wxPython modules
then Wing may not be finding the superclasses you're using.

I'm not 100% sure this is the problem you're seeing but it's the first
thing to check.  Let me know if that doesn't help.

Thanks,

Stephan Deibel

--
Wing IDE for Python
Archaeopteryx Software, Inc
Take Flight!

www.wingide.com






Run by Mailman v 2.0.8


Copyright (c) 2000-2002, Archaeopteryx Software, Inc.
Legal Statements