mon mini-toolkit de fenêtrage

Le
whygee
J'avais vu il y a qqs années un exemple de système de fenêtrage
pour pages HTML en JavaScript. Je ne l'ai pas retrouvé, par
contre j'ai trouvé plusieurs trucs plus ou moins gros ou
mal faits Et j'ai des besoins assez particuliers,
alors une journée de boulot et voilà :

http://yasep.org/~whygee/ygwm/ygwm.html

Vu que je n'ai pas recherché la compatibilité MSIE,
et que mon application est relativement simple et "spéciale",
le code est assez court, presque propre, facile à (ré)utiliser
(3 petits fichiers) et la CSS permet de bricoler les couleurs
si elles ne conviennent pas :-)

Je me dis que ça peut aider des gens ici ou là

--
http://ygdes.com / http://yasep.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
fred
Le #18615461
joli,
l'ouverture et la fermeture des fenêtres fonctionnent bien sous IE7
mais pas le redimensionnement ni le déplacement ...
A+ Fred
============= "whygee" 498c4695$0$28670$
J'avais vu il y a qqs années un exemple de système de fenêtrage
pour pages HTML en JavaScript. Je ne l'ai pas retrouvé, par
contre j'ai trouvé plusieurs trucs plus ou moins gros ou
mal faits... Et j'ai des besoins assez particuliers,
alors une journée de boulot et voilà :

http://yasep.org/~whygee/ygwm/ygwm.html

Vu que je n'ai pas recherché la compatibilité MSIE,
et que mon application est relativement simple et "spéciale",
le code est assez court, presque propre, facile à (ré)utiliser
(3 petits fichiers) et la CSS permet de bricoler les couleurs
si elles ne conviennent pas :-)

Je me dis que ça peut aider des gens ici ou là...

--
http://ygdes.com / http://yasep.org
SAM
Le #18617031
Le 2/6/09 3:00 PM, whygee a écrit :
J'avais vu il y a qqs années un exemple de système de fenêtrage
pour pages HTML en JavaScript. Je ne l'ai pas retrouvé, par



basé sur les script de
par exemple.

contre j'ai trouvé plusieurs trucs plus ou moins gros ou
mal faits... Et j'ai des besoins assez particuliers,
alors une journée de boulot et voilà :

http://yasep.org/~whygee/ygwm/ygwm.html



Ça marche dans mon Fx.3 ;-)

Vu que je n'ai pas recherché la compatibilité MSIE,



Ha oui ! en effet !
Avec mon IE.6 ça cafouille :
ligne 169 : "pageX" a la valeur Null ou n'est pas un objet
ligne 188 : "pageY" a la valeur Null ou n'est pas un objet


et que mon application est relativement simple et "spéciale",
le code est assez court, presque propre, facile à (ré)utiliser
(3 petits fichiers) et la CSS permet de bricoler les couleurs
si elles ne conviennent pas :-)

Je me dis que ça peut aider des gens ici ou là...



Sympa.

Petits bémols :
- chaque fenêtre contient des trucs de même ID que sa copine
- Fx me dit qu'on est en QuirksMode
- Tidy rale à cause du html pas touj correct
(d'où le quirksmode ?)

--
sm
whygee
Le #18622001
fred wrote:
joli,
l'ouverture et la fermeture des fenêtres fonctionnent bien sous IE7
mais pas le redimensionnement ni le déplacement ...



Je n'en espérais pas autant :-)
Mais je fuis MSIE comme la peste, alors si
elle me rattrappe, ça ne m'arrange pas ;-)

A+ Fred


--
http://ygdes.com / http://yasep.org
whygee
Le #18622021
Bonsoir !

SAM wrote:
Le 2/6/09 3:00 PM, whygee a écrit :
J'avais vu il y a qqs années un exemple de système de fenêtrage
pour pages HTML en JavaScript. Je ne l'ai pas retrouvé, par



basé sur les script de
par exemple.



marrant :-)
mais j'avais vu un autre exemple il y a 2 ou 3 ans, très sympa aussi.

contre j'ai trouvé plusieurs trucs plus ou moins gros ou
mal faits... Et j'ai des besoins assez particuliers,
alors une journée de boulot et voilà :
http://yasep.org/~whygee/ygwm/ygwm.html


Ça marche dans mon Fx.3 ;-)



ça, c'est normal :-P

Vu que je n'ai pas recherché la compatibilité MSIE,


Ha oui ! en effet !
Avec mon IE.6 ça cafouille :
ligne 169 : "pageX" a la valeur Null ou n'est pas un objet
ligne 188 : "pageY" a la valeur Null ou n'est pas un objet



je m'en doute...
j'ai choisi de me concentrer uniquement sur FF,
car sinon il faudrait des semaines pour faire ce
qui prend un jour ou deux...
alors si en plus de faire durer le développement
et d'être chiante, la "compatibilité MSIE" entretient
la légitimité d'une famille de navigos qui ne sont
même pas compatibles entre eux, ben... :-/

