473,837 Members | 1,546 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

So you think PythonCard is old? Here's new wine in an old bottle.

For serveral years, I have been looking for a way to migrate away from
desktop GUI/client-server programming onto the browser based network
computing model of programming. Unfortunately, up until recently,
browser based programs are very limited - due to the limitation of
HTML itself. Eventhough PythonCard hasn't keep up with the latest
widgets in wxpython, the programs so created still works a lot better
- until now.

If you look at programs at some of the major sites these days - like
Google calendar, Netflix, blockbuster, and so forth - you would
undoubtedly notice that the quality of the programs are pretty much at
par with the desktop programs we use everyday. Since the curious mind
wanted to know how these programs are done, I started investigating
and found out that what a difference a few years have made to
Javascript - the once much hated beast of the Internet age - and
during my search for perfection, I found Qooxdoo (http://
qooxdoo.org/).

Qooxdoo is a Javascript toolkit that sits on top of Ajax. Take a look
at some of the *impressive* widgets
at http://demo.qooxdoo.org/current/showcase/#Form.

So, what's that got to do with Pythoncard? Read on.

After trying for a few days learning Qooxdoo, my head really really
hurts. Getting too old to learn this stuff, I was mumbling.

Then I looked some more. I found QxTransformer (http://
sites.google.co m/a/qxtransformer.o rg/qxtransformer/Home) which is a
XSLT toolkit that creats XML code that invoke qooxdoo.

So, what's that got to do with Pythoncard? Read on.

After trying for a few days learning QxTransformer, my head really
really hurts. Getting too old to learn
this stuff, I was mumbling.

I want Pythoncard.

Damn Pythoncard! Once you got hooked, everything else looks
impossibly complicated and unproductive.

But then I looked closer. It turns out the XML file created by
QxTransformer is *very* similar in structure when compared to the
resource files used in PythonCard. Since there are no GUI builders
for QxTransformer, and I can't affort to buy the one for Qooxdoo
(Java! Yuk!), I decided to roll up my sleeves, took the Pythoncard's
Layout Manager and modified it and created my own "Poor Man's Qooxdoo
GUI Layout Designer".

The result? See the partially completed application at:

http://test.powersystemadvisors.com/

and the same application running from the desktop:

http://test.powersystemadvisors.com/...HelloWorld.jpg

It shouldn't be long before I can fill in the gaps and have the GUI
builder maps the rest of the Pythoncard widgets to Qooxdoo widgets.
Once I've done that, I can have the same application running from the
desktop, or from the browser. And it shouldn't take more than minutes
to create such applications.

Welcome to the modernized world of Pythoncard!!!
Jun 27 '08
24 2390
On Apr 27, 12:23 pm, Fred Pacquier <xne...@fredp.l autre.netwrote:
John Henry <john106he...@h otmail.comsaid :
Welcome to the modernized world of Pythoncard!!!

Hey, that's really neat !

I remember dabbling in Pythoncard in the early days, some years ago, it was
a very interesting project. I gave it up eventually, partly because it
seemed somewhat abandoned (I see it's still stuck in 2006 ?), but mostly
because the wxPython dependency was either unavailable or too hefty for the
sort of machines I was interested in using it on (a Sharp Zaurus then, now
Nokia Internet tablets). Since then I've been doing web apps instead,
hosted and used on the devices themselves.

So using Pythoncard as a designer for web apps, of course that rings a
bell...

Do you have any idea of the computing requirements of Qooxdoo and
QxTransformer, compared to a native Pythoncard app ? I wonder if your stuff
would run acceptably on today's mobile platforms (the Nokias have a Firefox
derivative that is reasonably competent at javascript), and would give it a
try if it's not too arcane.

Do keep us posted !

TIA,
fp
The performance of Qooxdoo is quite amazing - for a Javascript based
web application. Don't know about cell-phones though. You can try
their showcase web site I cited earlier.

Yes, who would have throught we don't have to give up on Pythoncard?
Jun 27 '08 #11
John Henry <jo**********@h otmail.comsaid :
The performance of Qooxdoo is quite amazing - for a Javascript based
web application. Don't know about cell-phones though. You can try
their showcase web site I cited earlier.
Just for the record, Nokia Internet tablets (770, N800, N810) are the only
things made by Nokia that are not cell-phones... They're ARM machines with
a 800x480 4" screen, Wifi, Bluetooth, and Linux. And Python, pyGTK and
Pygame. Probably pyQt next as they just bought Trolltech. But no wxPython.

I was not speaking of running just the client part in the device's browser,
either - but the full Monty (haha) with the web server and the application
engine, python, middleware and all. I'm doing it right now using a full-
blown framework (web2py), so it's not unreasonable. There's no Ajax in
there though, so I'm wondering what kind of impact those tools you mention
would have, server side.
Yes, who would have throught we don't have to give up on Pythoncard?
Proof of superior vision, architecture and design, all that time ago...
Jun 27 '08 #12
On Apr 27, 12:23 pm, Fred Pacquier <xne...@fredp.l autre.netwrote:
>
Do keep us posted !

