@designliquido/delegua-interface-grafica 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +187 -4
  2. package/delegua-modulo.d.ts +124 -0
  3. package/delegua-modulo.d.ts.map +1 -0
  4. package/{fontes/delegua-modulo.ts → delegua-modulo.js} +101 -31
  5. package/delegua-modulo.js.map +1 -0
  6. package/{fontes/index.ts → index.d.ts} +1 -0
  7. package/index.d.ts.map +1 -0
  8. package/index.js +20 -0
  9. package/index.js.map +1 -0
  10. package/infraestruturas/electron/infraestrutura-electron.d.ts +34 -0
  11. package/infraestruturas/electron/infraestrutura-electron.d.ts.map +1 -0
  12. package/{fontes/infraestruturas/electron/infraestrutura-electron.ts → infraestruturas/electron/infraestrutura-electron.js} +43 -72
  13. package/infraestruturas/electron/infraestrutura-electron.js.map +1 -0
  14. package/infraestruturas/gtk/index.d.ts +2 -0
  15. package/infraestruturas/gtk/index.d.ts.map +1 -0
  16. package/infraestruturas/gtk/index.js +18 -0
  17. package/infraestruturas/gtk/index.js.map +1 -0
  18. package/infraestruturas/gtk/infraestrutura-gtk.d.ts +45 -0
  19. package/infraestruturas/gtk/infraestrutura-gtk.d.ts.map +1 -0
  20. package/infraestruturas/gtk/infraestrutura-gtk.js +122 -0
  21. package/infraestruturas/gtk/infraestrutura-gtk.js.map +1 -0
  22. package/infraestruturas/index.d.ts +8 -0
  23. package/infraestruturas/index.d.ts.map +1 -0
  24. package/infraestruturas/index.js +24 -0
  25. package/infraestruturas/index.js.map +1 -0
  26. package/infraestruturas/java-swing/index.d.ts +2 -0
  27. package/infraestruturas/java-swing/index.d.ts.map +1 -0
  28. package/infraestruturas/java-swing/index.js +18 -0
  29. package/infraestruturas/java-swing/index.js.map +1 -0
  30. package/infraestruturas/java-swing/infraestrutura-java-swing.d.ts +48 -0
  31. package/infraestruturas/java-swing/infraestrutura-java-swing.d.ts.map +1 -0
  32. package/infraestruturas/java-swing/infraestrutura-java-swing.js +122 -0
  33. package/infraestruturas/java-swing/infraestrutura-java-swing.js.map +1 -0
  34. package/infraestruturas/processo-externo/index.d.ts +2 -0
  35. package/infraestruturas/processo-externo/index.d.ts.map +1 -0
  36. package/infraestruturas/processo-externo/index.js +18 -0
  37. package/infraestruturas/processo-externo/index.js.map +1 -0
  38. package/infraestruturas/processo-externo/infraestrutura-processo-externo.d.ts +40 -0
  39. package/infraestruturas/processo-externo/infraestrutura-processo-externo.d.ts.map +1 -0
  40. package/infraestruturas/processo-externo/infraestrutura-processo-externo.js +218 -0
  41. package/infraestruturas/processo-externo/infraestrutura-processo-externo.js.map +1 -0
  42. package/infraestruturas/vazia/infraestrutura-vazia.d.ts +23 -0
  43. package/infraestruturas/vazia/infraestrutura-vazia.d.ts.map +1 -0
  44. package/infraestruturas/vazia/infraestrutura-vazia.js +50 -0
  45. package/infraestruturas/vazia/infraestrutura-vazia.js.map +1 -0
  46. package/infraestruturas/webview/infraestrutura-webview.d.ts +42 -0
  47. package/infraestruturas/webview/infraestrutura-webview.d.ts.map +1 -0
  48. package/infraestruturas/webview/infraestrutura-webview.js +337 -0
  49. package/infraestruturas/webview/infraestrutura-webview.js.map +1 -0
  50. package/infraestruturas/windows/index.d.ts +2 -0
  51. package/infraestruturas/windows/index.d.ts.map +1 -0
  52. package/infraestruturas/windows/index.js +18 -0
  53. package/infraestruturas/windows/index.js.map +1 -0
  54. package/infraestruturas/windows/infraestrutura-windows.d.ts +45 -0
  55. package/infraestruturas/windows/infraestrutura-windows.d.ts.map +1 -0
  56. package/infraestruturas/windows/infraestrutura-windows.js +122 -0
  57. package/infraestruturas/windows/infraestrutura-windows.js.map +1 -0
  58. package/interface-grafica.d.ts +95 -0
  59. package/interface-grafica.d.ts.map +1 -0
  60. package/{fontes/interface-grafica.ts → interface-grafica.js} +23 -70
  61. package/interface-grafica.js.map +1 -0
  62. package/{fontes/interfaces/componente-interface-grafica-interface.ts → interfaces/componente-interface-grafica-interface.d.ts} +1 -0
  63. package/interfaces/componente-interface-grafica-interface.d.ts.map +1 -0
  64. package/interfaces/componente-interface-grafica-interface.js +3 -0
  65. package/interfaces/componente-interface-grafica-interface.js.map +1 -0
  66. package/{fontes/interfaces/index.ts → interfaces/index.d.ts} +1 -0
  67. package/interfaces/index.d.ts.map +1 -0
  68. package/interfaces/index.js +19 -0
  69. package/interfaces/index.js.map +1 -0
  70. package/{fontes/interfaces/infraestrutura-grafica-interface.ts → interfaces/infraestrutura-grafica-interface.d.ts} +2 -12
  71. package/interfaces/infraestrutura-grafica-interface.d.ts.map +1 -0
  72. package/interfaces/infraestrutura-grafica-interface.js +3 -0
  73. package/interfaces/infraestrutura-grafica-interface.js.map +1 -0
  74. package/package.json +9 -3
  75. package/.release-it.json +0 -15
  76. package/fontes/infraestruturas/electron/README.md +0 -92
  77. package/fontes/infraestruturas/index.ts +0 -2
  78. package/fontes/infraestruturas/vazia/README.md +0 -53
  79. package/fontes/infraestruturas/vazia/infraestrutura-vazia.ts +0 -61
  80. package/jest.config.ts +0 -21
  81. package/testes/interface-grafica.test.ts +0 -159
  82. package/tsconfig.json +0 -22
  83. package/tsconfig.spec.json +0 -21