En ce qui concerne Konqueror, Chrome et Opera,
je crois que j'ai juste eu une modif à faire
pour que ça marche, et encore c'était dans du
code réalisé auparavant et qui m'a servi à
construire ygwm aussi vite. Donc si les efforts
sont minimines, je ne refuse pas un peu de
portabilité :-)




oui je sais qu'il y a plein de choses à potasser.
Simplement, de temps en temps, il faut lever la tête
de la doc, et passer à la pratique :-)
et même parfois faire des compromis.

et que mon application est relativement simple et "spéciale",
le code est assez court, presque propre, facile à (ré)utiliser
(3 petits fichiers) et la CSS permet de bricoler les couleurs
si elles ne conviennent pas :-)
Je me dis que ça peut aider des gens ici ou là...



Sympa.



bon, je viens d'intégrer le biniou dans un truc plus "gros"
et ça commence à bien marcher :-D
http://yasep.org/~whygee/listed/listed.html
ça devrait permettre aux intéressés de comprendre
pourquoi j'ai fait certains choix sur ygwm.
Je viens de rajouter l'effacement par drag&drop
au moyen d'une chaine de callback...

Petits bémols :
- chaque fenêtre contient des trucs de même ID que sa copine


je sais. c'est pas bien.
c'est toutefois un choix que j'ai fait pour réduire le code
et éviter de me prendre la tête à chaque fois que je
bricole dedans : j'ai une fonction "maison" getElement()
qui prend un élément de base pour la recherche, c'est plus flexible
et plus rapide que de passer par document.getElementById
(moins de noeuds à scanner). Donc ça compense...
En fait, à partir de là, tous les "chemins" sont "relatifs",
c'est comme mettre des fichiers appelés identiquement
mais dans des répertoires différents.
Tant qu'on passe par les fonctions internes, ça ne pose
pas de souci et c'est cohérent avec la CSS.

- Fx me dit qu'on est en QuirksMode


j'ai remarqué ce détail, mais "ça marche"... et je ne me suis
même pas encore occupé de savoir ce qu'est précisément ce mode.

- Tidy rale à cause du html pas touj correct
(d'où le quirksmode ?)


:-)

"ce qu'il y a de bien avec les normes/standard, c'est
qu'il y en a tellement parmi lesquel(le)s ont peut choisir"
(je ne sais plus d'où vient cette citation).

Par le passé j'étais à cheval sur les spécifications
et finalement je n'ai pas pu faire avancer grand-chose.
Alors je laisse aujourd'hui ce qui ne m'est pas vital,
pour me concentrer sur ce qui marche, et résultat :
http://ygdes.com/3r/ : une démo interactive de compression de données
et http://yasep.org/ : un site "très dynamique" où la doc,
le simulateur et l'assembleur d'un processeur virtuel sont
intégrés les uns dans les autres. Je prépare actuellement
une version 2009 encore plus intégrée :-)

Merci pour les remarques constructives,
je les garde dans un coin de ma tête.
Je continue sur mon éditeur de listings,
et vu que je procède par affinages successifs,
la deuxième ou troisième réécriture sera
certainement de bien meilleure qualité :-)

yg
--
http://ygdes.com / http://yasep.org
SAM
Le #18625631
Le 2/9/09 3:25 AM, whygee a écrit :
Bonsoir !



Bonjour,

bon, je viens d'intégrer le biniou dans un truc plus "gros"
et ça commence à bien marcher :-D
http://yasep.org/~whygee/listed/listed.html



Le double-clic dur la barre de titre des pipeaux ne fonctionne pas.
Très déstabilisé je suis ;-)

Je ne sais si c'est dû à l'insertion des tables dans les pipeaux, mais
ça a perdu beaucoup de fluidité au drag.

Heu ...
# duplication d'une ligne (CTRL+click sur son numéro),
Là ça ne m'arrange pas :
ce raccourci est déjà occupé par le popup-menu du brouteur

ça devrait permettre aux intéressés de comprendre
pourquoi j'ai fait certains choix sur ygwm.



Non.
(il faut touj bien m'esspliquer en long, large et en travers pour que je
commence un peu à capter)

Si vraiment c'est limité à Fx je t'engage à faire du code HTML qui lui
convienne (respectueux des standards et bien que tu en dises que ça
marche comme ça)

Je viens de rajouter l'effacement par drag&drop
au moyen d'une chaine de callback...



Sauf que je n'ai pas réussi à poubelliser l'another editor que je viens
d'adder (pas trouvé de version française)
Sauf que je n'ai pas trouvé le raccourcis-clavier
(la corbeille est loin ...)
(si on en a un pour dupliquer, on pourrait en avoir un pour gommer)

--
sm
whygee
Le #18630411
SAM wrote:
Le 2/9/09 3:25 AM, whygee a écrit :
Bonsoir !


