Table des matières

Guide de démarrage pour Boa Constructor

Installation et présentation de Boa constructor

Boa s'exécute sous Windows ou sous UNIX avec GTK+.

Téléchargement : http://sourceforge.net/projects/boa-constructor/files/Boa-Constructor/

Pré-requis

Il faut avoir installé :

Le programme d'installation standard pour Windows installe les bibliothèques wxWidgets et l'environnement wxPython.

Installation

Sous Windows

Deux possibilités :

Sous UNIX

A partir de CVS

Voir le guide d'installation de Boa http://wiki.wxpython.org/BoaInstallGuide sur la page wiki de wxPython.

Présentation de l'EDI Boa

Quand on le lance, l'EDI affiche ceci :

Il comporte trois fenêtres :

  1. en haut, la palette avec :
    • Une barre d'outils pour ouvrir ou fermer les fenêtres des applications
    • Plusieurs onglets
      • Nouveau - créer de nouveaux modules, des applications etc.
      • Conteneurs/ Mise en page, Composants de base etc. donnent accès aux différents composants
  2. en bas à gauche, l'inspecteur de propriétés
    • Cette section permet aussi d'afficher par exemple le Debugger ou le Class Browser
    • Elle sert à modifier les propriétés des composants et à définir des événements.
  3. en bas à droite, l'éditeur - Explorateur, avec plusieurs plusieurs onglets :
    • Shell - donne accès à un interpréteur Python, ce qui facilite et rend confortable le test de petites sections de code.
    • Explorateur - permet de naviguer dans le système de fichiers, donne accès à la démo wxPython (via un plug-in), permet de modifier les préférences de Boa, et il y aura des onglets supplémentaires, un pour chaque fichier sur lequel on travaille.

La fenêtre de la palette

C'est la fenêtre principale du programme Boa : sa fermeture termine le programme.

Elle se compose de deux parties :

La barre d'outils et ses icônes

La barre d'outils permet d'accéder aux autres fenêtres de Boa. En survolant les différentes icônes avec la souris, des bulles d'aide expliquent ce que font les boutons.

La barre d'outils comporte 3 boutons sur la gauche, concernant l'application :