package/README.md CHANGED
@@ -55,10 +55,54 @@ A biblioteca é dividida em duas camadas:
55
55
 
56
56
  ### Infraestruturas disponíveis
57
57
 
58
- | Classe | Pacote | Descrição |
59
- |--------|--------|-----------|
60
- | `InfraestruturaElectron` | este pacote | Cria elementos DOM no processo de renderização do Electron. É a infraestrutura padrão usada por `delegua-node`. |
61
- | `InfraestruturaVazia` | este pacote | Infraestrutura sem operações visuais, usada em testes unitários e ambientes sem DOM. |
58
+ | Classe | Ambiente | Descrição |
59
+ |--------|----------|-----------|
60
+ | `InfraestruturaElectron` | Processo renderer do Electron | Cria elementos DOM diretamente no `document.body` da janela Electron. Selecionada automaticamente quando `document` está disponível. |
61
+ | `InfraestruturaGtk` *(experimental)* | Node.js + host GTK externo | Encaminha comandos de UI para um processo externo GTK via JSON em stdin/stdout. Recomendado para ambientes Linux-first. |
62
+ | `InfraestruturaJavaSwing` *(experimental)* | Node.js + host Java externo | Encaminha comandos de UI para um processo externo Java Swing via JSON em stdin/stdout. Requer um host Swing compatível com o protocolo da biblioteca. |
63
+ | `InfraestruturaWindows` *(experimental)* | Node.js + host Windows externo | Encaminha comandos de UI para um processo externo Windows (WPF/WinUI/WinForms) via JSON em stdin/stdout. Recomendado para ambientes Windows-first. |
64
+ | `InfraestruturaVazia` | Qualquer (fallback) | Sem operações visuais; mantém estado de texto em memória. Usada em testes unitários e quando nenhuma outra infraestrutura se aplica. |
65
+ | `InfraestruturaWebView` | Extensão VS Code | Renderiza a janela em um `WebviewPanel` do VS Code, comunicando-se via `postMessage`. Requer chamada prévia a `definirFabricaPainelWebView()` em `@designliquido/delegua-node`. |
66
+ | `InfraestruturaElectronSpawn` *(em `delegua-node`)* | Linha de comando (Node.js) | Spawna um processo Electron filho e comunica-se via stdin/stdout com o mesmo protocolo JSON de `InfraestruturaWebView`. Selecionada automaticamente quando o pacote `electron` está instalado. |
67
+
68
+ ### Como a infraestrutura é escolhida em `delegua-node`
69
+
70
+ Ao importar `interfaceGrafica` em um programa Delégua, `delegua-node` escolhe a infraestrutura na seguinte ordem de prioridade:
71
+
72
+ 1. **`InfraestruturaWebView`** — se a extensão VS Code tiver registrado uma fábrica de painel via `definirFabricaPainelWebView()` (veja abaixo).
73
+ 2. **`InfraestruturaElectron`** — se `document` estiver disponível (processo renderer do Electron).
74
+ 3. **`InfraestruturaElectronSpawn`** *(em `delegua-node`)* — se o pacote `electron` estiver instalado (local ou globalmente). Spawna um processo Electron filho e comunica-se via stdin/stdout.
75
+ 4. **`InfraestruturaVazia`** — fallback final; emite um aviso no console e não exibe nenhuma janela.
76
+
77
+ ### Executando programas com interface gráfica
78
+
79
+ #### Linha de comando (Node.js puro)
80
+
81
+ Rodar um programa Delégua diretamente pelo terminal (`delegua meu-programa.delegua`) cai no **fallback `InfraestruturaVazia`**: o programa executa sem erros, mas nenhuma janela é exibida. Isso é esperado — Node.js não tem DOM.
82
+
83
+ #### Dentro do VS Code (extensão Delégua)
84
+
85
+ A extensão Delégua para VS Code pode exibir a janela em um painel nativo chamando `definirFabricaPainelWebView()` antes de executar o programa:
86
+
87
+ ```typescript
88
+ import { definirFabricaPainelWebView } from '@designliquido/delegua-node';
89
+
90
+ // no método activate() da extensão:
91
+ definirFabricaPainelWebView(() =>
92
+ vscode.window.createWebviewPanel(
93
+ 'delegua-interface-grafica',
94
+ 'Interface Gráfica – Delégua',
95
+ vscode.ViewColumn.One,
96
+ { enableScripts: true }
97
+ )
98
+ );
99
+ ```
100
+
101
+ Com isso, `ig.iniciar()` abre um painel dentro do próprio VS Code e todos os eventos (cliques, alterações de texto) funcionam normalmente.
102
+
103
+ #### Processo renderer do Electron
104
+
105
+ Se o programa Delégua for executado diretamente dentro de um processo renderer Electron (onde `document` está disponível), `InfraestruturaElectron` é selecionada automaticamente e a janela é renderizada como um overlay DOM sobre a página existente.
62
106
 