Bonjour,


_o/ Merci pour le beta-test :-)
étant "un peu trop dans mon truc", j'en oublie
facilement que d'autres peuvent percevoir différemment
ce que je fais. Or puisque j'aimerais que ce que je
fais soit aussi utile à d'autres, je suis touché
par tous les commentaires constructifs :-)

bon, je viens d'intégrer le biniou dans un truc plus "gros"
et ça commence à bien marcher :-D
http://yasep.org/~whygee/listed/listed.html


Le double-clic dur la barre de titre des pipeaux ne fonctionne pas.


dur ?
pipeaux ?
heuh...

Très déstabilisé je suis ;-)



j'essaie d'éviter le double-click :-)
ma mère, dans ses 65 ans, est complétement
déstabilisée par l'interface de windows,
un coup elle clicke une fois, une autre fois deux...
résultat elle lance 2 ou 3 fois une application
et se plaint que son ordi "rame"...

d'un autre côté, mon gestionnaire de fenêtres sous Linux
c'est 9wm, donc je ne peux pas me permettre de donner
de leçons de GUI ;-)

Je ne sais si c'est dû à l'insertion des tables dans les pipeaux, m ais
ça a perdu beaucoup de fluidité au drag.


c'est tout à fait ça. Les tables sont un peu sophistiquées,
mais elle sont le centre du biniou, donc tant pis pour le lag,
c'est pas ce qui se fait le plus en temps normal.

Un autre truc sympa avec FF3 c'est le zoom :
on peut changer la résolution et avoir plein plein d'infos
en tout petit, sans avoir besoin de faire le moindre bout
de code :-)))) en résolution minimale (zoom out à fond)
on peut mettre au moins une dizaine de fenêtre et observer
la structure globale de ce qu'on construit.
CTRL+6 ou CTRL+0 plus les flèches ou les scrollbars
et on a presque le début d'un logiciel de CAO :-D

Heu ...
# duplication d'une ligne (CTRL+click sur son numéro),
Là ça ne m'arrange pas :
ce raccourci est déjà occupé par le popup-menu du brouteur



ah.....
embêté je très suis.
quel brouteur, au fait ?
et c'est une extension ou c'est le comportement par défaut ?
sous FF, ça ouvre un lien dans un autre tab,
mais je n'utilise pas ce raccourci... et il n'y a pas de lien.
Quelle solution y aurait-il ?
Je réserve SHIFT pour sélectionner un groupe de lignes.
reste ALT mais c'est bizarre.

ça devrait permettre aux intéressés de comprendre
pourquoi j'ai fait certains choix sur ygwm.


Non.
(il faut touj bien m'esspliquer en long, large et en travers pour que j e
commence un peu à capter)



bon en gros, c'est un "outil" pour les programmeurs en langage assembleur .
Une sorte de tableur pour coder au plus proche de la machine.
Le genre de truc qui permet d'organiser son code et de voir immédiateme nt
ce que ça donne, sans s'emmerder à éditer/assembler/tester/débugg er/gnagnagna...

Du code, j'en ai écrit une tonne et je me suis galéré à faire des trucs
sur des papiers, c'est lent et pas flexible, sans parler des erreurs...
Je veux passer d'un environnement complétement figé, statique,
à un truc dynamique qui teste et valide mon code au fur et à mesure
où je l'écris. C'est exactement ce que permet JS.

Si vraiment c'est limité à Fx je t'engage à faire du code HTML qu i lui
convienne (respectueux des standards et bien que tu en dises que ça
marche comme ça)


ben à part rajouter la balise qui indique l'encodage, je ne vois
pas ce que je peux faire. La dernière fois que j'ai passé la moulinet te
à validation du W3C, ça m'a demandé de faire des modifs et le navig o
n'a plus exécuté le JS de la même manière, ça a comme qui dirai t tout cassé...
j'aurais réparé SI j'avais su ce qui n'allait pas, ou comment
faire, mais je n'ai rien trouvé. Donc j'ai enlevé les balises du W3C
et ça a remarché......

Je viens de rajouter l'effacement par drag&drop
au moyen d'une chaine de callback...



Sauf que je n'ai pas réussi à poubelliser l'another editor que je v iens
d'adder (pas trouvé de version française)


arf :-)
il faut que j'arrête de mélanger les langues...
Normalement c'est tout en anglais
mais vu que les personnes qui ont la gentillesse de
jeter un coup d'oeil sont toutes françaises,
je mets bien en évidence les trucs importants, en fr,
sinon ils vont me rapporter des comportements connus...

Sauf que je n'ai pas trouvé le raccourcis-clavier
(la corbeille est loin ...)


ya pas de racourci clavier /o
en tout cas c'est noté ;-)
et si la poubelle est loin, c'est encore moins
probable d'effacer qqc par accident :-)

(si on en a un pour dupliquer, on pourrait en avoir un pour gommer)


