| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /**
- * @fileoverview
- * wysiwyg, source 두 모드의 변경을 가능하게하는 checkbox형식의 tool 'SwitcherToggle' Source,
- * Class Trex.Tool.SwitcherToggle 와 configuration을 포함
- *
- */
- TrexConfig.addTool(
- "switchertoggle",
- {
- wysiwygonly: _FALSE,
- sync: _TRUE,
- status: _TRUE,
- options: [
- { label: '에디터', title: "에디터", data: 'html' },
- { label: 'HTML', title: "HTML", data: 'source' }
- ]
- }
- );
- Trex.Tool.SwitcherToggle = Trex.Class.create({
- $const: {
- __Identity: 'switchertoggle'
- },
- $extend: Trex.Tool,
- oninitialized: function() {
- var _canvas = this.canvas;
-
- var _toolHandler = function() {
- switch(_canvas.mode){
- case 'html':
- _canvas.changeMode('source');
- break;
- case 'source':
- _canvas.changeMode('html');
- break;
- }
- return _FALSE;
- };
-
- /* button & menu weave */
- this.weave.bind(this)(
- /* button */
- new Trex.Button.Toggle(TrexConfig.merge(this.buttonCfg, {
- borderClass: 'tx-switchtoggle'
- })),
- /* menu */
- _NULL,
- /* handler */
- _toolHandler
- );
-
- var _toggleCheckbox = function(from, to) {
- this.button.setValue(to == 'source');
- }.bind(this);
- _canvas.observeJob(Trex.Ev.__CANVAS_MODE_CHANGE, _toggleCheckbox);
- _canvas.observeJob(Trex.Ev.__CANVAS_MODE_INITIALIZE, _toggleCheckbox);
- }
-
- });
|