|
2 | 2 | <html>
|
3 | 3 | <head>
|
4 | 4 | <title>Le replie de bloc</title>
|
5 |
| - |
6 | 5 | <link rel="stylesheet" type="text/css" href="src/css/styles.css">
|
7 | 6 | <link rel="stylesheet" type="text/css" href="src/css/syntaxes.css">
|
8 | 7 | <style>
|
|
21 | 20 | <a href="./index.htm">index</a>
|
22 | 21 |
|
23 | 22 | <div><h1>Le replie de bloc</h1>
|
24 |
| -<p>Ce module requiert le résultat de l'<a href="Strategy.Highlighting.Syntax.htm">analyse lexicale</a>.</p> |
| 23 | +<p>Ce module requiert le résultat de l'<a href="Strategy.Highlighting.Syntax.htm">analyse lexicale</a>.</p> |
25 | 24 |
|
26 | 25 | <div class=""><h2>Objectifs</h2>
|
27 | 26 | <ul>
|
28 |
| - <li>Réduire visuellement le nombre de ligne du texte source.</li> |
| 27 | + <li>Réduire visuellement le nombre de ligne du texte source.</li> |
29 | 28 | </ul>
|
30 | 29 | </div>
|
31 | 30 |
|
32 | 31 | <div class=""><h2>Diagramme</h2>
|
33 | 32 | <img src="diagram/Class.Fold.gif">
|
34 | 33 | </div>
|
35 | 34 |
|
36 |
| -<div class=""><h2>Aperçu</h2> |
| 35 | +<div class=""><h2>Aperçu</h2> |
37 | 36 | <!-- SOURCE -->
|
38 | 37 | <textarea id="eSource"></textarea>
|
39 | 38 | <div id="eContents"><!--Editor.addModule('Fold',(function(){
|
|
102 | 101 | // default:throw new Error ( e.title )
|
103 | 102 | }
|
104 | 103 | }
|
105 |
| - // Needed tant que 'e' n'a plus de parent (il est effacé!) |
| 104 | + // Needed tant que 'e' n'a plus de parent (il est effacé!) |
106 | 105 | setTimeout( function(){ D.oEditor.focus()}, 50 )
|
107 | 106 | })
|
108 | 107 | ,D.oCaret, 'change', CallBack( this, 'highlight' )
|
|
172 | 171 | _f( this.nCurrentFoldID, 'delete' )
|
173 | 172 | this.nCurrentFoldID = _f( nFoldID, 'add' )
|
174 | 173 | },
|
175 |
| - getBrackets :function(){ // TODO : eviter les calcul inutile lors de l'édition |
| 174 | + getBrackets :function(){ // TODO : eviter les calcul inutile lors de l'édition |
176 | 175 | if( ! this.bVisible ) return ;
|
177 | 176 | var D=this.oDocument, Sy=D.oSyntax.oStrategy, V=D.oView
|
178 | 177 | var aBefore = this.aIntervals
|
179 | 178 | if( Sy ){
|
180 | 179 | var o=Sy.oRootNode
|
181 | 180 | , f=function( s ){ return to_array( o.getElementsByTagName( s ))}
|
182 | 181 | , aIntervals = []
|
183 |
| - // Marque à faux tous les intervalles cachés. sera égale aux intervalles sans point de controle |
| 182 | + // Marque à faux tous les intervalles cachés. sera égale aux intervalles sans point de controle |
184 | 183 | for(var i=0, a; a=V.aHiddenRanges[i]; i++ ) a[2] = false
|
185 | 184 | // Recherche les paires
|
186 | 185 | for(var i=0, ni=this.aPaired.length; i<ni; i++ ){
|
|
196 | 195 | var n2 = oNode.oValue.lineStart
|
197 | 196 | if( n1==n2 ) continue;
|
198 | 197 | aIntervals.push( Range( n1, n2, 1 ))
|
199 |
| - // Marquage des intervalles pouvant-être réafichés |
| 198 | + // Marquage des intervalles pouvant-être réafichés |
200 | 199 | var bHidden = V.isHiddenRange( n1+1, n2 )
|
201 | 200 | if( bHidden ) V.aHiddenRanges[ bHidden-1 ][2]=true
|
202 | 201 | }
|
|
205 | 204 | for(var j=0, oNode; oNode=aLPAIR[j]; j++ )
|
206 | 205 | aIntervals.push( Range( oNode.oValue.lineStart, sRPair+' ?' ))
|
207 | 206 | }
|
208 |
| - // Affiche les intervalles ne pouvant plus être réaffiché |
| 207 | + // Affiche les intervalles ne pouvant plus être réaffiché |
209 | 208 | for(var i=0, a; a=V.aHiddenRanges[i]; i++ ) if( ! a[2]) V.showRange( a[0], a[1])
|
210 | 209 | // Organisation des paires
|
211 | 210 | aIntervals.sortBy('1','DESC')
|
|
217 | 216 | for(var j=i+1; j<ni; j++ ){
|
218 | 217 | var a2 = aIntervals[j]
|
219 | 218 | if( ! a2 ) continue;
|
220 |
| - if( a1[0]==a2[0]){ // Si deux intervalles ont le même départ on efface le deuxième |
| 219 | + if( a1[0]==a2[0]){ // Si deux intervalles ont le même départ on efface le deuxième |
221 | 220 | aIntervals[j] = null
|
222 | 221 | continue;
|
223 | 222 | }
|
224 | 223 | if( a2[0]>=a1[1]) break;
|
225 |
| - // Mise à jour du "Level" |
| 224 | + // Mise à jour du "Level" |
226 | 225 | if( a1[0]<=a2[0] && a2[1]<=a1[1]) a2[2]=a1[2]+1
|
227 | 226 | }
|
228 | 227 | }
|
|
232 | 231 | a.push( aIntervals[i])
|
233 | 232 | this.aIntervals = a
|
234 | 233 | }
|
235 |
| - // met à jour l'affichage si et seulement si il diffère |
| 234 | + // met à jour l'affichage si et seulement si il diffère |
236 | 235 | if( aBefore.toString() != this.aIntervals.toString()) this.refresh()
|
237 | 236 | },
|
238 | 237 | setBrackets :function(){
|
|
267 | 266 | if( ! n1ViewLine ) continue;
|
268 | 267 | var bHidden = V.isHiddenRange( n1+1, n2 )
|
269 | 268 | , sTop = (n1ViewLine-1)*Ch.nHeight +nVAlign+'px'
|
270 |
| - // Point de contrôle de l'intervalle |
| 269 | + // Point de contrôle de l'intervalle |
271 | 270 | this.oControlPoints[i]=[
|
272 | 271 | eParent.appendChild( Tag( 'DT',{ nFoldID:i, innerHTML:bHidden?'+':'-', style:{
|
273 | 272 | top: sTop,
|
|
0 commit comments