hmmmm....
à voir...

--
http://ygdes.com / http://yasep.org
SAM
Le #18630651
Le 2/9/09 11:15 PM, whygee a écrit :
SAM wrote:
Le 2/9/09 3:25 AM, whygee a écrit :
Bonsoir !


Bonjour,


_o/ Merci pour le beta-test :-)



Je dois avouer que pour un guitariste c'est pas trop mal :-)

étant "un peu trop dans mon truc", j'en oublie
facilement que d'autres peuvent percevoir différemment
ce que je fais. Or puisque j'aimerais que ce que je
fais soit aussi utile à d'autres, je suis touché
par tous les commentaires constructifs :-)

bon, je viens d'intégrer le biniou dans un truc plus "gros"
et ça commence à bien marcher :-D
http://yasep.org/~whygee/listed/listed.html


Le double-clic dur la barre de titre des pipeaux ne fonctionne pas.


dur ?
pipeaux ?
heuh...



ben ... le pipeau du bignou quoi (la fausse-fenêtre).
(dble-clic sur ygwm_header je présume)

Très déstabilisé je suis ;-)



j'essaie d'éviter le double-click :-)
ma mère, dans ses 65 ans, est complétement
déstabilisée par l'interface de windows,



comme je la comprend !
conseille-lui un Mac

un coup elle clicke une fois, une autre fois deux...
résultat elle lance 2 ou 3 fois une application
et se plaint que son ordi "rame"...



Yapas moyen de régler le ddble-clic sur Win ?
(délai entre clics)

d'un autre côté, mon gestionnaire de fenêtres sous Linux
c'est 9wm,



tu m'aurais dit c'est tchingthangtchec je n'aurais pas + capté.
(ma débian en 9 CD fait presse-papier depuis 5 ou 6 ans)

Un autre truc sympa avec FF3 c'est le zoom :
on peut changer la résolution et avoir plein plein d'infos
en tout petit, sans avoir besoin de faire le moindre bout
de code :-)))) en résolution minimale (zoom out à fond)
on peut mettre au moins une dizaine de fenêtre et observer
la structure globale de ce qu'on construit.
CTRL+6 ou CTRL+0 plus les flèches ou les scrollbars
et on a presque le début d'un logiciel de CAO :-D



Ouais ... bon ...

# duplication d'une ligne (CTRL+click sur son numéro),
Là ça ne m'arrange pas :
ce raccourci est déjà occupé par le popup-menu du brouteur





ce qui n'empêche pas que ça se duplique pas dessous le menu.

ah.....
embêté je très suis.
quel brouteur, au fait ?
et c'est une extension ou c'est le comportement par défaut ?



comportement par défaut du brouteur ET du système (Mac + Fx et autres)
Le control-clic sur Mac remplace le clic-droit
D'ailleurs ça fonctionne aussi sur Windows (si je n'm'abuse)

sous FF, ça ouvre un lien dans un autre tab,



Pour le control-clic sur lien, oui le menu s'adapte et permet de
choisir, autre tab ou autre fenêtre
adaptation aussi pour les frames, les images, etc.

mais je n'utilise pas ce raccourci... et il n'y a pas de lien.
Quelle solution y aurait-il ?



soit tu la détectes et sais comment claquer le bec à Fx,
soit je m'en fous puisque je ne vois pas à quoi servent ces tables
et je ferai ma cuisine moi-même :-)

Voici :
<a href="#" onContextMenu="return false">pas de menu contextuel ici</a>
Plus d'info (se faire le sien) :

L'attribut onContextMenu dans le html va faire râler le validator :-(
En JS ce devrait être : oncontextmenu

Je réserve SHIFT pour sélectionner un groupe de lignes.



Ha ben là c'est déjà pris aussi.
clic ici
shift+clic là
tout ce qui est entre les 2 est sélectionné
C'est une propriété du Système !
(ça fonctionne maintenant aussi sur Windows (je crois ?))
(sur 9wm ça n'est pas prévu ?)
Mébon, je pense que ça peut fonctionner qd même.
C'est en place ?

reste ALT mais c'est bizarre.



Pour un MacUser pas vraiment, de ttes façons sa touche accessoire
préférée est la touche Pomme (ou Command)
(pas la peine de la chercher sur un clavier de PC)

(il faut touj bien m'esspliquer en long, large et en travers pour que
je commence un peu à capter)



bon en gros, c'est un "outil" pour les programmeurs en langage assembleur.



Ha bon?
Alors je peux zapper.

Si vraiment c'est limité à Fx je t'engage à faire du code HTML qui lui
convienne (respectueux des standards et bien que tu en dises que ça
marche comme ça)


ben à part rajouter la balise qui indique l'encodage, je ne vois
pas ce que je peux faire.



c'est déjà un début ;-)

Après ... un LI doit être dans un UL ou un OL
... Un pre ne se met pas dans un P
... on ne doit pas commencer du texte s'il n'est dans un P ou un DIV
... les balises B et U n'existent plus

La dernière fois que j'ai passé la moulinette
à validation du W3C, ça m'a demandé de faire des modifs et le navigo
n'a plus exécuté le JS de la même manière, ça a comme qui dirait tout
cassé...



J'ai vu.

suffit de faire dans le JS
truc.machin.style.left = otr.chose + 'px';
*plus px* !
En CSS les dimensions *doivent avoir* une unité.
(en profiter pour faire de même dans la feuille de styles)

Sauf que je n'ai pas réussi à poubelliser l'another editor que je
viens d'adder (pas trouvé de version française)


arf :-)
il faut que j'arrête de mélanger les langues...