TIA,
fp
Check it out now.

Only one to be added is the Multicolumn List (table), and then menus.
The other widgets (Togglebutton, BitmapCanvas, Gauge, Notebook,
CodeEditor) will not be implemented initially.

http://test.powersystemadvisors.com
Jun 27 '08 #13
On Apr 28, 12:41 pm, John Henry <john106he...@h otmail.comwrote :
On Apr 27, 12:23 pm, Fred Pacquier <xne...@fredp.l autre.netwrote:
Do keep us posted !
TIA,
fp

Check it out now.

Only one to be added is the Multicolumn List (table), and then menus.
The other widgets (Togglebutton, BitmapCanvas, Gauge, Notebook,
CodeEditor) will not be implemented initially.

http://test.powersystemadvisors.com
table and menus all work
Jun 27 '08 #14
Hi,

I am one of the two developers working on the xml-to-javascript
converter (qxtransformer) John has mentioned and we are thrilled that
our project has found a use in the PythonCard community.

However, we have a problem getting PythonCard to work on our Macs (Mac
OS 10.5 Leopard). We should probably be asking this on the PythonCard
help list, but since the list seems to be somewhat deserted (very few
posts) and John is active here and people seem to be using PythonCard,
maybe someone has an idea. It might be very simple and stupid - I have
never worked with python before.

I am using
- PythonCard 0.8.2 release on Leopard, which is copied by setup.py to /
Library/Python/2.5/site-packages
- John's layoutEditor package, (http://qxtransformer.googlegroups.com/
web/layoutEditor.zi p)

PythonCard email list says that Leopard and PythonCard 0.8.2 seem to
like each other generally:

http://sourceforge.net/mailarchive/f...thoncard-users

and I can get the examples working. However, when I start John's
modified layoutEditor.py , I get an empty window and the following
error is thrown:

no resource file for /Users/bibliograph/Programme/PythonCard/tools/
layoutEditor/multipropertyEd itor
Traceback (most recent call last):
File "/BinaryCache/wxWidgets/wxWidgets-11~57/Root/System/Library/
Frameworks/Python.framewor k/Versions/2.5/Extras/lib/python/wx-2.8-mac-
unicode/wx/_core.py", line 14095, in <lambda>
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 153, in on_initialize
self.propertyEd itorWindow = model.childWind ow(self,
PropertyEditor)
File "/Library/Python/2.5/site-packages/PythonCard/model.py", line
213, in childWindow
rsrc = resource.Resour ceFile(filename ).getResource()
File "/Library/Python/2.5/site-packages/PythonCard/resource.py",
line 45, in __init__
self.dictionary = util.readAndEva lFile(rsrcFileN ame)
File "/Library/Python/2.5/site-packages/PythonCard/util.py", line
39, in readAndEvalFile
f = open(filename)
TypeError: coercing to Unicode: need string or buffer, NoneType found

there is a file PythonCard/tools/layoutEditor/modules/
multipropertyEd itor.rsrc.py

When I resize the window, I get the following errors

Tue Apr 29 10:48:08 noname Python[40440] <Error>: CGContextConcat CTM:
invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>: CGContextSaveGS tate:
invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>: doClip: invalid
context
Tue Apr 29 10:48:08 noname Python[40440] <Error>: CGContextSaveGS tate:
invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>:
CGContextSetBle ndMode: invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>:
CGContextSetSho uldAntialias: invalid context
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/PythonCard/model.py", line
884, in _dispatch
handler(backgro und, aWxEvent)
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 560, in on_size
self.createDC()
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 556, in createDC
dc.SetLogicalFu nction(wx.INVER T)
File "/BinaryCache/wxWidgets/wxWidgets-11~57/Root/System/Library/
Frameworks/Python.framewor k/Versions/2.5/Extras/lib/python/wx-2.8-mac-
unicode/wx/_gdi.py", line 4079, in SetLogicalFunct ion
wx._core.PyAsse rtionError: C++ assertion "status == noErr" failed
at ../src/mac/carbon/graphics.cpp(13 24) in EnsureIsValid() : Cannot
nest wxDCs on the same window

Thanks for any pointers,

Christian
Jun 27 '08 #15
On Apr 29, 1:57 am, Panyasan <c.boulan...@qx transformer.org wrote:
Hi,

I am one of the two developers working on the xml-to-javascript
converter (qxtransformer) John has mentioned and we are thrilled that
our project has found a use in the PythonCard community.

