2
0

MapEditor.Mod 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. MODULE MapEditor;
  2. IMPORT G := Graph, S := SimpleGui, Out;
  3. VAR
  4. frmMain: S.Form;
  5. pnlButtons: S.Panel;
  6. btnSave: S.Button;
  7. btnExit: S.Button;
  8. pnlMap: S.Panel;
  9. btn2: S.Button;
  10. PROCEDURE Btn2OnClick(c: S.Widget);
  11. BEGIN
  12. c(S.Button).caption[1] := CHR((ORD(c(S.Button).caption[1]) + 1) MOD 1256)
  13. END Btn2OnClick;
  14. PROCEDURE BtnExitOnMouseMove(c: S.Widget; x, y: INTEGER);
  15. BEGIN
  16. c(S.Button).caption[5] := CHR((ORD(c(S.Button).caption[5]) + 1) MOD 256);
  17. c(S.Button).caption[6] := CHR(ORD(c(S.Button).caption[5]) + 1);
  18. c(S.Button).caption[7] := 0X
  19. END BtnExitOnMouseMove;
  20. PROCEDURE InitInterface(): BOOLEAN;
  21. VAR W, H: INTEGER;
  22. color: G.Color;
  23. BEGIN
  24. G.GetScreenSize(W, H);
  25. frmMain := S.NewForm(0, 0, W, H);
  26. pnlButtons := S.NewPanel(frmMain, 4, 4, 104, 60);
  27. G.MakeCol(color, 40, 150, 40);
  28. S.SetBgColor(pnlButtons, color);
  29. btnSave := S.NewButton(pnlButtons, 4, 4, 96, 24, 'Сохранить');
  30. btnExit := S.NewButton(pnlButtons, 4, 32, 96, 24, 'Выйти');
  31. S.SetOnMouseMove(btnExit, BtnExitOnMouseMove);
  32. pnlMap := S.NewPanel(frmMain, 112, 4, W - 116, H - 8);
  33. G.MakeCol(color, 150, 90, 40);
  34. S.SetBgColor(pnlMap, color);
  35. btn2 := S.NewButton(pnlMap, 64, 64, 96, 96, 'ОГО!');
  36. S.SetOnClick(btn2, Btn2OnClick)
  37. RETURN TRUE END InitInterface;
  38. PROCEDURE Init(): BOOLEAN;
  39. VAR ok: BOOLEAN;
  40. BEGIN ok := FALSE;
  41. G.Init;
  42. S.Init;
  43. IF G.Done & S.Done & InitInterface() THEN
  44. ok := TRUE
  45. END
  46. RETURN ok END Init;
  47. PROCEDURE Close;
  48. BEGIN
  49. G.Close
  50. END Close;
  51. BEGIN
  52. IF Init() THEN S.Run ELSE Out.String('Error loading.'); Out.Ln END;
  53. Close
  54. END MapEditor.