Ignore:
Timestamp:
Jul 20, 2018, 9:41:37 AM (6 years ago)
Author:
chronos
Message:
  • Added: Allow to enable individual code optimization from settings dialog.
  • Added: Actions to format or shrink target BF code.
Location:
trunk/Forms
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms

    • Property svn:ignore set to
      *.lrj
  • trunk/Forms/UFormOptions.pas

    r88 r91  
    1111type
    1212
    13   { TOptionsForm }
     13  { TFormOptions }
    1414
    15   TOptionsForm = class(TForm)
     15  TFormOptions = class(TForm)
    1616    ButtonOk: TButton;
    1717    ButtonCancel: TButton;
    1818    CheckBox1: TCheckBox;
     19    CheckBoxOptimizeAddSub: TCheckBox;
    1920    CheckBoxDPIAuto: TCheckBox;
     21    CheckBoxOptimizeMerge: TCheckBox;
     22    CheckBoxOptimizeRelativeIndexes: TCheckBox;
     23    CheckBoxOptimizeCopyMultiply: TCheckBox;
    2024    ComboBoxLanguage: TComboBox;
    21     ComboBoxOptimizatipn: TComboBox;
     25    ComboBoxOptimization: TComboBox;
    2226    Label1: TLabel;
    2327    Label2: TLabel;
     
    3236    procedure ButtonOkClick(Sender: TObject);
    3337    procedure CheckBoxDPIAutoChange(Sender: TObject);
     38    procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
     39    procedure FormCreate(Sender: TObject);
    3440    procedure FormShow(Sender: TObject);
    3541  private
     
    4248
    4349var
    44   OptionsForm: TOptionsForm;
     50  FormOptions: TFormOptions;
    4551
    4652implementation
     
    5157  UCore, ULanguages;
    5258
    53 { TOptionsForm }
     59{ TFormOptions }
    5460
    55 procedure TOptionsForm.FormShow(Sender: TObject);
     61procedure TFormOptions.FormShow(Sender: TObject);
    5662begin
     63  Core.PersistentForm1.Load(Self);
     64
    5765  Core.CoolTranslator1.LanguageListToStrings(ComboBoxLanguage.Items);
    5866  ComboBoxLanguage.ItemIndex := ComboBoxLanguage.Items.IndexOfObject(Core.CoolTranslator1.Language);
     
    6169end;
    6270
    63 procedure TOptionsForm.UpdateInterface;
     71procedure TFormOptions.UpdateInterface;
    6472begin
    6573  SpinEditDPIX.Enabled := not CheckBoxDPIAuto.Checked;
     
    7179    SpinEditDPIY.Value := ScreenInfo.PixelsPerInchY;
    7280  end;
     81  CheckBoxOptimizeAddSub.Enabled := ComboBoxOptimization.ItemIndex > 0;
     82  CheckBoxOptimizeMerge.Enabled := ComboBoxOptimization.ItemIndex > 0;
     83  CheckBoxOptimizeRelativeIndexes.Enabled := ComboBoxOptimization.ItemIndex > 0;
     84  CheckBoxOptimizeCopyMultiply.Enabled := ComboBoxOptimization.ItemIndex > 0;
    7385end;
    7486
    75 procedure TOptionsForm.Load;
     87procedure TFormOptions.Load;
    7688begin
     89  CheckBoxOptimizeAddSub.Checked := Core.Optimizations.AddSub;
     90  CheckBoxOptimizeMerge.Checked := Core.Optimizations.Merge;
     91  CheckBoxOptimizeRelativeIndexes.Checked := Core.Optimizations.RelativeIndexes;
     92  CheckBoxOptimizeCopyMultiply.Checked := Core.Optimizations.CopyMultiply;
    7793  SpinEditDPIX.Value := Core.ScaleDPI1.DPI.X;
    7894  SpinEditDPIY.Value := Core.ScaleDPI1.DPI.Y;
    7995  CheckBoxDPIAuto.Checked := Core.ScaleDPI1.AutoDetect;
    80   ComboBoxOptimizatipn.ItemIndex := Integer(Core.OptimizationLevel);
     96  ComboBoxOptimization.ItemIndex := Integer(Core.OptimizationLevel);
    8197  SpinEditCellSize.Value := Core.CellSize;
    8298  SpinEditMemorySize.Value := Core.MemorySize;
     
    84100end;
    85101
    86 procedure TOptionsForm.Save;
     102procedure TFormOptions.Save;
    87103begin
    88104  Core.ScaleDPI1.DPI := Point(SpinEditDPIX.Value, SpinEditDPIY.Value);
    89105  Core.ScaleDPI1.AutoDetect := CheckBoxDPIAuto.Checked;
    90   Core.OptimizationLevel := TCompilerOptimization(ComboBoxOptimizatipn.ItemIndex);
     106  Core.OptimizationLevel := TCompilerOptimization(ComboBoxOptimization.ItemIndex);
    91107  Core.CellSize := SpinEditCellSize.Value;
    92108  Core.MemorySize := SpinEditMemorySize.Value;
     109  Core.Optimizations.AddSub := CheckBoxOptimizeAddSub.Checked;
     110  Core.Optimizations.Merge := CheckBoxOptimizeMerge.Checked;
     111  Core.Optimizations.RelativeIndexes := CheckBoxOptimizeRelativeIndexes.Checked;
     112  Core.Optimizations.CopyMultiply := CheckBoxOptimizeCopyMultiply.Checked;
    93113end;
    94114
    95 procedure TOptionsForm.ButtonOkClick(Sender: TObject);
     115procedure TFormOptions.ButtonOkClick(Sender: TObject);
    96116begin
    97117  if ComboBoxLanguage.ItemIndex <> -1 then
     
    100120end;
    101121
    102 procedure TOptionsForm.CheckBoxDPIAutoChange(Sender: TObject);
     122procedure TFormOptions.CheckBoxDPIAutoChange(Sender: TObject);
    103123begin
    104124  UpdateInterface;
    105125end;
    106126
     127procedure TFormOptions.FormClose(Sender: TObject; var CloseAction: TCloseAction
     128  );
     129begin
     130  Core.PersistentForm1.Save(Self);
     131end;
     132
     133procedure TFormOptions.FormCreate(Sender: TObject);
     134begin
     135  Core.CoolTranslator1.TranslateComponentRecursive(Self);
     136end;
     137
    107138end.
    108139
Note: See TracChangeset for help on using the changeset viewer.