However, we have a problem getting PythonCard to work on our Macs (Mac
OS 10.5 Leopard). We should probably be asking this on the PythonCard
help list, but since the list seems to be somewhat deserted (very few
posts) and John is active here and people seem to be using PythonCard,
maybe someone has an idea. It might be very simple and stupid - I have
never worked with python before.

I am using
- PythonCard 0.8.2 release on Leopard, which is copied by setup.py to /
Library/Python/2.5/site-packages
- John's layoutEditor package, (http://qxtransformer.googlegroups.com/
web/layoutEditor.zi p)

PythonCard email list says that Leopard and PythonCard 0.8.2 seem to
like each other generally:

http://sourceforge.net/mailarchive/f...e=EE5213D5-A00...

and I can get the examples working. However, when I start John's
modified layoutEditor.py , I get an empty window and the following
error is thrown:

no resource file for /Users/bibliograph/Programme/PythonCard/tools/
layoutEditor/multipropertyEd itor
Traceback (most recent call last):
File "/BinaryCache/wxWidgets/wxWidgets-11~57/Root/System/Library/
Frameworks/Python.framewor k/Versions/2.5/Extras/lib/python/wx-2.8-mac-
unicode/wx/_core.py", line 14095, in <lambda>
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 153, in on_initialize
self.propertyEd itorWindow = model.childWind ow(self,
PropertyEditor)
File "/Library/Python/2.5/site-packages/PythonCard/model.py", line
213, in childWindow
rsrc = resource.Resour ceFile(filename ).getResource()
File "/Library/Python/2.5/site-packages/PythonCard/resource.py",
line 45, in __init__
self.dictionary = util.readAndEva lFile(rsrcFileN ame)
File "/Library/Python/2.5/site-packages/PythonCard/util.py", line
39, in readAndEvalFile
f = open(filename)
TypeError: coercing to Unicode: need string or buffer, NoneType found

there is a file PythonCard/tools/layoutEditor/modules/
multipropertyEd itor.rsrc.py

When I resize the window, I get the following errors

Tue Apr 29 10:48:08 noname Python[40440] <Error>: CGContextConcat CTM:
invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>: CGContextSaveGS tate:
invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>: doClip: invalid
context
Tue Apr 29 10:48:08 noname Python[40440] <Error>: CGContextSaveGS tate:
invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>:
CGContextSetBle ndMode: invalid context
Tue Apr 29 10:48:08 noname Python[40440] <Error>:
CGContextSetSho uldAntialias: invalid context
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/PythonCard/model.py", line
884, in _dispatch
handler(backgro und, aWxEvent)
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 560, in on_size
self.createDC()
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 556, in createDC
dc.SetLogicalFu nction(wx.INVER T)
File "/BinaryCache/wxWidgets/wxWidgets-11~57/Root/System/Library/
Frameworks/Python.framewor k/Versions/2.5/Extras/lib/python/wx-2.8-mac-
unicode/wx/_gdi.py", line 4079, in SetLogicalFunct ion
wx._core.PyAsse rtionError: C++ assertion "status == noErr" failed
at ../src/mac/carbon/graphics.cpp(13 24) in EnsureIsValid() : Cannot
nest wxDCs on the same window

Thanks for any pointers,

Christian
Christian,

It appears you're missing a file. Where did you placed my program? I
see that there are two places being mentioned:
no resource file for /Users/bibliograph/Programme/PythonCard/tools/
layoutEditor/multipropertyEd itor
and
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 556, in createDC
Jun 27 '08 #16
Christian,

It appears you're missing a file. Where did you placed my program? I
see that there are two places being mentioned:
no resource file for /Users/bibliograph/Programme/PythonCard/tools/
layoutEditor/multipropertyEd itor

and
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 556, in createDC
I unzipped the folder you uploaded and placed it in the PythonCard/
tools folder. I get the same error if I try to start the default
resourceEditor. py or layoutEditor.py scripts, so it does not seem to
have to do with your modifications.
When I copy multipropertyEd itor.rsrc.py files from PythodCard/tools/
resourceEditor/modules folder to PythodCard/tools/resourceEditor/, it
will throw the error about a different file - might this be some kind
of PATH error?

C.
Jun 27 '08 #17
On Apr 29, 8:28 am, Panyasan <c.boulan...@qx transformer.org wrote:
Christian,
It appears you're missing a file. Where did you placed my program? I
see that there are two places being mentioned:
no resource file for /Users/bibliograph/Programme/PythonCard/tools/
layoutEditor/multipropertyEd itor
and
File "/Library/Python/2.5/site-packages/PythonCard/tools/
layoutEditor/layoutEditor.py ", line 556, in createDC

