157 lines
6.1 KiB
Plaintext
157 lines
6.1 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<title>JMRI: Multi-connexions</title>
|
|
<!-- Translated by Hervé Blorec 2013-09-07 -->
|
|
<!--#include virtual="/help/fr/parts/Style.shtml" -->
|
|
</head>
|
|
|
|
<body>
|
|
<!--#include virtual="/help/fr/parts/Header_fr.shtml" -->
|
|
<div id="mBody">
|
|
<!--#include virtual="Sidebar.shtml" -->
|
|
<div id="mainContent">
|
|
|
|
<h1>JMRI: Mise à jour de Multi-connexions</h1>
|
|
<p>Cette
|
|
page est une liste de conseils pour adapter les
|
|
systèmes (sous-répertoires jmri.jmrix) vers le
|
|
nouveau format multi-système. C'est clairement un
|
|
travail en cours!</p>
|
|
|
|
<p>Fondamentalement, vous devez obtenir toutes les variables
|
|
statiques et les ()méthodes en instance hors du code.
|
|
A leur place, vous mettrez des références
|
|
à des procédures spécifiques d'un objet
|
|
SystemConnectionMemo qui porte les références
|
|
qui ont l'habitude d'être statiques.</p>
|
|
|
|
<p>Dans le même temps, nous faisons la mise à
|
|
jour du modèle Swing, et un couple d'autres nettoyages
|
|
mineurs sur le code.</p>
|
|
|
|
<h2>Dans le répertoire du système
|
|
principal</h2>Créer une sous-classe spécifique
|
|
de SystemConnectionMemo. Ce qui finira par faire tout
|
|
l'initialisation gestionnaire, et transporter des
|
|
références d'objet qui servent à faire
|
|
par exemple des variables.
|
|
|
|
<p>Ajouter toute ces choses</p>
|
|
|
|
<h3>Pour chaque méthode de connexion (par exemple
|
|
chaque sous-répertoire)</h3>.
|
|
|
|
<p>Modifier la classe ConnectionConfig pour prendre et
|
|
enregistrer une référence à un objet
|
|
SerialPortAdapter, et le retourner depuis la méthode
|
|
getAdapter(). Aussi enlevez la métode() en instance et
|
|
sa mise en Å"uvre.</p>
|
|
<pre style="font-family: monospace;">
|
|
protected void setIntrucsstance() {
|
|
if (adapter == null) {
|
|
adapter = new PR3Adapter();
|
|
}
|
|
}
|
|
</pre>
|
|
|
|
<p>Modifier la classe d'adaptateur (exemple: PR3Adapter) pour
|
|
éliminer l'exemple () et sa mise en Å"uvre.</p>
|
|
|
|
<p>La classe configurexml/ConnectionConfigXml doit avoir une
|
|
procédure ajoutée:</p>
|
|
<pre style="font-family: monospace;">
|
|
protected void getInstance(Object object) {
|
|
adapter = ((ConnectionConfig)object).getAdapter();
|
|
}
|
|
</pre>Nous devrions sans doute le remanier plus tard, mais ceci est
|
|
la forme actuelle pour veiller à ce que la bonne classe
|
|
ConnectionConfig soit utilisée. Nous le laissons
|
|
inchangé pour le moment pour éviter la concurrence
|
|
avec les serial/network refactoring
|
|
|
|
<p>Aussi, changez ceci</p>
|
|
<pre style="font-family: monospace;">
|
|
protected void getInstance() {
|
|
adapter= new PR3Adapter();
|
|
}
|
|
</pre>pour ceci:
|
|
<pre style="font-family: monospace;">
|
|
protected void getInstance() {
|
|
adapter = new LnHexFilePort();
|
|
}
|
|
</pre>
|
|
|
|
<p>Modifier la classe d'adaptateur (par exemple PR3Adapter)
|
|
pour enlever l'exemple() de procédure et son
|
|
application.</p>
|
|
|
|
<p>La classe configurexml / ConnectionConfigXml a besoin
|
|
d'avoir une procédure ajoutée:</p>
|
|
<pre style="font-family: monospace;">
|
|
|
|
protected void getInstance(Object object) {
|
|
adapter = ((ConnectionConfig)object).getAdapter();
|
|
}
|
|
</pre>
|
|
|
|
<h3>Gestionnaire et Composants JavaBeans</h3>Pour chaque
|
|
gestionnaire et combinaison de Composants JavaBeans, vous
|
|
devez les mettre à jour pour ne plus utiliser une
|
|
instance () de méthode pour accéder au
|
|
TrafficController. Passer le SystemConnectionMemo au
|
|
gestionnaire pour la durée de construction est une
|
|
approche recommandée, puis, si besoin est en passant
|
|
par les Composants JavaBeans nouvellement
|
|
créés. Qui passe la chaîne de
|
|
préfixe, nom d'utilisateur pour la connexion, etc.
|
|
|
|
<p>Le gestionnaire doit également utiliser le
|
|
préfixe du système au lieu d'une seule lettre
|
|
système fixée. En utilisant par exemple ".
|
|
startsWith (getSystemPrefix () +"T")" est une bonne approche.
|
|
Ne pas juste vérifier que le nom commence par le
|
|
préfixe parce par exemple "L" et "L2" ne sont pas
|
|
univoques.</p>
|
|
|
|
<h3>Menu</h3>Créer un sous-répertoire swing,
|
|
s'il n'existe pas déjà.
|
|
|
|
<p>Placez là le code pour faire le menu , en cas de
|
|
besoin quitter une sous-classe derrière la migration.
|
|
(voir jmri.jmrix.loconet.LocoNetMenu et
|
|
jmri.jmrix.loconet.swing.LocoNetMenu pour un
|
|
modèle)</p>
|
|
|
|
<p>Créer une classe de fabrique ComponentFactory dans
|
|
le souspaquet swing qui peut par exemple créer le
|
|
menu, et, éventuellement, les arbres, etc</p>
|
|
|
|
<p>Modifier jmri.jmrix.ActiveSystemsMenu pour éliminer
|
|
la classe, la création de menu est automatique
|
|
à partir de maintenant. ((Chaque fois que vous
|
|
créer et enregistrer un * SystemConnectionMemo, vous
|
|
enregistrez aussi le ComponentFactory)</p>
|
|
|
|
<h3>Pour garder les actions de démarrage
|
|
actives</h3>(Nous allons bientôt refaire ce code
|
|
bientôt)
|
|
|
|
<p>Pour garder les choses en actions, il est
|
|
préférable de convertir les sous-classes
|
|
JmriPane. Temporairement, la connexion du système est
|
|
alors crééz via l'utilisation de classes
|
|
internes, comme
|
|
jmri.jmrix.loconet.locomon.LocoMonPane$Default Cela demande
|
|
aux gens de réinitialiser leurs
|
|
préférences pour les actions de
|
|
démarrage , boutons, etc Nous n'allons pas les faire
|
|
migrer pour pour eux.</p>
|
|
|
|
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
|
|
</div>
|
|
</div>
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|