Consegui sim Tiago,

Eh simples. Aqui tem um tutorial legal que segui pra fazer a alteracao:
http://codespeak.net/pipermail/kupu-dev/2005-July/001379.html

Eu acrecentei um botao para inserir uma linha (<hr>) no texto, os passos
resumidos são:

1 - Personalizei/sobrescrevi a pagina: kupu_wysiwyg_support.html e
acrescentei o seguinte:
<button type="button" class="kupu-addline" id="kupu-addline" title="Add
Line: Access key (Alt or Ctrl) + L" accesskey="l">&#160;</button> 

2 - Personalizei o arquivo: kupuploneinit.js e acrescentei o seguinte:
var addlinebutton = new KupuButton(prefix+'button.kupu-addline', 
execCommand('inserthorizontalrule')); 
kupu.registerTool('addlinebutton', addlinebutton); 

--------

Obs 1 - Se vc quiser acrescentar algo mais complexo (acrescentar
qualquer texto/tag), ai vai um outro exemplo para o kupuploneinit.js:

    // Function to add html-text into Kupu editor
    function insertHTML(kupu, html) {
      var doc = kupu.getInnerDocument();

      if (document.all) {
        //ie based (DOM)
        sRange  = doc.selection.createRange();
        try {
          sRange.pasteHTML(html);
        } catch (e) {
          // editor not focused        }
      } else {
         doc.execCommand('insertHTML', false, html);
      }
    }

    // Prototype of a buttom to insert html text into Kupu
    function addTagButton(buttonid,par){
      this.buttonid = buttonid;
      this.par=par;
      this.button = getFromSelector(this.buttonid);

      this.initialize = function(editor) {
          // The initialize method is called automaticaly by Kupu
          // This is where we add the event handler.
          this.editor = editor;
          addEventHandler(this.button, 'click', this.execCommand, this);
      };

      this.execCommand = function(){
          var kupu = this.editor;
          // it was not possible to use JS:
execCommand(InsertHorizontalRule
          // because we need a specific style: hrTexts
          insertHTML(kupu, this.par);
      };
    }

    // register the addlinebutton
    addTagButton.prototype = new KupuTool;
    var addlinebutton = new addTagButton(prefix+'button.kupu-addline',
"<hr class='hrTexts'>");

--------
Mas cuidado com esse exemplo no IE.  Quando o iframe nao esta
selecionado, o IE retorna qualquer um da pagina, nem sempre o que vc
quer...). ainda nao descobri a solução para este problema...

Obs 2 - Vc pode usar outras funcoes do Kupu para botoes que devem ter
comportamentos mais especificos. Analise por exemplo os parametros da
funcao utilizada pelo botão do negrito/italico:
var boldbutton = new KupuStateButton(prefix+'button.kupu-bold',
execCommand('bold'),
boldchecker,
'kupu-bold',
'kupu-bold-pressed');

ou o new ListTool(...


Qualquer duvida eh so escrever (MSN: rodrigo.ristow at bol.com.br).


Responder a