I unzipped the folder you uploaded and placed it in the PythonCard/
tools folder. I get the same error if I try to start the default
resourceEditor. py or layoutEditor.py scripts, so it does not seem to
have to do with your modifications.
When I copy multipropertyEd itor.rsrc.py files from PythodCard/tools/
resourceEditor/modules folder to PythodCard/tools/resourceEditor/, it
will throw the error about a different file - might this be some kind
of PATH error?

C.
It certainly looks like it's not finding a file. Not knowing Mac or
Linux, I don't know how files are searched.

There are a whole bunch of test programs that comes with Pythoncard.
Do they work? (Not all of them will work - some requires a database)
Jun 27 '08 #18
On 29 Apr., 18:17, John Henry <john106he...@h otmail.comwrote :
>
There are a whole bunch of test programs that comes with Pythoncard.
Do they work? (Not all of them will work - some requires a database)
Yes, the examples work. Just the resourceEditor. py and the
layoutEditor.py in the distributed version and your modified
layoutEditor.py don't.
Jun 27 '08 #19
On 29 Apr., 20:30, Panyasan <c.boulan...@qx transformer.org wrote:
On 29 Apr., 18:17, John Henry <john106he...@h otmail.comwrote :
There are a whole bunch of test programs that comes with Pythoncard.
Do they work? (Not all of them will work - some requires a database)

Yes, the examples work. Just the resourceEditor. py and the
layoutEditor.py in the distributed version and your modified
layoutEditor.py don't.
Ok, here is how it works for me: copy all the *.rsrc.py from the
modules subdirectory to the parent directory. This works for the
standard resourceEditor folder and your custom layoutEditor folder.
What the heck. Now I can deal with more productive things...
Jun 27 '08 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1322
by: Ron Stephens | last post by:
Thanks, Tony, we long term newbies need to stick together ;-)) I just updated a few PythonCard versions of three of the modules from askMerlin, and posted them in a link right below the askMerlin100.py command line program. The PythonCard version of election.py in particular is very easy and illustrates what these programs do. You will have to install wxPython and PythonCard in order to use these, so I provide links for that. I must say,...
2
2096
by: Adrian Smith | last post by:
I am using pythoncard 0.7.2 for windows. I am trying to use the same code for a large number of buttons so started out by using def on_mouseDown(self,event): but then I need to display the button that I pressed but you can only have an absolute component name like: self.component.Button1.label = "clicked"
0
1060
by: PipedreamerGrey | last post by:
I'm trying to create a standalone version (.exe) of PythonCard's Custdb sample using Py2Exe version 0.5.0. Everytime I attempt to compile the program, I get an error during compilation. This is the exact code I'm using in the setup file: from distutils.core import setup import py2exe setup( name = "custdb", console = ,
3
1662
by: Deltones | last post by:
Hi all, I'm just getting into Python/wxPython/Pythoncard and I'm trying the tutorial from this page: http://pythoncard.sourceforge.net/walkthrough1.html Is it me who's totally dense or there's some sort of confusion with this tutorial? Here's what is said in the tutorial:
1
1734
by: Varun Hiremath | last post by:
Hello everybody, I was trying to install pythoncard on my system and I got this error. I am using an unstable version of Debian. Can someone tell me what the error could be. Is it because I am usingUnstable version of Debian I am getting this error or is it because of some other reason. I hope I am mailing this error to the right mailing list if not pls let me know.
1
1980
by: jlocc | last post by:
Hi!! I am working on a school project and I decided to use PythonCard and wxPython for my GUI development. I need a password window that will block unwanted users from the system. I got the pop-up password question to work... def on_openBackground(self, event): result = dialog.textEntryDialog(self,
2
1527
by: loren.davie | last post by:
Hi, I'm attempting to build a small app that uses pythoncard for a gui layer. The intention is to use py2app to construct an .app bundle for the Mac. I'm running OS 10.4 on an Intel MacBook Pro. I'm using the default installed Python 2.3 The .app bundle appears to build, but when I start up it fails - checking the console reveals that it can't find the "wx" package, as its called from some pythoncard code. (The app launches just...
4
2362
by: Tequila | last post by:
I'm having some trouble starting PythonCard on my PC. I've downloaded and ran python-2.5.msi to install Python on my machine. And PythonCard-0.8.2.win32.exe to install PythonCard. When I try to run the program I get the following error: ====================================== C:\Python25\Lib\site-packages\PythonCard\tools \codeEditor>codeEditor.py Traceback (most recent call last):
8
2066
by: king kikapu | last post by:
Hi to all folks here, i downloaded and "playing" with PythonCard and i just want to share my thoughts so maybe we can discuss a little about it. I was used to wxGlade before and i think PythonCard is even better. I like the separate implementation of GUI and Code that PythonCard provides, i also like the "binding system" so you can bind functions to events and have them executed at runtime. I also like that it does not force you to use...
0
9682
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10563
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10621
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10267
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9392
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7804
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5668
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4474
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4038
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.