From 4a1ffc513580c83691e84a347eaa0c48744692c1 Mon Sep 17 00:00:00 2001 From: bruno Date: Tue, 27 Jan 2015 18:00:03 -0600 Subject: [PATCH] Adicionando autohotkey --- Clipboard/Clipboard.py | 13 +++++++++++-- Clipboard/Clipboard.pyc | Bin 730 -> 0 bytes Makefile | 14 ++++++++++---- autohotkey/BKing.ahk | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/pyClip.h | 5 ++++- instalador/install.bat | 91 ------------------------------------------------------------------------------------------- install/install.bat | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ plugin/Plugin-x64/CorePlugin.dll | Bin 65024 -> 0 bytes plugin/Plugin-x64/CorePlugin.lib | Bin 2148 -> 0 bytes plugin/Plugin-x86/CorePlugin.dll | Bin 65024 -> 0 bytes plugin/Plugin-x86/CorePlugin.lib | Bin 2148 -> 0 bytes plugin/corePlugin.cpp | 13 ++++++++----- plugin/corePlugin.h | 4 +++- plugin/testPlugin.cpp | 2 +- src/pyClip.cpp | 16 ++++++++++++++++ 15 files changed, 214 insertions(+), 105 deletions(-) create mode 100644 autohotkey/BKing.ahk delete mode 100644 instalador/install.bat create mode 100644 install/install.bat diff --git a/Clipboard/Clipboard.py b/Clipboard/Clipboard.py index e25f041..5e880f3 100644 --- a/Clipboard/Clipboard.py +++ b/Clipboard/Clipboard.py @@ -1,5 +1,7 @@ # -- coding: utf-8 -- -import ctypes +import ctypes, subprocess + +global process def clip(): @@ -17,4 +19,11 @@ def clip(): if isinstance(text, unicode): return text.encode("utf-8") else: - return "Selecione um texto" \ No newline at end of file + return "Selecione um texto" + +def bdragOn(): + global process + process = subprocess.Popen("Bdrag") + +def bdragOff(): + process.kill() \ No newline at end of file diff --git a/Clipboard/Clipboard.pyc b/Clipboard/Clipboard.pyc index 9a8ac40..8c7de08 100644 Binary files a/Clipboard/Clipboard.pyc and b/Clipboard/Clipboard.pyc differ diff --git a/Makefile b/Makefile index 69440a9..2db7d26 100644 --- a/Makefile +++ b/Makefile @@ -23,18 +23,23 @@ FILES = src\pyTradutor.cpp src\pyClip.cpp #Headers INCLUDES = include\pyTradutor.h include\pyClip.h +CLEAN_OBJ = del -q *.obj + #Gera executável testLibras -all: $(FILES) $(INCLUDES) src\testLibras.cpp - $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS) +all: $(FILES) $(INCLUDES) src\testLibras.cpp + $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS) + $(CLEAN_OBJ) #Gera dll na arquitetura x86 plugin-x86: $(FILES) $(INCLUDES) $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) + $(CLEAN_OBJ) #Gera dll na arquitetura x64 plugin-x64: $(FILES) $(INCLUDES) $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) - + $(CLEAN_OBJ) + #Gera .obj da classe de teste testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS) @@ -49,7 +54,7 @@ pyClip: src\pyClip.cpp src\pyClip.h #Limpa arquivos objetos e executáveis criados clean: - del -q *.exe *.obj + del -q *.exe *.obj #Limpa dll criada em arquitetura x-86 clean-plugin-x86: @@ -62,6 +67,7 @@ clean-plugin-x64: #Gera executável para testar a dll test-plugin: $(CC) plugin\testPlugin.cpp -EHsc + $(CLEAN_OBJ) # Baixa e instala dependências install: diff --git a/autohotkey/BKing.ahk b/autohotkey/BKing.ahk new file mode 100644 index 0000000..4bf3eba --- /dev/null +++ b/autohotkey/BKing.ahk @@ -0,0 +1,72 @@ + + +#SingleInstance,Reload ; Mantem apenas uma versão executando +SetBatchLines,-1 ; Não permite o script entrar em modo sleep +CoordMode,Mouse + +SysGet,x,68 +SysGet,y,69 + +~^a:: + Gosub,COPIAR +return + +~+LButton Up:: + Gosub,COPIAR +Return + +~LButton:: + MouseGetPos,coordx_old,coordy_old,winid_old +Return + +~LButton Up:: + MouseGetPos,coordx,coordy,winid + VarSetCapacity(rect, 16) + + DllCall("GetClientRect", "uint", winid_old, "uint", &rect) + rect_left :=NumGet(rect,0, "int") + rect_top :=NumGet(rect,4, "int") + rect_right :=NumGet(rect,8, "int") + rect_bottom:=NumGet(rect,12,"int") + If (winid=winid_old And (coordxcoordx_old+x Or coordycoordy_old+y)) + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom) + Gosub,COPIAR + + ticks = %A_TickCount% + difticks = %ticks% + EnvSub,difticks,%oldticks% + + If difticks<400 + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom) + Gosub,COPIAR + oldticks=%ticks% +Return + +COPIAR: + Sleep,400 + clip=%Clipboardall% + Clipboard= + Send,^c + ClipWait,1 + If Clipboard= + Clipboard=%clip% +Return + +EXIT: +ExitApp + + + + + + + + + + + + + + + + diff --git a/include/pyClip.h b/include/pyClip.h index 8eb3204..e3f2683 100644 --- a/include/pyClip.h +++ b/include/pyClip.h @@ -12,13 +12,16 @@ namespace Clipboard PyObject * pModule; PyObject * pDict; PyObject * pFunc; + PyObject * p_On; + PyObject * p_Off; PyObject * pArgs; PyObject * pResult; public: PyClip(); ~PyClip(); char* clip(); - + void bdragOn(); + void bdragOff(); }; } diff --git a/instalador/install.bat b/instalador/install.bat deleted file mode 100644 index 49fcbc9..0000000 --- a/instalador/install.bat +++ /dev/null @@ -1,91 +0,0 @@ -::############################## Instalador VLibras ############################ -::# # -::# Bruno Santos # -::# brunosantos@lavid.ufpb.br # -::# # -::############################################################################## - -::Define Título da janela do prompt -TITLE Instalador VLibras-Core Windows - -::Limpa a tela -CLS - -::Desabilita mensagens -@ECHO off - -ECHO ############### Instalando VLibras ############### - -::################# Variáveis de Ambiente ################# -:VAR -ECHO Deseja Exportar as variaveis de ambiente: (S - N) - -::Solicita valor do usuário -SET /p valor=--^> - -IF /I %valor% == n GOTO NO_VAR -IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR) - -ECHO. -ECHO Exportando Variaveis de Ambiente: -ECHO. - -::Váriaveis Permanentes (Sistema) -ECHO AELIUS_DATA -SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M - -ECHO NLTK_DATA -SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M - -ECHO HUNPOS_TAGGER -SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M - -ECHO PYTHONPATH -SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor;%HOMEPATH%\vlibras-core-win\Clipboard /M - -SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M - -::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente -:NO_VAR - -::################# Instalação do Python ################# -:PYTHON -ECHO Deseja Instalar o Python-2.7.9: (S - N) - -SET /p valor=--^> -IF /I %valor% == n GOTO NO_PYTHON -IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON) - -msiexec /i python-2.7.9.msi /passive - -::Código executa a partir desse ponto caso o usuário não precise Instalar o Python -:NO_PYTHON - -::################# Instalação do Aelius ################# -:TRADUTOR -ECHO Deseja Instalar o VLibras Tradutor (S - N) - -SET /p valor=--^> -IF /I %valor% == n GOTO END -IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR) - -pyyaml.exe -numpy.exe -matplotlib.exe -nltk.exe - -IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive) - -ECHO 7-Zip instalado com sucesso! - -COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32 - -::################# Instalação do VLibras ################# - -ECHO Extraindo Arquivos... -7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs - -:END -ECHO VLibras Tradutor instalado com sucesso! - -cd %HOMEPATH%\vlibras-libs diff --git a/install/install.bat b/install/install.bat new file mode 100644 index 0000000..f943d64 --- /dev/null +++ b/install/install.bat @@ -0,0 +1,89 @@ +::############################## Instalador VLibras ############################ +::# # +::# Bruno Santos # +::# brunosantos@lavid.ufpb.br # +::# # +::############################################################################## + +::Define Título da janela do prompt +TITLE Instalador VLibras-Core Windows + +::Limpa a tela +CLS + +::Desabilita mensagens +@ECHO off + +ECHO ############### Instalando VLibras ############### + +::################# Variáveis de Ambiente ################# +:VAR +ECHO Deseja Exportar as variaveis de ambiente: (S - N) + +::Solicita valor do usuário +SET /p valor=--^> + +IF /I %valor% == n GOTO NO_VAR +IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR) + +ECHO. +ECHO Exportando Variaveis de Ambiente: +ECHO. + +::Váriaveis Permanentes (Sistema) +ECHO AELIUS_DATA +SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M + +ECHO NLTK_DATA +SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M + +ECHO HUNPOS_TAGGER +SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M + +ECHO PYTHONPATH +SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor;%HOMEPATH%\vlibras-core-win\Clipboard /M + +SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M + +::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente +:NO_VAR + +::################# Instalação do Python ################# +:PYTHON +ECHO Deseja Instalar o Python-2.7.9: (S - N) + +SET /p valor=--^> +IF /I %valor% == n GOTO NO_PYTHON +IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON) + +msiexec /i python-2.7.9.msi /passive + +::Código executa a partir desse ponto caso o usuário não precise Instalar o Python +:NO_PYTHON + +::################# Instalação do Aelius ################# +:TRADUTOR +ECHO Deseja Instalar o VLibras Tradutor (S - N) + +SET /p valor=--^> +IF /I %valor% == n GOTO END +IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR) + +pyyaml.exe +numpy.exe +matplotlib.exe +nltk.exe + +IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive) + +ECHO 7-Zip instalado com sucesso! + +COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32 + +::################# Instalação do VLibras ################# + +ECHO Extraindo Arquivos... +7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs + +:END +ECHO VLibras Tradutor instalado com sucesso! diff --git a/plugin/Plugin-x64/CorePlugin.dll b/plugin/Plugin-x64/CorePlugin.dll index 1dbdf64..776a55f 100644 Binary files a/plugin/Plugin-x64/CorePlugin.dll and b/plugin/Plugin-x64/CorePlugin.dll differ diff --git a/plugin/Plugin-x64/CorePlugin.lib b/plugin/Plugin-x64/CorePlugin.lib index 343541e..eae376e 100644 Binary files a/plugin/Plugin-x64/CorePlugin.lib and b/plugin/Plugin-x64/CorePlugin.lib differ diff --git a/plugin/Plugin-x86/CorePlugin.dll b/plugin/Plugin-x86/CorePlugin.dll index db6bae6..0ec48fb 100644 Binary files a/plugin/Plugin-x86/CorePlugin.dll and b/plugin/Plugin-x86/CorePlugin.dll differ diff --git a/plugin/Plugin-x86/CorePlugin.lib b/plugin/Plugin-x86/CorePlugin.lib index 79ce094..c4d76cb 100644 Binary files a/plugin/Plugin-x86/CorePlugin.lib and b/plugin/Plugin-x86/CorePlugin.lib differ diff --git a/plugin/corePlugin.cpp b/plugin/corePlugin.cpp index c054900..d014785 100644 --- a/plugin/corePlugin.cpp +++ b/plugin/corePlugin.cpp @@ -6,16 +6,18 @@ #endif #include "corePlugin.h" - + extern "C" { EXPORT_API int coreInitialize() - { + { //Objeto usado para traduzir tradutor = new PyTradutor(); //Objeto usado para copiar texto da área de transferência clipboard = new PyClip(); + clipboard->bdragOn(); + return 1; } @@ -23,15 +25,16 @@ { //Copia área de transferência para input char *input = clipboard->clip(); - + //Retorna a tradução do texto para glosa return tradutor->convertStringToGlosa(input); } EXPORT_API int coreFinalize() - { + { + clipboard->bdragOff(); delete tradutor; - return 1; + return 1; } } diff --git a/plugin/corePlugin.h b/plugin/corePlugin.h index 39b781c..935d251 100644 --- a/plugin/corePlugin.h +++ b/plugin/corePlugin.h @@ -1,8 +1,10 @@ #ifndef _COREPLUGIN_H #define _COREPLUGIN_H +#include +#include #include "pyTradutor.h" -#include "pyClip.h" +#include "pyClip.h" using namespace Tradutor; using namespace Clipboard; diff --git a/plugin/testPlugin.cpp b/plugin/testPlugin.cpp index 1a30c57..68a7e04 100644 --- a/plugin/testPlugin.cpp +++ b/plugin/testPlugin.cpp @@ -29,7 +29,7 @@ int main(int argc, char *argv[]) finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize"); //Executa coreInitialize - int init = initialize(); + int init = initialize(); cout <<"return initialize: " << init <