Yomgui

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 8 juin 2007

MUI goes Python

Yesterday, I've finished my lower layer for one of my project on MorphOS: creating a Python module to wrap MUI. Many of GUI Toolkits on others platforms supported by Python have already wrapped into module, so why not MUI?

In its first shape, this wrapper will be split into 2 layers:

  1. The lower layer: it's a C module, that interface the Python side with MUI objects and the BOOPSI api. It's raw, simple and permit to handle any kind of MUI objects (builtins or not, created by this wrapper or not).
  2. The upper layer: it's a pure Python module using the lower C module. This layer declares MUI MCC as classes. This permits to fix and get control on attributes/methods allowed by MCC. It's a Pythonization of MUI.

Creating a MUI object can be done by using the OOO paradigm of Python or the simple function based paradigm:

Functional example:

from mui import *

# Creating a new main window with a simple text gadget
win = Window(RootObject=Text(Content='Hellow world!'))

# Now creating the application
app = Application(
 Version     = "$VER: PyMUITest 0.1 (06.06.07)",
 Copyright   = "(C)2007, Yomgui",
 Author      = "Yomgui",
 Description = "PyMUI test",
 Base        = "PYMUITEST")
# ... and link your window to it
app.AddWindow(win)

win.Open = True # it's like a classical MUI attribute access

# Run !
app.mainloop()

Let me finish the upper layer now ;-)

dimanche 6 mai 2007

Nouveautées du mois (de mai)

Alors je ne sais pas comment ils font les autres blogeurs... mais moi ça m'ennuie grave de faire un post :-D Tout ça pour dire que depuis plus d'une semaine Blender 2.43 et Python 2.4.4 sont téléchargeables.

Pour Blender, j'ai refait une petite mise-à-jours hier (ça c'est pour ceux qui font un refresh de cette page tous les jours ;-))

Pour Python, pour changer des releases en 2.4.2 voilà le passage en 2.4.4, dernier de la série avant de passer en 2.5.

A noter que pour Python j'ai toujours pas fini ma lib de sockets pour le support de ces derniers en multi-threading. Donc attention lors de tests d'obscures scripts :-P. Sinon vous retrouverez aussi dans le répertoire thirdpaties quelques modules pour Python que j'ai recompilé avec cette fameuse 2.4.4.

Notes:

Pour l'installation de Python, ne vous inquiétez pas il met toutes les lib toujours dans le répertoire LIBS:Python2.4/

samedi 10 mars 2007

Python - mos 7a est sorti.... mais faut pas le prendre.

Ca y est le module thread est enfin supporté... enfin presque. Certain modules ne fonctionnent plus eux en multithreading, comme les socket. C'est pas ma faute ;-) C'est la bsdsocket.library qui est per-thread. Or les threads Python se doivent partager leurs FileDescriptors.... pas bon. Pour me rassurer je ne suis pas tout seul dans ce cas, la PowerSDL posséde le même problème.

Mais une bonne nouvelle je travail sur une solution pour résoudre tout cela.

Maintenant à propos de la release 7a: j'ai voulu re-utiliser les fonctions comme open/write/printf/... de la libc fournie avec le SDK MorphOS. Le problème c'est que ce n'est pas utilisable avec mon système de module Python dynamiques. Résultat des modules comme PIL ne fonctionnent plus :-( (Thanks to Christoph Poelzl to have seen this issue)

Bon pas grave je vais remettre mon ancien système... sauf que cela va demander plus de taf pour implémenter des choses comme select().

Si vous voulez quand même tester les threads je vous propose d'aller voir sur ce post pour la release 7a (et qq modules comme pygame aussi).

Dure dure la vie de programmeur :-D

mercredi 20 décembre 2006

Python 2.4.2 release - Latest

Official Python 2.4.2 release for MorphOS

Latest Python binary archive (7a)

Some third-party modules are also available here: Third-parties

Also available for MorphUP: MU PMI link

Lire la suite...