Commit 4a1ffc513580c83691e84a347eaa0c48744692c1
1 parent
b7623085
Exists in
master
Adicionando autohotkey
Showing
15 changed files
with
214 additions
and
105 deletions
Show diff stats
Clipboard/Clipboard.py
1 | 1 | # -- coding: utf-8 -- |
2 | -import ctypes | |
2 | +import ctypes, subprocess | |
3 | + | |
4 | +global process | |
3 | 5 | |
4 | 6 | def clip(): |
5 | 7 | |
... | ... | @@ -17,4 +19,11 @@ def clip(): |
17 | 19 | if isinstance(text, unicode): |
18 | 20 | return text.encode("utf-8") |
19 | 21 | else: |
20 | - return "Selecione um texto" | |
21 | 22 | \ No newline at end of file |
23 | + return "Selecione um texto" | |
24 | + | |
25 | +def bdragOn(): | |
26 | + global process | |
27 | + process = subprocess.Popen("Bdrag") | |
28 | + | |
29 | +def bdragOff(): | |
30 | + process.kill() | |
22 | 31 | \ No newline at end of file | ... | ... |
Clipboard/Clipboard.pyc
No preview for this file type
Makefile
... | ... | @@ -23,18 +23,23 @@ FILES = src\pyTradutor.cpp src\pyClip.cpp |
23 | 23 | #Headers |
24 | 24 | INCLUDES = include\pyTradutor.h include\pyClip.h |
25 | 25 | |
26 | +CLEAN_OBJ = del -q *.obj | |
27 | + | |
26 | 28 | #Gera executável testLibras |
27 | -all: $(FILES) $(INCLUDES) src\testLibras.cpp | |
28 | - $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS) | |
29 | +all: $(FILES) $(INCLUDES) src\testLibras.cpp | |
30 | + $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS) | |
31 | + $(CLEAN_OBJ) | |
29 | 32 | |
30 | 33 | #Gera dll na arquitetura x86 |
31 | 34 | plugin-x86: $(FILES) $(INCLUDES) |
32 | 35 | $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) |
36 | + $(CLEAN_OBJ) | |
33 | 37 | |
34 | 38 | #Gera dll na arquitetura x64 |
35 | 39 | plugin-x64: $(FILES) $(INCLUDES) |
36 | 40 | $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) |
37 | - | |
41 | + $(CLEAN_OBJ) | |
42 | + | |
38 | 43 | #Gera .obj da classe de teste |
39 | 44 | testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp |
40 | 45 | $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS) |
... | ... | @@ -49,7 +54,7 @@ pyClip: src\pyClip.cpp src\pyClip.h |
49 | 54 | |
50 | 55 | #Limpa arquivos objetos e executáveis criados |
51 | 56 | clean: |
52 | - del -q *.exe *.obj | |
57 | + del -q *.exe *.obj | |
53 | 58 | |
54 | 59 | #Limpa dll criada em arquitetura x-86 |
55 | 60 | clean-plugin-x86: |
... | ... | @@ -62,6 +67,7 @@ clean-plugin-x64: |
62 | 67 | #Gera executável para testar a dll |
63 | 68 | test-plugin: |
64 | 69 | $(CC) plugin\testPlugin.cpp -EHsc |
70 | + $(CLEAN_OBJ) | |
65 | 71 | |
66 | 72 | # Baixa e instala dependências |
67 | 73 | install: | ... | ... |
... | ... | @@ -0,0 +1,72 @@ |
1 | + | |
2 | + | |
3 | +#SingleInstance,Reload ; Mantem apenas uma versão executando | |
4 | +SetBatchLines,-1 ; Não permite o script entrar em modo sleep | |
5 | +CoordMode,Mouse | |
6 | + | |
7 | +SysGet,x,68 | |
8 | +SysGet,y,69 | |
9 | + | |
10 | +~^a:: | |
11 | + Gosub,COPIAR | |
12 | +return | |
13 | + | |
14 | +~+LButton Up:: | |
15 | + Gosub,COPIAR | |
16 | +Return | |
17 | + | |
18 | +~LButton:: | |
19 | + MouseGetPos,coordx_old,coordy_old,winid_old | |
20 | +Return | |
21 | + | |
22 | +~LButton Up:: | |
23 | + MouseGetPos,coordx,coordy,winid | |
24 | + VarSetCapacity(rect, 16) | |
25 | + | |
26 | + DllCall("GetClientRect", "uint", winid_old, "uint", &rect) | |
27 | + rect_left :=NumGet(rect,0, "int") | |
28 | + rect_top :=NumGet(rect,4, "int") | |
29 | + rect_right :=NumGet(rect,8, "int") | |
30 | + rect_bottom:=NumGet(rect,12,"int") | |
31 | + If (winid=winid_old And (coordx<coordx_old-x Or coordx>coordx_old+x Or coordy<coordy_old-y Or coordy>coordy_old+y)) | |
32 | + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom) | |
33 | + Gosub,COPIAR | |
34 | + | |
35 | + ticks = %A_TickCount% | |
36 | + difticks = %ticks% | |
37 | + EnvSub,difticks,%oldticks% | |
38 | + | |
39 | + If difticks<400 | |
40 | + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom) | |
41 | + Gosub,COPIAR | |
42 | + oldticks=%ticks% | |
43 | +Return | |
44 | + | |
45 | +COPIAR: | |
46 | + Sleep,400 | |
47 | + clip=%Clipboardall% | |
48 | + Clipboard= | |
49 | + Send,^c | |
50 | + ClipWait,1 | |
51 | + If Clipboard= | |
52 | + Clipboard=%clip% | |
53 | +Return | |
54 | + | |
55 | +EXIT: | |
56 | +ExitApp | |
57 | + | |
58 | + | |
59 | + | |
60 | + | |
61 | + | |
62 | + | |
63 | + | |
64 | + | |
65 | + | |
66 | + | |
67 | + | |
68 | + | |
69 | + | |
70 | + | |
71 | + | |
72 | + | ... | ... |
include/pyClip.h
... | ... | @@ -12,13 +12,16 @@ namespace Clipboard |
12 | 12 | PyObject * pModule; |
13 | 13 | PyObject * pDict; |
14 | 14 | PyObject * pFunc; |
15 | + PyObject * p_On; | |
16 | + PyObject * p_Off; | |
15 | 17 | PyObject * pArgs; |
16 | 18 | PyObject * pResult; |
17 | 19 | public: |
18 | 20 | PyClip(); |
19 | 21 | ~PyClip(); |
20 | 22 | char* clip(); |
21 | - | |
23 | + void bdragOn(); | |
24 | + void bdragOff(); | |
22 | 25 | }; |
23 | 26 | } |
24 | 27 | ... | ... |
instalador/install.bat
... | ... | @@ -1,91 +0,0 @@ |
1 | -::############################## Instalador VLibras ############################ | |
2 | -::# # | |
3 | -::# Bruno Santos # | |
4 | -::# brunosantos@lavid.ufpb.br # | |
5 | -::# # | |
6 | -::############################################################################## | |
7 | - | |
8 | -::Define Título da janela do prompt | |
9 | -TITLE Instalador VLibras-Core Windows | |
10 | - | |
11 | -::Limpa a tela | |
12 | -CLS | |
13 | - | |
14 | -::Desabilita mensagens | |
15 | -@ECHO off | |
16 | - | |
17 | -ECHO ############### Instalando VLibras ############### | |
18 | - | |
19 | -::################# Variáveis de Ambiente ################# | |
20 | -:VAR | |
21 | -ECHO Deseja Exportar as variaveis de ambiente: (S - N) | |
22 | - | |
23 | -::Solicita valor do usuário | |
24 | -SET /p valor=--^> | |
25 | - | |
26 | -IF /I %valor% == n GOTO NO_VAR | |
27 | -IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR) | |
28 | - | |
29 | -ECHO. | |
30 | -ECHO Exportando Variaveis de Ambiente: | |
31 | -ECHO. | |
32 | - | |
33 | -::Váriaveis Permanentes (Sistema) | |
34 | -ECHO AELIUS_DATA | |
35 | -SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M | |
36 | - | |
37 | -ECHO NLTK_DATA | |
38 | -SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M | |
39 | - | |
40 | -ECHO HUNPOS_TAGGER | |
41 | -SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M | |
42 | - | |
43 | -ECHO PYTHONPATH | |
44 | -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 | |
45 | - | |
46 | -SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M | |
47 | - | |
48 | -::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente | |
49 | -:NO_VAR | |
50 | - | |
51 | -::################# Instalação do Python ################# | |
52 | -:PYTHON | |
53 | -ECHO Deseja Instalar o Python-2.7.9: (S - N) | |
54 | - | |
55 | -SET /p valor=--^> | |
56 | -IF /I %valor% == n GOTO NO_PYTHON | |
57 | -IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON) | |
58 | - | |
59 | -msiexec /i python-2.7.9.msi /passive | |
60 | - | |
61 | -::Código executa a partir desse ponto caso o usuário não precise Instalar o Python | |
62 | -:NO_PYTHON | |
63 | - | |
64 | -::################# Instalação do Aelius ################# | |
65 | -:TRADUTOR | |
66 | -ECHO Deseja Instalar o VLibras Tradutor (S - N) | |
67 | - | |
68 | -SET /p valor=--^> | |
69 | -IF /I %valor% == n GOTO END | |
70 | -IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR) | |
71 | - | |
72 | -pyyaml.exe | |
73 | -numpy.exe | |
74 | -matplotlib.exe | |
75 | -nltk.exe | |
76 | - | |
77 | -IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive) | |
78 | - | |
79 | -ECHO 7-Zip instalado com sucesso! | |
80 | - | |
81 | -COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32 | |
82 | - | |
83 | -::################# Instalação do VLibras ################# | |
84 | - | |
85 | -ECHO Extraindo Arquivos... | |
86 | -7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs | |
87 | - | |
88 | -:END | |
89 | -ECHO VLibras Tradutor instalado com sucesso! | |
90 | - | |
91 | -cd %HOMEPATH%\vlibras-libs |
... | ... | @@ -0,0 +1,89 @@ |
1 | +::############################## Instalador VLibras ############################ | |
2 | +::# # | |
3 | +::# Bruno Santos # | |
4 | +::# brunosantos@lavid.ufpb.br # | |
5 | +::# # | |
6 | +::############################################################################## | |
7 | + | |
8 | +::Define Título da janela do prompt | |
9 | +TITLE Instalador VLibras-Core Windows | |
10 | + | |
11 | +::Limpa a tela | |
12 | +CLS | |
13 | + | |
14 | +::Desabilita mensagens | |
15 | +@ECHO off | |
16 | + | |
17 | +ECHO ############### Instalando VLibras ############### | |
18 | + | |
19 | +::################# Variáveis de Ambiente ################# | |
20 | +:VAR | |
21 | +ECHO Deseja Exportar as variaveis de ambiente: (S - N) | |
22 | + | |
23 | +::Solicita valor do usuário | |
24 | +SET /p valor=--^> | |
25 | + | |
26 | +IF /I %valor% == n GOTO NO_VAR | |
27 | +IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR) | |
28 | + | |
29 | +ECHO. | |
30 | +ECHO Exportando Variaveis de Ambiente: | |
31 | +ECHO. | |
32 | + | |
33 | +::Váriaveis Permanentes (Sistema) | |
34 | +ECHO AELIUS_DATA | |
35 | +SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M | |
36 | + | |
37 | +ECHO NLTK_DATA | |
38 | +SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M | |
39 | + | |
40 | +ECHO HUNPOS_TAGGER | |
41 | +SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M | |
42 | + | |
43 | +ECHO PYTHONPATH | |
44 | +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 | |
45 | + | |
46 | +SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M | |
47 | + | |
48 | +::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente | |
49 | +:NO_VAR | |
50 | + | |
51 | +::################# Instalação do Python ################# | |
52 | +:PYTHON | |
53 | +ECHO Deseja Instalar o Python-2.7.9: (S - N) | |
54 | + | |
55 | +SET /p valor=--^> | |
56 | +IF /I %valor% == n GOTO NO_PYTHON | |
57 | +IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON) | |
58 | + | |
59 | +msiexec /i python-2.7.9.msi /passive | |
60 | + | |
61 | +::Código executa a partir desse ponto caso o usuário não precise Instalar o Python | |
62 | +:NO_PYTHON | |
63 | + | |
64 | +::################# Instalação do Aelius ################# | |
65 | +:TRADUTOR | |
66 | +ECHO Deseja Instalar o VLibras Tradutor (S - N) | |
67 | + | |
68 | +SET /p valor=--^> | |
69 | +IF /I %valor% == n GOTO END | |
70 | +IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR) | |
71 | + | |
72 | +pyyaml.exe | |
73 | +numpy.exe | |
74 | +matplotlib.exe | |
75 | +nltk.exe | |
76 | + | |
77 | +IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive) | |
78 | + | |
79 | +ECHO 7-Zip instalado com sucesso! | |
80 | + | |
81 | +COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32 | |
82 | + | |
83 | +::################# Instalação do VLibras ################# | |
84 | + | |
85 | +ECHO Extraindo Arquivos... | |
86 | +7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs | |
87 | + | |
88 | +:END | |
89 | +ECHO VLibras Tradutor instalado com sucesso! | ... | ... |
plugin/Plugin-x64/CorePlugin.dll
No preview for this file type
plugin/Plugin-x64/CorePlugin.lib
No preview for this file type
plugin/Plugin-x86/CorePlugin.dll
No preview for this file type
plugin/Plugin-x86/CorePlugin.lib
No preview for this file type
plugin/corePlugin.cpp
... | ... | @@ -6,16 +6,18 @@ |
6 | 6 | #endif |
7 | 7 | |
8 | 8 | #include "corePlugin.h" |
9 | - | |
9 | + | |
10 | 10 | extern "C" |
11 | 11 | { |
12 | 12 | EXPORT_API int coreInitialize() |
13 | - { | |
13 | + { | |
14 | 14 | //Objeto usado para traduzir |
15 | 15 | tradutor = new PyTradutor(); |
16 | 16 | |
17 | 17 | //Objeto usado para copiar texto da área de transferência |
18 | 18 | clipboard = new PyClip(); |
19 | + clipboard->bdragOn(); | |
20 | + | |
19 | 21 | return 1; |
20 | 22 | } |
21 | 23 | |
... | ... | @@ -23,15 +25,16 @@ |
23 | 25 | { |
24 | 26 | //Copia área de transferência para input |
25 | 27 | char *input = clipboard->clip(); |
26 | - | |
28 | + | |
27 | 29 | //Retorna a tradução do texto para glosa |
28 | 30 | return tradutor->convertStringToGlosa(input); |
29 | 31 | } |
30 | 32 | |
31 | 33 | EXPORT_API int coreFinalize() |
32 | - { | |
34 | + { | |
35 | + clipboard->bdragOff(); | |
33 | 36 | delete tradutor; |
34 | - return 1; | |
37 | + return 1; | |
35 | 38 | } |
36 | 39 | |
37 | 40 | } | ... | ... |
plugin/corePlugin.h
plugin/testPlugin.cpp
... | ... | @@ -29,7 +29,7 @@ int main(int argc, char *argv[]) |
29 | 29 | finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize"); |
30 | 30 | |
31 | 31 | //Executa coreInitialize |
32 | - int init = initialize(); | |
32 | + int init = initialize(); | |
33 | 33 | cout <<"return initialize: " << init <<endl; |
34 | 34 | |
35 | 35 | //Executa coreExecute | ... | ... |
src/pyClip.cpp
... | ... | @@ -20,6 +20,8 @@ namespace Clipboard |
20 | 20 | assert(pDict!=NULL); |
21 | 21 | // Return the object from dictionary pDict which has a key 'iniciar' |
22 | 22 | pFunc = PyDict_GetItemString(pDict, "clip"); |
23 | + p_On = PyDict_GetItemString(pDict, "bdragOn"); | |
24 | + p_Off = PyDict_GetItemString(pDict, "bdragOff"); | |
23 | 25 | //PyErr_Print(); |
24 | 26 | assert(pFunc!=NULL); |
25 | 27 | } |
... | ... | @@ -37,4 +39,18 @@ namespace Clipboard |
37 | 39 | |
38 | 40 | return PyString_AsString(pResult); |
39 | 41 | } |
42 | + | |
43 | + void PyClip::bdragOn() | |
44 | + { | |
45 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | |
46 | + PyObject_CallObject(p_On,pArgs); | |
47 | + | |
48 | + } | |
49 | + | |
50 | + void PyClip::bdragOff() | |
51 | + { | |
52 | + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs' | |
53 | + PyObject_CallObject(p_Off,pArgs); | |
54 | + } | |
55 | + | |
40 | 56 | } |
41 | 57 | \ No newline at end of file | ... | ... |