From 321c976935ba19573a417335bad14ada8d0421d5 Mon Sep 17 00:00:00 2001 From: mattias Date: Thu, 5 Feb 2009 16:21:43 +0000 Subject: [PATCH] build mode: started default value editors git-svn-id: trunk@18589 - --- .../frames/compiler_buildmodes_options.pas | 30 +++++++++++++++++-- .../frames/compiler_conditionals_options.lrs | 2 -- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/packager/frames/compiler_buildmodes_options.pas b/packager/frames/compiler_buildmodes_options.pas index fa2da93dc6..181ede7837 100644 --- a/packager/frames/compiler_buildmodes_options.pas +++ b/packager/frames/compiler_buildmodes_options.pas @@ -25,7 +25,7 @@ interface uses Classes, SysUtils, FileUtil, Controls, LResources, Forms, StdCtrls, Grids, - Buttons, ExtCtrls, Dialogs, ComCtrls, Menus, + Buttons, ExtCtrls, Dialogs, ComCtrls, Menus, AvgLvlTree, IDEImagesIntf, ProjectIntf, CompilerOptions, Compiler_Conditionals_Options, LazarusIDEStrConsts, CompOptsModes; @@ -61,6 +61,7 @@ type fValuesImgID: LongInt; fValueImgID: LongInt; fDefValueImgID: LongInt; + FEditors: TFPList; procedure SetBuildModes(const AValue: TIDEBuildModes); procedure RebuildTreeView; procedure TreeViewAddBuildMode(BuildMode: TLazBuildMode); @@ -70,6 +71,8 @@ type out NodeType: TCBMNodeType): TTreeNode; function GetBuildModeTVNode(BuildMode: TLazBuildMode): TTreeNode; function GetValuesTVNode(BuildMode: TLazBuildMode): TTreeNode; + procedure FreeEditors; + function GetEditor(BuildMode: TLazBuildMode): TCompOptsExprEditor; public constructor Create(TheOwner: TComponent); override; destructor Destroy; override; @@ -385,10 +388,32 @@ begin Result:=nil; end; +procedure TCompOptBuildModesFrame.FreeEditors; +var + i: Integer; +begin + for i:=0 to FEditors.Count-1 do + TObject(FEditors[i]).Free; + FEditors.Clear; +end; + +function TCompOptBuildModesFrame.GetEditor(BuildMode: TLazBuildMode + ): TCompOptsExprEditor; +var + i: Integer; +begin + for i:=0 to FEditors.Count-1 do begin + Result:=TCompOptsExprEditor(FEditors[i]); + if Result.Conditionals=BuildMode.DefaultValue then exit; + end; + Result:=nil; +end; + constructor TCompOptBuildModesFrame.Create(TheOwner: TComponent); begin inherited Create(TheOwner); + FEditors:=TFPList.Create; BuildModesTreeView.Images := IDEImages.Images_24; fModeImgID:=IDEImages.LoadImage(24,'da_define'); fValueImgID:=IDEImages.LoadImage(24,'da_define'); @@ -399,7 +424,8 @@ end; destructor TCompOptBuildModesFrame.Destroy; begin - + FreeEditors; + FreeAndNil(FEditors); inherited Destroy; end; diff --git a/packager/frames/compiler_conditionals_options.lrs b/packager/frames/compiler_conditionals_options.lrs index 1d176f39f2..d6281e60e1 100644 --- a/packager/frames/compiler_conditionals_options.lrs +++ b/packager/frames/compiler_conditionals_options.lrs @@ -1,5 +1,3 @@ -{ This is an automatically generated lazarus resource file } - LazarusResources.Add('TCompOptsConditionalsFrame','FORMDATA',[ 'TPF0'#26'TCompOptsConditionalsFrame'#25'CompOptsConditionalsFrame'#4'Left'#2 +#0#6'Height'#3#170#0#3'Top'#2#0#5'Width'#3#129#1#12'ClientHeight'#3#166#0#11