ça ne me dit pas comment on jette une fausse-fenêtre.

je mets bien en évidence les trucs importants, en fr,
sinon ils vont me rapporter des comportements connus...



en Fr c'est mieux.

(si on en a un pour dupliquer, on pourrait en avoir un pour gommer)


hmmmm....
à voir...



ben le [+] se transforme en [-] et hop!
mem[x]=getElement('row_xx','TR',this).parentNode.removeChild(getElement('row_xx','TR',this));
comme ça on pourra peut-être faire control+z pour l'annuler.


--
sm
SAM
Le #18630751
Le 2/9/09 3:25 AM, whygee a écrit :
Bonsoir !

SAM wrote:
Petits bémols :
- chaque fenêtre contient des trucs de même ID que sa copine


je sais. c'est pas bien.
c'est toutefois un choix que j'ai fait pour réduire le code
et éviter de me prendre la tête à chaque fois que je
bricole dedans : j'ai une fonction "maison" getElement()



oui et alors ?

/* Add the getElement function if it does not exist */
try {
i=getElement("plop");
}
catch(e){
function getElement(name,tag,base) {
base = base || document;
tag = tag || '*';
var t = base.getElementsByTagName(tag);
for (var i=0, n = t.length; i<n; i++) {
if (t[i].id == name || t[i].className == name)
return t[i];
}
return null;
}
}

qui prend un élément de base pour la recherche,



et maintenant tu peux sélectionner par l'id ou la class
(suffit de ne pas nommer pareil IDs et CLASSs)
Les trucs peuvent alors n'avoir pas d'ID mais une CLASS.
(surprise : il ont déjà une class ;-) )

c'est plus flexible
et plus rapide que de passer par document.getElementById
(moins de noeuds à scanner). Donc ça compense...



Heu ... là je sais pô.
Probable que tous les élément sont déjà répertoriés dans le DOM à
l'ouverture, pas besoin de faire des boucles pour en appeler un.

En fait, à partir de là, tous les "chemins" sont "relatifs",
c'est comme mettre des fichiers appelés identiquement
mais dans des répertoires différents.
Tant qu'on passe par les fonctions internes, ça ne pose
pas de souci et c'est cohérent avec la CSS.



new_id.changeDimensions=function(width,height) {
width = (width<ygwm.min_width)? width :
ygwm.min_width;
height = height<ygwm.min_height? height : ygwm.min_height;
new_id.div_height=height;
new_id.div_width = width; // pas certain que ce soit utile
// on se demande bien pourquoi il n'y a pas une css
// qui règle ces largeurs tte seule par simple inherit ou 100% ?
new_id.header_id.style.width = contents_id.style.width = width+'px';
if (footer_id)
new_id.footer_id.style.width = width+'px';
// seule la hauteur serait alors à bidouiller
new_id.contents_id.style.height=height+'px';
}


- Fx me dit qu'on est en QuirksMode


j'ai remarqué ce détail, mais "ça marche"... et je ne me suis
même pas encore occupé de savoir ce qu'est précisément ce mode.



Je pense qu'en non quirksmode c'est sensé absolument respecter les
standards et que sans doute ça évite à Fx de motoriser pour interpréter
une soupe de tags.

Alors je laisse aujourd'hui ce qui ne m'est pas vital,
pour me concentrer sur ce qui marche, et résultat :
http://ygdes.com/3r/ : une démo interactive de compression de données
et http://yasep.org/ : un site "très dynamique" où la doc,



Je n'ai rien compris à quoi pouvaient servir et l'un et l'autre.
Ça doit encore être des remue-méninges pour linuxien, ou pire
électronicien ? :-p

Voici un peu modifié :
html, css et JS dans même fichier.
Les ID redondants ont été supprimés, hop! tout à partir des classes.
Ça fonctionne avec mon IE.6
Enfin ... ça fonctionne ... il doit manquer des cancel-du-bulbe car au
drag ça sélectionne tout le texte que ça peut trouver, sinon tout semble
marcher pareil qu'avec Fx.


