Suite

Zone de liste déroulante dans le complément python pour Arc - garder la valeur sélectionnée visible


J'ai un complément python pour Arc à l'aide de l'addin-assistant. Il remplit les valeurs dans une zone de liste déroulante en fonction de la sélection de l'autre. Tout cela fonctionne bien.

Ce que je ne peux pas comprendre, c'est comment garder la chaîne sélectionnée de la première case visible. Voir l'image… Comment faire pour que la zone de liste déroulante « Zoom sur : » affiche la valeur que l'utilisateur sélectionne ?

Je dois manquer quelque chose mais je ne peux pas comprendre ce que je manque ou où le mettre. Code ci-dessous.

import arcpy import pythonaddins class ComboBoxClass7(object): """Implémentation pour arcpythonAddins_addin.combobox_1 (ComboBox)""" def __init__(self): self.items = ["quad", "county"] self.editable = False self. enabled = True self.dropdownWidth = 'WWWWWWWW' self.width = 'WWWWWWWW' def onSelChange(self, selection): combobox.enabled = True global fcName, fcField if selection == "quad": fcName = "quads" fcField = " quad" else: fcName = "counties" fcField = "COUNTYNM" def onEditChange(self, text): pass def onFocus(self, focus): pass def onEnter(self): pass def refresh(self): pass class ComboBoxClass1(object ): """Implémentation pour arcpythonAddins_addin.combobox (ComboBox)""" def __init__(self): self.editable = True self.enabled = False self.dropdownWidth = 'WWWWWWWWWWWW' self.width = 'WWWWWWWWWWW' def onSelChange(self , selection): arcpy.SelectLayerByAttribute_management(layer, "NEW_SELECTION", fcField + "='" + selection + "'") self.df = arcpy.mapping.ListDataFrames(self.mxd)[0] self.df.zo omToSelectedFeatures() arcpy.SelectLayerByAttribute_management(layer, "CLEAR_SELECTION") arcpy.RefreshActiveView() def onEditChange(self, text): pass def onFocus(self, focus): self.mxd = arcpy.mapping.MapDocument('current') global layer layer = arcpy.mapping.ListLayers(self.mxd, fcName)[0] items = [] avec arcpy.da.SearchCursor(layer, [fcField]) comme curseur : pour la ligne dans le curseur : items.append(row[0 ]) self.items = triés(éléments) def onEnter(self): pass def refresh(self): pass

Je n'ai pas testé, mais j'ai remarqué que vous n'utilisez pas la propriété 'value' pour définir la valeur de la zone de texte de la zone de liste déroulante (la valeur affichée) après la sélection de l'élément (onSelChange). Notez la propriété 'value' documentée ici et notez l'utilisation de la méthode 'refresh' recommandée en conjonction avec le changement de propriété :

http://desktop.arcgis.com/en/desktop/latest/guide-books/python-addins/combobox-class.htm

Jason Scheirer montre l'utilisation à son poste ici :

Combobox rafraîchissante du complément Python d'ArcPy ?

Si j'ai lu correctement vos objets, puisque vous appelleriez les fonctions au sein de la même classe (combobox_1), vous pouvez utiliser la notation 'self', comme dans self.value = selection, suivi de self.refresh().


Parce qu'ici vous vous trompez de ligne.

def onSelChange(self, selection): **combobox.enabled = True**

Parce que [combobox] n'est pas défini. Vous supprimez cette ligne, devrait pouvoir s'exécuter. Bien sûr, vous devez changer self.enabled de ComboBoxClass1 en True.

Pour autant que je sache, dans la zone de liste déroulante de la barre d'outils, en obtenir un autre semble plus difficile à contrôler, si vous voulez le faire, vous devez utiliser l'extension de l'addin python.


J'ai en fait essayé, sur la base de la suggestion de TJ dans un commentaire, en définissant simplement le paramètreself.editable=Vraipour la première zone de liste déroulante. Ce changement a permis à la sélection de rester visible dans la première case.

Je n'aurais pas pensé que c'était mon premier choix, car je n'ai pas vraiment besoin qu'il soit éditable (aucune raison pour les utilisateurs de taper quoi que ce soit dans la boîte). Mais là encore, ça ne fait de mal à rien si c'est le cas. Donc si cela permet d'afficher la valeur dans la case, tant mieux.

J'ai essayé la solution de T. Wayne Whitley, mais je n'arrivais toujours pas à obtenir que la valeur reste visible.


Le code de la méthode de rendu représente le composant à un moment donné. Si vous faites quelque chose comme ceci, l'utilisateur ne pourra pas effectuer de sélections à l'aide du contrôle de formulaire :

Il existe donc deux solutions pour travailler avec les champs de formulaires :

  1. Composants contrôlés Utilisez l'état du composant pour refléter les sélections de l'utilisateur. Cela fournit le plus de contrôle, puisque toutes les modifications que vous apportez à l'état seront reflétées dans le rendu du composant :

Composants non contrôlés L'autre option consiste à ne pas contrôler la valeur et à simplement répondre aux événements onChange. Dans ce cas, vous pouvez utiliser la prop defaultValue pour définir une valeur initiale.

Les documents pour cela sont excellents : http://facebook.github.io/react/docs/forms.html et montrent également comment travailler avec plusieurs sélections.

METTRE À JOUR

Une variante de l'option 1 (utilisant un composant contrôlé) consiste à utiliser Redux et React-Redux pour créer un composant de conteneur. Cela implique connect et une fonction mapStateToProps, ce qui est plus facile qu'il n'y paraît mais probablement excessif si vous débutez.

Implémentez votre liste déroulante comme

Maintenant, pour obtenir la valeur de l'option sélectionnée dans le menu déroulant, utilisez simplement :

Utilisez simplement sur le changement événement de l'objet <select>. La valeur sélectionnée est alors dans e.target.value.

En ce qui concerne les développeurs front-end, nous avons souvent affaire aux formulaires dans lesquels nous devons gérer les listes déroulantes et nous devons utiliser la valeur de la liste déroulante sélectionnée pour effectuer une action ou envoyer la valeur sur le serveur, c'est très simple vous avez pour écrire la liste déroulante simple en HTML, mettez simplement la méthode onChange pour la sélection dans la liste déroulante chaque fois que l'utilisateur modifie la valeur de la liste déroulante, définissez cette valeur sur l'état afin que vous puissiez facilement y accéder dans AvFeaturedPlayList 1 rappelez-vous que vous obtiendrez toujours le résultat en tant que valeur d'option et non le texte déroulant qui s'affiche à l'écran

Et vous pouvez le vérifier sur ce site.

C'est aussi simple que ça. Vous avez juste besoin d'utiliser "valeur" attributs au lieu de "valeur par défaut" ou vous pouvez conserver les deux si une fonctionnalité présélectionnée existe.

Dans ce cas, après 4 secondes, la liste déroulante sera automatiquement sélectionnée avec l'option 4.

Utilisation des composants fonctionnels React :

Vous pouvez tout gérer dans la même fonction comme suit

comme vous pouvez le voir, lorsque l'utilisateur sélectionne une option, il définira un état et obtiendra la valeur de l'événement sélectionné sans nécessiter de codage supplémentaire !

Je faisais un menu déroulant pour un sélecteur de langue - mais j'avais besoin du menu déroulant pour afficher la langue actuelle lors du chargement de la page. J'obtiendrais soit ma langue initiale à partir d'un paramètre d'URL example.com?user_language=fr , soit je la détecterais à partir des paramètres du navigateur de l'utilisateur. Ensuite, lorsque l'utilisateur interagit avec la liste déroulante, la langue sélectionnée est mise à jour et la liste déroulante du sélecteur de langue affiche la langue actuellement sélectionnée.

Dans l'esprit des autres réponses utilisant des exemples d'aliments, j'ai obtenu toutes sortes de bienfaits des fruits pour vous.

Tout d'abord, répondre à la question initialement posée avec un composant fonctionnel de base React - deux exemples avec et sans accessoires, puis comment importer le composant ailleurs.

Ensuite, le même exemple - mais enrichi avec Typescript.

Puis une finale bonus - Un composant déroulant de sélection de langue utilisant Typescript.


Installation

Obtenir la dernière version de GenGIS

Téléchargez la dernière version pour les fenêtres ou alors Mac pour commencer à visualiser et à analyser des données dans GenGIS.

Configuration requise

