Apos inumeras tentativas (sem sucesso, funciona mais ou menos) de conseguir fazer o SAPGUI(r) For Windows 7.10 rodar sobre o Wine(r), resolvi tentar outro caminho. Ao inves de fazer o SAPGUI para Windows rodar no Linux somente para ter o novo editor ABAP (que ainda não sei porque raios a SAP ainda não colocou na versao em Java) porque não desenvolver um novo editor para a versao Java, já que existem vários editores escritos totalmente em Java. Dificil ??? ai que eu fico indignado, nao é !!!!
Em dois dias, trabalhando esporadicamente, ja consegui fazer o novo editor ser exibido no Front-End.
O editor em cinza é o editor novo, já com Syntax Highlight, ainda falta implementar muita coisa e peço a quem se interessar ajuda para melhorias principalmente em Highlight e Code Completion.
How To:
Para criar um editor e necessário ter os pacotes do SAPGUI no classpath, exceto o pacote “sapTextEditS.jar” pois o mesmo será substituido pelo novo editor.
Feito isso deve-se criar a classe com.sap.components.controls.textEdit.SapTextEdit a qual deve estender a classe JPanel e implementar as classes GuiServiceUserI, GuiAmbiPropsChangeListener, GuiScriptServiceUserI, GuiDumpStateI, GuiCtxMenuServiceI e GroupContainerI
para receber o codigo-fonte devera implementar o metodo setSelectedTextAsR3Table
public synchronized void setTextAsR3Table(DPDataI data)
{
try {
DPTableI table = data.getDataAsInternalTable();
String source = “”;
for (int i = 1; i <= table.getRowCount(); i++){
Object line = table.getCellValue(i, 1);
source += line.toString().substring(0,72) + “\n”;
}
setText(source);
} catch (GuiDataProviderException e) {
e.printStackTrace();
}
}
Feito isso é so vasculhar o google um pouco, pegar uma implementação livre de um Editor em Java e implementar os metodos restantes(que são chamados pela classe CL_GUI_TEXTEDIT)
Quem tiver interesse em ajudar no desenvolvimento pode entrar em contato comigo clebersantz@gmail.com
Autor: Cleber Santz