[a parte]
Pour la baguette chef d'orchestre, la prochaine fois utilise une flèche
d'archer (Décatdelong, Racfour). C'est assez solide, extra léger, et
surtout c'est *creux*, et sans doute adaptable sur la poignée.
(bon ... ça ne fera pas le même bruit sur le pupitre)
[/a parte]

--
sm
whygee
Le #18636101
SAM wrote:
Le 2/9/09 3:25 AM, whygee a écrit :
Bonsoir !

SAM wrote:
Petits bémols :
- chaque fenêtre contient des trucs de même ID que sa copine


je sais. c'est pas bien.
c'est toutefois un choix que j'ai fait pour réduire le code
et éviter de me prendre la tête à chaque fois que je
bricole dedans : j'ai une fonction "maison" getElement()



oui et alors ?
if (t[i].id == name || t[i].className == name)



hmmm ça va me faire faire plein de changements...
revoir la CSS, tout ça...

mais heureusement que je m'inquiète de ces détails
AVANT que le gros de la machinerie soit en place,
ça fait moins de boulot :-)

en tout cas mélanger un test sur un id et une classe,
je trouve ça un peu litigieux aussi, il va falloir que
j'y mette de l'ordre :-)

qui prend un élément de base pour la recherche,


et maintenant tu peux sélectionner par l'id ou la class
(suffit de ne pas nommer pareil IDs et CLASSs)


oui ce serait stupide :-)

Les trucs peuvent alors n'avoir pas d'ID mais une CLASS.
(surprise : il ont déjà une class ;-) )


mais il y a des classes partagées, pour factoriser
les définitions dans la CSS...

c'est plus flexible
et plus rapide que de passer par document.getElementById
(moins de noeuds à scanner). Donc ça compense...


Heu ... là je sais pô.
Probable que tous les élément sont déjà répertoriés dans le DOM à
l'ouverture, pas besoin de faire des boucles pour en appeler un.


hmmmm....


new_id.changeDimensions=function(width,height) {
width = (width<ygwm.min_width)? width :
ygwm.min_width;


je préfère quand le if est bien explicite, sinon c'est plus lourd à relire...

height = height<ygwm.min_height? height : ygwm.min_height;
new_id.div_height=height;
new_id.div_width = width; // pas certain que ce soit utile


ça va plus vite quand on relit les paramètres ensuite.
comme un sorte de "cache", pas besoin de demander au DOM qui va reconvert ir et tout...

// on se demande bien pourquoi il n'y a pas une css
// qui règle ces largeurs tte seule par simple inherit ou 100% ?


j'ai pas essayé inherit, et le "100%" semblait pas marcher.
mes premiers essais on trouvé des cas particuliers, des combinaisons
de tailles qui déréglaient le truc...
je m'y suis peut-être mal pris.

en tout cas :
- quand je règle la taille au niveau du div externe,
le "padding: 2px;" de div#ygwm_header, div#ygwm_contents
et div#ygwm_footer, ça fait déborder du div de 4px,
- quand je "force" la largeur du div#ygwm_contents,
la taille des autres ne suit pas toujours et ça donne
un autre effet bizarre.
donc j'ai dû forcer la taille sur les 3 div internes.

si j'ai laissé passer une technique CSS qui m'était encore inconnue,
je dis pas non, surtout si ça réduit le nombre de lignes du programme .

new_id.header_id.style.width = contents_id.style.width = width+ 'px';


ah oui, le "px" ...

if (footer_id)
new_id.footer_id.style.width = width+'px';
// seule la hauteur serait alors à bidouiller
new_id.contents_id.style.height=height+'px';
}


- Fx me dit qu'on est en QuirksMode


j'ai remarqué ce détail, mais "ça marche"... et je ne me suis
même pas encore occupé de savoir ce qu'est précisément ce mode .


Je pense qu'en non quirksmode c'est sensé absolument respecter les
standards et que sans doute ça évite à Fx de motoriser pour inter préter
une soupe de tags.


il faudra voir.

Alors je laisse aujourd'hui ce qui ne m'est pas vital,
pour me concentrer sur ce qui marche, et résultat :
http://ygdes.com/3r/ : une démo interactive de compression de donné es
et http://yasep.org/ : un site "très dynamique" où la doc,


Je n'ai rien compris à quoi pouvaient servir et l'un et l'autre.


le 1er c'est l'utilisation de JS pour faire une démo interactive,
pour un truc qui est classiquement présenté sous forme de code source .
presque personne ne fait l'effort de lire le source, alors pour
montrer 1) que ça marche 2) que le résultat est correct,
ben je fais une démo interactive :-)

Le 2) c'est la continuation d'une idée qui remonte à 2002...
et le ras-le-bol avec les méthodes de conception "classiques"
lourdes, chiantes, fragiles et que personne ne veut regarder.
en faisant un "clicodrome", je multiplie par 10 le nombre
de personnes intéressées, ainsi que son utilité.

Ça doit encore être des remue-méninges pour linuxien, ou pire
électronicien ? :-p