GenGIS a été développé et testé sur les systèmes d'exploitation suivants :

  • les fenêtres (XP, Vista & 7) binaires 32 bits compatibles avec les versions Windows 64 bits.
    • Windows XP requiert le package redistribuable Microsoft Visual C++ 2008 SP1 (x86).

    Version développeur – création à partir du code source

    Le code source de GenGIS est disponible sur la page de téléchargement.


    Créer une collection PowerApp à partir de la source de données de liste SharePoint

    Je suis tombé sur cette question/réponse et d'autres qui, selon moi, n'étaient pas claires. Bien que les instructions soient correctes, la raison pour laquelle vous devez le faire ne l'est pas. Dans PowerApps actuellement, vous devez créer un lien vers une source de données SharePoint et y connecter votre collection avant d'essayer de l'utiliser. Cependant, essayer de le faire sur l'événement OnStart ne remplit pas correctement les choses. Donc, faire quelques étapes temporaires comme indiqué dans la réponse résout le problème.

    Pour créer une variable de collection (ma collection) qui renvoie vers et contient le contenu d'une liste SharePoint (maListeSPL) procédez comme suit :

    1. Dans votre application, ajoutez une source de données à votre application qui se connecte à votre liste SharePoint (par ex. maListeSPL)
    2. Créez une page temporaire avec un bouton dessus.
    3. Modifiez l'action OnSelect de ce bouton pour qu'elle soit : ClearCollect(maCollection,maListeSPL)
    4. Exécutez l'application et cliquez sur ce bouton
    5. Arrêtez l'application et revenez à votre événement OnStart pour votre application principale et mettez à nouveau : EffacerCollect(maCollection,maListeSPL)

    Les étapes 1 à 4 créent une collection qui inclut les champs/données de votre liste SharePoint et lui permet d'être référencée N'IMPORTE O dans votre application correctement. L'étape 5 (ce que vous avez probablement essayé en premier) vous permet de mettre votre liste à jour au démarrage mais ne crée pas réellement la liste de votre application au moment du développement.


    Utilisation d'une entrée de type sélectionné

    Étant donné que cette entrée crée une liste déroulante, elle ne fonctionne qu'avec un nombre limité de valeurs possibles. Pour remplir la liste avec des valeurs, cliquez sur la barre de titre de saisie et saisissez les valeurs dans le champ Tâche d'agrégation champ en cliquant Éditer. Vous pouvez remplir le Sélectionner liste d'entrée de plusieurs manières :

    En entrant une liste fixe de valeurs. Ci-dessous, vous pouvez voir la syntaxe que vous devez utiliser pour remplir la liste avec différentes valeurs :

    Utilisation d'une requête. Ci-dessous, vous pouvez voir comment la requête utilisée dans le Tâche d'agrégation champ de l'entrée récupère les valeurs dans le code d'état colonne.

    Par défaut, vous ne pouvez basculer qu'entre les différentes valeurs que vous avez saisies. Pour désélectionner une valeur et revenir à un état neutre, cliquez simplement sur la liste déroulante et appuyez sur le bouton Esc clé.


    Ajouter un commentaire à une alerte déclenchée

    1. Aller à Alertes → Tableau de bord des alertes.
    2. Dans le Historique des alertes section, ouvrez le menu points de suspension de l'alerte à laquelle vous souhaitez ajouter l'annotation, puis cliquez sur Créer des annotations.

    le Annotations fenêtre apparaît. Entrez un Titre et le texte intégral du commentaire. Sélectionnez le Cette annotation est une tâche case à cocher si vous souhaitez activer l'utilisation d'étiquettes d'état pour contrôler les mesures prises en réponse à l'alerte. Cliquez sur Sauvegarder.

    • Cliquez sur Réponse pour ouvrir un nouveau champ de texte enrichi dans lequel vous pouvez rédiger une réponse au commentaire. Lorsque vous avez terminé de saisir votre réponse, cliquez sur Sauvegarder. Si vous souhaitez également modifier l'état de la tâche, faites-le après avoir enregistré la réponse.
    • Cliquez sur Spectacle pour développer le commentaire et les réponses pour afficher toutes les notes détaillées.
    • Cliquez sur les icônes d'état pour modifier l'état d'une tâche.

    Création d'un graphique exponentiel triple

    Aller à Recherche de données et ouvrez la table requise.

    Effectuez les opérations requises pour obtenir les données que vous souhaitez utiliser dans le graphique.

    Après avoir obtenu les résultats de requête requis, cliquez sur l'icône d'engrenage dans la barre d'outils et sélectionnez Graphiques → Détection d'anomalies → Triple exponentielle .

    Faites glisser les colonnes requises vers leurs champs correspondants. Ce graphique nécessite que vous sélectionniez les champs suivants :

    champs requis

    La description

    Le graphique exponentiel triple s'affiche.


    1. Ouvrez le site avec SharePoint Designer et accédez à votre liste
    2. Ouvrez le "NewForm.aspx"
    3. Déplacez vos colonnes préférées vers le haut

    J'ai trouvé la réponse ailleurs qui ne nécessite pas SharePoint Designer :

    Juste un petit post en réponse à une question que j'ai eu hier : Comment changer l'ordre des champs dans les formulaires d'édition ou d'affichage ?

    1. Aller à la liste
    2. Entrez les paramètres de la liste (à partir du ruban en 2010, à partir des listes déroulantes en 2007)
    3. Cliquez sur Paramètres avancés
    4. Assurez-vous que « autoriser la gestion des types de contenu » est coché
    5. Revenir aux paramètres de la liste
    6. Dans la liste des types de contenu associés à la liste, cliquez sur celui pour lequel vous souhaitez modifier l'ordre des champs (dans les listes qui ont été créées ad hoc, il s'agit généralement d'un élément ou d'un document).
    7. En bas de l'écran apparaît un lien appelé 'Ordre des colonnes'

    Dans la liste, cliquez sur l'onglet Liste sur le ruban Cliquez sur Paramètres de la liste

    Sous l'en-tête Content Types, cliquez sur "Item" (C'est un lien hypertexte cliquable même s'il n'y ressemble pas !)

    Faites défiler vers le bas et cliquez sur "Ordre des colonnes" Mettre à jour la position à partir du numéro supérieur et cliquez sur OK.

    Accédez à vos paramètres de liste et cliquez sur « Classement des colonnes » dans la section Colonnes. Vos ordres de colonnes ne sont pas définis dans les différentes vues, c'est uniquement ainsi qu'ils apparaissent dans la vue elle-même.

    Pour modifier l'ordre affiché dans le formulaire contextuel "Nouvel élément", cliquez sur Liste sous Outils de liste - Cliquez ensuite sur Paramètres de liste sur le ruban à droite - faites défiler jusqu'à la fin des colonnes et cliquez sur "Ordre des colonnes" relier. C'est là que vous réorganisez les articles qui seront affichés en cliquant sur l'icône "Nouvel article". Cela prend en charge la fenêtre contextuelle Nouvel élément. Si vous souhaitez modifier l'ordre affiché dans votre liste normale sur le site SharePoint, cliquez sur l'icône "Modifier la vue" qui se trouve juste en dessous de l'onglet Liste - faites défiler vers le bas et réorganisez la numérotation en fonction de ce que vous voulez voir sur votre écran - puis faites défiler en bas et cliquez sur "OK".

    D'après mon expérience, vous ne pouvez le faire que via Designer. Bonne chance.

    Cette réponse provient de Social.MSDN via TechNet (faites défiler vers le bas pour répondre par Michael_ICS). Il peut être modifié dans l'interface utilisateur, vous n'avez pas besoin d'utiliser Sharepoint Designer. Il s'agit de pirater l'URL de la liste à "formedt" pour accéder à une boîte de dialogue qui vous permet de modifier l'ordre.

    La publication était spécifique aux alertes, mais elle fonctionne également avec les formulaires de liste.

    Question : Il semble que mon option de classement des colonnes ait disparu dans ma vue principale sous Paramètres de liste. Il a disparu de la section sous la liste alphabétique de mes colonnes et avant la section Vues. Est-ce parce que j'ai utilisé InfoPath pour rendre le formulaire sophistiqué ?


    Abstrait

    Cet article décrit les recherches sur la conception, le développement et la visualisation d'un cadastre mixte 2D et 3D. Un schéma a été développé pour accueillir ces données, en prévoyant une composante temporelle. Cet article décrit le schéma, les exigences de visualisation et la fourniture de vues compatibles LADM des données dans le but de développer le prototype cadastral 3D. Un volume important de données cadastrales 2D + t, qui contenaient également des représentations d'empreinte 2D + t de parcelles 3D, est actuellement intégré dans la base de données cadastrale du Queensland. Un nombre modéré d'unités de construction 3D et un plus petit nombre de parcelles volumétriques ont été encodés à la main (à partir des plans d'arpentage) et ajoutés à cette base de données. Le mélange a été diffusé et affiché en KML via Cesium JS.

    La visualisation des parcelles cadastrales en 3D est un défi, car les frontières légales sont, dans de nombreux cas, invisibles dans le monde réel, alors comment représenter correctement quelque chose qui n'est pas visible à nos yeux ? Cet article utilise les résultats de recherches portant sur les problèmes d'occlusion et de perception ambiguë (en termes de position, de taille et de forme) d'objets dans le cadre de la visualisation 3D du cadastre. L'exploration de techniques d'interaction spécifiques est essentielle pour surmonter ces problèmes. Après un premier test d'utilisabilité interne (avec des collègues/amis des développeurs), notre prototype de diffusion Web Cadastres 3D a été amélioré. Ensuite, un test d'utilisabilité publique est effectué pour obtenir les commentaires de différents groupes d'utilisateurs professionnels (juridique, enquête, TIC). Pendant le test, les utilisateurs sont invités à effectuer une série de tâches typiques des systèmes cadastraux. Chaque tâche est accompagnée d'une description pour donner aux utilisateurs un certain contexte. Ensuite, chaque utilisateur est invité à réfléchir sur son expérience. Dans cet article, nous présentons les principaux résultats du test d'utilisabilité publique du prototype de diffusion Web Cadastres 3D.


    Travailler avec des graphiques de forêts de coupe aléatoire robustes

    L'analyse des données effectuée par ce graphique peut être divisée en deux phases : formation et évaluation.

    Les points utilisés pour s'entraîner sont ceux inclus sous la bande verte, qui peuvent être modifiés en faisant glisser la bande ou en utilisant les options en haut du graphique, comme expliqué ci-dessous. Tout ce qui ne fait pas partie de la formation est la partie qui sera évaluée par l'algorithme. Après avoir entraîné une partie des données dans une série spécifiée, le graphique prédit les anomalies potentielles et les indiquera sous forme de points rouges.

    Il est conseillé, dans la mesure du possible, d'éviter d'inclure des points anormaux visibles dans l'ensemble de formation.

    Après avoir sélectionné la période souhaitée, cliquez sur le bouton Former bouton pour obtenir les résultats.

    Vous pouvez configurer les options suivantes en haut de la fenêtre du graphique :

    Correspond au nombre de points de la fenêtre glissante. La fenêtre glissante est utilisée pour convertir une variable univariée en une variable multivariée. La valeur par défaut est 1.

    Ce paramètre contrôle la vitesse à laquelle l'algorithme va s'adapter et apprendre les changements dans le flux de données entrant. Un bardeau bas (fenêtre glissante courte) signifie que l'algorithme est plus flexible face aux modifications, oublie les données plus anciennes plus rapidement et a tendance à apprendre les modifications rapidement. D'un autre côté, une valeur de bardeau élevée ne s'adaptera pas rapidement aux changements et se souviendra plus longtemps de l'ancien comportement. Il faut trouver le bon équilibre entre la flexibilité dans la détection des changements de données (anomalies) et la tendance indésirable à apprendre trop rapidement les anomalies et donc à ne pas les détecter comme telles à l'avenir.

    La valeur du bardeau est en quelque sorte équivalente à la notion de période et elle est souvent choisie comme un multiple de la période.

    Nombre d'arbres

    Un nombre plus élevé d'arbres conduit à de meilleurs résultats d'estimation. Cependant, l'amélioration diminue à mesure que le nombre d'arbres augmente, en d'autres termes, à un certain point, le bénéfice en performances de prédiction de l'apprentissage de plus d'arbres sera inférieur au coût en temps de calcul pour l'apprentissage de ces arbres supplémentaires. La valeur par défaut est 40.

    Une taille d'arbre plus élevée améliore la capacité à en savoir plus sur les données. Comme avec le Nombre d'arbres paramètre, à un certain point, le coût en temps de calcul augmentera considérablement. La valeur par défaut est 256.

    Âge attendu auquel un point d'échantillonnage aléatoire devrait expirer et être remplacé par un arbre. Il est utilisé pour calculer le facteur de décroissance interne, qui est de 1/temps de décroissance. Elle doit être supérieure ou égale à la taille de l'arbre. La valeur par défaut est 256.

    Points d'inizialite

    Cette valeur peut également être modifiée en faisant glisser la bande vert clair. La valeur par défaut est 100.

    Gardez à l'esprit que vous risquez de ne pas obtenir de résultats corrects si vous entrez une valeur faible dans ce paramètre, car l'algorithme ne serait pas en mesure d'apprendre suffisamment. Cependant, indiquer la plage la plus large possible peut également être dangereux, car cela peut entraîner un surapprentissage.

    Limite du score de l'algorithme à partir duquel les points sont considérés comme des anomalies. Après avoir entraîné le modèle, vous pouvez mettre à jour le seuil en cliquant sur le bouton Seuil de mise à jour à côté de cette option ou en faisant glisser la ligne horizontale rouge. La valeur par défaut est 10.

    Le seuil est une valeur constante qui décide à quel point vous voulez que votre système soit strict avec les anomalies qu'il produit.En augmentant le seuil, le graphique ne détectera que des anomalies très nettes. Ceci est utile dans les situations où seuls les points de données extrêmement étranges sont importants et où les ambiguïtés peuvent être rejetées. En revanche, si le seuil est défini sur une valeur faible, chaque point qui diffère légèrement de la normalité sera une anomalie. C'est souvent le cas lorsque de minuscules variations sont d'une extrême importance (par exemple, imaginez des anomalies sur une certaine quantité qui provoquent une maladie mortelle). Dans ce cas, même si de nombreux faux positifs seront produits, on préférera saisir chaque point qui est différent dans n'importe quel aspect. Cette quantité est différente dans chaque série, c'est pourquoi une compréhension approfondie du problème sous-jacent est nécessaire avant de définir cette valeur.

    Vous pouvez effectuer un zoom avant sur des parties spécifiques de la série en cliquant sur un point dans le graphique supérieur et en faisant glisser jusqu'au point de fin requis. Vous pouvez également utiliser les curseurs du graphique inférieur pour spécifier la partie requise de la série. Pour revenir au zoom par défaut, replacez les curseurs au début et à la fin du graphique inférieur ou cliquez sur le bouton Tout bouton dans le Zoom surface.


    XSCHEM

    dans les noms de nœuds (opérateur d'inversion XSPICE) - correspond à l'intégration avec ce qui est mis à jour dans verilog_timescale.sym : "verilog_preprocessor et verilog_timescale utilisent maintenant verilog_format au lieu de format (qui est pour spice)" - si les chaînes passées à translate() sont incluses dans tcleval(. ) la chaîne traduite est transmise à tcl pour évaluation. Cela permet d'afficher les résultats de la formule pour les symboles, par exemple les valeurs de capacité basées sur W et L : tcleval(C=[ expr @ca * @L * @W ]) --> tcl remplacera la valeur calculée : C=1.234e- 14 - refactoring de code (contexte global dans Xschem_ctx) - lors de la mise en réseau d'éléments primitifs (pas de sous-circuits) le "format", "verilog_format", "vhdl_format, "tedax_format" peut être spécifié dans les attributs d'instance pour remplacer le symbole. Cela permet d'adapter les primitives ( exemple de cellules standard numériques) à différents kits de conception sans utiliser de sous-circuits wrapper. Avec la redéfinition de "symname" dans l'instance, cela permet de personnaliser complètement la liste des éléments. - verilog_preprocessor et verilog_timescale utilisent désormais verilog_format au lieu du format (qui est pour spice), corrigé verilog_netlist. c une meilleure barre oblique inverse et guillemets (") s'échappant et ne s'échappant pas lors de l'utilisation de la liste déroulante de sélection d'attributs pour supprimer les guillemets, utilisez "xschem get_tok tok 2" au lieu de "xschem get_tok tok 0" + regsub . (supprimer les barres obliques inverses). - permet de sonder le courant dans les sources de tension en plus des ampèremètres - "Option->Show info win" déplacé vers "View->Show ERC info window" - Conserver le texte existant (notamment les informations de licence) dans les fichiers xschem sous la version "v" en baliser certains refactorisation du code, suppression des commentaires obsolètes - ajout de la prise en charge de la sonde des formes d'onde dans gaw si le fichier brut écrit par Xyce Xyce utilise des majuscules, n'enveloppe pas les nœuds de tension dans V(. ). utilise ":" au lieu de "." comme séparateur de hiérarchie et autres bizarreries. - quelques clarifications sur les étapes à suivre pour simuler un exemple de circuit rom8k - correction du chemin hiérarchique pour les sondes de courant à gaw - meilleure mise à l'échelle du zoom de la bulle de connexion des fils à différents niveaux d'accrochage - ajout de vsqsource, générateur de source d'onde carrée, avec seulement "hi" et "freq " en tant que paramètres - dessinez correctement les étiquettes / épingles de réseau lorsqu'elles sont mises en surbrillance et que l'utilisateur modifie leur attribut de laboratoire afin qu'elles ne soient plus mises en évidence - avertissements ajoutés (Options -> Afficher la fenêtre d'informations) s'il manque un nom =. attribut / s'il manque des symboles un type=. attribut - correction de la reconnaissance erronée d'instance fendue (confondre U2[3:0] avec U3:2) dans translate(), brisant dans certains cas la fonctionnalité "ajouter un nom de réseau sur la broche d'instance" - un calcul de cadre de délimitation plus précis pour les reflets nets (sera étendre la bbox pour couvrir les fils (bus) larges et les points de soudure) afin qu'il n'y ait plus de points de connexion "demi-colorés", etc. - L'attribut "@#n:net_name" (n = nom ou numéro de broche) dans les symboles se traduit par le nom du réseau attaché à la broche. Composant "lab_show.sym" qui affiche (n'attribue pas) le nom de réseau. L'attribut "highlight=true" peut être donné sur les instances en plus des symboles. Définir le nom de fichier dans l'historique récent également lorsqu'il est donné sur la ligne de commande. - enregistrer les composants intégrés non seulement sur la première instance intégrée, mais sur chacun d'entre eux. Cela rend le rechargement plus facile et l'ensemble beaucoup plus simple. Dans le schéma LCC, autorisez get_sym_type() à lire les données de symboles à partir des balises intégrées suivantes "[. ]" le cas échéant. Correction d'une erreur de segmentation potentielle dans preview_window() - meilleure read_line() : gérer les EOF non-expliqués (dernières lignes de noeol) - complètement éliminé les appels match_symbol() (qui à son tour peuvent appeler load_sym_def() ) depuis load_sym_def(), même pour aligner la broche schématique LCC ordre de symbole. Un "align_sch_pins_with_sym()" dédié avec "get_sym_type()" fait le travail en O(N) au lieu d'utiliser une routine de tri. - déchargement de certaines fonctions de load_sym_def() pour le rendre plus petit, éviter les appels récursifs excessifs à load_sym_def() pour obtenir uniquement le type d'un composant dans les instances schématiques LCC. - La commande Alt-b fait basculer la vue de la boîte englobante : 0 : tout afficher, 1 : la vue bbox pour les sous-circuits, 2 : la vue bbox pour tous les symboles. - correction de la terminaison non gracieuse de load_sym_def() en cas de schémas récursifs s'instanciant. Il n'était pas autorisé à dérouler tous les niveaux hiérarchiques en nettoyant la mémoire allouée après avoir émis l'avertissement max-hierarchy. - correction du calcul inexact de la distance souris-arc pour les sélections - ajout du hook gtkwave_server.tcl pour que gtkwave écoute un port tcp - Correction de quelques défauts dans les procédures execute/execute_wait/simulate (le bouton Simuler n'était pas effacé après une simulation de premier plan) - ajout d'attributs " weight=bold", "slant=italic", "slant=oblique" sur les objets texte pour les textes en gras/italique/oblique, mises à jour de la doc. - capslock et numlock status détectent et rapportent dans la barre d'état - commande "xschem hilight_netname" pour mettre en évidence un nom de réseau spécifique, "xschem search exact . " trouve des instances spécifiques d'instances vectorielles, la procédure "probe_net" descend dans la bonne instance de bus et met en évidence la bonne net bit, ajout de "xschem display_hilights" pour renvoyer tous les réseaux en surbrillance dans la hiérarchie, ajout de la procédure "gaw_cmd" pour envoyer des commandes de socket à gaw (comme "gaw_cmd reload_all") (commande récemment ajoutée à gaw ttg) - make "ctrl-[0 Les commandes -9]" fonctionnent à nouveau (changer de couche) - Lors du chargement/de la descente dans un jeu de symboles netlist_type sur CAD_SYMBOL_ATTRS, revenez à la valeur précédente lorsque vous avez terminé. - La procédure Tcl "load_file_dialog" est maintenant également utilisée pour sauvegarder les fichiers (donc la liste des bibliothèques xschem définies est disponible ainsi que la fenêtre de prévisualisation). - éliminé toute différence entre les fichiers SYMBOL et SCHEMATIC. Il n'y a plus de variable "current_type". Les symboles qui avaient des règles de netlisting définies dans schvhdlprop ont maintenant ces attributs dans schsymbolprop. Les anciens fichiers de symboles avec schvhdlprop seront enregistrés avec les règles de netlisting dans schsymbolprop. - Apportez les boîtes de dialogue ouvertes toujours au-dessus de la fenêtre principale de xschem si l'utilisateur clique sur la barre de titre sur les DM gnome/metacity - autorisez '@' dans les noms de réseau car cela est parfois utilisé dans les listes d'interconnexions CDL / backannotées. - activer l'attribut "bus=true" pour les lignes ainsi que pour les fils. Comme effet secondaire, les schémas LCC avec des fils en bus afficheront des bus épais - ajout de la commande <Alt-b> (menu Symbole->Afficher uniquement les boîtes englobantes d'instance) pour basculer l'affichage des détails de l'instance / uniquement la boîte englobante. - ajout de l'attribut "dash=n" (n=integer) pour les lignes, polygones, rectangles, arcs pour définir le style de ligne en pointillé. n est la longueur du tiret en pixels. - les attributs verilog_ignore, spice_ignore, vhdl_ignore sur les broches schématiques sont propagés aux attributs de broche de symbole (si vous utilisez make symbol à partir du schéma, sinon propagez à la main). Ces broches ne sont pas répertoriées dans le format netlist respectif - option -b pour détacher xschem du terminal - les versions NO_CAIRO utilisent également l'attribut 'layer=' pour afficher du texte sur des calques personnalisés. - les exports pdf et svg suivent le tableau enable_layer[] pour afficher/masquer les calques comme draw() - Fonction LCC (Local Custom Cell) : les schémas (.sch) peuvent être instanciés comme les fichiers de symboles (.sym) dans un schéma parent . - Ouvrir l'entrée de menu Récent pour ouvrir rapidement les fichiers modifiés/enregistrés récents. - lors de la descente dans des instances vectorielles (exemple : x1[7:0]) demander dans quelle instance descendre (exemple : x1[2]). Ceci est nécessaire pour construire correctement les chemins hiérarchiques et pour envoyer des noms de signaux corrects aux visualiseurs de formes d'onde Spice. Cela permet également de suivre des bits uniques de signaux bus à travers la hiérarchie. - L'attribut de symbole @symname affichera le nom du symbole sans extension comme c'était le cas dans les versions précédentes. @symname_ext affichera le nom racine complet du symbole. Certaines mises à jour de la documentation sur les attributs des symboles - modification des procs tcl abs_sym_path et rel_sym_path, maintenant le vrai nom de fichier du symbole est obtenu en ajoutant l'un des chemins XSCHEM_LIBRARY_PATH jusqu'à ce que le symbole soit trouvé. Cela permet plus d'un niveau de répertoire dans les références de symboles. - lors de la copie d'un symbole avec la boîte de dialogue edit_property (touche "q") et de l'activation de "Copier la cellule" si un nom de chemin relatif est fourni pour le nouveau symbole, il héritera du même préfixe de chemin que le symbole d'origine. - la boîte de dialogue d'édition de la propriété a un sélecteur de jeton (combobox en argot tk), donc si un jeton spécifique est défini, l'édition de texte sera limitée à cette valeur de jeton au lieu de la chaîne d'attribut entière. - les entrées d'accrochage et de grille dans la fenêtre principale ne recevront pas le focus clavier avec la touche TAB - les attributs de texte implémentés "hcenter=true" (centrer le texte dans le sens de la lecture) et "vcenter=true" (centrer le texte dans le sens perpendiculaire au sens de lecture). Ceux-ci peuvent tous deux être définis pour un bloc de texte entièrement centré. 2.9.7 - stocker les fils de symboles (le cas échéant) sous forme de lignes Instdef sur le calque WIRELAYER (1) afin qu'ils soient visibles lorsque les instances sont placées. - netlister spice : si ".param m=10 n=5" est donné et que le nom de l'instance "R1[m:n]" est présent, résolvez les paramètres et remplacez le nom de l'instance par R1[10],R1[9]. R1[5]. - Correction : la fonction zoom_box appelée à partir du menu était cassée - tcl proc probe_net : si <path>.netxxx est donné où xxx=numéro, essayez d'abord la sonde netxxx, si aucun réseau n'est trouvé, essayez #netxxx - chargez d'abord xschemrc à l'échelle du système, puis $PWD /xschemrc ou

    /.xschem/xschemrc L'utilisateur xschemrc ajoute à xschemrc à l'échelle du système au lieu de le remplacer. - verilog_netlist : utilisez le nom "top_schematic.sym" de "top_schematic.sch" avant d'appeler load_symbol_definition pour la liste des paramètres verilog autoriser les guillemets échappés dans le texte - autoriser .subckt ainsi que .model dans l'attribut device_model, même avec un nom de modèle/subckt identique - l'attribut "device_model" défini dans le symbole ou l'instance de symbole peut être défini sur une spécification SPICE .model (device_model=". modèle D1N4148 D."). Ce modèle ne sera imprimé qu'une seule fois par composant à la fin de la netlist. - "xschem clear SCHEMATIC" définit de manière incorrecte le nom du fichier untitled.sym. Merci à Neil Johnson d'avoir signalé le problème - ajout de l'option de ligne de commande --tcp_port - ajout (facultatif) d'un serveur tcp pouvant être utilisé pour accepter des commandes d'autres applications (backannotation, cross-probing) - ajout d'un didacticiel vidéo sur le cross-probing dans GAW - ajout de "Simulation->Envoyer les réseaux en surbrillance à GAW (Alt-G)" pour sonder les réseaux xschem dans une fenêtre gaw ouverte à l'aide des commandes de socket gaw ttg. - variable dircolor (tableau associatif) dans xschemrc pour définir des couleurs personnalisées définies par l'utilisateur pour les bibliothèques de composants/schémas xschem : "set dircolor(path_regex) color" - filtre global (all, .sym, .sch) dans la boîte de dialogue d'ouverture de fichier. - création de la commande "Simulation->Create ngspice xplot probe file", cela crée un script xplot pour ngspice avec des formes d'onde de la même couleur que les signaux xschem mis en évidence. Correction d'un problème dans verilog_netlist.c n'écrivant pas les blocs "---- begin/end user architecture code" si architecture utilisateur vide. Cela confond le post-processeur verilog.awk. ajout de l'exemple verilog logic/ram_tb.sch. 2.9.6 - arcs/cercles remplis dans les exportations svg et pdf - correction d'une erreur de segmentation lors de la sélection d'un polygone sur la couche x près du cercle sur la couche y : retour incorrect du polygone sur la couche y - attribut fill=true pour les arcs/cercles, comme pour les polygones - ajouter "--script <tcl_file>" pour permettre l'exécution d'un script tcl à partir de cmdline - autoriser une netlist plate avec l'indicateur LVS défini - correction d'un bug de plantage : recherchez l'attribut "name=" manquant sur les broches de symbole dans sym_vs_sch_pins() - séparez "spiceprefix" et " toplevel est un sous-circuit", déplacez-vous dans le menu Simulation - Dans load_file_dialog(), lorsque le panneau LHS est root, descendre sur le panneau RHS ne devrait pas ajouter un / pour le nouveau nom de répertoire (applicable à la fois à Linux et à Windows) - catch open filename doit être entre guillemets pour gérer le nom de fichier de la fenêtre avec des espaces - @spiceprefix ajouté devant @name dans nmos4.sym, pmos4.sym, pmos.sym et nmos.sym dans devices/ - correction du conflit dans la variable de boucle dans sym_vs_sch_pins ( ) - meilleure vérification erc : vérification des broches sch_vs_sym en plus de sym_vs_sc h - les fenêtres de fusion se transforment en xschem.tcl - le postprocesseur vhdl : ajoutez _vector sur les réseaux des bus uniquement si le type booléen, entier, réel, bit ou std_logic. Ne pas ajouter pour tout autre type défini par l'utilisateur - netlister vhdl : ne pas déclarer les signaux de champ d'enregistrement (signal mysig.myfield), imprimer la déclaration de composant pour les symboles avec type=primitive - Code de portage Windows ajouté. 2.9.5 - Évitez d'imprimer les violations erc (open net et autres) pour les nœuds globaux, car elles sont résolues en dehors de la portée schématique actuelle - @spiceprefix peut être ajouté devant @name dans la chaîne de format de symbole pour changer le préfixe pour les simulations de périphérique spice. Ce préfixe n'est pas utilisé si la netlist LVS est activée - Ajout d'entrées de menu de symboles pour créer des étiquettes / épingles ou imprimer des filets de surbrillance - avertissements lors de l'ouverture d'un fichier non xschem ou du placement d'un fichier non symbole. - rawtovcd : option -v <voltage> pour numériser toutes les variables analogiques en numérique (vth=3/4 voltage, vtl=1/4 voltage) - entrée de menu pour envelopper le niveau supérieur dans .subckt / .ends (spice netlists) - tutoriels vidéo ajoutés - Ajout du lancement du simulateur xyce - Afficher infowindow (erc, avertissements, etc.) au démarrage si show_infowindow défini dans le fichier de configuration - Commande Alt-p pour placer une broche de symbole - Alt-l ou Shift-Alt-l pour placer une étiquette de réseau schématique - Hilight symboles de sous-circuit pendant la netlist s'il y a une incompatibilité de broche avec le schéma sous-jacent - diapositives de présentation Xschem pour la conférence F-Si. - meilleur tk_exec : collecte l'état de sortie des processus d'arrière-plan de spawn via un événement de fichier de canal asynchrone - nouveau framework 'simconf' : toutes les liaisons aux simulateurs/outils externes sont définies dans un fichier 'simrc' décident quel simulateur/visualiseur utiliser, ajoutez ou modifiez les options de commande . Aucun outil/chemin n'est désormais codé en dur dans les fichiers principaux. - Ajout des attributs 'vhdl_primitive', 'verilog_primitive', 'spice_primitive' pour les symboles. Si l'un de ces éléments est défini sur true, le netlister correspondant ignorera complètement la définition du symbole (pas d''entité/composant' pour VHDL, pas de 'module' pour verilog, pas de '.subckt' pour spice) et n'imprimera dans la netlist que les éléments spécifiés dans 'vhdl_format', 'verilog_format' ou 'format' respectivement. - élever les dialogues de niveau supérieur au-dessus de la zone de dessin xschem, pas au-dessus de tout - test heuristique ajouté dans le code de prévisualisation pour décider si le fichier est un format xschem valide (donc la prévisualisation est également possible sur les anciens formats xschem) - préserver le nom de l'instance jusqu'à l'index numérique lors de la copie des instances et 'Autoriser les noms d'instances dupliqués' n'est pas actif : DIODE1 --> DIODE2 au lieu de D2 - a éliminé de nombreux artefacts graphiques dus au texte AA. - Mieux aligner le texte nocairo avec le texte cairo pour des tracés pdf / svg plus cohérents. - gschemtoxschem.awk importe les schémas / symboles gschem tous les exemples de circuits gschem et tous les gedasymbols.org (1289 symboles) traduits en xschem - la suppression des attributs de bloc fonctionne (aucune clé SUPPRIMER spéciale n'est plus nécessaire) - ne remplissez pas la chaîne d'attribut à partir du modèle de symbole si elle est vide quand modification des attributs de symbole. - choisissez les références du modèle de symbole lors de la mise en réseau si elles sont manquantes dans les attributs d'instance. - clé par défaut pour le plein écran définie sur '' - numéros d'identification remapables sur les symboles créés par symgen.awk, saisie semi-automatique tclreadline désactivée, utilisez uniquement la valeur par défaut (extension de fichier). - autoriser des noms de broches plus exotiques dans les symboles (barres obliques, chiffres de tête, etc.) - ajouter des lignes comptag pour des attributs de valeur-clé supplémentaires dans la netlist tedax - l'attribut lock=true rend le composant non sélectionnable (bon pour le titre de la page) les composants verrouillés peuvent être déverrouillés par la droite en cliquant dessus (pour afficher le formulaire d'édition d'attribut) et en supprimant ou en modifiant l'attribut lock=true - fenêtre de prévisualisation lors de l'ouverture de fichiers - insertion de composants. - ajouter l'option de commande --tcl pour exécuter les commandes tcl avant - ngspice raw file to vcd converter afin que gtkwave puisse être utilisé pour les sims analogiques - le navigateur de fichiers est une fenêtre à volets (gauche : répertoires, droite : fichiers). Mémorisez la taille de la fenêtre et la position du volet à travers les appels. - les symboles nouvellement insérés commencent maintenant immédiatement à suivre la souris - les périphériques/symboles ont été modifiés en mettant tous les textes de numérotation sur la couche 13 afin qu'ils puissent être désactivés 2.9.5_RC1 - ajout de commentaires dans xschemrc pour les nouvelles options disponibles (tk_scaling et enable_layer() ) - ouverture de la boîte de dialogue de fichier : meilleur dimensionnement des fenêtres panedwindow - Nouvelle entrée de menu View->symbol calques visibles, peut être utilisée pour désactiver certains calques (exemple: épingler les boîtes rouges) - La variable tk_scaling tcl peut être définie dans xschemrc pour modifier la mise à l'échelle par défaut des polices en fonction du paramètre dpi, utiliser une valeur légèrement inférieure ou supérieure à 1,0 - extension eeschema : autoriser DQ[31..0..X] à étendre un bit sur X : DQ[7..0..2] --> DQ7,DQ5,DQ3 ,DQ1 - corrige, met en surbrillance les instances si l'attribut 'highlight' est défini sur true dans sym - les symboles avec l'attribut global 'highlight=true' seront mis en surbrillance lorsque l'un des réseaux attachés est mis en surbrillance. Utilisé pour les éventreurs de bus. - CORRECTIF : bug de longue date dans le calcul de bbox qui pouvait laisser des ordures à l'écran - La nouvelle notation de bus de type eeschema DATA[0..3] s'étend à DATA0,DATA1,DATA2,DATA3, cela diffère de la notation standard xschem DATA[0 :3] qui se développe en DATA[0],DATA[1],DATA[2],DATA[3] Notations complexes autorisées comme DATA[0..3],2*DATA[7..4],CS,CLK ,RST,VCC * 3 pour les bundles funky - meilleure forme de connecteur de bus - meilleure netlist tedax (gérer les espaces échappés dans refdes) - Dessin de bus amélioré (meilleure mise à l'échelle du zoom) - faire pivoter / retourner plusieurs instances sélectionnées en place autour des points d'ancrage. (Alt-R, Alt-F) - Fonction « Rechercher et sélectionner » activée pour les lignes et les rectangles en plus des instances/réseaux. - ajout de l'installation de symgen.awk, la touche Echap réactive le rafraîchissement de l'écran si, pour une raison quelconque, no_draw était défini sur 0 - ajout de l'annotation arrière ngspice du point de fonctionnement dans le schéma - des exemples de circuits fixes, certains symboles ont été dévissés. - ajouter 'xschem getprop instance_pin <instname> <pin_name> <pin_attr>' pour rapporter les attributs des broches. - symgen.awk : options --auto_pinnumber et --hide_pinnumber, divers correctifs cosmétiques mineurs mis à jour le didacticiel symben en conséquence - Page du didacticiel sur symgen.awk de xschem - symgen.awk : traite les fichiers djboxsym .symdef (avec quelques extensions) pour produire des symboles xschem - L'attribut global=1 dans les symboles de broches globales (vdd.sym, gnd.sym) a été remplacé par global=true. - meilleure vérification de la mémoire en mode débogage pour découvrir les fuites/pointeurs périmés, - correction d'un bug de plantage si l'utilisateur supprime l'attribut 'lab=' d'une étiquette.Si cela se produit, obtenez l'attribut de laboratoire de la chaîne de modèle dans le symbole - schémas de test pour les tests XSPICE (ngspice) - symboles enregistrés. Mises à jour de fichiers (version 1.1) - Meilleure substitution de token : @tokenlabla backslash peut être utilisé pour indiquer la fin du token à remplacer si aucun séparateur ne peut être utilisé. mises à jour de la documentation (nouveaux attributs) - toutes les fonctions pour créer des épingles à partir des réseaux de surbrillance, créer un schéma à partir du symbole, attacher des étiquettes à l'instance fonctionnent désormais en mode de référence de bibliothèque indirecte (devics/ipin.sym) et en mode de référence directe (ipin.sym) - correction d'un bug dans search_inst() où les fils étaient recherchés par correspondance de sous-chaîne au lieu d'une correspondance exacte d'étiquette. - implémenter 'select_connected_nets' dans les rapports d'événements - nouvelle commande 'Alt-K' pour sélectionner tous les réseaux attachés (ou avec la même étiquette) à ceux sélectionnés. - plus de commandes ajoutées au mode de rapport d'événements (--events) - création d'un nouveau symbole netlist_options.sym dans devices/ cela sera utilisé pour définir les options de netlisting. prend actuellement en charge l'attribut bus_replacement_char pour modifier les caractères d'indice ([], <>) pour les signaux des bus. exemple : place netlist_options.sym, définissez l'attribut : bus_replacement_char="xx" pour éviter les index de signaux entre crochets - nettoyages des primitives logiques et xspice - ajout de dac_bridge aux primitives XSPICE (NGSPICE <-->XSPICE logic Interface) - nand gate (nd2.sym) fonctionne sans schéma dans les 3 modes de netlisting de circuit. - utilisez 'bus_replacement_char' spécifié dans xschemrc uniquement pour la mise en ligne des épices, car VHDL et Verilog fonctionnent très bien avec la notation de bus xschem standard. - logic/test_ngspice.sch montrant pour la première fois une porte numérique (NAND) simulée dans NGSPICE en utilisant le sous-système numérique XSPICE. Cela permet de simuler le même circuit en Verilog, VHDL et NGSPICE sans aucune modification. - correction de la régression provoquant une erreur de segmentation introduite dans netlist.c à la révision 273. (sélection lorsque des symboles avec des broches vhdl génériques sont présents) - ajout d'une source comportementale ngspice - ajout de primitives XSPICE - commencer à implémenter les primitives numériques ngspice à l'aide du sous-système XSPICE - ajouter la variable xschemrc bus_replacement_char à modifier la notation par défaut des crochets pour les signaux d'épice par bus : DATA[7] --> DATA<7>, en ajoutant : 'set bus_replacement_char <<>>in xschemrc - modifications de la bibliothèque de symboles d'échantillons logiques - ajout d'un registre de largeur arbitraire à la bibliothèque d'échantillons logiques, fonctionne en VHDL et Verilog. - meilleure heuristique de chemin relatif/absolu, exemples de corrections mineures de schémas - ajout d'un modèle de ram (vhdl et verilog) à la bibliothèque logique - corrections dans le post-processeur vhdl pour les types std_logic_vector initialisés (mettre les guillemets corrects) - ajouts dans la logique/bibliothèque - ajout de la bibliothèque logique avec quelques portes simples qui fonctionnent à la fois dans les sims verilog et VHDL - Encore incomplet mais fonctionnel. - éviter de lister les paramètres 'temps' vhdl (génériques en argot vhdl) lors de la création de netlists verilog. - Correction d'un bug de plantage lors de la création de netlists ( unselect_all() fait après remove_symbols() ) - Ajout d'un tutoriel sur la notation de bus - évite l'invocation réentrante de 'Place symbol' via le menu. - DOC - ajout d'un didacticiel sur les chemins de la bibliothèque de symboles - améliorations du sélecteur de fichier de chargement, quelques correctifs lors de la résolution des bibliothèques à liens symboliques 2.9.2 - Correction d'un petit bug divers de 2.9.1 2.9.1 - export png / svg / pdf: demander la boîte de dialogue du nom de fichier - modifier la boîte de dialogue de propriété sur le symbole sélectionné affiche le répertoire absolu d'où proviennent les symboles - plus de définitions de keysym (Insert, Delete, F1-F12) à utiliser dans le tableau replace_key pour une combinaison de touches personnalisée - meilleure gestion des chemins relatifs / absolus - liste de broches personnalisée (@@pin1 @ @pin3 @@pin2) peut également être utilisé pour les symboles avec le schéma associé (type=sous-circuit) - commandes de contrôle xschem à distance et rapport d'événements (option ---events) cela sera utilisé pour l'intégration d'outils de backannotation / tiers 2.9.0 - 1.1 format de fichier autorisant les noms de symboles sans '.sym' implicite Journal des modifications détaillé : - nom du symbole du modèle défini sur x1 au lieu de x0 (les sous-circuits nouvellement placés seront nommés x1, x2, . au lieu de x0, x1, . ). - préparer instdef[].flags pour des drapeaux supplémentaires (pas seulement le drapeau EMBEDDED) - mettre à jour le nom de fichier affiché dans la ligne d'état après un "enregistrer sous" - Correction - modifier dans une nouvelle fenêtre (alt-E) vue de symbole ouverte par erreur - corriger le changement de symbole non détecté (proc edit_prop) - correction de la propriété du symbole d'édition, le symbole a été signalé comme modifié même si aucune modification n'a été apportée - démarrage des fonctionnalités de rapport d'événements - exemples de fichiers migrés vers un nouveau format - index mis à jour - distant 'xschem saveas filename' - scheleton pour xschem remote documents de contrôle - ajout de 'xschem zoom_selected' et 'xschem zoom_hilighted' pour se concentrer sur la sélection ou les réseaux/insts sondés - ajout de 'xschem zoom_box x1 y1 x2 y2 magfactor' - Diverses corrections de régression introduites depuis la fusion des 'noms de fichiers' - génération automatique de schémas à partir du symbole - génération de broches/étiquettes à partir de réseaux en surbrillance - nettoyages dans l'interface de requête xschem tcl - cellule :: préfixe (remplaçant l'ancienne cellule__) utilisé pour interroger les attributs de symbole (exemple cellule :: modèle) - fonction de recherche xschem : recherche exacte ou recherche regex h (exact remplace la recherche de sous-chaîne) lors d'une sélection, il n'y a plus de surbrillance implicite - correctif : add_ext() a incorrectement recherché la première occurrence de '.' au lieu du dernier - attach_labels_to_inst () mis à jour vers un nouveau schéma de nommage des symboles (vrai nom de l'étiquette avec l'extension .eym) - correction de régression - mettre en évidence les réseaux parents lorsque le retour de la hiérarchie était rompu. - [scconfig] -Ajouter : activez xcb uniquement si cairo-xcb est également détecté - proc edit_prop, corrigez l'affectation des variables de symbole - imprimez correctement le chemin relatif (par rapport à XSCHEM_DESIGN_PATH) du schéma actuel dans la barre d'état/symbole de titre/titre de la fenêtre. - changer le nom du symbole avec la propriété d'édition + copier le fichier n'assume désormais plus l'extension .sym, l'attribut "schematic" dans le symbole indique quel schéma charger lors de la descente, par opposition au symname.sym par défaut - [scconfig] -Tune : aligner les textes d'aide - [scconfig] -Ajouter : inclure l'aide générique de scconfig - Correction : C n'autorise pas l'indentation avant les jetons du préprocesseur - correction descendre au symbole - fusionnée dans les branches/noms de fichiers --> 1.1 format de fichier - mises à jour de la doc (faq) - correction des numéros de révision, commentaires sur certaines options xschemrc, - certaines configurations par défaut ont été modifiées (appliquer des références différentes sur les composants placés, ne pas afficher le sélecteur de liste de répertoires lors de l'ajout de composants, aller directement avec le sélecteur de fichier). - meilleure correspondance opin / iopin regex - Compatibilité - citation < et > dans les expressions régulières car ce sont des métacaractères - make_sym.awk: corrige le modèle schématique de regex de broche, lorsque .sym est enregistré pour les références de broche. Merci à Curt d'avoir signalé le problème - les entrées de menu Undo/Redo Edit activées 2.8.4 use_list_dirs peuvent être définies dans xschemrc pour activer ou désactiver le répertoire afin d'éviter d'imprimer spice_ignore, tedax_ignore ou vhdl_ignore en tant que paramètres dans les netlists verilog. 2.8.3 ajout de verilog_preprocessor.sym pour insérer des directives de préprocesseur verilog ou toute autre chose au début de la netlist synchronisée avec repo.hu, utilisez la valeur de retour pour vérifier les erreurs dans system(), freopen(), getcwd(). 2.8.2 faq sur le renommage automatique / autoriser les refdes en double. suppression des références à 'Shift-J' dans la documentation (suppression du code désordonné), meilleure apparence pour la boîte de dialogue 'list_dirs'. ajout d'informations sur la licence/le droit d'auteur pour scconfig (GNU LGPL2). pas de sauvegarde du schéma avant de modifier le fichier disque - il s'agit d'une commande experte, l'utilisateur doit donc décider lui-même quoi faire. 2.8.2_RC4 a supprimé la procédure gensch (créer sym à partir de la liste des broches, désordre non maintenable) n'imprime pas les lignes 'conn' pour les non connectés dans la netlist tedax Edit -> Le menu Push Symbol n'était pas fonctionnel. correction d'une erreur de segmentation lors du placement de symboles avec des attributs @#<n>:<attr> non liés (n faisant référence à une broche inexistante) autoriser/interdire les références en double, mettre en surbrillance/renommer les doublons, sélecteur de répertoire lors de l'insertion de symboles La variable xschemrc 'disable_unique_names' peut être définie sur 0 dans xschemrc pour interdire les refdes dupliqués - la valeur par défaut est d'autoriser les doublons (1) - le menu "Surligner -> (Surligner|Renommer) les noms d'instances en double" peut être utilisé pour signaler/corriger les noms en double. - lors de l'insertion de composants (touche d'insertion), présenter une liste de répertoires à partir desquels démarrer le sélecteur de fichiers. désactivé tous les modes de test fonction d'alignement sur la grille : pour les objets pin, alignez le point central du rectangle au lieu des points (x1,y1)-(x2,y2). Créer un didacticiel de symbole dans l'alerte xschem docs si vous essayez d'ouvrir un symbole inexistant, autorisez l'utilisation de @#drain:pinnumber dans les symboles pour imprimer l'attribut 'pinnumber' de la broche avec 'name=drain' en plus de @#3:pinnumber (print ' attribut pinnumber' de la 3ème broche du symbole) a supprimé 'string cat' car il s'agit d'un ajout à tcl8.6 (pas nécessaire de toute façon) Ajoutez le préfixe $DESTDIR à system_library_dir dans Makefile.conf.in car il est utilisé dans installer des fichiers. --plotfile sur cmdline pour spécifier le fichier de sortie d'exportation d'image. Valable pour tous les formats (png, svg, pdf) calculer les largeurs de ligne correctes avant le rendu à l'écran / tracer les images correction : commencez à numéroter les nouvelles instances à partir de 1 au lieu de 0 xschem.1.in page de manuel et développez $PREFIX fix rotation/retournement sans bouger quand plusieurs objets sélectionnés. (dans ce cas, ne faites pas pivoter les objets individuels autour de leurs points d'ancrage) doc corrige les mises à jour de la doc et des symboles Autorisez pinnumber(name) dans les attributs d'instance à modifier le pinnumber du symbole, en plus de pinnumber(n) où n est le numéro d'index de la broche xschem. La syntaxe a changé depuis pinnumber_n. Autoriser le panoramique de la souris lors de la modification des propriétés. N'autorisez pas certaines combinaisons d'imbrication de commandes qui pourraient être dangereuses. Tutoriel sur la création d'un schéma simple et l'exécution d'une simulation avec ngspice Quelques correctifs sur l'interface utilisateur (bindkeys) génériques, modèles "légers" créés pour tester tedax déplacés de pcb/ vers devices/ ajouté @spiceprefix aux symboles qui pourraient nécessiter un préfixe spice différent si spiceprefix non spécifié au niveau de l'instance aucun changement par rapport au comportement précédent. netlist_dir défini par défaut sur '.' (répertoire actuel, où xschem est lancé) si elle n'est pas définie dans xschemrc, l'option -o <dir> (--netlist_path=<dir>) peut être utilisée pour définir la netlist de sortie *répertoire* avec cmdline La substitution de jeton remplace désormais correctement @[email protected] par leurs valeurs ( aucun séparateur nécessaire, le deuxième @ est un séparateur de jeton implicite et le prochain démarrage du jeton) permet de définir/modifier les attributs sélectionnés sur plusieurs ires/rects/lignes wselected laisser le shell post mortem ouvert en cas d'erreurs fatales ngspice, dans les sims ngspice interactifs. trunk/utile dir déplacé sous trunk/src/utile afin qu'il soit dans la même position relative par rapport à XSCHEM_SHAREDIR si xschem est exécuté à partir du répertoire de build trunk/src ou après l'installation. faire des correctifs de désinstallation. 2.8.2_RC3 - ​​simulateurs/visualiseurs commerciaux non disponibles dans les menus xschem si leurs variables *_path ne sont pas définies dans xschemrc. Meilleure citation pour autoriser les noms de fichiers avec des espaces - suppression des modèles potentiellement propriétaires des exemples de schémas. - informations de copyright mises à jour en 2019 - les objets peuvent désormais être retournés/tournés (touches R, F) sans lancer une opération de déplacement. - Le bouton droit de la souris affiche les attributs d'édition de l'objet sous la souris, ctrl-button1 désélectionne l'objet, ctrl-shift-button1 drag désélectionne par zone le mode netlisting affiché dans la ligne d'état, plus de boîte d'alerte lors du changement - corrige quelques inexactitudes dans les raccourcis clavier - doc nettoyage, ajout d'une première FAQ ennuyeuse : http://repo.hu/projects/xschem/xschem_man/faq.html - tutoriel pas à pas pour l'installation de xschem : http://repo.hu/projects/xschem/xschem_man/tutorial_install_xschem .html - commentaires xschemrc et exemples de lignes alignés sur le comportement actuel de xschem 2.8.2_RC1 : - améliorations de l'API xschem TCL pour l'annotation arrière - la numérotation automatique de refdes (nom d'instance) commence à partir de 1 au lieu de 0 (D1, D2, . ) - intégration de ngspice - mises à jour de la documentation - enregistrez une seule copie des symboles intégrés même si plusieurs instances de celui-ci ont l'attribut 'embed=true' défini - autorisez des espaces arbitraires autour de '=' dans les attributions d'attributs (nom = x1 empreinte = modèle TO220 = IRF540) - '. ' dans la liste de recherche de chemin est maintenant l'emplacement du schéma contenant, pas le répertoire à partir duquel xschem a été lancé (merci à Igor2 pour la consultation). - La liste de recherche par défaut si l'exécution de xschem à partir du répertoire de construction est '.:<path>/xschem/trunk/xschem_library/devices', de sorte que tous les exemples s'exécuteront sans modification du fichier de configuration. - tedax netlist : la propriété d'instance 'pinnumber_n' où n est l'index de la broche (0, 1, 2, . ) peut remplacer la broche 'pinnumber' du symbole pin avec l'index 'n' - tedax netlist : instance property extra_pinnumber="idx1 idx2 " peut remplacer les connexions héritées des symboles (généralement les broches d'alimentation et de masse pour les périphériques à fente) - améliorations et nettoyage dans le langage de requête xschem (liste de broches xschem) - numéro d'index d'impression (ordre dans le tableau xschem) des objets sélectionnés dans la ligne d'état - informations de version ajoutées en premier lors de l'enregistrement des fichiers .sch/.sym. v pour l'instant, aucune vérification n'est effectuée lors du chargement des fichiers, la chaîne de version du fichier est simplement stockée pour une utilisation ultérieure. - mises à jour de la documentation, mises à jour des fichiers d'exemple, expansion des variables dans le lanceur () afin que XSCHEM_SHAREDIR et HOME puissent être utilisés dans les attributs d'url - le plein écran déplacé des options vers le menu Affichage, plus approprié. - rendre la définition du temps de compilation par défaut XSCHEM_LIBRARY_PATH disponible pour xschemrc afin qu'un répertoire puisse y être ajouté ou ajouté - remplacé execlp par execl partout - hooks.c : par défaut à

    /.xschem/xschem_library si aucun --user-lib-path n'est indiqué dans configure. - examples/diode.* renommé en examples/diode_1.* pour éviter les conflits avec devices/diode.sym. - Si aucun chemin de recherche (XSCHEM_LIBRARY_PATH) défini dans xschemrc par défaut pour compiler le temps avec '.' préfixé - Modèle xschemrc avec de meilleurs commentaires par Richard Lucassen (merci !) - xschem_library/Makefile : utilisez $system_library_dir pour les bibliothèques système (périphériques) 2.8.1 : - les points de connexion sont mis en évidence avec le hilight net. - évitez les shebangs lors du lancement de scripts, comptez sur la variable hôte PATH pour rechercher le bon interpréteur (awk) - débogage approfondi pour détecter et corriger les fuites de mémoire / désallocation de pointeur - fonction de recherche améliorée, si une valeur vide est donnée, recherchez les objets qui * ont * clé de recherche dans la chaîne de propriété. - L'attribut 'DELETE' peut être utilisé pour effacer un attribut d'une sélection multiple d'objets etherogeneus, si 'conserver les accessoires inchangés' est activé. - Ajout d'un curseur « couleur faible » (menu Affichage) pour régler la luminosité. - xschem - Améliorations de l'API tcl pour l'annotation arrière du courant / des tensions du point de fonctionnement Spice - possibilité de bloquer la suppression d'un ensemble spécifique d'attributs sur l'ensemble sélectionné (définir les valeurs d'attribut sur 'DELETE') - lors du dessin des éléments sélectionnés, ne pas afficher la bbox du symbole vide strings - xschem tcl améliorations de l'API : * xschem set no_draw 1|0 --> utilisé pour désactiver le rafraîchissement de l'écran, pour accélérer les scripts complexes * xschem set no_undo 1|0 --> utilisé pour désactiver l'annulation, pour accélérer les scripts complexes c'est il est sage de faire un 'xschem push_undo' avant de faire cela * xschem get expandlabel <net label> --> développe la notation du bus : exemple : xschem get expandlabel S[4,2:0] renverra S[4],S[2],S [1],S[0] 4 c'est-à-dire les bits étendus et le nombre de bits. * xschem get sch_path --> renvoie le chemin hiérarchique courant : exemple : xinput.xreg.xlat * subst_token() permet désormais de définir un jeton sur une valeur vide (new_val="") ou de supprimer le jeton (new_val = NULL) - La commande tcl 'xschem set renumber [1|0]' permet de renuméroter automatiquement les noms d'instances (refdes) lors du chargement de schémas avec des noms d'inst dupliqués - Affichage->Changer la couleur du calque actuel' ajouté permet de changer les couleurs des calques les changements sont enregistrés dans $/colors - ajout de '--rcfile <filename>' pour le chargement de fichier rc personnalisé - ajout de la boîte de dialogue 'about xschem' - ajout de '*' dans la barre de titre de la fenêtre / icône lorsque le schéma est dans un état modifié et doit être enregistré - nom de fichier par défaut à 'sans titre. sch' lors de la création d'un nouveau schéma - syntaxe d'option longue (--version etc) - compiler xschem avec std=c89 -pedantic no snprintf(), no // comments, no VLAs, no getopt(), no strtok*() - cirles / arcs in pdf / svg export - option pour l'annulation en mémoire en plus de l'annulation sauvegardée sur fichier (#define IN_MEMORY_UNDO) - Menu 'Tools->Remember last command' et 'set persistent_command [1|0] dans xschemrc pour répéter en dernier commande fil/ligne d'un simple clic de souris - suppression du matériel protégé par le droit d'auteur (exemples de modèles d'épices) - modifications des raccourcis clavier : Corl-Q pour quitter, Ctrl-N pour 'Nouveau schéma' - meilleure vérification des entrées malformées (rejeter vs plantage) - commande de menu Outils->Joindre/couper les fils (supprimer les fils qui se chevauchent, joindre les fils parallèles, etc.) - Commande de menu Outils->Casser les fils (couper les fils aux broches des composants, ou 'intersections T/Y) cela fonctionnera sur les fils *sélectionnés*. 2.8.0 - dessiner automatiquement des points de connexion sur les fils connectés en T ou en Y, - nouvelles commandes dans le menu Outils pour couper et casser les fils. Les fils coupés casseront les *fils sélectionnés* au niveau de la broche d'instance / d'autres connexions réseau. Les fils de coupe résoudront les réseaux superposés, joindront les réseaux parallèles, etc. - Répertoire .xschem/ pour les données privées et les fichiers de configuration. - fichier init renommé, de .xschem en .xschem/xschemrc - XSCHEM_HOME_DIR renommé en XSCHEM_SHAREDIR (sharedir dans Makefile) - ajout de USER_CONF_DIR (Makedile userconfdir) (

    /.xschem) - XSCHEM_DESIGN_PATH renommé en XSCHEM_LIBRARY_PATH (makefile xschem_library_path) - fait en sorte que xschem fonctionne correctement avec toutes les combinaisons de HAS_XCB et HAS_XRENDER - optimisations dans update_conn_cues() - pas de fonctions récursives pour supprimer les tables de hachage. - des boucles plus simples pour itérer des rectangles qui contiennent un fil dans la table de hachage spatiale. - emplacement différent des fichiers rc de l'utilisateur de démarrage : .xschem/xschemrc au lieu de .xschem - anciens fichiers inutiles supprimés - xschemrc déplacé sous src/ 2.7.0 : - quelques correctifs dans la gestion des chemins de bibliothèque (abs_sym_path et rel_sym_path dans xschem.tcl) - mises à jour de la documentation sur les fichiers -dev requis, libfl-dev et cairo2-dev - mises à jour de la documentation sur les polygones ouverts/fermés - symboles intégrés, (embed=true attr sur les instances), documentation mise à jour. - L'entrée de la grille de la barre d'état est configurée comme désactivée car elle est uniquement sortie - faire en sorte que xschem accepte certains fichiers d'entrée malformés, comme T<> . ou des espaces avant les balises d'élément. - code en place pour la commande de couper les fils au niveau des broches et des intersections d'instance - fonction d'itérateur créée pour les tables de hachage spatiales de fil et d'inst pour éviter la duplication de code - drapeau exec supprimé sur tous les fichiers doc/, déplacé xschem.html vers index.html - continuer à calculer bbox pour les textes inhabituellement gros, même si ces textes ne sont pas affichés car les polices sont trop grosses (crash sur les anciennes bibliothèques du Caire) - accélérateurs de menu corrigés affichés pour le zoom / dézoom. - la variable tcl unzoom_nodrift peut être définie sur 1 ou 0 pour produire des comportements de dézoom légèrement différents. - routines de dessin d'arc de chasse (draw[temp]arc(END. ) en plus des lignes et des rectangles lors des sélections /hilight. (oublié depuis l'introduction des arcs). - les filets sont dessinés après les autres éléments afin qu'ils soient toujours au-dessus.- nouvelles commandes xschem TCL - xschem setprop instance x25 w 55 remplace la propriété w de l'instance x25 par la nouvelle valeur 55 - xschem setprop instance_n 123 w 55 identique à ci-dessus mais indique le numéro d'instance (position dans le tableau inst_ptr) - xschem replace_symbol instance x25 . /../new_symbol.sym remplace le symbole de x25 - xschem replace_symbol instance_n 123 . /../new_symbol.sym comme ci-dessus mais indique le numéro d'instance (position dans le tableau inst_ptr) - nouvelle option de ligne de commande '-i' pour dire à xschem de ne pas charger les fichiers d'initialisation (xschemrc et .xschem) - ordonner les coordonnées avant de stocker les réseaux dans load_wire (), pour une raison quelconque, cette chose triviale manquait - problèmes de dessin corrigés 2.6.8 : - Appuyer sur « espace » tout en dessinant un filet ou une ligne permet de basculer entre le chemin horizontal-vertical de Manhattan, le chemin vertical-horizontal ou le chemin oblique. 2.6.7 : - en mode 'commande persistante' le placement des fils ou des lignes se poursuit après un double clic donc il est possible de placer plusieurs filets/lignes non connectés - plus de dialogue sur le changement de grille. la grille est affichée dans la barre d'état 2.6.6 : - double-cliquez pour terminer le placement d'un polygone - dézoomez et zoomez maintenant correctement dézoomer/zoomer autour du pointeur de la souris sans dérive - éléments de menu ordonnés dans la fenêtre afin que l'utilisation des touches change les menus de manière prévisible - Le double-clic ne fait plus apparaître la boîte de dialogue de modification des propriétés, un contrôle-double-clic est nécessaire. - Case à cocher 'commande persistante' dans le menu Outils, si cochée, le placement de LIGNE et de FIL continue jusqu'à ce qu'un Escape ou un double clic soit donné. La valeur par défaut peut être définie dans le fichier .xschem rc. - le découpage de ligne coupe maintenant les lignes à la taille de la fenêtre et non à la bbox actuellement définie. Cela évite les calculs d'un pixel laissant des ordures à l'écran dans certains cas. 2.6.5 : - Ajout d'arcs/cercles. Les arcs sont démarrés avec la touche 'Shift-C', tandis que les cercles sont entrés avec 'Ctrl-Shift-C' 2.6.2 : - Les polygones ouverts sont désormais pris en charge - Button3 pour terminer un placement de polygone ouvert - Touche Return pour terminer un polygone fermé placement (cela peut être fait également en cliquant sur le dernier point sur le premier point du polygone). - quelques corrections de dessin lorsque les filets de surbrillance sont affichés. - Boutons de menu Waves, Simulate et Netlist avec des bordures afin qu'ils soient différents des entrées de menu. - Fusionner le schéma (copier sur différentes instances xschem) ne causait pas correctement l'attribut de remplissage pour les polyons. - enregistrer/charger les widgets : aucun changement dans le répertoire initial si l'utilisateur annule l'action - 'bouton' recherche les boutons de menu 'Netlist', 'Waves' et 'Simuler'. 2.6.1 : - supprimer la copie de .xschem dans le répertoire personnel du Makefile, ceci n'était que pour le test et s'il n'est pas correctement configuré, xschem cherchera aux mauvais endroits les schémas 2.6.0 : - petit changement dans Makefile : lors de l'exécution de ' make install' copie également un exemple de .xschem dans $HOME/ afin que l'installation soit prête à l'emploi sans que l'utilisateur n'ait à configurer manuellement le fichier .xschem. - Mises à jour de la documentation - Makefile passe les variables cpp PREFIX et XSCHEM_DESIGN_PATH à xschem pour le paramétrage du chemin par défaut - petites corrections de bugs sur le nouveau mode de dessin : pixmap -> 'XCopyArea' -> screen - xinit.c définit un XSCHEM_DESIGN_PATH vide avant de lire les fichiers de démarrage (xschemrc et .xschem) afin que la variable puisse être ajoutée sans se plaindre de la part de l'interpréteur tcl (variable non existante) - permet l'exécution directe de xschem à partir du répertoire src/ à des fins de test. suppression de la gestion spéciale du démarrage si xschem s'exécute à partir du parent de src/dir. --- - xschem comprend maintenant une liste de répertoires pour les fichiers de symboles, cette liste est définie comme une liste de chemins séparés par deux points dans XSCHEM_DESIGN_PATH. cette variable tcl peut être définie dans les fichiers .xschem ou système xschemrc, ou via la variable env. si aucun paramètre n'est défini, alors xschem utilise le temps de compilation par défaut, à moins qu'il ne soit démarré à partir d'un répertoire de construction source (voir ci-dessous). l'ancien XSCHEM_DESIGN_DIR (maintenant obsolète) est toujours compris par xschem, cette variable ne peut spécifier qu'un seul répertoire. - Annulation de la modification précédente « dir de travail actuel de tcl changé en répertoire du schéma chargé », pas nécessaire et dangereux car cela rend le comportement de xschem imprévisible. - Variables Makefile passées à XSCHEM : PREFIX : répertoire racine de l'installation de xschem (exemple : /usr , /home/user) SYSTEM_LIBRARY_PATH : répertoire à l'échelle du système des symboles / schémas xschem (exemple : $PREFIX/share/xschem/xschem_library ) USER_LIBRARY_PATH : répertoire des fichiers de schémas/symboles de l'utilisateur (exemple : $HOME/xschem_library) - xschem lit d'abord le fichier xschemrc dans le répertoire système xschem (. /share/xschem/xschemrc) puis .xschem dans le répertoire courant ou dans le répertoire personnel. - *NOUVEAU* modèle de dessin (activé par défaut) qui évite de dessiner sur une fenêtre, dessine uniquement pour enregistrer la pixmap, en utilisant XCopyArea pour peindre l'écran. Cela évite le scintillement lors du déplacement/du zoom ou du panoramique du schéma. Modèle de dessin précédent (toujours disponible via le menu) utilisé pour dessiner à la fois dans la fenêtre et enregistrer la pixmap. Selon les performances du serveur X, choisissez la méthode qui fonctionne le mieux. - corrections de bugs dans 'créer un symbole à partir du schéma' - séquence de démarrage de xschem : * rechercher XSCHEM_HOME_DIR à partir des variables d'environnement. * sinon s'il y a ../src/xchem.tcl par rapport au répertoire actuel et ../xschem_library alors nous commençons à partir d'un répertoire de construction, définissez XSCHEM_HOME_DIR sur `pwd` et définissez également XSCHEM_DESIGN_PATH sur `pwd`/../ xschem_library. * sinon s'il existe un répertoire PREFIX/share/xschem, définissez XSCHEM_HOME_DIR sur PREFIX/share/xschem. * source XSCHEM_HOME_DIR/xschemrc si existante. * source `pwd`/.xschem ou $HOME/.xschem s'il existe. * si XSCHEM_HOME_DIR n'est pas défini --&gt erreur et quittez. * recherchez XSCHEM_DESIGN_PATH à partir des variables d'environnement. Cela remplacera toute valeur donnée dans les fichiers de démarrage xschemrc et .xschem. * si XSCHEM_DESIGN_PATH non défini, définissez-le sur l'heure de compilation par défaut fournie par Makefile : xschem_library_path. * source $XSCHEM_HOME_DIR/xschem.tcl. * commencer à charger le fichier schématique fourni par l'utilisateur ou démarrer avec une fenêtre vide (ou le nom de fichier spécifié dans la variable tcl XSCHEM_START_WINDOW). --- - tous les arguments de chaîne passés de C à tcl enclos entre <> accolades pour autoriser les espaces dans les noms de fichiers et de bibliothèques - le répertoire de travail actuel de tcl a été remplacé par le répertoire du schéma chargé pour que la résolution relative des symboles fonctionne de la même manière quel que soit le répertoire dans lequel xschem était a commencé depuis. --- - toutes les manipulations de chemin passent par les fonctions tcl resolve_filename et abs_path_of_symbol, aucune manipulation directe de XSCHEM_DESIGN_PATH dans les fichiers .c ou .tcl. Ceci est en préparation d'une liste de chemins multiples dans XSCHEM_DESIGN_PATH, nécessitant des modifications uniquement dans ces 2 fonctions. - fichiers temporaires pour éditer les attributs avec l'éditeur maintenant dans XSCHEM_TMP_DIR au lieu de XSCHEM_DESIGN_PATH --- - new_window() : si vous ouvrez un schéma dans une nouvelle fenêtre, remplacez l'extension .sym par l'extension .sch, 20181006 - get_resolved_symbol() : reconnaître le répertoire parent et remplacer chemin absolu vers le répertoire parent avec ../ - load_inst () utilisez get_resolved_symbol () pour supprimer les chemins absolus lorsque cela est possible, 20181006 --- - XSCHEM_DESIGN_DIR renommé en XSCHEM_DESIGN_PATH car il devrait s'agir d'une liste de plusieurs chemins de bibliothèque à rechercher. - créé une petite fonction, source_tcl_file() pour rechercher des fichiers tcl et faire une vérification d'erreur. utilisé pour charger les fichiers xschemrc / .xschem / xschem.tcl - recherchez xschemrc dans /share/xschem pour les options à l'échelle du système, avant de chercher dans $pwd/.xschem ou $HOME/.xschem pour les options utilisateur. - recherchez xschem.tcl dans $PWD ou XSCHEM_HOME_DIR si cette var tcl est définie (ou env var définie) sinon source de /share/xschem. - répertoire de bibliothèque renommé en xschem_library - si aucun fichier .xschem n'est trouvé et aucun XSCHEM_DESIGN_PATH défini, définissez la bibliothèque de symboles xschem sur 'xschem_library' dans le répertoire de travail actuel. (bon pour tester les builds xschem avant l'installation) ou dans ../xschem_library --- - correction d'une erreur un par un lors de la sélection d'un caractère aléatoire à partir de charset[] dans random_string(), conduisant à la fin de parfois choisi comme partie de la chaîne aléatoire. --- - wrapper tclsetvar() pour tous les appels Tcl_SetVar(). - ask_new_file() appelle get_resolved_symbol(fullname) pour réduire le nom de fichier en bibliothèque/symbole s'il se trouve dans la bibliothèque standard xschem ou simplement symbol.sym s'il se trouve dans le répertoire courant, afin d'éviter les chemins absolus aussi longs que possible. - fichiers xschem .selection et .clipboard renommés en

    /.xschem_clipboard - TCL XSCHEM_TMP_DIR créé pour indiquer le répertoire tmp (par défaut /tmp) qui peut être défini dans le fichier .xschem de l'utilisateur. - store_polygon() ne propageait pas le membre .fill à partir de la propriété 'fill', ce qui entraînait aucun motif de remplissage sur les polygones avec la propriété fill=true définie lors du changement de couche de polygone. (store.c, 20181002) - supprimé tous les appels strcpy(), utilisez my_strncpy() --- - tous les Tcl_Eval(), Tcl_EvalEx() appelés avec tcleval() qui vérifient les erreurs. - tous les Tcl_GetVar remplacés par tclgetvar. - my_free() libère maintenant la mémoire et met ptr à NULL, appelé avec &ptr. - supprimé tous les sprintf, remplacés par my_snprintf. - les malloc()s restants sont remplacés par my_malloc(). - la gestion des annulations/rétablissements est désormais effectuée avec popen()/pclose() au lieu de pipe(), fork(), dup2(), fdopen(), freopen(), waitpid(), pour une meilleure portabilité. - La syntaxe @#n:property est acceptée dans print_tedax_element() pour la chaîne de format, cela permet d'imprimer dans les valeurs d'attribut netlist spécifiées sur les broches @#3:pinnumber --> print 'pinnumber' attribut set for pin #3 of symbol. - suppression de certains tableaux de longueur variable dans token.c - tcl make_symbol a corrigé le fonctionnement sur les schémas situés n'importe où dans le système de fichiers --- - de nombreux pointeurs statiques (char *name) dans les fonctions remplacés par des tableaux de portée (char name[]) pour des raisons d'efficacité les tableaux de chemins sont de type 'char filename[PATH_MAX]' - possibilité ajoutée de charger des schémas et des composants situés n'importe où dans le système de fichiers pour les composants le (libname/symbolname) est toujours pris en charge mais la nouvelle syntaxe consiste à spécifier des noms relatifs ou absolus ([/] [. /. /]symbol.sym) si le symbole spécifié se trouve dans les bibliothèques xschem standard (XSCHEM_DESIGN_DIR), il est converti en bibliothèque/symbole : Exemple : /home/schippes/xschem_library/devices/npn.sym --> devices/npn Si un symbole situé dans le répertoire courant est placé dans la fenêtre xschem, tous ses composants de chemin seront supprimés : Exemple : /home/schippes/xschem-code/test.sym --> test.sym (si CWD est /home/ schippes/xschem-code). la prochaine fonctionnalité (encore à déterminer) sera de rechercher une liste de chemins pour les bibliothèques sym. - détection plus fiable de PWD et HOME (getcwd, getenv, getpwuid) - nettoyage dans les boîtes de dialogue tcl save & load, maintenant nous n'avons que save_file_dialog et load_file_dialog. --- - draw() : n'utilisez pas de table de hachage spatiale pour les petits schémas (instances <2000, <2000nets). - xschem charge maintenant les noms de fichiers avec des chemins absolus, donc n'importe quel schéma (même en dehors de XSCHEM_DESIGN_DIR) peut être donné. - moins d'utilisation de strlen() réutilisant les informations de taille déjà disponibles - get_tok_value() définit get_tok_value_size à la taille de la valeur de jeton renvoyée. --- - xschem compile maintenant avec -std=c99 et - la méthode double fork pour générer une nouvelle instance xschem pour éviter les zombies - tous les appels snprintf encapsulés dans my_snprintf - rint() remplacé par round() - certains // commentaires ont été modifiés dans / * . */ - my_strdup() renvoie la taille de la chaîne dup'd au lieu de void - tous les appels strdup() enveloppés dans my_strdup() qui à son tour utilise malloc() + memcpy() - tous strndup() remplacés par my_strndup() qui dans turn utilise malloc() + memcpy() - tout strcat() remplacé par my_strcat() qui utilise realloc() et memcpy() - tout strcpy() remplacé par memcpy() puisque la taille de la chaîne src est connue. - Correction d'une faute de frappe de longue date : FONTDESCENT+1i, où 1i est considéré comme un nombre imaginaire Merci à Ian Van der Neut d'avoir signalé le problème. - suppression de mkstemp, mkdtemp, remplacé par create_tmpfile et create_tmpdir créés par vous-même - ajout de '%option never-interactive' dans parselabel.l afin d'éviter l'utilisation de fileno() qui n'est pas nécessaire et crée des problèmes de portabilité - nettoyages dans les procédures de sauvegarde/chargement/fusion --- - flatten.awk changé en awk hasbang script au lieu de sh --> awk --- - passez PREFIX et LIBRARY_PREFIX à partir des variables Makefile prefix et library_prefix - vérifiez si le pointeur de symbole est défini dans le dessin de la table de hachage spatiale (draw.c, tag 20180921) - ajout de déclarateurs de type const : *bus_hilight_lookup(const char *token. ) const char *expandlabel(const char *s, int *m) et d'autres déclarations const ici et là - save_ascii_string() : aucun espace de fin ajouté. - load_symbol () : si la définition du symbole contient des composants, liez-les aux symboles correspondants (bien qu'un symbole ne doive pas contenir de filets / composants), balise 20180921 - certains commentaires / nettoyages dans xinit.c - accélérateurs de menu fixes affichés dans le menu "Fichier" pour refléter modifications récentes des raccourcis clavier --- 2.4.9 : - possibilité d'échanger les boutons de la souris à l'aide du proc key_binding tcl REMARQUE : il n'est pas possible de remplacer Button1 car il est également envoyé dans les événements Motion. - clear_drawing () n'a pas supprimé les tables de hachage spatiales conduisant à des erreurs de segmentation lors de l'exécution de File-> Nouveau schéma - a échangé Button4/5 (zoom de la molette) - a modifié certaines combinaisons de touches en des valeurs plus standard : - ctrl-shift-s --> Enregistrer sous - ctrl-s --> Enregistrer - ctrl-o --> Ouvrir - ctrl-alt-s --> enregistrer en tant que symbole - shift-s --> modifier l'ordre des éléments - fill=true propriété pour les polygones pour indiquer qu'un remplissage est souhaité les polygones par défaut ne sont pas remplis. - La procédure tcl key_binding permet de changer/échanger les boutons de la souris - save.c : suppression de la duplication de code en créant une fonction 'read_xschem_file() qui lit les fichiers. - suppression de certains anciens codes morts / commentés - get_tok_value(inst_ptr. prop_ptr, "name". ) remplacé par inst_ptr[..].instname (20180911) - correction d'un bug de plantage dans hilight.c lorsque des instances avec une chaîne de propriété vide sont traversées pendant un recherche 20180906 - nouveau format '@#n autorisé pour référencer un réseau attaché à une broche dans des chaînes de format de symbole. Ce modèle peut être utilisé dans les attributs globaux 'format, 'vhdl_format', 'verilog_format', 'tedax_format' des symboles. Ce modèle est plus rapide que la syntaxe traditionnelle '@@pin_name' car xschem n'a pas besoin de rechercher dans toutes les broches du symbole un nom correspondant à 'pin_name' Exemple : verilog_format="assign @#2 = @#0 " dans ce cas @# 2 s'étend au nom de réseau attaché à la broche stockée à la position 2 (à partir de 0) dans xschem, (c'est la troisième broche du symbole), @#0 s'étend au nom de réseau attaché à la première broche du symbole - n'imprimez pas les barres obliques inverses s'échappant dans print_verilog_primitive, print_verilog_primitive, (20180911) - nouveau format '#@n:pin_attr' autorisé dans les objets texte placés dans des symboles, cela s'étendra à la valeur de l'attribut 'pin_attr' stocké dans la chaîne de propriété de la 'n-ème' broche de symbole. Exemple : @#0:pinnumber si le numéro de broche de la broche 0 est défini comme 'pinnumber=1:4:9:12' et le nom de l'instance de symbole est 'U1:4' xschem résoudra les informations d'emplacement (4) et remplacera le '@# 0:pinnumber' avec '12'. ceci est utilisé pour dessiner correctement les numéros de broches corrects pour les appareils à fente. 2.4.8 : - ajout (expérimental pour l'instant) de l'export de netlist tEDAx, il s'agit d'un format de netlist que l'éditeur de carte imprimée pcb-rnd comprend. exemple de schéma de test inclus dans la distribution source (pcb_test1.sch) - une meilleure recherche de spice_ignore, verilog_ignore et vhdl_ignore pour la netlisting, après avoir regardé dans les propriétés d'instance, regardez également dans la définition de symbole. - correction d'un bogue dans la procédure de sauvegarde du fichier TCL, où il refusait d'enregistrer un schéma dans une bibliothèque pointée par un lien symbolique - La touche Échap ne ferme plus une boîte de dialogue d'édition de propriété (proc text_line) si quelque chose y a été écrit. 2.4.5: - 20180208 correction d'un bug de plantage: supprimez les informations sur le nœud si vous changez de symbole si le nombre de broches est différent, nous devons supprimer ces données * avant * de changer ysmbol, sinon je pourrais finir par supprimer les données non allouées. Stefan, 20180417 2.4.4 : - améliorations de spice.awk, ne pas écraser avec le code défini par l'utilisateur - magasin de sauvegarde réactivé (xserver se charge de sauvegarder les parties de fenêtre obscurcies) ceci a été désactivé pour assurer une réponse correcte de XSCHEM pour exposer les événements après quelques changements dans le moteur de dessin. Stefan, 20180203 2.4.3 : - composant devices/code.sym ajouté : ce composant a une propriété 'value' qui peut être utilisée pour placer du code arbitraire (spice/verilog/code VHDL) dans un schéma. Plusieurs composants 'code.sym' peuvent être utilisés, leurs propriétés 'value' seront concaténées dans la netlist résultante. le code peut être saisi en éditant la propriété value avec <shift-q> 2.4.2 : - effacer les objets (principalement pour le texte) avant de surcharger avec la couleur de surlignage, cela évite les bordures de caractères laides des textes surlignés (l'anticrénelage suppose que vous dessinez du texte sur un fond vide) - petites corrections de bugs de régressions introduites par le commit précédent 2.4.1 : - un itérateur de hachage spatial ajouté dans le moteur de dessin lorsque la zone de visualisation est petite par rapport à la surface totale d'un gros schéma effrayant utilisant le hachage spatial la recherche d'éléments (instances et fils pour l'instant ) qui se trouvent dans la zone de visualisation est *beaucoup* plus rapide. nous évitons donc de nombreuses vérifications de clip sur l'ensemble des tableaux wire[] et inst_ptr[]. Lorsqu'un zoom complet est effectué (la zone de visualisation est grande), nous revenons à la boucle normale sur les tableaux wire et inst_ptr, car le hachage spatial ne donne aucun gain dans ce cas. (20180104) - quelques petits problèmes liés au fait de ne pas dessiner de petits objets (pour des raisons de performances) ont été corrigés. (20171206) - quelques correctifs dans l'édition de symboles : renommer les broches à côté des étiquettes de broches (2071221) - correction de la régression dans print_hilight_net() pour reconnaître la direction des broches lors de la création de broches à partir de filets hilight (20171221) - autoriser les spécifications de format primitif multi-instances (verilog_format prop ) en utilisant la construction #xxx#@name pour créer des noms uniques pour les nœuds et les noms d'inst, comme cela a été fait pour les primitives spice 2.4.0 : - quelques contrôles de débordement de chaîne (schéma[]) - une amélioration majeure de la vitesse de l'outil de câblage d'instance ('H' bindkey) pour plusieurs instances sélectionnées. - Paramètre 'first_call' dans place_symbol() pour accélérer la recherche d'un nom d'instance unique en cas de placements multiples du même type. - Option "drill through" dans le surlignage net, (touche ctrl-alt-k) cette commande mettra en surbrillance un réseau passant par des composants avec des broches qui ont une propriété "propagate_to" définie sur le numéro de la broche à laquelle passer la surbrillance. Exemple : si la broche #0 d'une résistance a la propriété 'propagate_to=1', alors hilight net sur la broche 0 se propagera à la broche #1. le propagate_to inverse peut également être défini. propagate_to=1 propagate_to=0 pin #0 pin #1 o---////---o - redessine correctement les objets sélectionnés lors du passage avec le rectangle de sélection sur les éléments déjà sélectionnés - select_text et select_wire ont maintenant 'fast ' param pour éviter de dessiner des informations dans la ligne d'état de la fenêtre, il est utilisé lors de la sélection de blocs de plusieurs objets pour rendre le processus *beaucoup* plus rapide - ignorez les symboles de dessin dont le cadre de délimitation dans le facteur de zoom actuel <0.3 pixels. - correction d'une mauvaise utilisation de bbox () dans edit_text_property - améliorations des performances dans prepare_netlist_structs lorsqu'il est appelé pour mettre en évidence les filets - correction d'une régression dans les copy_objects des polygones - commande 'xschem' tcl: affiche un message d'erreur si la sous-commande inconnue est donnée - correction d'une régression dans les sélections de rectangles partiels (select_box() ) - Paramètre 'hash_prefix_unnamed_net' dans pin_node(), nécessaire pour hacher correctement les filets sans nom pour 'drill' hilight.- ajout d'un bouton radio 'désélectionner' dans l'outil de recherche d'instance (touche ctrl-f) - ajout des membres 'layer' et 'font' à la structure de texte, mettant en cache les propriétés respectives 'layer=n et font=string', pour éviter d'appeler get_tok_value - plus de flexibilité dans 'attach_labels_to_inst (touche 'H'), permet de câbler toutes les instances sélectionnées sans interroger l'utilisateur, option pour le texte pivoté défini par l'utilisateur - optimisation des performances, ne pas appeler symbol_bbox à chaque zoom complet - créer des broches de symbole à partir des broches schématiques sélectionnées ( Touche Alt-h) - La touche Alt-s (recharger à partir du disque) recharge désormais correctement le fichier de symboles (.sym) si vous modifiez un symbole. - touche plein écran déplacée vers Alt-Maj-F - ajout des touches Alt-h et Alt-r pour retourner et faire pivoter les objets autour de leurs points d'ancrage lors de la copie/du déplacement - optimisation des performances : ignorer le dessin des objets trop petits dans le facteur de zoom actuel. - ajout de la commande 'xschem set no_undo [01]' pour désactiver/réactiver l'annulation. - améliorations des performances dans wirecheck(), ignorer les fils qui ont déjà un champ .node - fonctions renommées dans netlist.c pour une meilleure compréhension - amélioration des performances, utilisation simplifiée et presque éliminée de la fonction hash_lookup (token.c) elle n'est désormais utilisée que pour stocker les noms d'instance pour permettre la vérification des collisions dans new_prop_string(). hash_proplist() insère désormais uniquement le nom de l'instance dans la table de hachage, le reste de la chaîne de propriété est ignoré. - new_prop_string, commencez à vérifier à partir de 0 au lieu de 1 lors de la recherche d'emplacements de nom d'instance libres (x0 au lieu de x1 comme premier nom libre pour les instances de sous-circuit, par exemple) - xschem.tcl : reportez-vous à $HOME/.clipboard.sch au lieu de $PWD/.clipboard.sch 2.3.7 : - ne recalculez pas le cadre de délimitation des symboles lors d'une opération de zoom / panoramique / dessin, faites-le lors du déplacement / changement d'accessoires / suppression / chargement / sélection de dessin. - ajout d'un champ int 'bus' dans la structure wire, où la propriété 'bus' est mise en cache, ce qui évite de nombreux appels get_tok_value() à chaque appel draw(). - correction d'une régression introduite par [20171104] dans subst_token() [20171201] 2.3.6 : - quelques nettoyages dans le code, - optimisation des performances, ne pas appeler symbol_bbox() dans view_zoom et view_unzoom, - couleurs sombres et lumineuses (+ et - touches) - inclure/exclure la couleur d'arrière-plan dans les opérations sombres/claires (alt-c) - écrêtage du Caire implémenté dans bbox() afin que le texte ne soit pas surchargé, ce qui le rend en gras lors du placement et de la suppression d'objets qui chevauchent partiellement du texte. - Dirty hack in callback() (TURBOX_FIX) pour contourner les bugs dans le serveur Exceed TurboX. Incluez -DTURBOX_FIX dans le Makefile si nécessaire. sans ce hack, repeindre la fenêtre avec save_pixmap (style de remplissage FillTiled) ne fonctionnera parfois pas, laissant des ordures ou des zones vides. - pleine précision dans les opérations de sauvegarde (%.16g au lieu de %g), permettant de sauvegarder et de restaurer des zones de dessin *beaucoup* plus grandes sans perte de précision. 2.3.5 : - les polices proportionnelles sont désormais entièrement prises en charge, le texte correctement aligné même sur les objets pivotés - routines d'impression postscript et svg mises à jour pour rendre les polygones. 2.3.4: - correction de la fonction complète du zoom, en particulier lors d'un zoom arrière à partir d'un zoom avant très très profond. - évitez d'appeler cairo_text_extents() et cairo_set_font_size() pour des caractères extrêmement volumineux (cela se produit lors d'un zoom avant extrême) car cela provoque le flottement exceptions de points sur les anciennes versions du Caire - activez le mouvement contraint (vertical/horizontal) lors du dessin de polygones - meilleur alignement du texte sur les objets pivotés, lorsque le paramètre cairo_vert_correct différent de zéro est défini dans

    /.xschem - verrouille hsize et vsize lors de la saisie de texte avec le cairo activé, car il n'y a pas d'option dans le texte du cairo pour une mise à l'échelle x/y différente. - nettoyages de code 2.3.3 : - n'essayez pas de dessiner des polygones hors écran (jetez-les en cochant la case englobante) - plus rapide et sans débordement arithmétique int16 - copier/coller n'a pas encore été implémenté pour les polygones - corrigé. - correction de bogue pour copier/enregistrer dans le presse-papiers des polygones - select_all() n'était pas mis à jour pour les polygones - corrigé. - correction d'une erreur dans le code tcl qui empêchait l'enregistrement dans les bibliothèques pointées par des liens symboliques (balise 20171119 dans xschem.tcl) 2.3.2 : - ajout de primitive graphique polygonale en plus des lignes, rectangles et texte. Commande ctrl-w ou menu 'Outils-> Insérer un polygone'. L'opération se termine en fermant le polygone, c'est-à-dire en plaçant le dernier point sur le premier, ou en appuyant sur la touche 'Retour'. - ajout de la propriété font="font name" pour les objets texte, permettant de changer la police sur des objets texte spécifiques. N'utilisez que des caractères à espacement fixe, en particulier si vous prévoyez de faire pivoter ou de retourner le texte, car le calcul du cadre de délimitation n'est pas précis pour les polices de caractères proportionnelles. - amélioration des performances : n'appelez pas les routines de dessin de remplissage pour les formes qui se trouvent sur des calques sans motif de remplissage visible défini. - le 'set cairo_vert_correct x' (avec x=nombre positif ou négatif) peut désormais être défini dans le fichier .xschem sur n'importe quelle valeur, la zone de délimitation du texte est décalée en conséquence. Cela permet de modifier l'alignement vertical des polices pour une meilleure apparence. - basculement des couleurs blanches et sombres View->Toggle colourscheme, touche Shift-C) - ajout de la commande 'xschem toggle_colorscheme' - suppression de Tcl_GlobalEval obsolète et déprécié, remplacé par Tcl_EvalEx - Tcl_Eval()s faisant référence aux variables globales TCL changées en Tcl_EvalEx, donc nous nous assurons le script est exécuté dans la portée globale. - affiche un message d'erreur si l'exécution de xschem.tcl échoue en raison d'erreurs dans le code tcl avant de mourir. de cette façon, nous avons un indice pour corriger l'erreur. - des schémas de couleurs personnalisés peuvent être définis dans le

    Fichier /.xschem : set cadlayers 22 set light_colors < "#ffffff" "#0044ee" "#aaaaaa" "#222222" "#229900" "#bb2200" "#00ccee" "#ff0000" "#888800" "#00aaaa " "#880088" "#00ff00" "#0000cc" "#666600" "#557755" "#aa2222" "#7ccc40" "#00ffcc" "#ce0097" "#d2d46b" "#ef6158" "#fdb200" > set dark_colors < "#000000" "#00ccee" "#3f3f3f" "#cccccc" "#88dd00" "#bb2200" "#00ccee" "#ff0000" "#ffff00" "#ffffff" "#ff00ff" "#00ff00 " "#0000cc" "#aaaa00" "#aaccaa" "#ff7777" "#bfff81" "#00ffcc" "#ce0097" "#d2d46b" "#ef6158" "#fdb200" >2.3.0 : - Texte CAIRO anticrénelé pour tous les éléments XSCHEM !! si la variable HAS_CAIRO est définie dans le Makefile, tout le traitement de texte dans XSCHEM sera effectué à l'aide de la bibliothèque du Caire. - tous les éléments de texte peuvent spécifier un 'layer=<number>' dans la zone de chaîne de propriété pour spécifier une couleur de calque utilisateur (au lieu du TEXTLAYER par défaut) pour dessiner le texte. Disponible uniquement si les polices cairo sont activées. - une nouvelle commande est ajoutée : xschem set cairo_font_name <<font name>>définira la police à utiliser pour le rendu du texte. Utilisez uniquement des polices à espacement fixe pour permettre des calculs de cadre de délimitation appropriés. Exemple : xschem set cairo_font_name - diverses améliorations dans le moteur de dessin (redessiner les éléments sélectionnés sur les événements Expose, cela est nécessaire si le serveur ne fournit pas de magasin de sauvegarde). - les variables de configuration contrôlant les polices du Caire, peuvent être placées dans

    /.xschem : #### redimensionner toutes les polices par ce nombre set cairo_font_scale 1.0 #### redimensionner l'espacement des lignes par ce nombre set cairo_font_line_spacing 1.0 #### spécifier une police (utiliser uniquement des polices à espacement fixe !) set cairo_font_name #### soulève le texte de quelques pixels à zoom corrigé pour #### une meilleure compatibilité sans la version du Caire. #### UTILISER AVEC PRÉCAUTION. les grandes valeurs font en sorte que le texte #### dépasse la zone de rebond calculée, laissant des ordures #### à l'écran lors du déplacement d'objets / du redessinage. #### Valeurs utiles dans la plage [-1, 3] set cairo_vert_correct 1 - les commandes suivantes ajoutées à la commande xschem tcl, pour que l'exécution modifie ces comportements. xschem set cairo_font_name xschem set cairo_font_scale xschem set cairo_font_line_spacing xschem set cairo_vert_correct - diverses corrections de bogues dues à *BIG* commit cairo. 2.2.5 : - **LONG** bug de plantage permanent corrigé dans token.c --> subst_token(), provoquant le plantage de xschem sur des chaînes de jetons inhabituellement grandes, cela peut se produire si un fichier texte générique est chargé en tant que propriété de composant, au lieu des chaînes de propriété habituelles "name=xyyy tok1=val1 tok=val2 . ". tag 20171104 - quelques autres corrections de bogues (sprintf supprimé d'une chaîne en elle-même :-) ) - lorsque vous appuyez sur le bouton 'LOAD' dans les entrées de texte tcl-tk pour charger un fichier, placez le fichier en commençant à la position du curseur au lieu de la début. - lorsqu'une instance a une chaîne de propriété vide, ne préchargez *pas* le widget de texte d'édition de propriété avec une copie de la chaîne de propriété d'une autre instance trouvée dans le schéma. Cela crée l'illusion que l'instance sélectionnée a une chaîne de propriété alors qu'elle n'en a pas. - ajout de la balise @tcleval(<<tcl script>>) qui peut être utilisée dans les chaînes 'format', 'vhdl_format', 'verilog_format' pour permettre la netlisting dynamique. <<tcl script>> peut être n'importe quel code tcl valide, deux variables sont définies dans le contexte du script : 'symname' et 'instname', ces variables peuvent être utilisées pour interroger les propriétés d'instance ou de symbole avec la commande intégrée 'xschem'. dans <<tcl script>>, les espaces et les guillemets doivent être échappés. - Ajout de la commande 'xschem getprop' : * xschem getprop instance <<instname>> <<property>> renvoie l'exemple de propriété d'instance : xschem getprop instance m3 w --> renvoie la largeur mos getprop symbol <<symname>> <<property>> renvoie un exemple de propriété de symbole : xchem getprop symbol devices/nmos format --> renvoie la chaîne de propriété de format du symbole * xschem getprop instance_net <<instname>> <<pin>> renvoie le nom de réseau attaché à <<pin>> - commentaires obsolete (remove) : Meilleur dessin lors de la sélection par zone / désélection par zone. Le rectangle de sélection n'encombre plus les éléments sous-jacents déjà sélectionnés. Lors de la désélection (Maj-bouton droit glisser), effectuez une mise à jour en direct des objets dès qu'ils sont désélectionnés. - fonction hilight_inside() renommée en select_inside. le nom ambigu précédent m'a vraiment énervé. Stefan 20171027 2.2.3 : - Ajout des commandes de menu « Nouveau schéma » et « Nouveau symbole » afin que le « type_courant » global soit correctement défini pour l'édition et la sauvegarde de schémas ou de symboles. - mettre les propriétés globales dans le champ G <> lors de l'enregistrement en tant que symbole, prendre les props sym globaux de schprop, schvhdlprop, schverilogprop, le premier qui contient les champs 'format=' ou 'type=' Stefan 20171025 2.2.2 : personnalisation dans le