Icônes de la barre d'outils

  1. Le premier met la fenêtre Inspecteur à l'avant-plan.
  2. Le second met la fenêtre de l'éditeur à l'avant-plan.
  3. La case à cocher indique le nom du composant sélectionné (Aucune sélection si rien n'est sélectionné)

Les 3 boutons suivants concernent l'aide :

Icônes d'aide de la barre d'outils

  1. aide de Boa ou aide pour le composant sélectionné
  2. aide de wxPython
  3. aide de Python

Les onglets

Les onglets fournissent des composants regroupés logiquement, pour construire les applications.

Les composants du premier onglet (Nouveau) permettent de créer de nouveaux fichiers : une application Python, un module Python, un fichier de configuration, une application de Boa ou autre.

La nouvelle fonctionnalité modèle de code permet d'insérer du code, par exemple pour une boîte de dialogue. A l'endroit du où un dialogue doit être inséré, presser Alt+T et sélectionner dans la liste déroulante.

L’icône wx.App Icon permet de créer une nouvelle application Boa (sa bulle d'aide indique wx.App, en référence à sa classe de base). La nouvelle application se compose du fichier source de l'application (App1.py) et du cadre initial (Frame1.py).

Le fichier d'application est le point de départ de l'application. Par défaut, la nouvelle application se contente de charger le formulaire, qui est blanc. On peut lui ajouter des composants.

Boa ouvre le code source de la nouvelle application et le nouveau formulaire dans la fenêtre de l'éditeur.

La fenêtre de l'éditeur

C'est l'une des trois fenêtres de Boa. Si on la ferme, on peut la rouvrir avec le bouton palette - icône éditeur de la palette.

L'éditeur comprend deux onglets : Shell et Explorateur.

Pour ouvrir un fichier source dans l'éditeur de Boa, on peut :

Éditeur - vue source

Quand on ouvre un fichier, l'éditeur crée une nouvelle page pour le module, avec plusieurs onglets qui présentent plusieurs onglets du fichier, selon le type de fichier. Ici : App1 et Frame1. Pour Frame1, trois onglets : Source, Naviguer et Événements, Pour App1, trois onglets Application, Source et Naviguer.

<note>Les astérisques sur les onglets App1 et Frame1 indiquent que des modifications ont été apportées mais ne sont pas sauvegardées.</note>

L'onglet source (ci-dessus) montre le code source et permet de le modifier, sauf si l'éditeur graphique est ouvert ou actif pour ce fichier (dans ce cas, le code source a un fond bleuâtre).

L'onglet explorateur fournit une vue arborescente du module avec les icônes suivantes :

L'onglet explorateur présente une vue du source basée sur les classes. Les méthodes et attributs de chaque classe dans le source sont affichés. Un double-clic sur un attribut ou une méthode affiche dans l'onglet Source le code source pour ce composant.

Éditeur - vue événement

L'onglet Événements montre une vue basée sur le contrôle des événements définis dans l'inspecteur de Boa. Les événements ajoutés manuellement (en dehors du code généré par Boa) ne s'affichent pas ici.

Des affichages supplémentaires, comme A faire, Documentation, UML etc, peuvent être ouverts via l'Éditeur ou le menu Affichage ; certains affichages ne sont disponibles que pour certains types de fichiers.

Le menu Affichage de l'éditeur fournit d'autres vues sur la source : Hiérarchie, Documentation, A faire, Application ToDo, Imports, UML, CVS conflicts, Readme.txt, Changes.txt, Todo.txt, Bugs.txt.

Les icônes disponibles sur la barre d'outils de la fenêtre de l'éditeur pour un fichier wxFrame sont :

<note>Les icônes disponibles sur cette barre d'outils changent en fonction du fichier actif.</note>

barre d'outils de l'éditeur - icônes de fichiers

Les icônes ci-dessus permettent d'ouvrir, fermer, enregistrer, enregistrer-sous et parcourir en avant / en arrière pour sauter à des positions marquées (CTRL+M).

barre d'outils de l'éditeur - icônes d'exécution

Les icônes ci-dessus permettent d'exécuter l'application, lancer le module ou déboguer l'application.

barre d'outils de l'éditeur - icônes des sources

Les icônes ci-dessus permettent de profiler le module, vérifier le source, ou démarrer le cadre éditeur graphique (parfois aussi appelé GUI Editor).

barre d'outils de l'éditeur - Icônes copier-coller

Les icônes ci-dessus permettent de rafraîchir l'écran, Annuler, Rétablir, Couper, Copier et Coller.

barre d'outils de l'éditeur - Icônes de recherche

Les icônes ci-dessus permettent de rechercher / remplacer, rechercher à nouveau et d'imprimer le source.

barre d'outils de l'éditeur - Autres icônes

Les icônes ci-dessus permettent d'exécuter jusqu'au curseur (dans le débogueur), mettre ou retirer (basculer) un point d'arrêt (on peut aussi utiliser la touche F5), insérer des informations du module (Nom de l'auteur, etc, ce qui peut être personnalisé, voir Module Info), et aider.

Quelques raccourcis utiles :

La fenêtre de l'éditeur graphique

On accède à la fenêtre de l'Éditeur graphique par le bouton Éditeur graphique Éditeur graphique sur la barre d'outils de la fenêtre de l'éditeur. L'éditeur graphique ne peut être démarré que si le fichier actif est un formulaire (wx.Panel, wx.Frame etc) ou un fichier de type Dialog.

L'éditeur graphique affiche le cadre sur l'écran. L'éditeur graphique affiche le cadre tel qu'il apparaîtra à l'exécution. Ce cadre est désigné comme l'Éditeur graphique. L'éditeur graphique crée également deux nouvelles pages dans l'éditeur. Le premier est la vue Données, le second est la vue Sizer.

L'Éditeur graphique sert à concevoir la présentation du cadre ou du dialogue. On peut placer des composants dans le volet, les redimensionner, les déplacer ou les supprimer. On peut aussi placer des composants dans d'autres composants.

Pour créer un composant, sélectionner le composant approprié dans la palette. Les composants sont regroupés pour un accès facile, par exemple les commandes de base sont regroupées. Une fois un contrôle sélectionné, la barre d'état dans la palette montre le contrôle sélectionné.

Pour placer le composant déplacer le curseur sur l'Éditeur graphique. Un clic de souris à l'endroit où doit être inséré le composant. Une fois le composant sur le formulaire, il peut être déplacé et redimensionné. On le déplace en plaçant la souris à dans le composant et en le faisant glisser. On le redimensionne en faisant glisser l'un des huit marqueurs sur le bord d'un contrôle sélectionné.

Les modifications apportées dans l'éditeur graphique sont enregistrées dans le code source. Les modifications sont enregistrées quand on clique sur le bouton Post . Il ya deux boutons Post, un sur la barre d'outils de l'éditeur et l'autre sur la barre d'outils de l'inspecteur. Un clic sur l'un ou l'autre ferme l'éditeur graphique et la vue Données et génère le code source pour les changements. Les modifications peuvent aussi être postées en fermant le cadre.

Pour annuler toutes les modifications effectuées depuis l'ouverture de l'éditeur graphique, cliquer sur le bouton Annuler sur la barre d'outils de l'éditeur ou de l'inspecteur.

Cadre Éditeur graphique

La fenêtre intitulée Frame1 ci-dessus est la fenêtre graphique de l'éditeur d'images, un wx.Panel (trouvé sur la palette Conteneurs / mise en page) a été placé dans le wx.Frame et dans ce dernier deux contrôles wx.Button (trouvé sur la palette Boutons). Le contrôle button2 est actuellement sélectionné et on peut pouvez voir ses propriétés dans la fenêtre Inspecteur de propriétés.

<note>Vous pourriez déposer les contrôles de l'onglet Divers (données), sur l'onglet Affichage des données et pour tout conteneur de type sizer (onglet conteneurs / Mise en page), sur la vue Sizer.</note>

La fenêtre Inspecteur de propriétés

L'Inspecteur affiche toujours la configuration du composant actuellement sélectionné. L'Inspecteur contient 4 pages, la page du constructeur ('Constr'), la page Propriétés ('Props'), la page Événements ('Evts') et la Page objets ('Objs').

Inspecteur - ConstructeurLa page constructeur permet d'éditer les propriétés nécessaires au moment de la construction de l'objet, par exemple, le nom et le style du composant.
Voir l'aide de wxPython pour les valeurs passées au constructeur pour un contrôle. Les styles dans le manuel sont d'une importance particulière.
Noter que les modifications apportées à certains paramètres du constructeur ne prennent effet que lorsque le contrôle est créé.
Modifier la propriété “Nom” en quelque chose qui gardera donner un sens pour quelqu'un d'autre ou pour vous dans 3 mois !
Inspecteur - PropriétésLa page Propriétés donne un contrôle fin pour toutes les propriétés de ce composant, par exemple, polices et couleurs.
Inspecteur - ÉvénementsLa page Événements permet de sélectionner les événements à gérer dans le code. Les événements sont regroupés en groupes logiques.
La création d'un événement est facile, il suffit de cliquer par exemple sur “ButtonEvent” et de cliquer sur “wx.EVT_BUTTON” et Boa va créer un événement “OnButton” appelé “OnControlNameButton”, Évidemment, il faut ajouter au code source généré les actions à lancer lorsque l'utilisateur appuie sur ce bouton.
Inspecteur - ObjetsLa page Objets permet de naviguer à travers les composants dans un autre format pour le volet de l'éditeur graphique. C'est particulièrement utile pour des éléments invisibles ou qui se chevauchent. Certains composants comme le wxStatusBar ne traitent pas les événements de clic (sur MSW) : il faut donc les choisir dans la page des Objets.

Gestion de l'application

Quand le module en cours d'édition est une application, l'éditeur offre une vue spéciale de l'application. Cette vue application permet de suivre facilement les fichiers dans l'application et d'ajouter de nouveaux modules, dialogues et autres types de fichiers à la demande.

Lors de l'affichage d'une application (l'une de ses vues), on peut sélectionner un élément du volet «Nouveau» dans la palette et il sera ajouté à l'Application.

Application

Barre d'outils de l'éditeur - icônes d'applications

La première des icônes ci-dessus permet d'ajouter un fichier existant à cette application.

La seconde permet de supprimer un fichier de l'application.

<note>Le Panel1 répertorié comme un module ci-dessus n'est pas le même que le Panel1 contenu dans Frame1 !</note>

A propos de l'utilisation de l'explorateur

La deuxième page de l'éditeur notebook contient une page appelée l'Explorateur. On utilise cette page pour trouver les différentes sources de données, y compris le système de fichiers, CVS, Zope, WebDAV, comptes SSH, FTP.

L'Explorateur affiche les systèmes de fichiers et répertoires du système d'exploitation. A la première exécution de Boa ces systèmes de fichiers et répertoires de développement sont ajoutés. Vous pouvez également reconfigurer où chercher voir Setting Preferences.

Les répertoires python sont déduits de la variable d'environnement PYTHONPATH et les emplacements par défaut tels que compilés dans le système d'exécution Python.

Les répertoires utilises souvent peuvent être ajoutés à la section des signets en les sélectionnant et en cliquant sur l'outil Signets Barre d'outils de l'éditeur - Bookmark ou en utilisant le menu Edition ou par un clic droit de souris sur le répertoire. Noter que cet item va s'afficher au prochain démarrage de Boa ou lorsque on sélectionne dans le menu Editer / rechargement.

Si on utilise Zope, on peut accéder à des projets dans le serveur Server en utilisant l'option Zope. Les informations de connexion TCP / IP sont configurées par défaut dans le panneau de l'inspecteur ou dans le fichier de configuration de l'explorateur, Explorer.msw.cfg sous Windows ou sous UNIX Explorer.gtk.cfg.

Explorer

Il permet également d'accéder aux préférences de paramètres, au-dessus, des raccourcis clavier sont sélectionnés dans l'explorateur et les détails sont présentés dans l'Inspecteur.

<note>La démo de wxPython s'affiche dans l'Explorateur comme cela a été activé par le Plug-ins.</note>

Utilisation de l'aide

L'EDI Boa fournit des liens vers différents fichiers d'aide de l'EDI.

Pour Boa 0.6.0 les fichiers d'aide suivants sont inclus:

Des livres d'aide supplémentaires peuvent être ajoutés (voir Livres d'aide).

Help - Ctrl-H

L'accès le plus simple et le plus rapide à l'aide depuis à peu près partout dans Boa est CTRL+H, puis entrer ce qui est cherché ; Boa trouvera toutes les références dans TOUS les livres d'aide qu'il connaît (par exemple wxPython, Python etc) et le montre comme ci-dessous.

Aide - principal

La fenêtre d'aide permet une navigation HTML standard avec un outil de recherche.

Si l'aide ne s'affiche pas correctement, configurer l'environnement.

D'autres bons endroits pour chercher de l'aide sont :

Tutoriel - Créer votre première application

Cette section présente un bref didacticiel pour familiariser avec l'EDI Boa constructor. Ce tutoriel guide étape par étape à travers le processus de construction d'un éditeur de texte simple, appelé Notebook. Après avoir travaillé ce tutoriel, on ensait assez pour être productif avec Boa Constructor.

On apprendra à:

Création d'une nouvelle application

Icône App Application - info-bulle wx.APP

Palette

éditeur

On voit ci-dessus, dans la section de l'éditeur les deux nouveaux fichiers créés et enregistrés.

Icônes d'exécution

Un clic sur le bouton de lancement (jaune) montre le résultat de la programmation, c'est-à-dire juste un cadre vide.

Utilisation de l'éditeur graphique pour mettre le titre

Éditeur graphique

Ajouter une barre d'état

Le premier composant que nous allons ajouter à l'application sera une barre d'état. Une barre d'état donne des informations sur un programme lors de son exécution. Nous allons utiliser la barre d'état pour indiquer à l'utilisateur ce qui se passe lorsque des actions lentes se produisent, de donner des messages d'aide simples ou toute autre information à montrer.

Palette - Containers

Inspector - statusbar

Collection - statusbar

Inspector - Frame

Ajouter une barre de menus

La composante suivante que nous allons ajouter à l'application est une barre de menus, un élément courant pour les programmes Windows. Notre barre de menu contiendra deux entrées, Fichier et Aide. La sélection de l'une d'elles va afficher un menu déroulant dans lequel l'utilisateur peut sélectionner une option.

Éditeur graphique - Menu

Collection - A propos...

Inspecteur - Événement - Le côté gauche de la fenêtre des événements montre les groupes d'événements sont disponibles. Pour menuitem, il n'y a qu'un groupe 'MenuEvent'. Sélectionner ce groupe à la souris.
- Le côté droit de la fenêtre d'événements affiche maintenant les événements dans le groupe sélectionné. Pour le menu, il n'y a qu'un seul événement EVT_MENU dans le groupe MenuEvent. Double-cliquer sur cet événement.
- Le bas du volet Evénements affiche les gestionnaires d'événements de l'application pour le composant actuel (l'élément de menu A propos). Il y a maintenant un nouveau gestionnaire appelé OnMenuHelpAproposMenu. C'est le nom de la méthode qui sera appelée lorsque l'option 'Apropos' est sélectionnée dans le menu Aide.
- Notez la méthode utilisée par le gestionnaire d'événement pour générer les noms. L'événement est la dernière partie (Menu). Le composant est la partie centrale, ici la sous-composante Apropos de la composante menuHelp. Enfin, Boa constructor respecte la convention de préfixer tous les gestionnaires d'événements avec le mot 'On'.
- Fermer l'éditeur de collection.

Maintenant, il faut répéter le processus pour ajouter des options au menu fichier.

Maintenant, nous allons créer la barre de menus.

Inspector - Frame

Sous windows, cela donne :

Frame1

Ajout du contrôle texte

Nous allons maintenant ajouter un contrôle texte pour l'édition à notre cadre. Ce contrôle est appelé wx.TextCtrl.

<note tip>Utiliser Ctrl+H et entrer textctrl pour obtenir de la documentation et des descriptions des différents styles, notez que certains d'entre eux pourraient ne pas être montrés pour wx.TextCtrl car ils sont hérités, par exemple wx.Window. Actuellement Ctrl-H ne fonctionne pas dans la fenêtre de l'éditeur graphique, mais à peu près partout ailleurs dans de Boa. </note>

Inspector - TextCtrl

TextEditor

Ajout de fonctionnalités au menu Fichier

La tâche suivante consiste à interagir avec l'utilisateur pour implémenter les fonctionnalités du menu. Les boîtes de dialogue sont utilisées pour recueillir l'entrée de l'utilisateur. Les boîtes de dialogue sont modales, c'est à dire qu'on ne peut pas utiliser les autres fenêtres de l'application en cours jusqu'à ce que le dialogue soit fermé.

def OnMenuFileOpenMenu(self, event):
    dlg = wx.FileDialog(self, "Choose a file", ".", "", "*.*", wx.OPEN)
    try:
        if dlg.ShowModal() == wx.ID_OK:
            filename = dlg.GetPath()
            # Your code
    finally:
       dlg.Destroy()
    event.Skip()
def OnMenuFileOpenMenu(self, event):
    dlg = wx.FileDialog(self, "Choose a file", ".", "", "*.*", wx.OPEN)
    try:
        if dlg.ShowModal() == wx.ID_OK:
            filename = dlg.GetPath()
            # Your code
            self.textEditor.LoadFile(filename)
            self.FileName=filename
            self.SetTitle(('Notebook - %s') % filename)        
    finally:
        dlg.Destroy()
def OnMenuFileSaveasMenu(self, event):
    dlg = wx.FileDialog(self, "Save file as", ".", "", "*.*", wx.SAVE)
    try:
        if dlg.ShowModal() == wx.ID_OK:
            filename = dlg.GetPath()
            # Your code
            self.textEditor.SaveFile(filename)
            self.FileName=filename
            self.SetTitle(('Notebook - %s') % filename)     
    finally:
        dlg.Destroy()
def OnMenuFileCloseMenu(self, event):
    self.FileName = None
    self.textEditor.Clear()
    self.SetTitle('Notebook')
def OnMenuFileExitMenu(self, event):
    self.Close()
def __init__(self, parent):
    self._init_ctrls(parent)
    self.FileName=None
def OnMenuFileSaveMenu(self, event):
    if self.FileName == None:
        return self.OnFileSaveasMenu(event)
    else:
        self.textEditor.SaveFile(self.FileName)

Éditeur

Créer une fenêtre de dialogue

Les boîtes de dialogue sont utilisées pour interagir avec l'utilisateur et récupérer des entrées spécifiques. Dans les sections précédentes, nous avons utilisé la boîte de dialogue pré-intégrée wx.FileDialog. Nous allons maintenant développer notre propre boîte de dialogue pour l'option A propos du menu.

def OnMenuHelpAboutMenu(self, event):
    dlg = Dialog1.Dialog1(self)
    try:
        dlg.ShowModal()
    finally:
        dlg.Destroy()
import wx
import Dialog1
def OnButton1Button(self, event):
   self.Close()

Lancez l'application. Votre nouveau dialogue devrait ressembler à ceci.

About Dialog

Félicitations: Vous avez construit votre première application utilisant Boa Constructor. Votre éditeur est terminé. Dans ce tutoriel, vous avez utilisé les composants de base de Boa.

Prenez le temps de revoir ce que vous avez fait jusqu'ici. Vous avez appris à:

Création d'une fenêtre d'application en utilisant sizers

Sizers est un excellent moyen d'obtenir une configuration graphique agréable et propre. C'est pratique quand on ignore l'espace dont a besoin un contrôle ou celui qu'il peut utiliser (c'est par exemple le cas quand on internationalise une application (I18N) ou pour des contrôles comme les listes ou les grilles auxquels on veut donner autant d'espace que possible (ou au contraire aussi peu d'espace que possible).

<note> La suite explique comment utiliser les sizers avec Boa (version 0.6.x). Pour plus de détails sur les sizers, consulter la documentation de wxPython, la démo wxPython et les liens suivants.

</note>

Nous allons utiliser un contrôle wx.Frame et créer un écran de saisie d'informations d'adresse.

Fermer tous les fichiers source dans l'éditeur, pour ne pas ajouter la nouvelle application à la précédente.

Dans la palette, volet Nouveau, Sélectionner le bouton wx.Frame. Cela crée un nouveau fichier source (Frame1).

Cliquer sur le bouton Enregistrer (ou menu Fichier / Enregistrer) et l'enregistrer sous le nom AddressEntry.py.

Dans le menu Edition, sélectionner l'option Ajouter le module runner. Cela ajoute un peu de code au fichier, ce qui permet de l'exécuter sans nécessiter un fichier wx.App séparé.

Sauvegarder le fichier. En exécutant l'application, on voit seulement Frame1 dans la barre de titre et un fond gris.

Sélectionner le volet AddressEntry. Démarrer l'éditeur graphique en cliquant sur le bouton éditeur graphique.

Dans la palette, sélectionner le volet Conteneurs / mise en page. Cliquer sur le bouton wx.Panel pour le sélectionner et cliquer n'importe où dans le cadre de AddressEntry pour déposer le panneau sur le cadre.

Sur le même volet de la palette, cliquer sur le bouton wx.BoxSizer pour le sélectionner et cliquer n'importe où sur le wx.Panel qui vient d'être ajouté à l'image. Une ligne jaune apparaît autour du panneau.

Valider ces changements, enregistrer le fichier et rouvrir l'éditeur graphique.

éditeur graphique et éditeur de collection

Address entry form 1

Address entry form

Address form final

Please note that the file generated during this example is also available in the directory “Examples\guide” under your Boa installation directory.

For coding guide lines you might also want to consult the wxPython style guide http://wiki.wxpython.org/index.cgi/wxPython_Style_Guide.

Other Useful Items

Setting Preferences

The Boa Constructor tool provides a number of features which can be customised by you.

Most of the customization settings can be set en utilisant la vue Explorateur de l'éditeur. Click on Preferences and it shows you something similar to the image below.

Preferences

To change settings double click on either 'General', 'Platform specific' or 'Key bindings' and the properties of each will be shown in the Inspector as shown below:

GeneralPlatformKey bindings

Help books

Boa by default includs its help books and the ones for wxPython and Python.

However if you like to add others you can do so by selecting Preferences/Help Books and right mouse click in the right pane of the Explorer. Select 'Add new Item' and browse to find the '.hpp' file.

Help book

Bookmarks

If you like to add additional bookmarks just right mouse click on the folder you like to add within the Explorer.

Transport

Adding additional transports works similar to the bookmarks, select the transport type on the left hand side of the Explorer view, e.g. 'Zope' and then right mouse click in the right hand side and select 'New' and then complete the information in the Inspector.

Transport

Module Info

You might want to change the following section in the file 'prefs.rc' stored in your user preference directory, on a Windows system this is by default in 'driveletter:\Documents and Settings\username\.boa-constructor'.

# Info that will be filled into the comment block. (Edit->Add module info)
# Also used by setup.py
staticInfoPrefs = { 'Purpose':   '',
                'Author':    '<your name>',
                'Copyright': '(c) 2004',
                'Licence':   '<your licence>',
                'Email':     '<your email>',
              }

<>If you like to edit the 'CustomModuleInfo.plug-in' file right mouse clicking the corresponding entry in 'Preferences/Plug-ins/Plug-in files' and select 'Open Plug-in file'.

If you don't want to loose your changes when you upgrade Boa you might want to copy the 'CustomModuleInfo.plug-in' file and call it 'MyCustomModuleInfo.plug-in' in the Plug-ins directory. After restarting Boa you should disable the standard one by right mouse clicking and selecting the appropriate option.

I changed it as follows:

""" Demonstrates how to change system constants as a plug-in """

import sourceconst
# The order of (Name)s may change and lines may also be removed
sourceconst.defInfoBlock = '''# -*- coding: iso-8859-1 -*-#
#-----------------------------------------------------------------------------
# Name:        %(Name)s
# Purpose:     %(Purpose)s
#
# Author:      %(Author)s
#
# Created:     %(Created)s
# RCS-ID:      %(RCS-ID)s
# Copyright:   %(Copyright)s
# Licence:     %(Licence)s
#-----------------------------------------------------------------------------
'''

import Preferences
# (Name)s not in the original dictionary needs to be added
# New field:   %(NewField)s
#Preferences.staticInfoPrefs['NewField'] = 'Whatever'

After restarting Boa and clicking on the button Module Info Boa will insert the following into the selected file (in this case Frame1.py).

# -*- coding: iso-8859-1 -*-#
#-----------------------------------------------------------------------------
# Name:        Frame1.py
# Purpose:    
#
# Author:      Werner F. Bruhin
#
# Created:     2005/12/03
# RCS-ID:      $Id: node31.html,v 1.1.2.1 2005/03/14 09:23:09 wbruhin Exp $
# Copyright:   (c) 2004 - 2005
# Licence:     Shareware, see license.txt for details
#-----------------------------------------------------------------------------

Main frames

These are the main frames in Boa:

PaletteTop frame containing a palette from which new modules or components can be created.
Inspector Left frame displaying constructors/properies/events of the selected object as well as an hierarchical view of the parent/child relationship of containers.
EditorBig IDE window containing the shell, explorer and any number of open modules. Each module contains a notebook of supported views on the module
éditeurs graphiquesThe GUI builder and other design time editors opened dans l'éditeur
ExplorerStandard Explorer type interface for interacting with various datastores like the filesystem, Zope, CVSetc.
DebuggerDebugging window, opens up over the Inspector. Supports source code tracing, breakpoints and watches.
HelpBoa, wxWidgets & Python help.

Other sections:

Main windows

Palette

Creation starts here. From the first page titled Newyou can create new modules, after clicking on one un nouveau module s'ouvre dans l'éditeur. The other pages work more on the principal of cocking your cursor like in Delphi. By clicking on e.g. wxStaticText, it becomesdepressed.While an object is selected on the Palette any click in a éditeur graphique will create that object in the container or the container of the object that you clicked on of thet éditeur graphique.

Also the statusbar of the Palette shows the current selected object as a checkbox in the second column. To unselect an object uncheck this checkbox.

Dialogs will be created from a template directly in the source code of the currently active Source page at the point where the cursor is.

Note this palette page should not be used while editing in l'éditeur graphique.

Objects created from the ’Utilities’ DataView. palette page should be created in the Zope objects created should be created in the Zope Explorer’s list view.

Inspector

The Inspector displays the constructor parameters, properties and events of the selected object in l'éditeur graphique or DataView. It also displays the parent child relationship of container controls when appropriate.

The selected object can be changed in the Parent view.

Whena property is selected in the inspector, an associated Property Editor will open in the Inspector for that property. Le type le plus courant de l'éditeur est un contrôle de texte used for editing strings and other builtins.

Pages

These are the pages in the inspector:

ConstructorParameters for the constructor of the object. Someof these parameters are also accessable at run time and these will reflect changes at design−time. Other parameters like for example Style will only reflect changes the next time the frame is recreated from source, so don’t worry if you don’t see your changes immediately. This will change in the future.
PropertiesThis is usually the list of Get* / Set* methods an object supports. Additional properties may be defined in a objects Companionclass.
EventsThis page is divided in three parts:
- Categories (top left) : Logical groupings of related macros
- Macros(top right) : Event connection functions of the form EVT_*
- Definitions (bottom) List of defined (connected) events for the selected control. To delete select (delete) from the drop−downand it will be deleted on posting of the frame.
ParentThis page shows the parent/child relationship of container controls. By selecting a different item the Inspector and l'éditeur graphique will change their selection to the newly selected item.

Éditeur

L'éditeur est l'IDE. The top level notebook represent open modules. A module is a source code file like a python module, a Python package, an wxAppfile or any of the wxFramevariants (To create a module see Palette )

For each module the views supported by the module will be hosted on a second level notebook. Any actions applicable to the view like refreshing the source code or adding a module will be accessible by right clicking on the view or selecting from the ’Edit’ menu. Most of these options are also available from the toolbar. Usually a default action will be triggered by double clicking on a view.

Modules

These are the supported modules:

Python moduleStandard python source code file.
Python packageStandard python package, loads any init.py and shows it’s directory as a package of modules as well as sub−directories containing a init.py file.
wxAppThe module that hosts the wxAppobject. A module list is maintained in this module. The App module controls which is the main frame of an application and currently maintains relative paths for the module list. It has a specialised Application View
PythonAppThis type is like wxApp, but for plain Python applications without wxPython file types.
wxFrame variantsCurrently wrapped wxFrametype modules are wxFrame, wxDialog, wxMiniFrame wxMDIParentFrame, wxMDIChildFrame wxPopupWindow wxTransientPopupWindow.
These modules support l'éditeur graphique view for visual frame creation.
Setup (Distutils)Very basic support for Distutils.
From the File menuthe following options are available:
- build
- clean
- install
- sdist
- bdist
- bdist_rpm
- bdist_wininst
py2exe is also supported (only Win32 ofcourse).
Remember to add the line:
import py2exe below the distutil import in your Setup.py.
Add your main script, e.g. ’wxApp1.py’ to the scripts argument of setup().
Other filetypesText − Plain text file, .txt and CAPS filenames Config

Éditeur graphique

Les éditeurs graphiques are visual design time editors for creating and manipulating components and properties.

Each éditeur graphique maintains it’s own method in the generated source.

Clicking on an item in a éditeur graphique will select display that item’s properties and events in the Inspector.

Double clicking will open l'éditeur par défaut (like a éditeur de collection) or define the default event for the control.

The following éditeur graphiques are currently available:

The FrameDesigner is a GUI building view on wxFrametype modules that cooperates closely with the Inspector. It is used to select, size and position controls.

It maintains the _init_ctrls method.

Multiple selection is supported by holding down shift while selecting controls. Only sibling controls can be in a multiple selection.

Selections can be cut, copied and pasted to and from the clipboard in the Frame Designer and the DataView. Whena selection is copied, the equivalent code is put on the clipboard and can also be pasted directly into your source code.

Layout Anchors have been integrated with the Frame Designer. If a control has any anchors set, it will show the selection tags as a shade of blue instead of black.

Right click on a top, bottom, left or right selection tag to set or unset the anchor.

Whena éditeur graphique is opened a session is started. Whenyou end the session, either by posting or cancelling, all your changes will be applied to the source.

Closing l'éditeur graphique frame also ends the session and posts the changes.

While l'éditeur graphique is open for a module, the source code will be read−only.

A Data View will also be opened dans l'éditeur associated with l'éditeur graphique and closed on posting / cancelling.

This will usually be the last view of the module in the éditeur named ’Data’.

It maintains the _init_utils method.

Non visual controls located on the Utilities page of the Palette must be created/inspected in this view.

Les éditeurs de collection maintain list like properties.

Selecting an item will display it’s properties and events in the Inspector.

Each maintain a _init_coll_* method.