chacun a ses trucs...
tant que c'est utile, amusant et/ou rentable, y'a pas de mal ;-)

Voici un peu modifié :
html, css et JS dans même fichier.



hmmm je vais regarder ça :-)))
...

ah mais ça a l'air pas mal !

Les ID redondants ont été supprimés, hop! tout à partir des cla sses.
Ça fonctionne avec mon IE.6


f34r... :-)

Enfin ... ça fonctionne ... il doit manquer des cancel-du-bulbe car a u
drag ça sélectionne tout le texte que ça peut trouver, sinon tout semble
marcher pareil qu'avec Fx.


si il suffit de rajouter un cancelbubble, ça ira :-)

[a parte]
Pour la baguette chef d'orchestre, la prochaine fois utilise une flèc he
d'archer (Décatdelong, Racfour). C'est assez solide, extra léger, e t
surtout c'est *creux*, et sans doute adaptable sur la poignée.
(bon ... ça ne fera pas le même bruit sur le pupitre)
[/a parte]



mouarf :-)
les flèches c'est en fibre de carbone.
Et il existe aussi des baguettes en fibre de carbone.
c'est solide, mais impossible à travailler, et cher.

C'est simple, quand on a choisi ensemble la baguette
qui allait être bricolée (rue de Rennes à Paris il
y a plein de magasins de musique, dont certains qui
en ont), et bien je me croyais dans un remake de Harry Potter...

et chaque chef d'orchestre a sa sensibilité et exigence
particulière... c'est comme le prolongement de son bras,
et aussi précis qu'un instrument de musique ;-)

c'était assez éclatant.

Ah là on vient de m'appeler pour faire un devis pour
installer plus d'1KW de LEDs sur un décor d'opéra...
les affaires reprennent :-)


Merci pour toutes les infos et la peine !
maintenant il faut que j'intègre toutes ces modifs,
surtout que j'ai changé qqs mécanismes internes récemment.
j'ai du taf, mais c'est bien :-)

--
http://ygdes.com / http://yasep.org
whygee
Le #18636841
re,

SAM wrote:
Le 2/9/09 11:15 PM, whygee a écrit :
_o/ Merci pour le beta-test :-)


Je dois avouer que pour un guitariste c'est pas trop mal :-)


?

Le double-clic dur la barre de titre des pipeaux ne fonctionne pas.


dur ?
pipeaux ?
heuh...


ben ... le pipeau du bignou quoi (la fausse-fenêtre).
(dble-clic sur ygwm_header je présume)


voilà, là je comprends :-)

j'essaie d'éviter le double-click :-)
ma mère, dans ses 65 ans, est complétement
déstabilisée par l'interface de windows,


comme je la comprend !
conseille-lui un Mac


ce serait pire, car j'aurai une raison de plus de ne pas l'aider ;-P

un coup elle clicke une fois, une autre fois deux...
résultat elle lance 2 ou 3 fois une application
et se plaint que son ordi "rame"...


Yapas moyen de régler le ddble-clic sur Win ?
(délai entre clics)


c'est pas là le problème...
elle n'intègre pas que "dans certains endroits"
le simple clic sélectionne et le double exécute,
et "dans d'autres endroits" ça exécute.
c'est vrai qu'en fait y'a une logique un peu tordue...

d'un autre côté, mon gestionnaire de fenêtres sous Linux c'est 9 wm,


tu m'aurais dit c'est tchingthangtchec je n'aurais pas + capté.
(ma débian en 9 CD fait presse-papier depuis 5 ou 6 ans)


comment dire... 9WM n'a pas de bouton.
aucune décoration. faut tout faire avec un menu
déroulant avec click droit. et encore les fonctions
sont réduites au minimum...
je me fais traiter de barbare par les gens habitués
aux interfaces héritées de fvwm, mais au moins ça consomme
quasiment aucune ressources CPU ;-)

http://www.delafond.org/traducmanfr/man/man1/9wm.1.html
http://en.wikipedia.org/wiki/9wm
ah ouaiiis, ça date de 1994...
ah merde, son auteur est mort en 2003 o_O
http://unauthorised.org/dhog/index.html

CTRL+6 ou CTRL+0 plus les flèches ou les scrollbars
et on a presque le début d'un logiciel de CAO :-D


Ouais ... bon ...


pour moi c'est très important...

# duplication d'une ligne (CTRL+click sur son numéro),
Là ça ne m'arrange pas :
ce raccourci est déjà occupé par le popup-menu du brouteur




ce qui n'empêche pas que ça se duplique pas dessous le menu.


??? "pourtant ça marche chez moi" :-/

ah.....
embêté je très suis.
quel brouteur, au fait ?
et c'est une extension ou c'est le comportement par défaut ?



comportement par défaut du brouteur ET du système (Mac + Fx et autr es)


ah, sous Mac...

Le control-clic sur Mac remplace le clic-droit
D'ailleurs ça fonctionne aussi sur Windows (si je n'm'abuse)


