parametercurvegeneratorformunit.pas 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. unit parametercurvegeneratorformunit;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
  6. Spin, ButtonPanel, ComCtrls, LCLTranslator;
  7. type
  8. { TParameterCurveGeneratorForm }
  9. TParameterCurveGeneratorForm = class(TForm)
  10. FastGrowthLabel: TLabel;
  11. SlowGrowthLabel: TLabel;
  12. ResultButtonPanel: TButtonPanel;
  13. EndpointValuesGroupBox: TGroupBox;
  14. GrowthTypeGroupBox: TGroupBox;
  15. Level1Label: TLabel;
  16. Level99Label: TLabel;
  17. Level1Panel: TPanel;
  18. Level1Panel1: TPanel;
  19. Level1SpinEdit: TSpinEdit;
  20. Level99SpinEdit: TSpinEdit;
  21. GrowthTypeTrackBar: TTrackBar;
  22. procedure CancelButtonClick(Sender: TObject);
  23. procedure GrowthTypeTrackBarChange(Sender: TObject);
  24. procedure Level1SpinEditChange(Sender: TObject);
  25. procedure Level99SpinEditChange(Sender: TObject);
  26. procedure OKButtonClick(Sender: TObject);
  27. private
  28. ResultWasAccepted: Boolean;
  29. public
  30. Level1Value: Integer;
  31. Level99Value: Integer;
  32. Smoothness: Integer;
  33. function ShowChoice(ALevel1Value, ALevel99Value, ASmoothness, MaxVal: Integer): Boolean;
  34. end;
  35. var
  36. ParameterCurveGeneratorForm: TParameterCurveGeneratorForm;
  37. implementation
  38. {$R *.lfm}
  39. procedure TParameterCurveGeneratorForm.GrowthTypeTrackBarChange(Sender: TObject
  40. );
  41. begin
  42. Smoothness := GrowthTypeTrackBar.Position;
  43. end;
  44. procedure TParameterCurveGeneratorForm.CancelButtonClick(Sender: TObject);
  45. begin
  46. ResultWasAccepted := False;
  47. Close
  48. end;
  49. procedure TParameterCurveGeneratorForm.Level1SpinEditChange(Sender: TObject);
  50. begin
  51. Level1Value := Level1SpinEdit.Value;
  52. end;
  53. procedure TParameterCurveGeneratorForm.Level99SpinEditChange(Sender: TObject);
  54. begin
  55. Level99Value := Level99SpinEdit.Value;
  56. end;
  57. procedure TParameterCurveGeneratorForm.OKButtonClick(Sender: TObject);
  58. begin
  59. ResultWasAccepted := True;
  60. Close
  61. end;
  62. function TParameterCurveGeneratorForm.ShowChoice(ALevel1Value, ALevel99Value,
  63. ASmoothness, MaxVal: Integer): Boolean;
  64. begin
  65. ResultWasAccepted := False;
  66. Level1SpinEdit.MaxValue := MaxVal;
  67. Level1SpinEdit.Value := ALevel1Value;
  68. Level99SpinEdit.MaxValue := MaxVal;
  69. Level99SpinEdit.Value := ALevel99Value;
  70. GrowthTypeTrackBar.Position := ASmoothness;
  71. Level1Value := ALevel1Value;
  72. Level99Value := ALevel99Value;
  73. Smoothness := ASmoothness;
  74. ShowModal;
  75. ShowChoice := ResultWasAccepted;
  76. end;
  77. end.