Une belle barre pour un plugin sans barre d'outils
-
C'est le
File.exist?
qui pose problème.
C'est normal, la variable 'png1' reste une chaine de caractères, pas un fichier. Voici quelques infos sur la classeFile
.Si ton icone en small ou large est identique, voici le code que tu peux écrire à la place de la ligne 44 à 48 :
<span class="syntaxdefault">png1</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"offsets16x16.png"<br /></span><span class="syntaxdefault">cmd1</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">small_icon</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">cmd1</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">large_icon</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">png1</span>
-
Bingo !
Tout roule maintenant!
Encore un truc vicieux de résolu!Bravo!
La route des barres d'outils nous est enfin ouverte sans limitation de vitesse!
-
Donc si je comprends bien il faudrait modifier tous les posts explicatifs du dessus
qui utilisaient cette syntaxe! -
Ben ouais, ce serait plus clair pour tout le monde !
-
@adebeo said:
Mais je reste humble face à ta production de plugin.
Oh ben tu sais, c'est pas grand chose ! Et puis je publie des scripts mais je n'ai pas le temps de les améliorer ou de les débugger, c'est quand même con... Mais merci à toi ! ^^
-
%(#008000)[Bonjour à tous
Si je peux tenter un résumé :
Il suffit de créer un petit programme additif en 8 lignes , en ruby pour appeler un plugin sans icone .
2 opérations à faire :
... créer ce petit plugin
... dessiner une icone 16x16 pixelje vous propose les 3 petits plugins suivants qui appellent les plugins " d'auteurs"
la barre 1 appelle le plugin test 1 et lance Multiple Offsets.rb ( icone OF )
la barre 2 appelle les plugins test 2 et test 3 et lance FloorPlan.rb et weld.rb ( icones FL JT )
(je vous ai joint les fichiers zippés)
Salutations
chri]
-
Je suppose que l'on pourrait regrouper tous les additifs dans un seul "Meta additif" ?
En changeant bien sûr les noms de cmd1, cmd2 etc -
@unknownuser said:
Je suppose que l'on pourrait regrouper tous les additifs dans un seul "Meta additif" ?
En changeant bien sûr les noms de cmd1, cmd2 etcbonsoir PILOU
ben oui , finalement !
pleins de fichiers tout simples ou bien , un bon gros structuré .
( le fichier joint remplace les plugins test1.rb test2.rb test3.rb )
chri
-
Bien mieux que la multiplication des petits pains!
Maintenant reste à savoir s'il vaut mieux faire ce genre de chose, où l'intégrer unitairement directement dans le plugin concerné, puisqu'on est obligé de l'ouvrir pour voir le nom de commande employé
D'un autre côté le faire à l'extérieur peut aussi avoir son avantage, car cela reste valable même quand il y a une mise à jour! -
Et que l'on a pas à se casser la tête de savoir où le mettre dans le code!
Ni de problème de barre déjà pré-existante!Donc "meta multiple" et peut-être aussi avec un dossier pour les icône car si elles se baladent partout c'est pas top
Mais là qu'elle est la syntaxe ?
-
@unknownuser said:
Bien mieux que la multiplication des petits pains!
Maintenant reste à savoir s'il vaut mieux faire ce genre de chose, où l'intégrer unitairement directement dans le plugin concerné, puisqu'on est obligé de l'ouvrir pour voir le nom de commande employé
D'un autre côté le faire à l'extérieur peut aussi avoir son avantage, car cela reste valable même quand il y a une mise à jour!je penche pour la 2eme solution ( à l’extérieur)
le plugin "d'auteur" reste intègre. -
-
Là il n'y en a pas car on est en "direct", les icônes sont dans le même niveau de répertoire que le "plug additif", mais si on les met dans un dossier ?
Quelle serait la syntaxe ? (je me méfie maintant -
pour la syntaxt il faut ajouter le nom du dossier avec un /
par exemple:
cmdAdebeoQuickBuilding.small_icon = "AdebeoIcon/quickBuildingpt.png" -
Oui, c'est ce qui avait été dit dans les précédents posts
mais il y avait eu ensuite ce problème de chaînes de caractères/fichiers
Ce devrait donc marcher avec la nouvelle moutureOK testé ! ça marche!
-
Manque plus que de rajouter les infos bulles et les textes de la barre de statut
-
Pour l'arborescence du dossier, voici comment je fais :
Au lieu d'écrirerequire 'Multiple Offsets.rb'
ou ce genre de ligne à chaque nouvelle icône, je préfère utiliser un bout de code qui permet de charger tous les scripts dans un dossier :<span class="syntaxdefault">require_all</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">File</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">dirname</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">__FILE__</span><span class="syntaxkeyword">)+</span><span class="syntaxstring">"/Barre perso/scripts"</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>
le code
File.dirname(__FILE__)
permet de retrouver le chemin du script "barre_perso.rb", et ensuite il faut juste ajouter le reste du chemin par+"/Barre perso/scripts"
.
Donc à partir de là plus besoin d'écrire quoi que ce soit pour trouver les scripts, il faut les déplacer dans le dossier.Et ensuite faire la même chose avec les icônes avec attribution d'une variable :
<span class="syntaxdefault">dir</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">File</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">dirname</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">__FILE__</span><span class="syntaxkeyword">)+</span><span class="syntaxstring">"/Barre perso/icones" </span><span class="syntaxdefault"></span>
et pour retrouver l'icone, c'est comme ça :
<span class="syntaxdefault">cmd1</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">small_icon </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">File</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">join</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">dir</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"offsets16x16.png"</span><span class="syntaxkeyword">) </span><span class="syntaxdefault"></span>
Z'ont compris ? ^^
-
ça c'est évidemment autre chose
Mais cela ne résout pas mon petit problème de ligne de statut! -
Pour l'info bulle ça marche
Pour la ligne de Statut niet
Qu'est-ce qu'il y a encore qui ne va pas pas?
C'est incompatible avec le plug concerné ? Ou c'est encore un vice de procédure?le code du fichier externe qui crée la boîte d'outils pour Multiple Offsets.rb
require 'Multiple Offsets.rb' toolbar=UI;;Toolbar.new("Offsets") cmd1=UI;;Command.new('Multiple Offsets'){SDM_Multiple_Offsets.do_offsets} png1="top/offsets16x16.png" cmd1.small_icon=png1 cmd1.large_icon=png1 cmd1.tooltip = "Offset multiples" cmd1.status_bar_text = "texte explicatif commande n°1 dans la barre de statut" toolbar = toolbar.add_item cmd1 toolbar.show
-
Advertisement