functions.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import $ from 'jquery';
  2. import { Types } from './../ast/types';
  3. import * as Modelos from './visual';
  4. import { LocalizedStrings } from './../services/localizedStringsService';
  5. var counter_new_functions = 0;
  6. var counter_new_parameters = 0;
  7. var counter_new_variables = 0;
  8. var counter_new_globals = 0;
  9. const programa = new Modelos.Programa()
  10. const funcaoPrincipal = new Modelos.Funcao(LocalizedStrings.getUI("start"), Types.VOID, 0, [], true);
  11. funcaoPrincipal.comentario_funcao = new Modelos.Comentario(LocalizedStrings.getUI('text_comment_main'));
  12. programa.adicionarFuncao(funcaoPrincipal);
  13. function addFunctionHandler() {
  14. new_function = new Modelos.Funcao(LocalizedStrings.getUI("new_function") + "_" + counter_new_functions, Types.VOID, 0, new Array(), false, false, null, new Comentario(LocalizedStrings.getUI('text_comment_start')));
  15. programa.adicionarFuncao(new_function);
  16. counter_new_functions ++;
  17. //renderAlgorithm();
  18. }
  19. function addGlobalVar() {
  20. var v = new Modelos.Variavel(Types.INTEGER, LocalizedStrings.getUI('new_global') + '_' + counter_new_globals, 1);
  21. counter_new_globals ++;
  22. programa.adicionarGlobal(v);
  23. //renderAlgorithm();
  24. }
  25. export function initVisualUI () {
  26. // MUST USE CONST, LET, OR VAR !!!!!!
  27. const mainDiv = $('#visual-main-div');
  28. // fill mainDiv with functions and globals...
  29. // renderAlgorithm()...
  30. $('.add_function_button').on('click', () => {
  31. addFunctionHandler()
  32. });
  33. $('.add-globalVar-button').on('click', () => {
  34. addGlobalVar()
  35. });
  36. }