hmmmm.... grumpf...

mais je n'utilise pas ce raccourci... et il n'y a pas de lien.
Quelle solution y aurait-il ?


soit tu la détectes et sais comment claquer le bec à Fx,
soit je m'en fous puisque je ne vois pas à quoi servent ces tables
et je ferai ma cuisine moi-même :-)



bon ben solution #1 :-)

Voici :
<a href="#" onContextMenu="return false">pas de menu contextuel ici </a>


j'ai vu un tel lien sur ta version modifiée, il faut que j'examine ça .

Plus d'info (se faire le sien) :


encore de la lecture... mais quand est-ce que je vais coder, moi ? :-)

L'attribut onContextMenu dans le html va faire râler le validator :-(
En JS ce devrait être : oncontextmenu


ok donc on passe par là.

Je réserve SHIFT pour sélectionner un groupe de lignes.



Ha ben là c'est déjà pris aussi.
clic ici
shift+clic là
tout ce qui est entre les 2 est sélectionné
C'est une propriété du Système !


ben je voulais faire pareil....

(ça fonctionne maintenant aussi sur Windows (je crois ?))
(sur 9wm ça n'est pas prévu ?)


9wm c'est le désert de Gobi ;-)

Mébon, je pense que ça peut fonctionner qd même.
C'est en place ?


le shift n'est pas encore implémenté.
j'attends de régler d'autres histoires d'abord :-)

reste ALT mais c'est bizarre.


Pour un MacUser pas vraiment, de ttes façons sa touche accessoire
préférée est la touche Pomme (ou Command)
(pas la peine de la chercher sur un clavier de PC)


je sais :-D

(il faut touj bien m'esspliquer en long, large et en travers pour que
je commence un peu à capter)


bon en gros, c'est un "outil" pour les programmeurs en langage
assembleur.


Ha bon?
Alors je peux zapper.


ensuite, hein, ça peut servir à autre chose :-)
mais pourquoi je pense à un éditeur de partitions ?...

Si vraiment c'est limité à Fx je t'engage à faire du code HTML qui
lui convienne (respectueux des standards et bien que tu en dises que
ça marche comme ça)


ben à part rajouter la balise qui indique l'encodage, je ne vois
pas ce que je peux faire.


c'est déjà un début ;-)


;-) tant que ça n'augmente pas le nb de msg d'erreurs...

Après ... un LI doit être dans un UL ou un OL


DOIT ? hmmmm admettons :-)
même si "ça fonctione sans" /o

... Un pre ne se met pas dans un P


ah ben oui bon...

... on ne doit pas commencer du texte s'il n'est dans un P ou un DIV


mouéé... aussi...

... les balises B et U n'existent plus


ni FONT...
mais bon, c'était juste des protos, j'écris tout à la main... etc. :-)
donc ça fait un peu chier de taper "<span style="font-weight:bold">"

La dernière fois que j'ai passé la moulinette
à validation du W3C, ça m'a demandé de faire des modifs et le na vigo
n'a plus exécuté le JS de la même manière, ça a comme qui di rait tout
cassé...


J'ai vu.

suffit de faire dans le JS
truc.machin.style.left = otr.chose + 'px';
*plus px* !


ah ben si c'était si simple, pourquoi j'ai pas trouvé tout seul ? :-(

En CSS les dimensions *doivent avoir* une unité.
(en profiter pour faire de même dans la feuille de styles)


ah oui tiens...

Sauf que je n'ai pas réussi à poubelliser l'another editor que je
viens d'adder (pas trouvé de version française)


arf :-)
il faut que j'arrête de mélanger les langues...


ça ne me dit pas comment on jette une fausse-fenêtre.


"chez moi ça marche",
on clicke sur le header, on déplace la fenêtre (en gardant le bouton enfoncé)
et lorsque le curseur est sur la poubelle, elle s'ouvre si c'est ok,
et là on relâche. et voilà.

je mets bien en évidence les trucs importants, en fr,
sinon ils vont me rapporter des comportements connus...


en Fr c'est mieux.


bon :-)
mais quand même les commentaires, je les laisse en en

(si on en a un pour dupliquer, on pourrait en avoir un pour gommer)


hmmmm....
à voir...


ben le [+] se transforme en [-] et hop!


"se transforme" ?

mem[x]=getElement('row_xx','TR',this).parentNode.removeChild(getEleme nt('row_xx','TR',this));
comme ça on pourra peut-être faire control+z pour l'annuler.


pour l'historique de undo, j'ai pensé à faire un truc que j'avais ess ayé
sur un autre bidule en JS... mais c'est un peu compliqué.
je vais voir ça une fois que le biniou sera un peu moins "quirks" :-)

bon, je parle, je parle... faudrait coder maintenant :-)

merci et @+

--
http://ygdes.com / http://yasep.org
Publicité
Poster une réponse
Anonyme