Boa s'exécute sous Windows ou sous UNIX avec GTK+.
Téléchargement : http://sourceforge.net/projects/boa-constructor/files/Boa-Constructor/
Il faut avoir installé :
Le programme d'installation standard pour Windows installe les bibliothèques wxWidgets et l'environnement wxPython.
Deux possibilités :
ln -s /usr/local/boa/boa.py /usr/bin
boa.py
Voir le guide d'installation de Boa http://wiki.wxpython.org/BoaInstallGuide sur la page wiki de wxPython.
Quand on le lance, l'EDI affiche ceci :
Il comporte trois fenêtres :
C'est la fenêtre principale du programme Boa : sa fermeture termine le programme.
Elle se compose de deux parties :
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 :
Les 3 boutons suivants concernent l'aide :
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 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.
C'est l'une des trois fenêtres de Boa. Si on la ferme, on peut la rouvrir avec le bouton de la palette.
L'éditeur comprend deux onglets : Shell et Explorateur.
Pour ouvrir un fichier source dans l'éditeur de Boa, on peut :
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.
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.
# XXX My todo item
). C'est utile pour suivre plus tard des items.
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>
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).
Les icônes ci-dessus permettent d'exécuter l'application, lancer le module ou déboguer l'application.
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).
Les icônes ci-dessus permettent de rafraîchir l'écran, Annuler, Rétablir, Couper, Copier et Coller.
Les icônes ci-dessus permettent de rechercher / remplacer, rechercher à nouveau et d'imprimer le source.
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 :
On accède à la fenêtre de l'Éditeur graphique par le bouton É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.
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>
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').
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.
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>
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 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.
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>
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).
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.
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 :
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 à:
Application - info-bulle wx.APP
On voit ci-dessus, dans la section de l'éditeur les deux nouveaux fichiers créés et enregistrés.
Un clic sur le bouton de lancement (jaune) montre le résultat de la programmation, c'est-à-dire juste un cadre vide.
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.
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.
Maintenant, il faut répéter le processus pour ajouter des options au menu fichier.
Maintenant, nous allons créer la barre de menus.
Sous windows, cela donne :
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>
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)
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.
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 à:
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 .
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.
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.
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.
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:
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.
If you like to add additional bookmarks just right mouse click on the folder you like to add within the Explorer.
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.
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 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 #-----------------------------------------------------------------------------
These are the main frames in Boa:
Palette | Top 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. | |
Editor | Big IDE window containing the shell, explorer and any number of open modules. Each module contains a notebook of supported views on the module |
éditeurs graphiques | The GUI builder and other design time editors opened dans l'éditeur |
Explorer | Standard Explorer type interface for interacting with various datastores like the filesystem, Zope, CVSetc. |
Debugger | Debugging window, opens up over the Inspector. Supports source code tracing, breakpoints and watches. |
Help | Boa, wxWidgets & Python help. |
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.
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.
These are the pages in the inspector:
Constructor | Parameters 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. |
Properties | This is usually the list of Get* / Set* methods an object supports. Additional properties may be defined in a objects Companionclass. |
Events | This 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. |
Parent | This 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. |
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.
These are the supported modules:
Python module | Standard python source code file. |
Python package | Standard 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. |
wxApp | The 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 |
PythonApp | This type is like wxApp, but for plain Python applications without wxPython file types. |
wxFrame variants | Currently 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 filetypes | Text − Plain text file, .txt and CAPS filenames Config |
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.