rhymix/modules/editor/skins/xquared/doc/api/src_10.html
haneul 0c99858e7c editor skin에 xquared 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3039 201d5d3c-b55e-5fd7-737f-ddc643e51545
2007-11-21 15:33:02 +00:00

91 lines
No EOL
19 KiB
HTML

<html><head><style>
.KEYW {color: #933;}
.COMM {color: #bbb; font-style: italic;}
.NUMB {color: #393;}
.STRN {color: #393;}
.REGX {color: #339;}
.linenumber {border-right: 1px dotted #666; color: #666; font-style: normal;}
</style></head><body><pre><span class='linenumber'> 1</span> <span class="COMM">/**
<span class='linenumber'> 2</span> * RichDom for Webkit
<span class='linenumber'> 3</span> */</span><span class="WHIT">
<span class='linenumber'> 4</span> </span><span class="NAME">xq.RichDomWebkit</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Class.create</span><span class="PUNC">(</span><span class="NAME">xq.RichDomW3</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 5</span> </span><span class="NAME">makePlaceHolder</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 6</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">holder</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.createElement</span><span class="PUNC">(</span><span class="STRN">"BR"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 7</span> </span><span class="NAME">holder.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"webkit-block-placeholder"</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 8</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">holder</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 9</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 10</span>
<span class='linenumber'> 11</span> </span><span class="NAME">makePlaceHolderString</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 12</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">'&lt;br class="webkit-block-placeholder" />'</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 13</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 14</span>
<span class='linenumber'> 15</span> </span><span class="NAME">makeEmptyParagraph</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 16</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.createElementFromHtml</span><span class="PUNC">(</span><span class="STRN">'&lt;p>&lt;br class="webkit-block-placeholder" />&lt;/p>'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 17</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 18</span>
<span class='linenumber'> 19</span> </span><span class="NAME">isPlaceHolder</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 20</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">node.nodeName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"BR"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">node.className</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"webkit-block-placeholder"</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 21</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 22</span>
<span class='linenumber'> 23</span> </span><span class="NAME">rng</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 24</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.sel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 25</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rng</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.doc.createRange</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 26</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this._rng</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
<span class='linenumber'> 27</span> </span><span class="NAME">this._anchorNode</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">sel.anchorNode</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
<span class='linenumber'> 28</span> </span><span class="NAME">this._anchorOffset</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">sel.anchorOffset</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
<span class='linenumber'> 29</span> </span><span class="NAME">this._focusNode</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">sel.focusNode</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
<span class='linenumber'> 30</span> </span><span class="NAME">this._focusOffset</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">sel.focusOffset</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 31</span>
<span class='linenumber'> 32</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">sel.type</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">'None'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 33</span> </span><span class="NAME">rng.setStart</span><span class="PUNC">(</span><span class="NAME">sel.anchorNode</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sel.anchorOffset</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 34</span> </span><span class="NAME">rng.setEnd</span><span class="PUNC">(</span><span class="NAME">sel.focusNode</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sel.focusOffset</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 35</span> </span><span class="PUNC">}</span><span class="WHIT">
<span class='linenumber'> 36</span> </span><span class="NAME">this._anchorNode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.anchorNode</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 37</span> </span><span class="NAME">this._anchorOffset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.anchorOffset</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 38</span> </span><span class="NAME">this._focusNode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.focusNode</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 39</span> </span><span class="NAME">this._focusOffset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.focusOffset</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 40</span> </span><span class="NAME">this._rng</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rng</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 41</span> </span><span class="PUNC">}</span><span class="WHIT">
<span class='linenumber'> 42</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._rng</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 43</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 44</span>
<span class='linenumber'> 45</span> </span><span class="NAME">selectElement</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">entireElement</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 46</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">element</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"[element] is null"</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 47</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">element.nodeType</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"[element] is not an element"</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 48</span>
<span class='linenumber'> 49</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rng</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rng</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 50</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">entireElement</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 51</span> </span><span class="NAME">rng.selectNode</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 52</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 53</span> </span><span class="NAME">rng.selectNodeContents</span><span class="PUNC">(</span><span class="NAME">element</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 54</span> </span><span class="PUNC">}</span><span class="WHIT">
<span class='linenumber'> 55</span> </span><span class="NAME">this._setSelectionByRange</span><span class="PUNC">(</span><span class="NAME">rng</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 56</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 57</span>
<span class='linenumber'> 58</span> </span><span class="NAME">deleteSelection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 59</span> </span><span class="NAME">this.rng</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">deleteContents</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 60</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 61</span>
<span class='linenumber'> 62</span> </span><span class="NAME">collapseSelection</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">toStart</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 63</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rng</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rng</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 64</span> </span><span class="NAME">rng.collapse</span><span class="PUNC">(</span><span class="NAME">toStart</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 65</span> </span><span class="NAME">this._setSelectionByRange</span><span class="PUNC">(</span><span class="NAME">rng</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 66</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 67</span>
<span class='linenumber'> 68</span> </span><span class="NAME">getSelectionAsHtml</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 69</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">container</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.createElement</span><span class="PUNC">(</span><span class="STRN">"div"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 70</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rng</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rng</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 71</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">contents</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rng</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">cloneContents</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 72</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">contents</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">container.appendChild</span><span class="PUNC">(</span><span class="NAME">contents</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 73</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">container.innerHTML</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 74</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='linenumber'> 75</span>
<span class='linenumber'> 76</span> </span><span class="NAME">_setSelectionByRange</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">rng</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='linenumber'> 77</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sel</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.sel</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 78</span> </span><span class="NAME">sel.setBaseAndExtent</span><span class="PUNC">(</span><span class="NAME">rng.startContainer</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rng.startOffset</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rng.endContainer</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rng.endOffset</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 79</span> </span><span class="NAME">this._anchorNode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.anchorNode</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 80</span> </span><span class="NAME">this._anchorOffset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.anchorOffset</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 81</span> </span><span class="NAME">this._focusNode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.focusNode</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 82</span> </span><span class="NAME">this._focusOffset</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sel.focusOffset</span><span class="PUNC">;</span><span class="WHIT">
<span class='linenumber'> 83</span> </span><span class="PUNC">}</span><span class="WHIT">
<span class='linenumber'> 84</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span></pre></body></html>