63
107
  Para usar uma infraestrutura diferente (ou criar a sua própria), implemente `InfraestruturaGraficaInterface` e passe a instância ao construtor de `InterfaceGrafica`:
64
108
 
@@ -72,6 +116,145 @@ class MinhaInfraestrutura implements InfraestruturaGraficaInterface {
72
116
  const ig = new InterfaceGrafica(new MinhaInfraestrutura());
73
117
  ```
74
118
 
119
+ ### Selecionando backend Java Swing por variáveis de ambiente
120
+
121
+ O módulo `DeleguaModuloInterfaceGrafica` pode inicializar o backend Swing automaticamente quando a variável abaixo estiver definida:
122
+
123
+ ```bash
124
+ DELEGUA_INTERFACE_GRAFICA_BACKEND=java-swing
125
+ ```
126
+
127
+ Variáveis opcionais para o host Swing:
128
+
129
+ - `DELEGUA_INTERFACE_GRAFICA_SWING_COMANDO` (padrão: `java`)
130
+ - `DELEGUA_INTERFACE_GRAFICA_SWING_ARGUMENTOS` (padrão: `-jar delegua-interface-grafica-swing-host.jar`)
131
+ - `DELEGUA_INTERFACE_GRAFICA_SWING_JAR` (atalho para montar automaticamente `-jar <caminho>` quando `DELEGUA_INTERFACE_GRAFICA_SWING_ARGUMENTOS` não estiver definido)
132
+ - `DELEGUA_INTERFACE_GRAFICA_SWING_CWD` (diretório de trabalho para o processo)
133
+
134
+ Se o backend Swing falhar ao iniciar, a biblioteca faz fallback automático para `InfraestruturaVazia` com aviso em `console.warn`.
135
+
136
+ ### Selecionando backend GTK por variáveis de ambiente
137
+
138
+ O módulo `DeleguaModuloInterfaceGrafica` pode inicializar o backend GTK automaticamente quando:
139
+
140
+ ```bash
141
+ DELEGUA_INTERFACE_GRAFICA_BACKEND=gtk
142
+ ```
143
+
144
+ Variáveis opcionais para o host GTK:
145
+
146
+ - `DELEGUA_INTERFACE_GRAFICA_GTK_COMANDO` (padrão: `delegua-interface-grafica-gtk-host`)
147
+ - `DELEGUA_INTERFACE_GRAFICA_GTK_ARGUMENTOS` (argumentos separados por espaço)
148
+ - `DELEGUA_INTERFACE_GRAFICA_GTK_CWD` (diretório de trabalho para o processo)
149
+
150
+ Se o backend GTK falhar ao iniciar, a biblioteca faz fallback automático para `InfraestruturaVazia` com aviso em `console.warn`.
151
+
152
+ ### Selecionando backend Windows por variáveis de ambiente
153
+
154
+ O módulo `DeleguaModuloInterfaceGrafica` pode inicializar o backend Windows automaticamente quando:
155
+
156
+ ```bash
157
+ DELEGUA_INTERFACE_GRAFICA_BACKEND=windows
158
+ ```
159
+
160
+ Variáveis opcionais para o host Windows:
161
+
162
+ - `DELEGUA_INTERFACE_GRAFICA_WINDOWS_COMANDO` (padrão: `delegua-interface-grafica-windows-host.exe`)
163
+ - `DELEGUA_INTERFACE_GRAFICA_WINDOWS_ARGUMENTOS` (argumentos separados por espaço)
164
+ - `DELEGUA_INTERFACE_GRAFICA_WINDOWS_CWD` (diretório de trabalho para o processo)
165
+
166
+ Se o backend Windows falhar ao iniciar, a biblioteca faz fallback automático para `InfraestruturaVazia` com aviso em `console.warn`.
167
+
168
+ ### Protocolo do host externo
169
+
170
+ A especificação do protocolo de mensagens entre TypeScript e hosts externos está em:
171
+
172
+ - `docs/protocolo-processo-externo-v1.md`
173
+
174
+ Um esqueleto inicial do host Java Swing foi adicionado em:
175
+
176
+ - `host-java-swing/`
177
+
178
+ Um esqueleto inicial do host GTK foi adicionado em:
179
+
180
+ - `host-gtk/`
181
+
182
+ Um esqueleto inicial do host Windows foi adicionado em:
183
+
184
+ - `host-windows/`
185
+
186
+ ### Teste E2E opcional com host Java real
187
+
188
+ Por padrão, os testes E2E de Swing ficam desativados para não depender de Java/JAR em todos os ambientes.
189
+
190
+ Para executar:
191
+
192
+ 1. Gere o JAR do host Java Swing.
193
+ 2. Defina as variáveis de ambiente:
194
+ - `DELEGUA_SWING_E2E=1`
195
+ - `DELEGUA_SWING_E2E_JAR=<caminho-absoluto-do-jar>`
196
+ - opcional: `DELEGUA_SWING_E2E_COMANDO=java`
197
+ 3. Rode `yarn testes-unitarios`.
198
+
199
+ O teste E2E está em `testes/infraestrutura-java-swing-e2e.test.ts`.
200
+
201
+ Alternativa automatizada (compila host + roda E2E):
202
+
203
+ ```bash
204
+ yarn testes-e2e-java-swing
205
+ ```
206
+
207
+ Requisitos para esse comando:
208
+
209
+ - Gradle instalado no ambiente, ou
210
+ - `gradlew`/`gradlew.bat` presente em `host-java-swing/`.
211
+
212
+ Opcionalmente, personalize o comando Gradle com `DELEGUA_SWING_E2E_GRADLE_CMD`.
213
+
214
+ ### Teste E2E opcional com host GTK real
215
+
216
+ Por padrão, os testes E2E de GTK ficam desativados para não depender de Rust + GTK nativo em todos os ambientes.
217
+
218
+ Para executar manualmente:
219
+
220
+ 1. Compile o host GTK.
221
+ 2. Defina as variáveis de ambiente:
222
+ - `DELEGUA_GTK_E2E=1`
223
+ - `DELEGUA_GTK_E2E_CMD=<caminho-absoluto-do-executavel>`
224
+ 3. Rode `yarn testes-unitarios`.
225
+
226
+ O teste E2E está em `testes/infraestrutura-gtk-e2e.test.ts`.
227
+
228
+ Alternativa automatizada (compila host + roda E2E):
229
+
230
+ ```bash
231
+ yarn testes-e2e-gtk
232
+ ```
233
+
234
+ Opcionalmente, personalize o comando cargo com `DELEGUA_GTK_E2E_CARGO_CMD`.
235
+
236
+ ### Teste E2E opcional com host Windows real
237
+
238
+ Por padrão, os testes E2E de Windows ficam desativados para não depender de .NET/host nativo em todos os ambientes.
239
+
240
+ Para executar manualmente:
241
+
242
+ 1. Publique o host Windows.
243
+ 2. Defina as variáveis de ambiente:
244
+ - `DELEGUA_WINDOWS_E2E=1`
245
+ - `DELEGUA_WINDOWS_E2E_EXE=<caminho-absoluto-do-executavel>`
246
+ 3. Rode `yarn testes-unitarios`.
247
+
248
+ O teste E2E está em `testes/infraestrutura-windows-e2e.test.ts`.
249
+
250
+ Alternativa automatizada (publica host + roda E2E):
251
+
252
+ ```bash
253
+ yarn testes-e2e-windows
254
+ ```
255
+
256
+ Opcionalmente, personalize o comando .NET com `DELEGUA_WINDOWS_E2E_DOTNET_CMD`.
257
+
75
258
  ## Desenvolvimento
76
259
 
77
260
  ```bash
@@ -0,0 +1,124 @@
1
+ export declare const DeleguaModuloInterfaceGrafica: {
2
+ janela: {
3
+ tipoRetorno: string;
4
+ funcao: any;
5
+ argumentos: {
6
+ nome: string;
7
+ tipo: string;
8
+ }[];
9
+ documentacao: string;
10
+ exemploCodigo: string;
11
+ };
12
+ botao: {
13
+ tipoRetorno: string;
14
+ funcao: any;
15
+ argumentos: {
16
+ nome: string;
17
+ tipo: string;
18
+ }[];
19
+ documentacao: string;
20
+ exemploCodigo: string;
21
+ };
22
+ rotulo: {
23
+ tipoRetorno: string;
24
+ funcao: any;
25
+ argumentos: {
26
+ nome: string;
27
+ tipo: string;
28
+ }[];
29
+ documentacao: string;
30
+ exemploCodigo: string;
31
+ };
32
+ caixaTexto: {
33
+ tipoRetorno: string;
34
+ funcao: any;
35
+ argumentos: ({
36
+ nome: string;
37
+ tipo: string;
38
+ opcional?: undefined;
39
+ valorPadrao?: undefined;
40
+ } | {
41
+ nome: string;
42
+ tipo: string;
43
+ opcional: boolean;
44
+ valorPadrao: string;
45
+ })[];
46
+ documentacao: string;
47
+ exemploCodigo: string;
48
+ };
49
+ caixaVertical: {
50
+ tipoRetorno: string;
51
+ funcao: any;
52
+ argumentos: {
53
+ nome: string;
54
+ tipo: string;
55
+ }[];
56
+ documentacao: string;
57
+ exemploCodigo: string;
58
+ };
59
+ caixaHorizontal: {
60
+ tipoRetorno: string;
61
+ funcao: any;
62
+ argumentos: {
63
+ nome: string;
64
+ tipo: string;
65
+ }[];
66
+ documentacao: string;
67
+ exemploCodigo: string;
68
+ };
69
+ definirTexto: {
70
+ tipoRetorno: string;
71
+ funcao: any;
72
+ argumentos: {
73
+ nome: string;
74
+ tipo: string;
75
+ }[];
76
+ documentacao: string;
77
+ exemploCodigo: string;
78
+ };
79
+ obterTexto: {
80
+ tipoRetorno: string;
81
+ funcao: any;
82
+ argumentos: {
83
+ nome: string;
84
+ tipo: string;
85
+ }[];
86
+ documentacao: string;
87
+ exemploCodigo: string;
88
+ };
89
+ aoClicar: {
90
+ tipoRetorno: string;
91
+ funcao: any;
92
+ argumentos: {
93
+ nome: string;
94
+ tipo: string;
95
+ }[];
96
+ documentacao: string;
97
+ exemploCodigo: string;
98
+ };
99
+ aoAlterar: {
100
+ tipoRetorno: string;
101
+ funcao: any;
102
+ argumentos: {
103
+ nome: string;
104
+ tipo: string;
105
+ }[];
106
+ documentacao: string;
107
+ exemploCodigo: string;
108
+ };
109
+ iniciar: {
110
+ tipoRetorno: string;
111
+ funcao: any;
112
+ argumentos: any[];
113
+ documentacao: string;
114
+ exemploCodigo: string;
115
+ };
116
+ encerrar: {
117
+ tipoRetorno: string;
118
+ funcao: any;
119
+ argumentos: any[];
120
+ documentacao: string;
121
+ exemploCodigo: string;
122
+ };
123
+ };
124
+ //# sourceMappingURL=delegua-modulo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegua-modulo.d.ts","sourceRoot":"","sources":["../fontes/delegua-modulo.ts"],"names":[],"mappings":"AAoGA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuOzC,CAAC"}
@@ -1,10 +1,91 @@
1
- import { InfraestruturaElectron } from './infraestruturas/electron/infraestrutura-electron';
2
- import { InterfaceGrafica } from './interface-grafica';
3
-
4
- const _infraestrutura = new InfraestruturaElectron();
5
- const _ig = new InterfaceGrafica(_infraestrutura);
6
-
7
- export const DeleguaModuloInterfaceGrafica = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeleguaModuloInterfaceGrafica = void 0;
4
+ const infraestrutura_electron_1 = require("./infraestruturas/electron/infraestrutura-electron");
5
+ const infraestrutura_gtk_1 = require("./infraestruturas/gtk/infraestrutura-gtk");
6
+ const infraestrutura_java_swing_1 = require("./infraestruturas/java-swing/infraestrutura-java-swing");
7
+ const infraestrutura_vazia_1 = require("./infraestruturas/vazia/infraestrutura-vazia");
8
+ const infraestrutura_windows_1 = require("./infraestruturas/windows/infraestrutura-windows");
9
+ const interface_grafica_1 = require("./interface-grafica");
10
+ function obterArgumentosSwingDoAmbiente() {
11
+ const argumentosDefinidos = process.env.DELEGUA_INTERFACE_GRAFICA_SWING_ARGUMENTOS;
12
+ if (argumentosDefinidos) {
13
+ return argumentosDefinidos.split(' ').filter(Boolean);
14
+ }
15
+ const caminhoJar = process.env.DELEGUA_INTERFACE_GRAFICA_SWING_JAR;
16
+ if (caminhoJar) {
17
+ return ['-jar', caminhoJar];
18
+ }
19
+ return undefined;
20
+ }
21
+ function obterArgumentosGtkDoAmbiente() {
22
+ const argumentosDefinidos = process.env.DELEGUA_INTERFACE_GRAFICA_GTK_ARGUMENTOS;
23
+ if (!argumentosDefinidos) {
24
+ return undefined;
25
+ }
26
+ return argumentosDefinidos.split(' ').filter(Boolean);
27
+ }
28
+ function obterArgumentosWindowsDoAmbiente() {
29
+ const argumentosDefinidos = process.env.DELEGUA_INTERFACE_GRAFICA_WINDOWS_ARGUMENTOS;
30
+ if (!argumentosDefinidos) {
31
+ return undefined;
32
+ }
33
+ return argumentosDefinidos.split(' ').filter(Boolean);
34
+ }
35
+ function criarInfraestruturaPadrao() {
36
+ var _a, _b, _c;
37
+ const backendPreferido = typeof process !== 'undefined'
38
+ ? process.env.DELEGUA_INTERFACE_GRAFICA_BACKEND
39
+ : undefined;
40
+ if (backendPreferido === 'java-swing') {
41
+ try {
42
+ return new infraestrutura_java_swing_1.InfraestruturaJavaSwing({
43
+ comando: process.env.DELEGUA_INTERFACE_GRAFICA_SWING_COMANDO,
44
+ argumentos: obterArgumentosSwingDoAmbiente(),
45
+ diretorioTrabalho: process.env.DELEGUA_INTERFACE_GRAFICA_SWING_CWD,
46
+ });
47
+ }
48
+ catch (erro) {
49
+ console.warn('[delegua-interface-grafica] Falha ao iniciar backend java-swing. ' +
50
+ `Usando InfraestruturaVazia como fallback. Erro: ${(_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : 'desconhecido'}`);
51
+ return new infraestrutura_vazia_1.InfraestruturaVazia();
52
+ }
53
+ }
54
+ if (backendPreferido === 'gtk') {
55
+ try {
56
+ return new infraestrutura_gtk_1.InfraestruturaGtk({
57
+ comando: process.env.DELEGUA_INTERFACE_GRAFICA_GTK_COMANDO,
58
+ argumentos: obterArgumentosGtkDoAmbiente(),
59
+ diretorioTrabalho: process.env.DELEGUA_INTERFACE_GRAFICA_GTK_CWD,
60
+ });
61
+ }
62
+ catch (erro) {
63
+ console.warn('[delegua-interface-grafica] Falha ao iniciar backend gtk. ' +
64
+ `Usando InfraestruturaVazia como fallback. Erro: ${(_b = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _b !== void 0 ? _b : 'desconhecido'}`);
65
+ return new infraestrutura_vazia_1.InfraestruturaVazia();
66
+ }
67
+ }
68
+ if (backendPreferido === 'windows') {
69
+ try {
70
+ return new infraestrutura_windows_1.InfraestruturaWindows({
71
+ comando: process.env.DELEGUA_INTERFACE_GRAFICA_WINDOWS_COMANDO,
72
+ argumentos: obterArgumentosWindowsDoAmbiente(),
73
+ diretorioTrabalho: process.env.DELEGUA_INTERFACE_GRAFICA_WINDOWS_CWD,
74
+ });
75
+ }
76
+ catch (erro) {
77
+ console.warn('[delegua-interface-grafica] Falha ao iniciar backend windows. ' +
78
+ `Usando InfraestruturaVazia como fallback. Erro: ${(_c = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _c !== void 0 ? _c : 'desconhecido'}`);
79
+ return new infraestrutura_vazia_1.InfraestruturaVazia();
80
+ }
81
+ }
82
+ return typeof document !== 'undefined'
83
+ ? new infraestrutura_electron_1.InfraestruturaElectron()
84
+ : new infraestrutura_vazia_1.InfraestruturaVazia();
85
+ }
86
+ const _infraestrutura = criarInfraestruturaPadrao();
87
+ const _ig = new interface_grafica_1.InterfaceGrafica(_infraestrutura);
88
+ exports.DeleguaModuloInterfaceGrafica = {
8
89
  janela: {
9
90
  tipoRetorno: 'objeto',
10
91
  funcao: _ig.janela.bind(_ig),
@@ -13,8 +94,7 @@ export const DeleguaModuloInterfaceGrafica = {
13
94
  { nome: 'altura', tipo: 'número' },
14
95
  { nome: 'titulo', tipo: 'texto' },
15
96
  ],
16
- documentacao:
17
- `# \`InterfaceGrafica.janela(largura, altura, titulo)\`\n\n` +
97
+ documentacao: `# \`InterfaceGrafica.janela(largura, altura, titulo)\`\n\n` +
18
98
  'Cria a janela principal do programa.\n\n' +
19
99
  '## Exemplo de Código\n\n' +
20
100
  '```delegua\n' +
@@ -30,8 +110,7 @@ export const DeleguaModuloInterfaceGrafica = {
30
110
  { nome: 'pai', tipo: 'objeto' },
31
111
  { nome: 'rotulo', tipo: 'texto' },
32
112
  ],
33
- documentacao:
34
- `# \`InterfaceGrafica.botao(pai, rotulo)\`\n\n` +
113
+ documentacao: `# \`InterfaceGrafica.botao(pai, rotulo)\`\n\n` +
35
114
  'Cria um botão dentro do componente pai.\n\n' +
36
115
  '## Exemplo de Código\n\n' +
37
116
  '```delegua\n' +
@@ -48,8 +127,7 @@ export const DeleguaModuloInterfaceGrafica = {
48
127
  { nome: 'pai', tipo: 'objeto' },
49
128
  { nome: 'texto', tipo: 'texto' },
50
129
  ],
51
- documentacao:
52
- `# \`InterfaceGrafica.rotulo(pai, texto)\`\n\n` +
130
+ documentacao: `# \`InterfaceGrafica.rotulo(pai, texto)\`\n\n` +
53
131
  'Cria um rótulo de texto dentro do componente pai.\n\n' +
54
132
  '## Exemplo de Código\n\n' +
55
133
  '```delegua\n' +
@@ -66,8 +144,7 @@ export const DeleguaModuloInterfaceGrafica = {
66
144
  { nome: 'pai', tipo: 'objeto' },
67
145
  { nome: 'textoInicial', tipo: 'texto', opcional: true, valorPadrao: '' },
68
146
  ],
69
- documentacao:
70
- `# \`InterfaceGrafica.caixaTexto(pai, textoInicial?)\`\n\n` +
147
+ documentacao: `# \`InterfaceGrafica.caixaTexto(pai, textoInicial?)\`\n\n` +
71
148
  'Cria uma caixa de texto editável dentro do componente pai.\n\n' +
72
149
  '## Exemplo de Código\n\n' +
73
150
  '```delegua\n' +
@@ -83,8 +160,7 @@ export const DeleguaModuloInterfaceGrafica = {
83
160
  argumentos: [
84
161
  { nome: 'pai', tipo: 'objeto' },
85
162
  ],
86
- documentacao:
87
- `# \`InterfaceGrafica.caixaVertical(pai)\`\n\n` +
163
+ documentacao: `# \`InterfaceGrafica.caixaVertical(pai)\`\n\n` +
88
164
  'Cria um contêiner com layout vertical (empilhamento de cima para baixo).\n\n' +
89
165
  '## Exemplo de Código\n\n' +
90
166
  '```delegua\n' +
@@ -102,8 +178,7 @@ export const DeleguaModuloInterfaceGrafica = {
102
178
  argumentos: [
103
179
  { nome: 'pai', tipo: 'objeto' },
104
180
  ],
105
- documentacao:
106
- `# \`InterfaceGrafica.caixaHorizontal(pai)\`\n\n` +
181
+ documentacao: `# \`InterfaceGrafica.caixaHorizontal(pai)\`\n\n` +
107
182
  'Cria um contêiner com layout horizontal (empilhamento da esquerda para direita).\n\n' +
108
183
  '## Exemplo de Código\n\n' +
109
184
  '```delegua\n' +
@@ -122,8 +197,7 @@ export const DeleguaModuloInterfaceGrafica = {
122
197
  { nome: 'componente', tipo: 'objeto' },
123
198
  { nome: 'texto', tipo: 'texto' },
124
199
  ],
125
- documentacao:
126
- `# \`InterfaceGrafica.definirTexto(componente, texto)\`\n\n` +
200
+ documentacao: `# \`InterfaceGrafica.definirTexto(componente, texto)\`\n\n` +
127
201
  'Altera o texto de um componente (rótulo ou caixa de texto).\n\n' +
128
202
  '## Exemplo de Código\n\n' +
129
203
  '```delegua\n' +
@@ -140,8 +214,7 @@ export const DeleguaModuloInterfaceGrafica = {
140
214
  argumentos: [
141
215
  { nome: 'componente', tipo: 'objeto' },
142
216
  ],
143
- documentacao:
144
- `# \`InterfaceGrafica.obterTexto(componente)\`\n\n` +
217
+ documentacao: `# \`InterfaceGrafica.obterTexto(componente)\`\n\n` +
145
218
  'Lê o texto atual de um componente (rótulo ou caixa de texto).\n\n' +
146
219
  '## Exemplo de Código\n\n' +
147
220
  '```delegua\n' +
@@ -159,8 +232,7 @@ export const DeleguaModuloInterfaceGrafica = {
159
232
  { nome: 'componente', tipo: 'objeto' },
160
233
  { nome: 'funcao', tipo: 'função' },
161
234
  ],
162
- documentacao:
163
- `# \`InterfaceGrafica.aoClicar(componente, funcao)\`\n\n` +
235
+ documentacao: `# \`InterfaceGrafica.aoClicar(componente, funcao)\`\n\n` +
164
236
  'Registra uma função Delégua para ser chamada ao clicar no componente.\n\n' +
165
237
  '## Exemplo de Código\n\n' +
166
238
  '```delegua\n' +
@@ -181,8 +253,7 @@ export const DeleguaModuloInterfaceGrafica = {
181
253
  { nome: 'componente', tipo: 'objeto' },
182
254
  { nome: 'funcao', tipo: 'função' },
183
255
  ],
184
- documentacao:
185
- `# \`InterfaceGrafica.aoAlterar(componente, funcao)\`\n\n` +
256
+ documentacao: `# \`InterfaceGrafica.aoAlterar(componente, funcao)\`\n\n` +
186
257
  'Registra uma função Delégua para ser chamada quando o texto do componente mudar.\n' +
187
258
  'A função recebe o novo texto como argumento.\n\n' +
188
259
  '## Exemplo de Código\n\n' +
@@ -201,8 +272,7 @@ export const DeleguaModuloInterfaceGrafica = {
201
272
  tipoRetorno: 'nulo',
202
273
  funcao: _ig.iniciar.bind(_ig),
203
274
  argumentos: [],
204
- documentacao:
205
- `# \`InterfaceGrafica.iniciar()\`\n\n` +
275
+ documentacao: `# \`InterfaceGrafica.iniciar()\`\n\n` +
206
276
  'Inicia o laço de eventos da interface gráfica. Bloqueia a execução do programa ' +
207
277
  'até que a janela seja fechada.\n' +
208
278
  'Deve ser chamado após criar e configurar todos os componentes.\n\n' +
@@ -219,8 +289,7 @@ export const DeleguaModuloInterfaceGrafica = {
219
289
  tipoRetorno: 'nulo',
220
290
  funcao: _ig.encerrar.bind(_ig),
221
291
  argumentos: [],
222
- documentacao:
223
- `# \`InterfaceGrafica.encerrar()\`\n\n` +
292
+ documentacao: `# \`InterfaceGrafica.encerrar()\`\n\n` +
224
293
  'Encerra a interface gráfica e fecha todas as janelas.\n\n' +
225
294
  '## Exemplo de Código\n\n' +
226
295
  '```delegua\n' +
@@ -236,3 +305,4 @@ export const DeleguaModuloInterfaceGrafica = {
236
305
  exemploCodigo: 'ig.encerrar()',
237
306
  },
238
307
  };
308
+ //# sourceMappingURL=delegua-modulo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegua-modulo.js","sourceRoot":"","sources":["../fontes/delegua-modulo.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './infraestruturas';
2
2
  export * from './interface-grafica';
3
3
  export * from './interfaces';
4
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
package/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./infraestruturas"), exports);
18
+ __exportStar(require("./interface-grafica"), exports);
19
+ __exportStar(require("./interfaces"), exports);
20
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,sDAAoC;AACpC,+CAA6B"}
@@ -0,0 +1,34 @@
1
+ import { InfraestruturaGraficaInterface } from '../../interfaces/infraestrutura-grafica-interface';
2
+ import { ComponenteInterfaceGraficaInterface } from '../../interfaces/componente-interface-grafica-interface';
3
+ /**
4
+ * Infraestrutura de interface gráfica para o ambiente Electron.
5
+ * Cria elementos DOM no `document.body` da janela do Electron.
6
+ *
7
+ * O programa Delégua enxerga cada componente como um identificador opaco
8
+ * (`ComponenteInterfaceGraficaInterface`). Internamente, este infraestrutura mantém um mapa entre esses
9
+ * identificadores e os `HTMLElement`s correspondentes.
10
+ *
11
+ * Cada instância de `InfraestruturaElectron` gerencia uma janela independente:
12
+ * um `div` flutuante criado sobre o conteúdo existente da página.
13
+ */
14
+ export declare class InfraestruturaElectron implements InfraestruturaGraficaInterface {
15
+ private readonly elementosPorId;
16
+ private contadorIds;
17
+ private sobreposicao;
18
+ private resolverLaco;
19
+ private proximoId;
20
+ private registrar;
21
+ private obterElemento;
22
+ criarJanela(largura: number, altura: number, titulo: string): ComponenteInterfaceGraficaInterface;
23
+ criarBotao(pai: ComponenteInterfaceGraficaInterface, rotulo: string): ComponenteInterfaceGraficaInterface;
24
+ criarRotulo(pai: ComponenteInterfaceGraficaInterface, texto: string): ComponenteInterfaceGraficaInterface;
25
+ criarCaixaTexto(pai: ComponenteInterfaceGraficaInterface, textoInicial: string): ComponenteInterfaceGraficaInterface;
26
+ criarCaixaVertical(pai: ComponenteInterfaceGraficaInterface): ComponenteInterfaceGraficaInterface;
27
+ criarCaixaHorizontal(pai: ComponenteInterfaceGraficaInterface): ComponenteInterfaceGraficaInterface;
28
+ definirTexto(componente: ComponenteInterfaceGraficaInterface, texto: string): void;
29
+ obterTexto(componente: ComponenteInterfaceGraficaInterface): string;
30
+ conectarEvento(componente: ComponenteInterfaceGraficaInterface, evento: string, callback: (...argumentos: any[]) => Promise<void>): void;
31
+ iniciarLaco(): Promise<void>;
32
+ encerrar(): void;
33
+ }
34
+ //# sourceMappingURL=infraestrutura-electron.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraestrutura-electron.d.ts","sourceRoot":"","sources":["../../../fontes/infraestruturas/electron/infraestrutura-electron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAa9G;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,YAAW,8BAA8B;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IACtE,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,YAAY,CAA6B;IAMjD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAerB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mCAAmC;IAoFjG,UAAU,CAAC,GAAG,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,GAAG,mCAAmC;IAiBzG,WAAW,CAAC,GAAG,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,GAAG,mCAAmC;IAYzG,eAAe,CAAC,GAAG,EAAE,mCAAmC,EAAE,YAAY,EAAE,MAAM,GAAG,mCAAmC;IAgBpH,kBAAkB,CAAC,GAAG,EAAE,mCAAmC,GAAG,mCAAmC;IAYjG,oBAAoB,CAAC,GAAG,EAAE,mCAAmC,GAAG,mCAAmC;IAiBnG,YAAY,CAAC,UAAU,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IASlF,UAAU,CAAC,UAAU,EAAE,mCAAmC,GAAG,MAAM;IAYnE,cAAc,CACV,UAAU,EAAE,mCAAmC,EAC/C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,IAAI;IAsBD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,QAAQ,IAAI,IAAI;CAYnB"}