b8c6c1e6c41552b4f1d1c2eee5d55bb2d2437f93
[roojs1] / docs / src / Roo_form_HtmlEditor_ToolbarStandard.js.html
1 <html><head><title>Roo/form/HtmlEditor/ToolbarStandard.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">// &lt;script type=&quot;text/javascript&quot;&gt;
2 /*
3  * Based on
4  * Ext JS Library 1.1.1
5  * Copyright(c) 2006-2007, Ext JS, LLC.
6  *  
7  
8  */
9
10 /**
11  * @class Roo.form.HtmlEditorToolbar1
12  * Basic Toolbar
13  * 
14  * Usage:
15  *
16  new Roo.form.HtmlEditor({
17     ....
18     toolbars : [
19         new Roo.form.HtmlEditorToolbar1({
20             disable : { fonts: 1 , format: 1, ..., ... , ...],
21             btns : [ .... ]
22         })
23     }
24      
25  * 
26  * @cfg {Object} disable List of elements to disable..
27  * @cfg {Array} btns List of additional buttons.
28  * 
29  * 
30  * NEEDS Extra CSS? 
31  * .x-html-editor-tb .x-edit-none .x-btn-text { background: none; }
32  */
33
34 </span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarStandard </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">)
35 {
36
37     </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
38
39     </span><span class="jsdoc-comment">// default disabled, based on 'good practice'..
40     </span><span class="jsdoc-var">this.disable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.disable </span><span class="jsdoc-syntax">|| {};
41     </span><span class="jsdoc-var">Roo.applyIf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disable</span><span class="jsdoc-syntax">, {
42         </span><span class="jsdoc-var">fontSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
43         </span><span class="jsdoc-var">colors </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
44         </span><span class="jsdoc-var">specialElements </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
45     </span><span class="jsdoc-syntax">});
46
47
48     </span><span class="jsdoc-comment">//Roo.form.HtmlEditorToolbar1.superclass.constructor.call(this, editor.wrap.dom.firstChild, [], config);
49     // dont call parent... till later.
50 </span><span class="jsdoc-syntax">}
51
52 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.form.HtmlEditor.ToolbarStandard.prototype</span><span class="jsdoc-syntax">,  {
53
54     </span><span class="jsdoc-var">tb</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
55
56     </span><span class="jsdoc-var">rendered</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
57
58     </span><span class="jsdoc-var">editor </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
59     </span><span class="jsdoc-var">editorcore </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
60     </span><span class="jsdoc-comment">/**
61      * @cfg {Object} disable  List of toolbar elements to disable
62          
63      */
64     </span><span class="jsdoc-var">disable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
65
66
67      </span><span class="jsdoc-comment">/**
68      * @cfg {String} createLinkText The default text for the create link prompt
69      */
70     </span><span class="jsdoc-var">createLinkText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Please enter the URL for the link:'</span><span class="jsdoc-syntax">,
71     </span><span class="jsdoc-comment">/**
72      * @cfg {String} defaultLinkValue The default value for the create link prompt (defaults to http:/ /)
73      */
74     </span><span class="jsdoc-var">defaultLinkValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'http:/'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'/'</span><span class="jsdoc-syntax">,
75
76
77       </span><span class="jsdoc-comment">/**
78      * @cfg {Array} fontFamilies An array of available font families
79      */
80     </span><span class="jsdoc-var">fontFamilies </span><span class="jsdoc-syntax">: [
81         </span><span class="jsdoc-string">'Arial'</span><span class="jsdoc-syntax">,
82         </span><span class="jsdoc-string">'Courier New'</span><span class="jsdoc-syntax">,
83         </span><span class="jsdoc-string">'Tahoma'</span><span class="jsdoc-syntax">,
84         </span><span class="jsdoc-string">'Times New Roman'</span><span class="jsdoc-syntax">,
85         </span><span class="jsdoc-string">'Verdana'
86     </span><span class="jsdoc-syntax">],
87
88     </span><span class="jsdoc-var">specialChars </span><span class="jsdoc-syntax">: [
89            </span><span class="jsdoc-string">&quot;&amp;#169;&quot;</span><span class="jsdoc-syntax">,
90           </span><span class="jsdoc-string">&quot;&amp;#174;&quot;</span><span class="jsdoc-syntax">,
91           </span><span class="jsdoc-string">&quot;&amp;#8482;&quot;</span><span class="jsdoc-syntax">,
92           </span><span class="jsdoc-string">&quot;&amp;#163;&quot; </span><span class="jsdoc-syntax">,
93          </span><span class="jsdoc-comment">// &quot;&amp;#8212;&quot;,    
94           </span><span class="jsdoc-string">&quot;&amp;#8230;&quot;</span><span class="jsdoc-syntax">,
95           </span><span class="jsdoc-string">&quot;&amp;#247;&quot; </span><span class="jsdoc-syntax">,
96         </span><span class="jsdoc-comment">//  &quot;&amp;#225;&quot; ,     ?? a acute?
97            </span><span class="jsdoc-string">&quot;&amp;#8364;&quot;    </span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">//Euro
98        //   &quot;&amp;#8220;&quot;    ,
99         //  &quot;&amp;#8221;&quot;    ,
100         //  &quot;&amp;#8226;&quot;    ,
101           </span><span class="jsdoc-string">&quot;&amp;#176;&quot;  </span><span class="jsdoc-comment">//   , // degrees
102
103          // &quot;&amp;#233;&quot;     , // e ecute
104          // &quot;&amp;#250;&quot;     , // u ecute?
105     </span><span class="jsdoc-syntax">],
106
107     </span><span class="jsdoc-var">specialElements </span><span class="jsdoc-syntax">: [
108         {
109             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Insert Table&quot;</span><span class="jsdoc-syntax">,
110             </span><span class="jsdoc-var">xtype</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'MenuItem'</span><span class="jsdoc-syntax">,
111             </span><span class="jsdoc-var">xns </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.Menu</span><span class="jsdoc-syntax">,
112             </span><span class="jsdoc-var">ihtml </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-string">'&lt;table&gt;&lt;tr&gt;&lt;td&gt;Cell&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;'
113
114         </span><span class="jsdoc-syntax">},
115         {
116             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Insert Image&quot;</span><span class="jsdoc-syntax">,
117             </span><span class="jsdoc-var">xtype</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'MenuItem'</span><span class="jsdoc-syntax">,
118             </span><span class="jsdoc-var">xns </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.Menu</span><span class="jsdoc-syntax">,
119             </span><span class="jsdoc-var">ihtml </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;img src=&quot;about:blank&quot;/&gt;'
120
121         </span><span class="jsdoc-syntax">}
122
123
124     ],
125
126
127     </span><span class="jsdoc-var">inputElements </span><span class="jsdoc-syntax">: [
128             </span><span class="jsdoc-string">&quot;form&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;input:text&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;input:hidden&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;input:checkbox&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;input:radio&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;input:password&quot;</span><span class="jsdoc-syntax">,
129             </span><span class="jsdoc-string">&quot;input:submit&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;input:button&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;select&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;textarea&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;label&quot; </span><span class="jsdoc-syntax">],
130     </span><span class="jsdoc-var">formats </span><span class="jsdoc-syntax">: [
131         [</span><span class="jsdoc-string">&quot;p&quot;</span><span class="jsdoc-syntax">] ,
132         [</span><span class="jsdoc-string">&quot;h1&quot;</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">&quot;h2&quot;</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">&quot;h3&quot;</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">&quot;h4&quot;</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">&quot;h5&quot;</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">&quot;h6&quot;</span><span class="jsdoc-syntax">],
133         [</span><span class="jsdoc-string">&quot;pre&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;code&quot;</span><span class="jsdoc-syntax">],
134         [</span><span class="jsdoc-string">&quot;abbr&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;acronym&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;address&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;cite&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;samp&quot;</span><span class="jsdoc-syntax">],[ </span><span class="jsdoc-string">&quot;var&quot;</span><span class="jsdoc-syntax">],
135         [</span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">],
136         [</span><span class="jsdoc-string">'sup'</span><span class="jsdoc-syntax">],[</span><span class="jsdoc-string">'sub'</span><span class="jsdoc-syntax">]
137     ],
138
139     </span><span class="jsdoc-var">cleanStyles </span><span class="jsdoc-syntax">: [
140         </span><span class="jsdoc-string">&quot;font-size&quot;
141     </span><span class="jsdoc-syntax">],
142      </span><span class="jsdoc-comment">/**
143      * @cfg {String} defaultFont default font to use.
144      */
145     </span><span class="jsdoc-var">defaultFont</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tahoma'</span><span class="jsdoc-syntax">,
146
147     </span><span class="jsdoc-var">fontSelect </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
148
149
150     </span><span class="jsdoc-var">formatCombo </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
151
152     </span><span class="jsdoc-var">init </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">)
153     {
154         </span><span class="jsdoc-var">this.editor </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">;
155         </span><span class="jsdoc-var">this.editorcore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editor.editorcore </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">editor.editorcore </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">editor</span><span class="jsdoc-syntax">;
156         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">editorcore </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore</span><span class="jsdoc-syntax">;
157
158         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
159
160         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editorcore.frameId</span><span class="jsdoc-syntax">;
161         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">etb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
162         </span><span class="jsdoc-keyword">function </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">toggle</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">){
163             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">xid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fid </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">;
164             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
165                 </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">xid</span><span class="jsdoc-syntax">,
166                 </span><span class="jsdoc-var">cmd </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
167                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-btn-icon x-edit-'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
168                 </span><span class="jsdoc-var">enableToggle</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">toggle </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
169                 </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">_t</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// was editor...
170                 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">_t.relayBtnCmd</span><span class="jsdoc-syntax">,
171                 </span><span class="jsdoc-var">clickEvent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">,
172                 </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">etb.buttonTips</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">] || </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">///tips ???
173                 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
174             };
175         }
176
177
178
179         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Toolbar</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editor.wrap.dom.firstChild</span><span class="jsdoc-syntax">);
180         </span><span class="jsdoc-var">this.tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tb</span><span class="jsdoc-syntax">;
181          </span><span class="jsdoc-comment">// stop form submits
182         </span><span class="jsdoc-var">tb.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
183             </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-comment">// what does this do?
184         </span><span class="jsdoc-syntax">});
185
186         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.font</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// &amp;&amp; !Roo.isSafari){
187             /* why no safari for fonts 
188             editor.fontSelect = tb.el.createChild({
189                 tag:'select',
190                 tabIndex: -1,
191                 cls:'x-font-select',
192                 html: this.createFontOptions()
193             });
194             
195             editor.fontSelect.on('change', function(){
196                 var font = editor.fontSelect.dom.value;
197                 editor.relayCmd('fontname', font);
198                 editor.deferFocus();
199             }, editor);
200             
201             tb.add(
202                 editor.fontSelect.dom,
203                 '-'
204             );
205             */
206
207         </span><span class="jsdoc-syntax">};
208         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.formats</span><span class="jsdoc-syntax">){
209             </span><span class="jsdoc-var">this.formatCombo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.form.ComboBox</span><span class="jsdoc-syntax">({
210                 </span><span class="jsdoc-var">store</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.SimpleStore</span><span class="jsdoc-syntax">({
211                     </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tag'</span><span class="jsdoc-syntax">,
212                     </span><span class="jsdoc-var">fields</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">'tag'</span><span class="jsdoc-syntax">],
213                     </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.formats </span><span class="jsdoc-comment">// from states.js
214                 </span><span class="jsdoc-syntax">}),
215                 </span><span class="jsdoc-var">blockFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
216                 </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
217                 </span><span class="jsdoc-comment">//autoCreate : {tag: &quot;div&quot;,  size: &quot;20&quot;},
218                 </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'tag'</span><span class="jsdoc-syntax">,
219                 </span><span class="jsdoc-var">typeAhead</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
220                 </span><span class="jsdoc-var">mode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">,
221                 </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
222                 </span><span class="jsdoc-var">triggerAction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
223                 </span><span class="jsdoc-var">emptyText</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'Add tag'</span><span class="jsdoc-syntax">,
224                 </span><span class="jsdoc-var">selectOnFocus</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
225                 </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">:135,
226                 </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
227                     </span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) {
228                         </span><span class="jsdoc-var">editorcore.insertTag</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tag'</span><span class="jsdoc-syntax">));
229                         </span><span class="jsdoc-var">editor.focus</span><span class="jsdoc-syntax">();
230                     }
231                 }
232
233             });
234             </span><span class="jsdoc-var">tb.addField</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatCombo</span><span class="jsdoc-syntax">);
235
236         }
237
238         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.format</span><span class="jsdoc-syntax">){
239             </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(
240                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'bold'</span><span class="jsdoc-syntax">),
241                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'italic'</span><span class="jsdoc-syntax">),
242                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'underline'</span><span class="jsdoc-syntax">),
243                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'strikethrough'</span><span class="jsdoc-syntax">)
244             );
245         };
246         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.fontSize</span><span class="jsdoc-syntax">){
247             </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(
248                 </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
249
250
251                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'increasefontsize'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">editorcore.adjustFont</span><span class="jsdoc-syntax">),
252                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'decreasefontsize'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">editorcore.adjustFont</span><span class="jsdoc-syntax">)
253             );
254         };
255
256
257         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.colors</span><span class="jsdoc-syntax">){
258             </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(
259                 </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">, {
260                     </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">editorcore.frameId </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'-forecolor'</span><span class="jsdoc-syntax">,
261                     </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'x-btn-icon x-edit-forecolor'</span><span class="jsdoc-syntax">,
262                     </span><span class="jsdoc-var">clickEvent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">,
263                     </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.buttonTips</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'forecolor'</span><span class="jsdoc-syntax">] || </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">,
264                     </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1,
265                     </span><span class="jsdoc-var">menu </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.menu.ColorMenu</span><span class="jsdoc-syntax">({
266                         </span><span class="jsdoc-var">allowReselect</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
267                         </span><span class="jsdoc-var">focus</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.emptyFn</span><span class="jsdoc-syntax">,
268                         </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'000000'</span><span class="jsdoc-syntax">,
269                         </span><span class="jsdoc-var">plain</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
270                         </span><span class="jsdoc-var">selectHandler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cp</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">color</span><span class="jsdoc-syntax">){
271                             </span><span class="jsdoc-var">editorcore.execCmd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'forecolor'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.isSafari </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.isIE </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'#'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">color </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">color</span><span class="jsdoc-syntax">);
272                             </span><span class="jsdoc-var">editor.deferFocus</span><span class="jsdoc-syntax">();
273                         },
274                         </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">editorcore</span><span class="jsdoc-syntax">,
275                         </span><span class="jsdoc-var">clickEvent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'mousedown'
276                     </span><span class="jsdoc-syntax">})
277                 }, {
278                     </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">editorcore.frameId </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'backcolor'</span><span class="jsdoc-syntax">,
279                     </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'x-btn-icon x-edit-backcolor'</span><span class="jsdoc-syntax">,
280                     </span><span class="jsdoc-var">clickEvent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">,
281                     </span><span class="jsdoc-var">tooltip</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.buttonTips</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'backcolor'</span><span class="jsdoc-syntax">] || </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">,
282                     </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1,
283                     </span><span class="jsdoc-var">menu </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.menu.ColorMenu</span><span class="jsdoc-syntax">({
284                         </span><span class="jsdoc-var">focus</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.emptyFn</span><span class="jsdoc-syntax">,
285                         </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'FFFFFF'</span><span class="jsdoc-syntax">,
286                         </span><span class="jsdoc-var">plain</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
287                         </span><span class="jsdoc-var">allowReselect</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
288                         </span><span class="jsdoc-var">selectHandler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cp</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">color</span><span class="jsdoc-syntax">){
289                             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isGecko</span><span class="jsdoc-syntax">){
290                                 </span><span class="jsdoc-var">editorcore.execCmd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'useCSS'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
291                                 </span><span class="jsdoc-var">editorcore.execCmd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'hilitecolor'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">color</span><span class="jsdoc-syntax">);
292                                 </span><span class="jsdoc-var">editorcore.execCmd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'useCSS'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
293                                 </span><span class="jsdoc-var">editor.deferFocus</span><span class="jsdoc-syntax">();
294                             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
295                                 </span><span class="jsdoc-var">editorcore.execCmd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isOpera </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'hilitecolor' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'backcolor'</span><span class="jsdoc-syntax">,
296                                     </span><span class="jsdoc-var">Roo.isSafari </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.isIE </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'#'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">color </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">color</span><span class="jsdoc-syntax">);
297                                 </span><span class="jsdoc-var">editor.deferFocus</span><span class="jsdoc-syntax">();
298                             }
299                         },
300                         </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">editorcore</span><span class="jsdoc-syntax">,
301                         </span><span class="jsdoc-var">clickEvent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'mousedown'
302                     </span><span class="jsdoc-syntax">})
303                 }
304             );
305         };
306         </span><span class="jsdoc-comment">// now add all the items...
307
308
309         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.alignments</span><span class="jsdoc-syntax">){
310             </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(
311                 </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
312                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'justifyleft'</span><span class="jsdoc-syntax">),
313                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'justifycenter'</span><span class="jsdoc-syntax">),
314                 </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'justifyright'</span><span class="jsdoc-syntax">)
315             );
316         };
317
318         </span><span class="jsdoc-comment">//if(!Roo.isSafari){
319             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.links</span><span class="jsdoc-syntax">){
320                 </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(
321                     </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
322                     </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'createlink'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.createLink</span><span class="jsdoc-syntax">)    </span><span class="jsdoc-comment">/// MOVE TO HERE?!!?!?!?!
323                 </span><span class="jsdoc-syntax">);
324             };
325
326             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.lists</span><span class="jsdoc-syntax">){
327                 </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(
328                     </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
329                     </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'insertorderedlist'</span><span class="jsdoc-syntax">),
330                     </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'insertunorderedlist'</span><span class="jsdoc-syntax">)
331                 );
332             }
333             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.sourceEdit</span><span class="jsdoc-syntax">){
334                 </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(
335                     </span><span class="jsdoc-string">'-'</span><span class="jsdoc-syntax">,
336                     </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'sourceedit'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">){
337                         </span><span class="jsdoc-var">this.toggleSourceEdit</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn.pressed</span><span class="jsdoc-syntax">);
338                     })
339                 );
340             }
341         </span><span class="jsdoc-comment">//}
342
343         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">smenu </span><span class="jsdoc-syntax">= { };
344         </span><span class="jsdoc-comment">// special menu.. - needs to be tidied up..
345         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.special</span><span class="jsdoc-syntax">) {
346             </span><span class="jsdoc-var">smenu </span><span class="jsdoc-syntax">= {
347                 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&amp;#169;&quot;</span><span class="jsdoc-syntax">,
348                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-edit-none'</span><span class="jsdoc-syntax">,
349
350                 </span><span class="jsdoc-var">menu </span><span class="jsdoc-syntax">: {
351                     </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">: []
352                 }
353             };
354             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.specialChars.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
355                 </span><span class="jsdoc-var">smenu.menu.items.push</span><span class="jsdoc-syntax">({
356
357                     </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.specialChars</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],
358                     </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
359                         </span><span class="jsdoc-var">editorcore.insertAtCursor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.html.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&amp;#'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.replace</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">';'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">)));
360                         </span><span class="jsdoc-comment">//editor.insertAtCursor(a.html);
361
362                     </span><span class="jsdoc-syntax">},
363                     </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
364                 });
365             }
366
367
368             </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">smenu</span><span class="jsdoc-syntax">);
369
370
371         }
372
373         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cmenu </span><span class="jsdoc-syntax">= { };
374         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.cleanStyles</span><span class="jsdoc-syntax">) {
375             </span><span class="jsdoc-var">cmenu </span><span class="jsdoc-syntax">= {
376                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-btn-icon x-btn-clear'</span><span class="jsdoc-syntax">,
377
378                 </span><span class="jsdoc-var">menu </span><span class="jsdoc-syntax">: {
379                     </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">: []
380                 }
381             };
382             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.cleanStyles.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
383                 </span><span class="jsdoc-var">cmenu.menu.items.push</span><span class="jsdoc-syntax">({
384                     </span><span class="jsdoc-var">actiontype </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.cleanStyles</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],
385                     </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Remove ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.cleanStyles</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],
386                     </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
387 </span><span class="jsdoc-comment">//                        Roo.log(a);
388 //                        Roo.log(b);
389                         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editorcore.doc.body</span><span class="jsdoc-syntax">);
390                         </span><span class="jsdoc-var">c.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'[style]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">) {
391                             </span><span class="jsdoc-var">s.dom.style.removeProperty</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a.actiontype</span><span class="jsdoc-syntax">);
392                         });
393                         </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
394                     },
395                     </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
396                 });
397             }
398             </span><span class="jsdoc-var">cmenu.menu.items.push</span><span class="jsdoc-syntax">({
399                 </span><span class="jsdoc-var">actiontype </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tablewidths'</span><span class="jsdoc-syntax">,
400                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Remove Table Widths'</span><span class="jsdoc-syntax">,
401                 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
402                     </span><span class="jsdoc-var">editorcore.cleanTableWidths</span><span class="jsdoc-syntax">();
403                     </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
404                 },
405                 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
406             });
407             </span><span class="jsdoc-var">cmenu.menu.items.push</span><span class="jsdoc-syntax">({
408                 </span><span class="jsdoc-var">actiontype </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'word'</span><span class="jsdoc-syntax">,
409                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Remove MS Word Formating'</span><span class="jsdoc-syntax">,
410                 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
411                     </span><span class="jsdoc-var">editorcore.cleanWord</span><span class="jsdoc-syntax">();
412                     </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
413                 },
414                 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
415             });
416
417             </span><span class="jsdoc-var">cmenu.menu.items.push</span><span class="jsdoc-syntax">({
418                 </span><span class="jsdoc-var">actiontype </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
419                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Remove All Styles'</span><span class="jsdoc-syntax">,
420                 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
421
422                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editorcore.doc.body</span><span class="jsdoc-syntax">);
423                     </span><span class="jsdoc-var">c.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'[style]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">) {
424                         </span><span class="jsdoc-var">s.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'style'</span><span class="jsdoc-syntax">);
425                     });
426                     </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
427                 },
428                 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
429             });
430
431             </span><span class="jsdoc-var">cmenu.menu.items.push</span><span class="jsdoc-syntax">({
432                 </span><span class="jsdoc-var">actiontype </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
433                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Remove All CSS Classes'</span><span class="jsdoc-syntax">,
434                 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
435
436                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editorcore.doc.body</span><span class="jsdoc-syntax">);
437                     </span><span class="jsdoc-var">c.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'[class]'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">) {
438                         </span><span class="jsdoc-var">s.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'class'</span><span class="jsdoc-syntax">);
439                     });
440                     </span><span class="jsdoc-var">editorcore.cleanWord</span><span class="jsdoc-syntax">();
441                     </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
442                 },
443                 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
444             });
445
446              </span><span class="jsdoc-var">cmenu.menu.items.push</span><span class="jsdoc-syntax">({
447                 </span><span class="jsdoc-var">actiontype </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tidy'</span><span class="jsdoc-syntax">,
448                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Tidy HTML Source'</span><span class="jsdoc-syntax">,
449                 </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
450                     </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.htmleditor.Tidy</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">editorcore.doc.body</span><span class="jsdoc-syntax">);
451                     </span><span class="jsdoc-var">editorcore.syncValue</span><span class="jsdoc-syntax">();
452                 },
453                 </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:-1
454             });
455
456
457             </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cmenu</span><span class="jsdoc-syntax">);
458         }
459
460         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.specialElements</span><span class="jsdoc-syntax">) {
461             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">semenu </span><span class="jsdoc-syntax">= {
462                 </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;Other;&quot;</span><span class="jsdoc-syntax">,
463                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-edit-none'</span><span class="jsdoc-syntax">,
464                 </span><span class="jsdoc-var">menu </span><span class="jsdoc-syntax">: {
465                     </span><span class="jsdoc-var">items </span><span class="jsdoc-syntax">: []
466                 }
467             };
468             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.specialElements.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
469                 </span><span class="jsdoc-var">semenu.menu.items.push</span><span class="jsdoc-syntax">(
470                     </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">({
471                         </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
472                             </span><span class="jsdoc-var">editor.insertAtCursor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ihtml</span><span class="jsdoc-syntax">);
473                         }
474                     }, </span><span class="jsdoc-var">this.specialElements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">])
475                 );
476
477             }
478
479             </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">semenu</span><span class="jsdoc-syntax">);
480
481
482         }
483
484
485         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">) {
486             </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.btns.length</span><span class="jsdoc-syntax">;</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
487                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">],</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.xns </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.form</span><span class="jsdoc-syntax">);
488                 </span><span class="jsdoc-var">b.cls </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-string">'x-edit-none'</span><span class="jsdoc-syntax">;
489
490                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.cls</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.cls.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-init-enable'</span><span class="jsdoc-syntax">) !== -1){
491                     </span><span class="jsdoc-var">b.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' x-init-enable'</span><span class="jsdoc-syntax">;
492                 }
493
494                 </span><span class="jsdoc-var">b.scope </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">editorcore</span><span class="jsdoc-syntax">;
495                 </span><span class="jsdoc-var">tb.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">);
496             }
497
498         }
499
500
501
502         </span><span class="jsdoc-comment">// disable everything...
503
504         </span><span class="jsdoc-var">this.tb.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
505
506            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(
507                 </span><span class="jsdoc-var">item.id </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">editorcore.frameId</span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-sourceedit' </span><span class="jsdoc-syntax">&amp;&amp;
508                 (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.cls</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">item.cls.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-init-enable'</span><span class="jsdoc-syntax">) === -1)
509             ){
510
511                 </span><span class="jsdoc-var">item.disable</span><span class="jsdoc-syntax">();
512             }
513         });
514         </span><span class="jsdoc-var">this.rendered </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
515
516         </span><span class="jsdoc-comment">// the all the btns;
517         </span><span class="jsdoc-var">editor.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'editorevent'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.updateToolbar</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
518         </span><span class="jsdoc-comment">// other toolbars need to implement this..
519         //editor.on('editmodechange', this.updateToolbar, this);
520     </span><span class="jsdoc-syntax">},
521
522
523     </span><span class="jsdoc-var">relayBtnCmd </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">) {
524         </span><span class="jsdoc-var">this.editorcore.relayCmd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn.cmd</span><span class="jsdoc-syntax">);
525     },
526     </span><span class="jsdoc-comment">// private used internally
527     </span><span class="jsdoc-var">createLink </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
528         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;create link?&quot;</span><span class="jsdoc-syntax">);
529         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ec </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore</span><span class="jsdoc-syntax">;
530         </span><span class="jsdoc-var">Roo.MessageBox.prompt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;Add Link URL&quot;</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">this.createLinkText</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">) {
531             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'ok'</span><span class="jsdoc-syntax">) {
532                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
533             }
534             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">url </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">url </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'http:/'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'/'</span><span class="jsdoc-syntax">){
535                 </span><span class="jsdoc-var">ec.relayCmd</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'createlink'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">);
536             }
537         });
538
539     },
540
541
542     </span><span class="jsdoc-comment">/**
543      * Protected method that will not generally be called directly. It triggers
544      * a toolbar update by reading the markup state of the current selection in the editor.
545      */
546     </span><span class="jsdoc-var">updateToolbar</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
547
548         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.editorcore.activated</span><span class="jsdoc-syntax">){
549             </span><span class="jsdoc-var">this.editor.onFirstFocus</span><span class="jsdoc-syntax">();
550             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
551         }
552
553         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">btns </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tb.items.map</span><span class="jsdoc-syntax">,
554             </span><span class="jsdoc-var">doc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.doc</span><span class="jsdoc-syntax">,
555             </span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.frameId</span><span class="jsdoc-syntax">;
556
557         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.font </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">Roo.isSafari</span><span class="jsdoc-syntax">){
558             </span><span class="jsdoc-comment">/*
559             var name = (doc.queryCommandValue('FontName')||this.editor.defaultFont).toLowerCase();
560             if(name != this.fontSelect.dom.value){
561                 this.fontSelect.dom.value = name;
562             }
563             */
564         </span><span class="jsdoc-syntax">}
565         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.format</span><span class="jsdoc-syntax">){
566             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-bold'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'bold'</span><span class="jsdoc-syntax">));
567             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-italic'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'italic'</span><span class="jsdoc-syntax">));
568             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-underline'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'underline'</span><span class="jsdoc-syntax">));
569             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-strikethrough'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'strikethrough'</span><span class="jsdoc-syntax">));
570         }
571         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.disable.alignments</span><span class="jsdoc-syntax">){
572             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-justifyleft'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'justifyleft'</span><span class="jsdoc-syntax">));
573             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-justifycenter'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'justifycenter'</span><span class="jsdoc-syntax">));
574             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-justifyright'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'justifyright'</span><span class="jsdoc-syntax">));
575         }
576         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">Roo.isSafari </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.disable.lists</span><span class="jsdoc-syntax">){
577             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-insertorderedlist'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'insertorderedlist'</span><span class="jsdoc-syntax">));
578             </span><span class="jsdoc-var">btns</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">frameId </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-insertunorderedlist'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doc.queryCommandState</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'insertunorderedlist'</span><span class="jsdoc-syntax">));
579         }
580
581         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ans </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.editorcore.getAllAncestors</span><span class="jsdoc-syntax">();
582         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.formatCombo</span><span class="jsdoc-syntax">) {
583
584
585             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">store </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.formatCombo.store</span><span class="jsdoc-syntax">;
586             </span><span class="jsdoc-var">this.formatCombo.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">);
587             </span><span class="jsdoc-keyword">for </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">=0; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">ans.length</span><span class="jsdoc-syntax">;</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
588                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] &amp;&amp; </span><span class="jsdoc-var">store.query</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tag'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.tagName.toLowerCase</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">) {
589                     </span><span class="jsdoc-comment">// select it..
590                     </span><span class="jsdoc-var">this.formatCombo.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ans</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.tagName.toLowerCase</span><span class="jsdoc-syntax">());
591                     </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
592                 }
593             }
594         }
595
596
597
598         </span><span class="jsdoc-comment">// hides menus... - so this cant be on a menu...
599         </span><span class="jsdoc-var">Roo.menu.MenuMgr.hideAll</span><span class="jsdoc-syntax">();
600
601         </span><span class="jsdoc-comment">//this.editorsyncValue();
602     </span><span class="jsdoc-syntax">},
603
604
605     </span><span class="jsdoc-var">createFontOptions </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
606         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buf </span><span class="jsdoc-syntax">= [], </span><span class="jsdoc-var">fs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.fontFamilies</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ff</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">;
607
608
609
610         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fs.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
611             </span><span class="jsdoc-var">ff </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fs</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
612             </span><span class="jsdoc-var">lc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ff.toLowerCase</span><span class="jsdoc-syntax">();
613             </span><span class="jsdoc-var">buf.push</span><span class="jsdoc-syntax">(
614                 </span><span class="jsdoc-string">'&lt;option value=&quot;'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">lc</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'&quot; style=&quot;font-family:'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">ff</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">';&quot;'</span><span class="jsdoc-syntax">,
615                     (</span><span class="jsdoc-var">this.defaultFont </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">lc </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">' selected=&quot;true&quot;&gt;' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&gt;'</span><span class="jsdoc-syntax">),
616                     </span><span class="jsdoc-var">ff</span><span class="jsdoc-syntax">,
617                 </span><span class="jsdoc-string">'&lt;/option&gt;'
618             </span><span class="jsdoc-syntax">);
619         }
620         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">buf.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
621     },
622
623     </span><span class="jsdoc-var">toggleSourceEdit </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sourceEditMode</span><span class="jsdoc-syntax">){
624
625         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;toolbar toogle&quot;</span><span class="jsdoc-syntax">);
626         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sourceEditMode </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">){
627             </span><span class="jsdoc-var">sourceEditMode </span><span class="jsdoc-syntax">= !</span><span class="jsdoc-var">this.sourceEditMode</span><span class="jsdoc-syntax">;
628         }
629         </span><span class="jsdoc-var">this.sourceEditMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sourceEditMode </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
630         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">btn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tb.items.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editorcore.frameId </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'-sourceedit'</span><span class="jsdoc-syntax">);
631         </span><span class="jsdoc-comment">// just toggle the button?
632         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn.pressed </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">this.sourceEditMode</span><span class="jsdoc-syntax">){
633             </span><span class="jsdoc-var">btn.toggle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.sourceEditMode</span><span class="jsdoc-syntax">);
634             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
635         }
636
637         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sourceEditMode</span><span class="jsdoc-syntax">){
638             </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;disabling buttons&quot;</span><span class="jsdoc-syntax">);
639             </span><span class="jsdoc-var">this.tb.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
640                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.cmd </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'sourceedit' </span><span class="jsdoc-syntax">&amp;&amp; (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.cls</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">item.cls.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-init-enable'</span><span class="jsdoc-syntax">) === -1)){
641                     </span><span class="jsdoc-var">item.disable</span><span class="jsdoc-syntax">();
642                 }
643             });
644
645         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
646             </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;enabling buttons&quot;</span><span class="jsdoc-syntax">);
647             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editorcore.initialized</span><span class="jsdoc-syntax">){
648                 </span><span class="jsdoc-var">this.tb.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
649                     </span><span class="jsdoc-var">item.enable</span><span class="jsdoc-syntax">();
650                 });
651                 </span><span class="jsdoc-comment">// initialize 'blocks'
652                 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editorcore.doc.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.query</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'*[data-block]'</span><span class="jsdoc-syntax">), </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
653                     </span><span class="jsdoc-var">Roo.htmleditor.Block.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.updateElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
654                 },</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
655
656             }
657
658         }
659         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;calling toggole on editor&quot;</span><span class="jsdoc-syntax">);
660         </span><span class="jsdoc-comment">// tell the editor that it's been pressed..
661         </span><span class="jsdoc-var">this.editor.toggleSourceEdit</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sourceEditMode</span><span class="jsdoc-syntax">);
662
663     },
664      </span><span class="jsdoc-comment">/**
665      * Object collection of toolbar tooltips for the buttons in the editor. The key
666      * is the command id associated with that button and the value is a valid QuickTips object.
667      * For example:
668 &lt;pre&gt;&lt;code&gt;
669 {
670     bold : {
671         title: 'Bold (Ctrl+B)',
672         text: 'Make the selected text bold.',
673         cls: 'x-html-editor-tip'
674     },
675     italic : {
676         title: 'Italic (Ctrl+I)',
677         text: 'Make the selected text italic.',
678         cls: 'x-html-editor-tip'
679     },
680     ...
681 &lt;/code&gt;&lt;/pre&gt;
682     * @type Object
683      */
684     </span><span class="jsdoc-var">buttonTips </span><span class="jsdoc-syntax">: {
685         </span><span class="jsdoc-var">bold </span><span class="jsdoc-syntax">: {
686             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Bold (Ctrl+B)'</span><span class="jsdoc-syntax">,
687             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Make the selected text bold.'</span><span class="jsdoc-syntax">,
688             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
689         </span><span class="jsdoc-syntax">},
690         </span><span class="jsdoc-var">italic </span><span class="jsdoc-syntax">: {
691             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Italic (Ctrl+I)'</span><span class="jsdoc-syntax">,
692             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Make the selected text italic.'</span><span class="jsdoc-syntax">,
693             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
694         </span><span class="jsdoc-syntax">},
695         </span><span class="jsdoc-var">underline </span><span class="jsdoc-syntax">: {
696             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Underline (Ctrl+U)'</span><span class="jsdoc-syntax">,
697             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Underline the selected text.'</span><span class="jsdoc-syntax">,
698             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
699         </span><span class="jsdoc-syntax">},
700         </span><span class="jsdoc-var">strikethrough </span><span class="jsdoc-syntax">: {
701             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Strikethrough'</span><span class="jsdoc-syntax">,
702             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Strikethrough the selected text.'</span><span class="jsdoc-syntax">,
703             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
704         </span><span class="jsdoc-syntax">},
705         </span><span class="jsdoc-var">increasefontsize </span><span class="jsdoc-syntax">: {
706             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Grow Text'</span><span class="jsdoc-syntax">,
707             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Increase the font size.'</span><span class="jsdoc-syntax">,
708             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
709         </span><span class="jsdoc-syntax">},
710         </span><span class="jsdoc-var">decreasefontsize </span><span class="jsdoc-syntax">: {
711             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Shrink Text'</span><span class="jsdoc-syntax">,
712             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Decrease the font size.'</span><span class="jsdoc-syntax">,
713             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
714         </span><span class="jsdoc-syntax">},
715         </span><span class="jsdoc-var">backcolor </span><span class="jsdoc-syntax">: {
716             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Text Highlight Color'</span><span class="jsdoc-syntax">,
717             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Change the background color of the selected text.'</span><span class="jsdoc-syntax">,
718             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
719         </span><span class="jsdoc-syntax">},
720         </span><span class="jsdoc-var">forecolor </span><span class="jsdoc-syntax">: {
721             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Font Color'</span><span class="jsdoc-syntax">,
722             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Change the color of the selected text.'</span><span class="jsdoc-syntax">,
723             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
724         </span><span class="jsdoc-syntax">},
725         </span><span class="jsdoc-var">justifyleft </span><span class="jsdoc-syntax">: {
726             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Align Text Left'</span><span class="jsdoc-syntax">,
727             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Align text to the left.'</span><span class="jsdoc-syntax">,
728             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
729         </span><span class="jsdoc-syntax">},
730         </span><span class="jsdoc-var">justifycenter </span><span class="jsdoc-syntax">: {
731             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Center Text'</span><span class="jsdoc-syntax">,
732             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Center text in the editor.'</span><span class="jsdoc-syntax">,
733             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
734         </span><span class="jsdoc-syntax">},
735         </span><span class="jsdoc-var">justifyright </span><span class="jsdoc-syntax">: {
736             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Align Text Right'</span><span class="jsdoc-syntax">,
737             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Align text to the right.'</span><span class="jsdoc-syntax">,
738             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
739         </span><span class="jsdoc-syntax">},
740         </span><span class="jsdoc-var">insertunorderedlist </span><span class="jsdoc-syntax">: {
741             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Bullet List'</span><span class="jsdoc-syntax">,
742             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Start a bulleted list.'</span><span class="jsdoc-syntax">,
743             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
744         </span><span class="jsdoc-syntax">},
745         </span><span class="jsdoc-var">insertorderedlist </span><span class="jsdoc-syntax">: {
746             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Numbered List'</span><span class="jsdoc-syntax">,
747             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Start a numbered list.'</span><span class="jsdoc-syntax">,
748             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
749         </span><span class="jsdoc-syntax">},
750         </span><span class="jsdoc-var">createlink </span><span class="jsdoc-syntax">: {
751             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Hyperlink'</span><span class="jsdoc-syntax">,
752             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Make the selected text a hyperlink.'</span><span class="jsdoc-syntax">,
753             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
754         </span><span class="jsdoc-syntax">},
755         </span><span class="jsdoc-var">sourceedit </span><span class="jsdoc-syntax">: {
756             </span><span class="jsdoc-var">title</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Source Edit'</span><span class="jsdoc-syntax">,
757             </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Switch to source editing mode.'</span><span class="jsdoc-syntax">,
758             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x-html-editor-tip'
759         </span><span class="jsdoc-syntax">}
760     },
761     </span><span class="jsdoc-comment">// private
762     </span><span class="jsdoc-var">onDestroy </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
763         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">){
764
765             </span><span class="jsdoc-var">this.tb.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
766                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.menu</span><span class="jsdoc-syntax">){
767                     </span><span class="jsdoc-var">item.menu.removeAll</span><span class="jsdoc-syntax">();
768                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item.menu.el</span><span class="jsdoc-syntax">){
769                         </span><span class="jsdoc-var">item.menu.el.destroy</span><span class="jsdoc-syntax">();
770                     }
771                 }
772                 </span><span class="jsdoc-var">item.destroy</span><span class="jsdoc-syntax">();
773             });
774
775         }
776     },
777     </span><span class="jsdoc-var">onFirstFocus</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
778         </span><span class="jsdoc-var">this.tb.items.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
779            </span><span class="jsdoc-var">item.enable</span><span class="jsdoc-syntax">();
780         });
781     }
782 });
783
784
785
786
787 </span></code></body></html>