diff --git a/ide/compiler.pp b/ide/compiler.pp index 817fdcc0bd..ec71f8fdcf 100644 --- a/ide/compiler.pp +++ b/ide/compiler.pp @@ -95,7 +95,7 @@ var TheProcess : TProcess; begin Result:=mrCancel; - if AProject.MainUnit<0 then exit; + if AProject.MainUnitID<0 then exit; OldCurDir:=GetCurrentDir; if AProject.IsVirtual then ProjectFilename:=DefaultFilename @@ -189,6 +189,9 @@ end. { $Log$ + Revision 1.39 2003/03/11 09:57:51 mattias + implemented ProjectOpt: AutoCreateNewForms, added designer Show Options + Revision 1.38 2003/01/06 10:51:40 mattias freeing stopped external tools diff --git a/ide/debugmanager.pas b/ide/debugmanager.pas index f02ad1b701..6af661b4af 100644 --- a/ide/debugmanager.pas +++ b/ide/debugmanager.pas @@ -463,7 +463,7 @@ begin WriteLN('[TDebugManager.DoInitDebugger] A'); Result:=mrCancel; - if Project1.MainUnit < 0 then Exit; + if Project1.MainUnitID < 0 then Exit; LaunchingCmdLine:=MainIDE.GetRunCommandLine; SplitCmdLine(LaunchingCmdLine,LaunchingApplication,LaunchingParams); @@ -671,6 +671,9 @@ end. { ============================================================================= $Log$ + Revision 1.11 2003/03/11 09:57:51 mattias + implemented ProjectOpt: AutoCreateNewForms, added designer Show Options + Revision 1.10 2002/12/09 16:48:34 mattias added basic file handling functions to filectrl diff --git a/ide/environmentopts.pp b/ide/environmentopts.pp index 8b0f6f7811..94e4388df5 100644 --- a/ide/environmentopts.pp +++ b/ide/environmentopts.pp @@ -470,9 +470,23 @@ type OkButton: TButton; CancelButton: TButton; + procedure BackupOtherGroupBoxResize(Sender: TObject); + procedure BackupProjectGroupBoxResize(Sender: TObject); procedure BakTypeRadioGroupClick(Sender: TObject); + procedure FormEditMiscGroupBoxResize(Sender: TObject); + procedure GridGroupBoxResize(Sender: TObject); + procedure GuideLinesGroupBoxResize(Sender: TObject); + procedure OIMiscGroupBoxResize(Sender: TObject); + procedure ObjectInspectorColorsGroupBoxResize(Sender: TObject); procedure OkButtonClick(Sender: TObject); procedure CancelButtonClick(Sender: TObject); + procedure OnBackupPageResize(Sender: TObject); + procedure OnDesktopPageResize(Sender: TObject); + procedure OnFilesPageResize(Sender: TObject); + procedure OnFormEditorPageResize(Sender: TObject); + procedure OnNamingPageResize(Sender: TObject); + procedure OnObjectInspectorPageResize(Sender: TObject); + procedure RubberbandGroupBoxResize(Sender: TObject); procedure SaveDesktopSettingsToFileButtonClick(Sender: TObject); procedure LoadDesktopSettingsFromFileButtonClick(Sender: TObject); procedure WindowPositionsListBoxMouseUp(Sender:TObject; @@ -1316,6 +1330,8 @@ procedure TEnvironmentOptionsDialog.SetupDesktopPage(Page: integer); var MaxX:integer; l: TLazarusLanguage; begin + NoteBook.Page[Page].OnResize:=@OnDesktopPageResize; + MaxX:=ClientWidth-5; // language @@ -1350,7 +1366,6 @@ begin end; EndUpdate; end; - Visible:=true; end; // auto save @@ -1412,7 +1427,6 @@ begin Left:=AutoSaveIntervalInSecsLabel.Left+AutoSaveIntervalInSecsLabel.Width+5; Top:=AutoSaveIntervalInSecsLabel.Top+2; Width:=AutoSaveGroupBox.ClientWidth-Left-10; - Height:=23; with Items do begin BeginUpdate; Add('1200'); @@ -1422,7 +1436,6 @@ begin EndUpdate; end; Enabled:=false; - Visible:=true; end; // desktop files @@ -1546,6 +1559,8 @@ end; procedure TEnvironmentOptionsDialog.SetupBackupPage(Page: integer); var MaxX:integer; begin + NoteBook.Page[Page].OnResize:=@OnBackupPageResize; + MaxX:=ClientWidth-5; BackupHelpLabel:=TLabel.Create(Self); @@ -1557,7 +1572,6 @@ begin Width:=MaxX-Left*2; Height:=23; Caption:=dlgEnvBackupHelpNote; - Visible:=true; end; BackupProjectGroupBox:=TGroupBox.Create(Self); @@ -1569,7 +1583,7 @@ begin Width:=(MaxX div 2) - 11; Height:=260; Caption:=dlgProjFiles; - Visible:=true; + OnResize:=@BackupProjectGroupBoxResize; end; BakProjTypeRadioGroup:=TRadioGroup.Create(Self); @@ -1614,14 +1628,12 @@ begin Left:=BakProjAddExtLabel.Left+BakProjAddExtLabel.Width+2; Top:=BakProjAddExtLabel.Top; Width:=60; - Height:=25; with Items do begin BeginUpdate; Add('bak'); Add('old'); EndUpdate; end; - Visible:=true; end; BakProjMaxCounterLabel:=TLabel.Create(Self); @@ -1643,7 +1655,6 @@ begin Left:=BakProjMaxCounterLabel.Left+BakProjMaxCounterLabel.Width+2; Top:=BakProjMaxCounterLabel.Top; Width:=100; - Height:=25; with Items do begin BeginUpdate; Add('1'); @@ -1654,7 +1665,6 @@ begin Add(BakMaxCounterInfiniteTxt); EndUpdate; end; - Visible:=true; end; BakProjSubDirLabel:=TLabel.Create(Self); @@ -1676,14 +1686,12 @@ begin Left:=BakProjSubDirLabel.Left+BakProjSubDirLabel.Width+2; Top:=BakProjSubDirLabel.Top; Width:=100; - Height:=25; with Items do begin BeginUpdate; Add(BakNoSubDirTxt); Add('backup'); EndUpdate; end; - Visible:=true; end; BackupOtherGroupBox:=TGroupBox.Create(Self); @@ -1695,7 +1703,7 @@ begin Width:=(MaxX div 2) - 11; Height:=260; Caption:=dlgEnvOtherFiles; - Visible:=true; + OnResize:=@BackupOtherGroupBoxResize; end; BakOtherTypeRadioGroup:=TRadioGroup.Create(Self); @@ -1740,14 +1748,12 @@ begin Left:=BakOtherAddExtLabel.Left+BakOtherAddExtLabel.Width+2; Top:=BakOtherAddExtLabel.Top; Width:=60; - Height:=25; with Items do begin BeginUpdate; Add('bak'); Add('old'); EndUpdate; end; - Visible:=true; end; BakOtherMaxCounterLabel:=TLabel.Create(Self); @@ -1769,7 +1775,6 @@ begin Left:=BakOtherMaxCounterLabel.Left+BakOtherMaxCounterLabel.Width+2; Top:=BakOtherMaxCounterLabel.Top; Width:=100; - Height:=25; with Items do begin BeginUpdate; Add('1'); @@ -1780,7 +1785,6 @@ begin Add(BakMaxCounterInfiniteTxt); EndUpdate; end; - Visible:=true; end; BakOtherSubDirLabel:=TLabel.Create(Self); @@ -1802,14 +1806,12 @@ begin Left:=BakOtherSubDirLabel.Left+BakOtherSubDirLabel.Width+2; Top:=BakOtherSubDirLabel.Top; Width:=100; - Height:=25; with Items do begin BeginUpdate; Add(dlgBakDirectory); Add('backup'); EndUpdate; end; - Visible:=true; end; end; @@ -1817,6 +1819,8 @@ procedure TEnvironmentOptionsDialog.SetupFilesPage(Page: integer); var MaxX:integer; ADebuggerType: TDebuggerType; begin + NoteBook.Page[Page].OnResize:=@OnFilesPageResize; + MaxX:=ClientWidth-5; MaxRecentOpenFilesLabel:=TLabel.Create(Self); @@ -1838,7 +1842,6 @@ begin Left:=MaxRecentOpenFilesLabel.Left+MaxRecentOpenFilesLabel.Width+2; Top:=MaxRecentOpenFilesLabel.Top; Width:=60; - Height:=25; with Items do begin BeginUpdate; Add('5'); @@ -1849,7 +1852,6 @@ begin Add('30'); EndUpdate; end; - Visible:=true; end; MaxRecentProjectFilesLabel:=TLabel.Create(Self); @@ -1871,7 +1873,6 @@ begin Left:=MaxRecentProjectFilesLabel.Left+MaxRecentProjectFilesLabel.Width+2; Top:=MaxRecentProjectFilesLabel.Top; Width:=60; - Height:=25; with Items do begin BeginUpdate; Add('5'); @@ -1882,7 +1883,6 @@ begin Add('30'); EndUpdate; end; - Visible:=true; end; OpenLastProjectAtStartCheckBox:=TCheckBox.Create(Self); @@ -1917,13 +1917,11 @@ begin Left:=LazarusDirLabel.Left; Top:=LazarusDirLabel.Top+LazarusDirLabel.Height+2; Width:=LazarusDirLabel.Width; - Height:=25; with Items do begin BeginUpdate; Add(ProgramDirectory); EndUpdate; end; - Visible:=true; end; CompilerPathLabel:=TLabel.Create(Self); @@ -1945,14 +1943,12 @@ begin Left:=LazarusDirLabel.Left; Top:=CompilerPathLabel.Top+CompilerPathLabel.Height+2; Width:=LazarusDirLabel.Width; - Height:=25; with Items do begin BeginUpdate; Add('/usr/bin/ppc386'); Add('/opt/fpc/ppc386'); EndUpdate; end; - Visible:=true; end; FPCSourceDirLabel:=TLabel.Create(Self); @@ -1974,13 +1970,11 @@ begin Left:=LazarusDirLabel.Left; Top:=FPCSourceDirLabel.Top+FPCSourceDirLabel.Height+2; Width:=LazarusDirLabel.Width; - Height:=25; with Items do begin BeginUpdate; Add(''); EndUpdate; end; - Visible:=true; end; DebuggerPathLabel:=TLabel.Create(Self); @@ -2002,14 +1996,12 @@ begin Left:=FPCSourceDirLabel.Left; Top:=DebuggerPathLabel.Top+DebuggerPathLabel.Height+2; Width:=LazarusDirLabel.Width div 2; - Height:=25; with Items do begin BeginUpdate; for ADebuggerType:=Low(TDebuggerType) to High(TDebuggerType) do Add(DebuggerName[ADebuggerType]); EndUpdate; end; - Visible:=true; end; DebuggerPathComboBox:=TComboBox.Create(Self); @@ -2019,14 +2011,12 @@ begin Left:=DebuggerTypeComboBox.Left+DebuggerTypeComboBox.Width+10; Top:=DebuggerTypeComboBox.Top; Width:=LazarusDirLabel.Width-DebuggerTypeComboBox.Width-10; - Height:=25; with Items do begin BeginUpdate; Add(DebuggerName[dtNone]); Add('/opt/fpc/gdb'); EndUpdate; end; - Visible:=true; end; TestBuildDirLabel:=TLabel.Create(Self); @@ -2048,7 +2038,6 @@ begin Left:=LazarusDirLabel.Left; Top:=TestBuildDirLabel.Top+TestBuildDirLabel.Height+2; Width:=LazarusDirLabel.Width; - Height:=25; with Items do begin BeginUpdate; Add('/tmp'); @@ -2057,7 +2046,6 @@ begin Add('c:/windows/temp'); EndUpdate; end; - Visible:=true; end; end; @@ -2160,7 +2148,7 @@ procedure TEnvironmentOptionsDialog.SetupFormEditorPage(Page: integer); Name:='GridSizeYLabel'; Parent:=GridGroupBox; Left:=GridSizeXLabel.Left; - Top:=GridSizeXComboBox.Top+GridSizeXComboBox.Height+3; + Top:=GridSizeXComboBox.Top+GridSizeXComboBox.Height+5; Width:=GridSizeXLabel.Width; Caption:=dlgGridY; end; @@ -2294,7 +2282,7 @@ procedure TEnvironmentOptionsDialog.SetupFormEditorPage(Page: integer); with GrabberColorButton do begin Name:='GrabberColorButton'; Parent:=FormEditMiscGroupBox; - Left:=200; + Left:=250; Top:=0; Width:=50; Height:=25; @@ -2305,7 +2293,7 @@ procedure TEnvironmentOptionsDialog.SetupFormEditorPage(Page: integer); Name:='GrabberColorLabel'; Parent:=FormEditMiscGroupBox; Left:=GrabberColorButton.Left+GrabberColorButton.Width+5; - Top:=GrabberColorButton.Top+2; + Top:=GrabberColorButton.Top+5; Width:=110; Caption:=dlgGrabberColor; end; @@ -2325,7 +2313,7 @@ procedure TEnvironmentOptionsDialog.SetupFormEditorPage(Page: integer); Name:='MarkerColorLabel'; Parent:=FormEditMiscGroupBox; Left:=MarkerColorButton.Left+MarkerColorButton.Width+5; - Top:=MarkerColorButton.Top+2; + Top:=MarkerColorButton.Top+5; Width:=110; Caption:=dlgMarkerColor; end; @@ -2386,6 +2374,8 @@ procedure TEnvironmentOptionsDialog.SetupFormEditorPage(Page: integer); begin // form editor page + NoteBook.Page[Page].OnResize:=@OnFormEditorPageResize; + GridGroupBox:=TGroupBox.Create(Self); with GridGroupBox do begin Name:='GridGroupBox'; @@ -2394,7 +2384,8 @@ begin Top:=5; Width:=((Parent.ClientWidth-3*Left) div 2); Height:=170; - Caption:=dlgEnvGrid ; + Caption:=dlgEnvGrid; + OnResize:=@GridGroupBoxResize; end; SetupGridGroupBox; @@ -2408,6 +2399,7 @@ begin Width:=GridGroupBox.Width; Height:=GridGroupBox.Height; Caption:=dlgEnvLGuideLines; + OnResize:=@GuideLinesGroupBoxResize; end; SetupGuideLinesGroupBox; @@ -2421,6 +2413,7 @@ begin Width:=Parent.ClientWidth-2*Left; Height:=100; Caption:=dlgEnvMisc; + OnResize:=@FormEditMiscGroupBoxResize; end; SetupMiscGroupBox; @@ -2434,6 +2427,7 @@ begin Width:=GridGroupBox.Width; Height:=120; Caption:=dlgRubberBandGroup; + OnResize:=@RubberbandGroupBoxResize; end; SetupRubberbandBox; @@ -2443,6 +2437,8 @@ procedure TEnvironmentOptionsDialog.SetupNamingPage(Page: integer); var pe: TPascalExtType; begin + NoteBook.Page[Page].OnResize:=@OnNamingPageResize; + PascalFileExtRadiogroup:=TRadioGroup.Create(Self); with PascalFileExtRadiogroup do begin Name:='PascalFileExtRadiogroup'; @@ -2598,126 +2594,19 @@ begin end; procedure TEnvironmentOptionsDialog.ResizeFormEditorPage; - - procedure SetupGridGroupBox; - begin - with ShowGridCheckBox do begin - SetBounds(6,2,200,Height); - end; - - with GridColorButton do begin - SetBounds(ShowGridCheckBox.Left, - ShowGridCheckBox.Top+ShowGridCheckBox.Height+5, - 50,25); - end; - - with GridColorLabel do begin - SetBounds(GridColorButton.Left+GridColorButton.Width+5, - GridColorButton.Top+2,80,Height); - end; - - with SnapToGridCheckBox do begin - SetBounds(ShowGridCheckBox.Left, - GridColorLabel.Top+GridColorLabel.Height+10, - ShowGridCheckBox.Width, - ShowGridCheckBox.Height); - end; - - with GridSizeXLabel do begin - SetBounds(ShowGridCheckBox.Left, - SnapToGridCheckBox.Top+SnapToGridCheckBox.Height+5,80,Height); - end; - - with GridSizeXComboBox do begin - SetBounds(GridSizeXLabel.Left+GridSizeXLabel.Width+5, - GridSizeXLabel.Top-2,60,Height); - end; - - with GridSizeYLabel do begin - SetBounds(GridSizeXLabel.Left, - GridSizeXLabel.Top+GridSizeXLabel.Height+5, - GridSizeXLabel.Width,Height); - end; - - with GridSizeYComboBox do begin - SetBounds(GridSizeYLabel.Left+GridSizeYLabel.Width+5, - GridSizeYLabel.Top-2, - GridSizeXComboBox.Width,Height); - end; - end; - - procedure SetupGuideLinesGroupBox; - begin - with ShowGuideLinesCheckBox do begin - SetBounds(5,5,Parent.ClientWidth-2*Left,Height); - end; - - with SnapToGuideLinesCheckBox do begin - SetBounds(ShowGuideLinesCheckBox.Left, - ShowGuideLinesCheckBox.Top+ShowGuideLinesCheckBox.Height+5, - ShowGuideLinesCheckBox.Width,Height); - end; - - with GuideLineColorLeftTopButton do begin - SetBounds(SnapToGuideLinesCheckBox.Left, - SnapToGuideLinesCheckBox.Top+SnapToGuideLinesCheckBox.Height+5, - 50,25); - end; - - with GuideLineColorLeftTopLabel do begin - SetBounds(GuideLineColorLeftTopButton.Left+GuideLineColorLeftTopButton.Width+5, - GuideLineColorLeftTopButton.Top+2,150,Height); - end; - - with GuideLineColorRightBottomButton do begin - SetBounds(GuideLineColorLeftTopButton.Left, - GuideLineColorLeftTopButton.Top - +GuideLineColorLeftTopButton.Height+5,50,25); - end; - - with GuideLineColorRightBottomLabel do begin - SetBounds(GuideLineColorLeftTopLabel.Left, - GuideLineColorRightBottomButton.Top+2, - GuideLineColorLeftTopLabel.Width,Height); - end; - end; - - procedure SetupMiscGroupBox; - begin - with ShowComponentCaptionsCheckBox do begin - SetBounds(5,5,Parent.ClientWidth-2*Left,Height); - end; - - with ShowEditorHintsCheckBox do begin - SetBounds(ShowComponentCaptionsCheckBox.Left, - ShowComponentCaptionsCheckBox.Top - +ShowComponentCaptionsCheckBox.Height+5, - ShowComponentCaptionsCheckBox.Width,Height); - end; - - with AutoCreateFormsCheckBox do begin - SetBounds(ShowEditorHintsCheckBox.Left, - ShowEditorHintsCheckBox.Top+ShowEditorHintsCheckBox.Height+5, - ShowEditorHintsCheckBox.Width,Height); - end; - end; - begin // form editor page with GridGroupBox do begin SetBounds(5,5,((Parent.ClientWidth-3*Left) div 2),170); end; - SetupGridGroupBox; with GuideLinesGroupBox do begin SetBounds(GridGroupBox.Left+GridGroupBox.Width+5,GridGroupBox.Top, GridGroupBox.Width,GridGroupBox.Height); end; - SetupGuideLinesGroupBox; with FormEditMiscGroupBox do begin SetBounds(5,GridGroupBox.Top+GridGroupBox.Height+5, Max(Parent.ClientWidth-2*Left,10),100); end; - SetupMiscGroupBox; end; procedure TEnvironmentOptionsDialog.ResizeObjectInspectorPage; @@ -2730,38 +2619,12 @@ begin Height:=55; end; - with OIBackgroundColorButton do begin - Left:=6; - Top:=6; - Width:=50; - Height:=25; - end; - - with OIBackgroundColorLabel do begin - Left:=OIBackgroundColorButton.Left+OIBackgroundColorButton.Width+5; - Top:=OIBackgroundColorButton.Top; - Width:=Max(ObjectInspectorColorsGroupBox.ClientWidth-Left-5,10); - Height:=23; - end; - with OIMiscGroupBox do begin Left:=ObjectInspectorColorsGroupBox.Left; Top:=ObjectInspectorColorsGroupBox.Top+ObjectInspectorColorsGroupBox.Height+5; Width:=200; Height:=55; end; - - with OIDefaultItemHeightSpinEdit do begin - Left:=6; - Top:=4; - Width:=50; - end; - - with OIDefaultItemHeightLabel do begin - Left:=OIDefaultItemHeightSpinEdit.Left+OIDefaultItemHeightSpinEdit.Width+5; - Top:=OIDefaultItemHeightSpinEdit.Top+2; - Width:=OIMiscGroupBox.ClientWidth-Left-5; - end; end; procedure TEnvironmentOptionsDialog.ResizeFilesPage; @@ -2902,6 +2765,94 @@ begin Height:=260; end; + with BackupOtherGroupBox do begin + Left:=BackupProjectGroupBox.Left+BackupProjectGroupBox.Width+10; + Top:=BackupHelpLabel.Top+BackupHelpLabel.Height+4; + Width:=Max(10,(MaxX div 2) - 11); + Height:=260; + end; +end; + +procedure TEnvironmentOptionsDialog.ResizeNamingPage; +begin + with PascalFileExtRadiogroup do begin + Left:=5; + Top:=4; + Width:=200; + Height:=80; + end; + + with PascalFileLowercaseCheckBox do begin + Left:=PascalFileExtRadiogroup.Left; + Top:=PascalFileExtRadiogroup.Top+PascalFileExtRadiogroup.Height+10; + Width:=300; + end; + + with AmbigiousFileActionRadioGroup do begin + Left:=PascalFileLowercaseCheckBox.Left; + Top:=PascalFileLowercaseCheckBox.Top+PascalFileLowercaseCheckBox.Height+15; + Width:=200; + Height:=130; + end; +end; + +procedure TEnvironmentOptionsDialog.EnvironmentOptionsDialogResize( + Sender: TObject); +begin + with NoteBook do begin + SetBounds(0,0,Max(100,Self.ClientWidth),Max(100,Self.ClientHeight-50)); + end; + + with CancelButton do begin + Width:=70; + Height:=23; + Left:=Max(0,Self.ClientWidth-Width-15); + Top:=Max(0,Self.ClientHeight-Height-15); + end; + + with OkButton do begin + Width:=CancelButton.Width; + Height:=CancelButton.Height; + Left:=Max(0,CancelButton.Left-15-Width); + Top:=CancelButton.Top; + end; +end; + +procedure TEnvironmentOptionsDialog.WindowPositionsGroupBoxResize( + Sender: TObject); +begin + with WindowPositionsListBox do begin + SetBounds(2,2,Max(Parent.ClientWidth-2*2,100),Max(100,Parent.Height div 4)); + end; + + with WindowPositionsBox do begin + Left:=2; + Top:=WindowPositionsListBox.Top+WindowPositionsListBox.Height+5; + Width:=WindowPositionsListBox.Width; + Height:=Parent.ClientHeight-Top-2; + end; +end; + +procedure TEnvironmentOptionsDialog.BakTypeRadioGroupClick(Sender: TObject); +var i: integer; +begin + i:=TRadioGroup(Sender).ItemIndex; + if Sender=BakProjTypeRadioGroup then begin + BakProjAddExtComboBox.Enabled:=(i=4); + BakProjAddExtLabel.Enabled:=BakProjAddExtComboBox.Enabled; + BakProjMaxCounterComboBox.Enabled:=(i=3); + BakProjMaxCounterLabel.EnableD:=BakProjMaxCounterComboBox.Enabled; + end else begin + BakOtherAddExtComboBox.Enabled:=(i=4); + BakOtherAddExtLabel.Enabled:=BakOtherAddExtComboBox.Enabled; + BakOtherMaxCounterComboBox.Enabled:=(i=3); + BakOtherMaxCounterLabel.EnableD:=BakOtherMaxCounterComboBox.Enabled; + end; +end; + +procedure TEnvironmentOptionsDialog.BackupProjectGroupBoxResize(Sender: TObject + ); +begin with BakProjTypeRadioGroup do begin Left:=5; Top:=4; @@ -2950,14 +2901,10 @@ begin Width:=100; Height:=25; end; +end; - with BackupOtherGroupBox do begin - Left:=BackupProjectGroupBox.Left+BackupProjectGroupBox.Width+10; - Top:=BackupHelpLabel.Top+BackupHelpLabel.Height+4; - Width:=Max(10,(MaxX div 2) - 11); - Height:=260; - end; - +procedure TEnvironmentOptionsDialog.BackupOtherGroupBoxResize(Sender: TObject); +begin with BakOtherTypeRadioGroup do begin Left:=5; Top:=4; @@ -3008,87 +2955,139 @@ begin end; end; -procedure TEnvironmentOptionsDialog.ResizeNamingPage; +procedure TEnvironmentOptionsDialog.FormEditMiscGroupBoxResize(Sender: TObject); begin - with PascalFileExtRadiogroup do begin - Left:=5; + with ShowComponentCaptionsCheckBox do begin + SetBounds(5,5,Parent.ClientWidth-2*Left,Height); + end; + + with ShowEditorHintsCheckBox do begin + SetBounds(ShowComponentCaptionsCheckBox.Left, + ShowComponentCaptionsCheckBox.Top + +ShowComponentCaptionsCheckBox.Height+5, + ShowComponentCaptionsCheckBox.Width,Height); + end; + + with AutoCreateFormsCheckBox do begin + SetBounds(ShowEditorHintsCheckBox.Left, + ShowEditorHintsCheckBox.Top+ShowEditorHintsCheckBox.Height+5, + ShowEditorHintsCheckBox.Width,Height); + end; +end; + +procedure TEnvironmentOptionsDialog.GridGroupBoxResize(Sender: TObject); +begin + with ShowGridCheckBox do begin + SetBounds(6,2,200,Height); + end; + + with GridColorButton do begin + SetBounds(ShowGridCheckBox.Left, + ShowGridCheckBox.Top+ShowGridCheckBox.Height+5, + 50,25); + end; + + with GridColorLabel do begin + SetBounds(GridColorButton.Left+GridColorButton.Width+5, + GridColorButton.Top+2,80,Height); + end; + + with SnapToGridCheckBox do begin + SetBounds(ShowGridCheckBox.Left, + GridColorLabel.Top+GridColorLabel.Height+10, + ShowGridCheckBox.Width, + ShowGridCheckBox.Height); + end; + + with GridSizeXLabel do begin + SetBounds(ShowGridCheckBox.Left, + SnapToGridCheckBox.Top+SnapToGridCheckBox.Height+5,80,Height); + end; + + with GridSizeXComboBox do begin + SetBounds(GridSizeXLabel.Left+GridSizeXLabel.Width+5, + GridSizeXLabel.Top-2,60,Height); + end; + + with GridSizeYLabel do begin + SetBounds(GridSizeXLabel.Left, + GridSizeXComboBox.Top+GridSizeXComboBox.Height+5, + GridSizeXLabel.Width,Height); + end; + + with GridSizeYComboBox do begin + SetBounds(GridSizeYLabel.Left+GridSizeYLabel.Width+5, + GridSizeYLabel.Top-2, + GridSizeXComboBox.Width,Height); + end; +end; + +procedure TEnvironmentOptionsDialog.GuideLinesGroupBoxResize(Sender: TObject); +begin + with ShowGuideLinesCheckBox do begin + SetBounds(5,5,Parent.ClientWidth-2*Left,Height); + end; + + with SnapToGuideLinesCheckBox do begin + SetBounds(ShowGuideLinesCheckBox.Left, + ShowGuideLinesCheckBox.Top+ShowGuideLinesCheckBox.Height+5, + ShowGuideLinesCheckBox.Width,Height); + end; + + with GuideLineColorLeftTopButton do begin + SetBounds(SnapToGuideLinesCheckBox.Left, + SnapToGuideLinesCheckBox.Top+SnapToGuideLinesCheckBox.Height+5, + 50,25); + end; + + with GuideLineColorLeftTopLabel do begin + SetBounds(GuideLineColorLeftTopButton.Left+GuideLineColorLeftTopButton.Width+5, + GuideLineColorLeftTopButton.Top+2,150,Height); + end; + + with GuideLineColorRightBottomButton do begin + SetBounds(GuideLineColorLeftTopButton.Left, + GuideLineColorLeftTopButton.Top + +GuideLineColorLeftTopButton.Height+5,50,25); + end; + + with GuideLineColorRightBottomLabel do begin + SetBounds(GuideLineColorLeftTopLabel.Left, + GuideLineColorRightBottomButton.Top+2, + GuideLineColorLeftTopLabel.Width,Height); + end; +end; + +procedure TEnvironmentOptionsDialog.OIMiscGroupBoxResize(Sender: TObject); +begin + with OIDefaultItemHeightSpinEdit do begin + Left:=6; Top:=4; - Width:=200; - Height:=80; + Width:=50; end; - with PascalFileLowercaseCheckBox do begin - Left:=PascalFileExtRadiogroup.Left; - Top:=PascalFileExtRadiogroup.Top+PascalFileExtRadiogroup.Height+10; - Width:=300; - end; - - with AmbigiousFileActionRadioGroup do begin - Left:=PascalFileLowercaseCheckBox.Left; - Top:=PascalFileLowercaseCheckBox.Top+PascalFileLowercaseCheckBox.Height+15; - Width:=200; - Height:=130; + with OIDefaultItemHeightLabel do begin + Left:=OIDefaultItemHeightSpinEdit.Left+OIDefaultItemHeightSpinEdit.Width+5; + Top:=OIDefaultItemHeightSpinEdit.Top+2; + Width:=OIMiscGroupBox.ClientWidth-Left-5; end; end; -procedure TEnvironmentOptionsDialog.EnvironmentOptionsDialogResize( +procedure TEnvironmentOptionsDialog.ObjectInspectorColorsGroupBoxResize( Sender: TObject); begin - with NoteBook do begin - SetBounds(0,0,Max(100,Self.ClientWidth),Max(100,Self.ClientHeight-50)); + with OIBackgroundColorButton do begin + Left:=6; + Top:=6; + Width:=50; + Height:=25; end; - ResizeDesktopPage; - ResizeFormEditorPage; - ResizeObjectInspectorPage; - ResizeFilesPage; - ResizeBackupPage; - ResizeNamingPage; - - with CancelButton do begin - Width:=70; + with OIBackgroundColorLabel do begin + Left:=OIBackgroundColorButton.Left+OIBackgroundColorButton.Width+5; + Top:=OIBackgroundColorButton.Top; + Width:=Max(ObjectInspectorColorsGroupBox.ClientWidth-Left-5,10); Height:=23; - Left:=Max(0,Self.ClientWidth-Width-15); - Top:=Max(0,Self.ClientHeight-Height-15); - end; - - with OkButton do begin - Width:=CancelButton.Width; - Height:=CancelButton.Height; - Left:=Max(0,CancelButton.Left-15-Width); - Top:=CancelButton.Top; - end; -end; - -procedure TEnvironmentOptionsDialog.WindowPositionsGroupBoxResize( - Sender: TObject); -begin - with WindowPositionsListBox do begin - SetBounds(2,2,Max(Parent.ClientWidth-2*2,100),Max(100,Parent.Height div 4)); - end; - - with WindowPositionsBox do begin - Left:=2; - Top:=WindowPositionsListBox.Top+WindowPositionsListBox.Height+5; - Width:=WindowPositionsListBox.Width; - Height:=Parent.ClientHeight-Top-2; - end; -end; - -procedure TEnvironmentOptionsDialog.BakTypeRadioGroupClick(Sender: TObject); -var i: integer; -begin - i:=TRadioGroup(Sender).ItemIndex; - if Sender=BakProjTypeRadioGroup then begin - BakProjAddExtComboBox.Enabled:=(i=4); - BakProjAddExtLabel.Enabled:=BakProjAddExtComboBox.Enabled; - BakProjMaxCounterComboBox.Enabled:=(i=3); - BakProjMaxCounterLabel.EnableD:=BakProjMaxCounterComboBox.Enabled; - end else begin - BakOtherAddExtComboBox.Enabled:=(i=4); - BakOtherAddExtLabel.Enabled:=BakOtherAddExtComboBox.Enabled; - BakOtherMaxCounterComboBox.Enabled:=(i=3); - BakOtherMaxCounterLabel.EnableD:=BakOtherMaxCounterComboBox.Enabled; end; end; @@ -3105,6 +3104,42 @@ begin ModalResult:=mrCancel; end; +procedure TEnvironmentOptionsDialog.OnBackupPageResize(Sender: TObject); +begin + ResizeBackupPage; +end; + +procedure TEnvironmentOptionsDialog.OnDesktopPageResize(Sender: TObject); +begin + ResizeDesktopPage; +end; + +procedure TEnvironmentOptionsDialog.OnFilesPageResize(Sender: TObject); +begin + ResizeFilesPage; +end; + +procedure TEnvironmentOptionsDialog.OnFormEditorPageResize(Sender: TObject); +begin + ResizeFormEditorPage; +end; + +procedure TEnvironmentOptionsDialog.OnNamingPageResize(Sender: TObject); +begin + ResizeNamingPage; +end; + +procedure TEnvironmentOptionsDialog.OnObjectInspectorPageResize(Sender: TObject + ); +begin + ResizeObjectInspectorPage; +end; + +procedure TEnvironmentOptionsDialog.RubberbandGroupBoxResize(Sender: TObject); +begin + +end; + procedure TEnvironmentOptionsDialog.SaveDesktopSettingsToFileButtonClick( Sender: TObject); var AnEnvironmentOptions: TEnvironmentOptions; @@ -3455,6 +3490,8 @@ end; procedure TEnvironmentOptionsDialog.SetupObjectInspectorPage(Page: integer); var MaxX: integer; begin + NoteBook.Page[Page].OnResize:=@OnObjectInspectorPageResize; + MaxX:=ClientWidth-5; // object inspector @@ -3467,6 +3504,7 @@ begin Width:=(MaxX div 2) - 15; Height:=55; Caption:=dlgEnvColors; + OnResize:=@ObjectInspectorColorsGroupBoxResize; end; OIBackgroundColorButton:=TColorButton.Create(Self); @@ -3499,6 +3537,7 @@ begin Width:=200; Height:=55; Caption:=dlgOIMiscellaneous; + OnResize:=@OIMiscGroupBoxResize; end; OIDefaultItemHeightSpinEdit:=TSpinEdit.Create(Self); @@ -3508,6 +3547,7 @@ begin Left:=6; Top:=4; Width:=50; + Height:=25; Decimal_Places:=0; MinValue:=0; MaxValue:=100; diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 78956bc191..3163fae97b 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -358,7 +358,7 @@ resourcestring dlgRightBottomClr = 'color for right, bottom'; dlgShowCaps = 'Show component captions'; dlgShowEdrHints = 'Show editor hints'; - dlgAutoForm = 'Auto create forms'; + dlgAutoForm = 'Auto create form when opening unit'; dlgGrabberColor = 'Grabber color'; dlgMarkerColor = 'Marker color'; dlgEnvGrid = 'Grid'; @@ -620,7 +620,7 @@ resourcestring dlgPOTargetFileName = 'Target file name:'; dlgAutoCreateForms = 'Auto-create forms:'; dlgAvailableForms = 'Available forms:'; - dlgAutoCreateNewForms = 'Auto create new forms'; + dlgAutoCreateNewForms = 'When creating new forms, add them to auto-created forms'; dlgSaveEditorInfo = 'Save editor info for closed files'; dlgSaveEditorInfoProject = 'Save editor info only for project files'; dlgRunParameters = 'Run parameters'; @@ -716,6 +716,7 @@ resourcestring fdmDeleteSelection='Delete selection'; fdmSnapToGridOption='Option: Snap to grid'; fdmSnapToGuideLinesOption='Option: Snap to guide lines'; + fdmShowOptions='Show Options for form editing'; //----------------------- // keyMapping diff --git a/ide/project.pp b/ide/project.pp index a04b7bd5fd..af581d5f02 100644 --- a/ide/project.pp +++ b/ide/project.pp @@ -77,7 +77,6 @@ type TUnitInfo = class(TObject) private - { Variables } fAutoRevertLockCount: integer; fBookmarks: TFileBookmarks; fBreakpoints: TProjectBreakPointList; @@ -178,33 +177,33 @@ type public property Bookmarks: TFileBookmarks read FBookmarks write FBookmarks; property Breakpoints: TProjectBreakPointList - read fBreakpoints write fBreakpoints; + read fBreakpoints write fBreakpoints; property CursorPos: TPoint read fCursorPos write fCursorPos; property CustomHighlighter: boolean - read fCustomHighlighter write fCustomHighlighter; + read fCustomHighlighter write fCustomHighlighter; property EditorIndex:integer read fEditorIndex write SetEditorIndex; property Filename: String read GetFilename; property FileReadOnly: Boolean read fFileReadOnly write SetFileReadOnly; property Form: TComponent read fForm write SetForm; property FormName: string read fFormName write fFormName; property FormResourceName: string - read fFormResourceName write fFormResourceName; + read fFormResourceName write fFormResourceName; property HasResources: boolean read GetHasResources write fHasResources; property IsPartOfProject: boolean - read fIsPartOfProject write SetIsPartOfProject; + read fIsPartOfProject write SetIsPartOfProject; property Loaded: Boolean read fLoaded write SetLoaded; property Modified: boolean read fModified write fModified; property OnFileBackup: TOnFileBackup read fOnFileBackup write fOnFileBackup; property OnLoadSaveFilename: TOnLoadSaveFilename - read fOnLoadSaveFilename write fOnLoadSaveFilename; + read fOnLoadSaveFilename write fOnLoadSaveFilename; property OnUnitNameChange: TOnUnitNameChange - read fOnUnitNameChange write fOnUnitNameChange; + read fOnUnitNameChange write fOnUnitNameChange; property Project: TProject read FProject write SetProject; property ResourceFileName: string - read FResourceFilename write FResourceFilename; + read FResourceFilename write FResourceFilename; property Source: TCodeBuffer read fSource write SetSource; property SyntaxHighlighter: TLazSyntaxHighlighter - read fSyntaxHighlighter write fSyntaxHighlighter; + read fSyntaxHighlighter write fSyntaxHighlighter; property TopLine: integer read fTopLine write fTopLine; property UnitName: String read fUnitName write SetUnitName; property UserReadOnly: Boolean read fUserReadOnly write SetUserReadOnly; @@ -231,13 +230,14 @@ type { Variables } fActiveEditorIndexAtStart: integer; + FAutoCreateForms: boolean; fBookmarks: TProjectBookmarkList; fCompilerOptions: TCompilerOptions; fIconPath: String; fJumpHistory: TProjectJumpHistory; fLastReadLPIFilename: string; fLastReadLPIFileDate: TDateTime; - fMainUnit: Integer; // only for ptApplication + fMainUnitID: Integer; // only for ptApplication fModified: boolean; fOnFileBackup: TOnFileBackup; fOutputDirectory: String; @@ -256,7 +256,7 @@ type function GetTargetFilename: string; function GetUnits(Index: integer): TUnitInfo; procedure SetFlags(const AValue: TProjectFlags); - procedure SetMainUnit(const AValue: Integer); + procedure SetMainUnitID(const AValue: Integer); procedure SetUnits(Index:integer; AUnitInfo: TUnitInfo); procedure SetProjectInfoFile(const NewFilename: string); procedure SetTargetFilename(const NewTargetFilename: string); @@ -264,10 +264,10 @@ type function OnUnitFileBackup(const Filename: string; IsPartOfProject:boolean): TModalResult; procedure OnUnitNameChange(AnUnitInfo: TUnitInfo; - const OldUnitName, NewUnitName: string; CheckIfAllowed: boolean; - var Allowed: boolean); + const OldUnitName, NewUnitName: string; + CheckIfAllowed: boolean; var Allowed: boolean); function JumpHistoryCheckPosition( - APosition:TProjectJumpHistoryPosition): boolean; + APosition:TProjectJumpHistoryPosition): boolean; procedure SetSrcPath(const NewSrcPath: string); protected procedure AddToEditorWithIndexList(AnUnitInfo: TUnitInfo); @@ -286,7 +286,7 @@ type function ReadProject(const LPIFilename: string): TModalResult; function WriteProject(ProjectWriteFlags: TProjectWriteFlags; - const OverrideProjectInfoFile: string): TModalResult; + const OverrideProjectInfoFile: string): TModalResult; property Units[Index: integer]:TUnitInfo read GetUnits write SetUnits; function UnitCount:integer; @@ -296,11 +296,11 @@ type procedure RemoveUnit(Index: integer); function IndexOf(AUnitInfo: TUnitInfo): integer; function IndexOfUnitWithName(const AnUnitName: string; - OnlyProjectUnits:boolean; IgnoreUnit: TUnitInfo): integer; + OnlyProjectUnits:boolean; IgnoreUnit: TUnitInfo): integer; function IndexOfUnitWithForm(AForm: TComponent; - OnlyProjectUnits:boolean; IgnoreUnit: TUnitInfo): integer; + OnlyProjectUnits:boolean; IgnoreUnit: TUnitInfo): integer; function IndexOfUnitWithFormName(const AFormName: string; - OnlyProjectUnits:boolean; IgnoreUnit: TUnitInfo): integer; + OnlyProjectUnits:boolean; IgnoreUnit: TUnitInfo): integer; function IndexOfFilename(const AFilename: string): integer; function ProjectUnitWithFilename(const AFilename: string): TUnitInfo; function ProjectUnitWithUnitname(const AnUnitName: string): TUnitInfo; @@ -322,7 +322,7 @@ type // Application.CreateForm statements function AddCreateFormToProjectFile(const AClassName, AName:string):boolean; function RemoveCreateFormFromProjectFile(const AClassName, - AName: string):boolean; + AName: string):boolean; function FormIsCreatedInProjectFile(const AClassname, AName:string):boolean; // uses section @@ -344,11 +344,13 @@ type procedure SetBookmark(AnUnitInfo: TUnitInfo; X,Y,ID: integer); procedure MergeBookmarks(AnUnitInfo: TUnitInfo); public - property ActiveEditorIndexAtStart: integer - read fActiveEditorIndexAtStart write fActiveEditorIndexAtStart; + property ActiveEditorIndexAtStart: integer read fActiveEditorIndexAtStart + write fActiveEditorIndexAtStart; + property AutoCreateForms: boolean + read FAutoCreateForms write FAutoCreateForms; property Bookmarks: TProjectBookmarkList read fBookmarks write fBookmarks; property CompilerOptions: TCompilerOptions - read fCompilerOptions write fCompilerOptions; + read fCompilerOptions write fCompilerOptions; property FirstAutoRevertLockedUnit: TUnitInfo read fFirstAutoRevertLockedUnit; property FirstLoadedUnit: TUnitInfo read fFirstLoadedUnit; property FirstUnitWithEditorIndex: TUnitInfo read fFirstUnitWithEditorIndex; @@ -358,27 +360,26 @@ type property Flags: TProjectFlags read FFlags write SetFlags; property IconPath: String read fIconPath write fIconPath; property JumpHistory: TProjectJumpHistory - read fJumpHistory write fJumpHistory; - property MainUnit: Integer //this is the unit index of the program file - read fMainUnit write SetMainUnit; + read fJumpHistory write fJumpHistory; + property MainUnitID: Integer read fMainUnitID write SetMainUnitID; property MainUnitInfo: TUnitInfo read GetMainUnitInfo; property Modified: boolean read fModified write fModified; property OnFileBackup: TOnFileBackup read fOnFileBackup write fOnFileBackup; property OutputDirectory: String read fOutputDirectory write fOutputDirectory; property MainFilename: String read GetMainFilename; property ProjectInfoFile: string - read GetProjectInfoFile write SetProjectInfoFile; + read GetProjectInfoFile write SetProjectInfoFile; property ProjectType: TProjectType read fProjectType write fProjectType; property PublishOptions: TPublishProjectOptions - read fPublishOptions write fPublishOptions; + read fPublishOptions write fPublishOptions; property RunParameterOptions: TRunParamsOptions read fRunParameterOptions; property SrcPath: string read fSrcPath write fSrcPath; property TargetFileExt: String read fTargetFileExt write fTargetFileExt; property TargetFilename: string - read GetTargetFilename write SetTargetFilename; + read GetTargetFilename write SetTargetFilename; property Title: String read fTitle write fTitle; property UnitOutputDirectory: String - read fUnitOutputDirectory write fUnitOutputDirectory; + read fUnitOutputDirectory write fUnitOutputDirectory; end; const @@ -426,8 +427,10 @@ const function ProjectTypeNameToType(const s:string): TProjectType; function ProjectFlagsToStr(Flags: TProjectFlags): string; + implementation + function ProjectFlagsToStr(Flags: TProjectFlags): string; var f: TProjectFlag; begin @@ -1047,7 +1050,7 @@ begin fJumpHistory:=TProjectJumpHistory.Create; fJumpHistory.OnCheckPosition:=@JumpHistoryCheckPosition; fJumpHistory.OnLoadSaveFilename:=@OnLoadSaveFilename; - fMainUnit := -1; + fMainUnitID := -1; fModified := false; fOutputDirectory := '.'; fProjectInfoFile := ''; @@ -1071,7 +1074,7 @@ begin PrgUnitInfo.SyntaxHighlighter:= ExtensionToLazSyntaxHighlighter(ProjectDefaultExt[fProjectType]); AddUnit(PrgUnitInfo,false); - MainUnit:=0; + MainUnitID:=0; with NewSource do begin Add('program Project1;'); Add(''); @@ -1217,9 +1220,11 @@ begin xmlconfig.SetDeleteValue('ProjectOptions/General/ProjectType/Value', ProjectTypeNames[ProjectType],''); SaveFlags; - xmlconfig.SetDeleteValue('ProjectOptions/General/MainUnit/Value', MainUnit,-1); + xmlconfig.SetDeleteValue('ProjectOptions/General/MainUnit/Value', MainUnitID,-1); xmlconfig.SetDeleteValue('ProjectOptions/General/ActiveEditorIndexAtStart/Value' ,ActiveEditorIndexAtStart,-1); + xmlconfig.SetDeleteValue('ProjectOptions/General/AutoCreateForms/Value' + ,AutoCreateForms,true); xmlconfig.SetDeleteValue('ProjectOptions/General/IconPath/Value', IconPath,''); xmlconfig.SetValue('ProjectOptions/General/TargetFileExt/Value' @@ -1307,9 +1312,11 @@ begin ProjectType := ProjectTypeNameToType(xmlconfig.GetValue( 'ProjectOptions/General/ProjectType/Value', '')); LoadFlags; - MainUnit := xmlconfig.GetValue('ProjectOptions/General/MainUnit/Value', -1); + MainUnitID := xmlconfig.GetValue('ProjectOptions/General/MainUnit/Value', -1); ActiveEditorIndexAtStart := xmlconfig.GetValue( 'ProjectOptions/General/ActiveEditorIndexAtStart/Value', -1); + AutoCreateForms := xmlconfig.GetValue( + 'ProjectOptions/General/AutoCreateForms/Value', true); IconPath := xmlconfig.GetValue('ProjectOptions/General/IconPath/Value', './'); TargetFileExt := xmlconfig.GetValue( 'ProjectOptions/General/TargetFileExt/Value', DefaultTargetFileExt); @@ -1373,10 +1380,10 @@ begin AUnit.OnUnitNameChange:=@OnUnitNameChange; // check if this is the new Main Unit - if MainUnit=NewIndex then + if MainUnitID=NewIndex then MainUnitInfo.IncreaseAutoRevertLock; - if AddToProjectFile and (MainUnit>=0) and (MainUnit<>NewIndex) then begin + if AddToProjectFile and (MainUnitID>=0) and (MainUnitID<>NewIndex) then begin // add unit to uses section ShortUnitName:=AUnit.UnitName; if (ShortUnitName<>'') and (not UnitIsUsed(ShortUnitName)) then @@ -1396,20 +1403,20 @@ begin if (Index<0) or (Index>=UnitCount) then begin raise Exception.Create('ERROR: TProject.RemoveUnit index out of bounds'); end; - if (Index=MainUnit) then begin + if (Index=MainUnitID) then begin raise Exception.Create('ERROR: TProject.RemoveUnit index = MainUnit'); end; OldUnitInfo:=Units[Index]; Modified:=true; - if (MainUnit>=0) then begin + if (MainUnitID>=0) then begin // remove unit from uses section and from createforms in program file if (OldUnitInfo.IsPartOfProject) then begin if (OldUnitInfo.UnitName<>'') then - CodeToolBoss.RemoveUnitFromAllUsesSections(Units[MainUnit].Source, + CodeToolBoss.RemoveUnitFromAllUsesSections(Units[MainUnitID].Source, OldUnitInfo.UnitName); if (OldUnitInfo.FormName<>'') then - CodeToolBoss.RemoveCreateFormStatement(Units[MainUnit].Source, + CodeToolBoss.RemoveCreateFormStatement(Units[MainUnitID].Source, OldUnitInfo.FormName); end; end; @@ -1419,7 +1426,7 @@ begin Bookmarks.DeleteAllWithEditorIndex(OldUnitInfo.EditorIndex); // adjust MainUnit - if MainUnit>=Index then dec(fMainUnit); + if MainUnitID>=Index then dec(fMainUnitID); // delete unitinfo instance OldUnitInfo.Free; @@ -1445,7 +1452,7 @@ begin fCompilerOptions.Clear; fIconPath := ''; fJumpHistory.Clear; - fMainUnit := -1; + fMainUnitID := -1; fModified := false; fOutputDirectory := '.'; fProjectInfoFile := ''; @@ -1466,14 +1473,14 @@ begin FFlags:=AValue; end; -procedure TProject.SetMainUnit(const AValue: Integer); +procedure TProject.SetMainUnitID(const AValue: Integer); begin - if fMainUnit=AValue then exit; - if (fMainUnit>=0) and (fMainUnit=0) and (fMainUnitID=0) and (fMainUnit=0) and (fMainUnitID=0) and Units[MainUnit].IsVirtual; + Result:=(MainUnitID>=0) and MainUnitInfo.IsVirtual; end; function TProject.IndexOf(AUnitInfo: TUnitInfo):integer; @@ -1861,14 +1868,14 @@ end; function TProject.GetMainFilename: String; begin - if MainUnit>=0 then Result:=Units[MainUnit].Filename + if MainUnitID>=0 then Result:=MainUnitInfo.Filename else Result:=''; end; function TProject.GetMainUnitInfo: TUnitInfo; begin - if (MainUnit>=0) and (MainUnit=0) and (MainUnitID'') and (ProjectType in [ptProgram, ptApplication]) then begin // rename unit in program uses section - CodeToolBoss.RenameUsedUnit(Units[MainUnit].Source + CodeToolBoss.RenameUsedUnit(MainUnitInfo.Source ,OldUnitName,NewUnitName,''); end; end; @@ -2245,6 +2252,9 @@ end. { $Log$ + Revision 1.98 2003/03/11 09:57:51 mattias + implemented ProjectOpt: AutoCreateNewForms, added designer Show Options + Revision 1.97 2003/03/08 21:51:57 mattias make resource string dialog nearly complete diff --git a/ide/projectopts.pp b/ide/projectopts.pp index 4162629d78..6df2d54682 100644 --- a/ide/projectopts.pp +++ b/ide/projectopts.pp @@ -335,10 +335,9 @@ begin Parent:=NoteBook.Page[1]; Left:=FormsAutoCreatedListBox.Left+5; Top:=FormsAutoCreatedListBox.Top+FormsAutoCreatedListBox.Height+5; - Width:=200; + Width:=300; Height:=25; - Caption:=dlgAutoCreateNewForms ; - Enabled:= false; + Caption:=dlgAutoCreateNewForms; end; end; @@ -425,7 +424,7 @@ begin with FormsAutoCreateNewFormsCheckBox do begin Left:=FormsMoveAutoCreatedFormUpBtn.Left; Top:=FormsAutoCreatedListBox.Top+FormsAutoCreatedListBox.Height+5; - Width:=200; + Width:=300; Height:=25; end; end; @@ -445,6 +444,7 @@ begin SaveClosedUnitInfoCheckBox.Checked:=(pfSaveClosedUnits in AProject.Flags); SaveOnlyProjectUnitInfoCheckBox.Checked:= (pfSaveOnlyProjectUnits in AProject.Flags); + FormsAutoCreateNewFormsCheckBox.Checked:=Project.AutoCreateForms; end; procedure TProjectOptionsDialog.ProjectOptionsClose(Sender: TObject; var Action: TCloseAction); @@ -469,6 +469,8 @@ begin Exclude(NewFlags,pfSaveOnlyProjectUnits); Project.Flags:=NewFlags; + Project.AutoCreateForms:=FormsAutoCreateNewFormsCheckBox.Checked; + SetAutoCreateForms; end; @@ -478,7 +480,7 @@ end; function TProjectOptionsDialog.GetAutoCreatedFormsList: TStrings; var i, j: integer; begin - if (FProject<>nil) and (FProject.MainUnit>=0) then begin + if (FProject<>nil) and (FProject.MainUnitID>=0) then begin Result:=CodeToolBoss.ListAllCreateFormStatements( FProject.MainUnitInfo.Source); if Result<>nil then begin @@ -675,7 +677,7 @@ procedure TProjectOptionsDialog.SetAutoCreateForms; var i: integer; OldList: TStrings; begin - if (Project.MainUnit < 0) or (Project.ProjectType in [ptCustomProgram]) then + if (Project.MainUnitID < 0) or (Project.ProjectType in [ptCustomProgram]) then exit; OldList:= GetAutoCreatedFormsList; if (OldList = nil) then exit; @@ -691,7 +693,7 @@ begin end; if not CodeToolBoss.SetAllCreateFromStatements( - Project.Units[Project.MainUnit].Source, FormsAutoCreatedListBox.Items) then + Project.MainUnitInfo.Source, FormsAutoCreatedListBox.Items) then begin MessageDlg('Error', 'Unable to change the auto create form list in the program source.' + LineEnding + diff --git a/languages/lazaruside.de.po b/languages/lazaruside.de.po index aef24b59ec..a9394ada8d 100644 --- a/languages/lazaruside.de.po +++ b/languages/lazaruside.de.po @@ -199,11 +199,7 @@ msgid "Ask" msgstr "" #: lazarusidestrconsts:dlgautoform -msgid "Auto create forms" -msgstr "" - -#: lazarusidestrconsts:dlgautocreatenewforms -msgid "Auto create new forms" +msgid "Auto create form when opening unit" msgstr "" #: lazarusidestrconsts:dlgautodel @@ -2406,6 +2402,10 @@ msgstr "" msgid "Show Options" msgstr "" +#: lazarusidestrconsts:fdmshowoptions +msgid "Show Options for form editing" +msgstr "" + #: lazarusidestrconsts:dlgshowscrollhint msgid "Show Scroll Hint" msgstr "" @@ -2930,6 +2930,10 @@ msgstr "" msgid "Watches" msgstr "Watches" +#: lazarusidestrconsts:dlgautocreatenewforms +msgid "When creating new forms, add them to auto-created forms" +msgstr "" + #: lazarusidestrconsts:dlgwholewordsonly msgid "Whole Words Only" msgstr "" diff --git a/languages/lazaruside.es.po b/languages/lazaruside.es.po index 0680cb07e3..0b7d7c3f8f 100644 --- a/languages/lazaruside.es.po +++ b/languages/lazaruside.es.po @@ -199,12 +199,8 @@ msgid "Ask" msgstr "Preguntar" #: lazarusidestrconsts:dlgautoform -msgid "Auto create forms" -msgstr "Crear formas automáticamente" - -#: lazarusidestrconsts:dlgautocreatenewforms -msgid "Auto create new forms" -msgstr "Automáticamente crear nuevas formas" +msgid "Auto create form when opening unit" +msgstr "" #: lazarusidestrconsts:dlgautodel msgid "Auto delete file" @@ -2406,6 +2402,10 @@ msgstr "Mostrar nada (s msgid "Show Options" msgstr "Mostrar Opciones" +#: lazarusidestrconsts:fdmshowoptions +msgid "Show Options for form editing" +msgstr "" + #: lazarusidestrconsts:dlgshowscrollhint msgid "Show Scroll Hint" msgstr "Mostrar desplazar sugerencia" @@ -2930,6 +2930,10 @@ msgstr "Advertir sobre compilar" msgid "Watches" msgstr "Vigilantes" +#: lazarusidestrconsts:dlgautocreatenewforms +msgid "When creating new forms, add them to auto-created forms" +msgstr "" + #: lazarusidestrconsts:dlgwholewordsonly msgid "Whole Words Only" msgstr "Sólo palabras completas" diff --git a/languages/lazaruside.fr.po b/languages/lazaruside.fr.po index 3129c365b2..d9cda86d7a 100644 --- a/languages/lazaruside.fr.po +++ b/languages/lazaruside.fr.po @@ -208,12 +208,8 @@ msgid "Ask" msgstr "Demander" #: lazarusidestrconsts:dlgautoform -msgid "Auto create forms" -msgstr "Création auto des fiches" - -#: lazarusidestrconsts:dlgautocreatenewforms -msgid "Auto create new forms" -msgstr "Auto créer les nouvelles fiches" +msgid "Auto create form when opening unit" +msgstr "" #: lazarusidestrconsts:dlgautodel msgid "Auto delete file" @@ -2415,6 +2411,10 @@ msgstr "Affiche rien (sauf les erreurs)" msgid "Show Options" msgstr "Voir les options" +#: lazarusidestrconsts:fdmshowoptions +msgid "Show Options for form editing" +msgstr "" + #: lazarusidestrconsts:dlgshowscrollhint msgid "Show Scroll Hint" msgstr "Afficher les scroll de conseils" @@ -2939,6 +2939,10 @@ msgstr "Erreur de compilation" msgid "Watches" msgstr "Points de suivi" +#: lazarusidestrconsts:dlgautocreatenewforms +msgid "When creating new forms, add them to auto-created forms" +msgstr "" + #: lazarusidestrconsts:dlgwholewordsonly msgid "Whole Words Only" msgstr "Mots entiers seulement" diff --git a/languages/lazaruside.po b/languages/lazaruside.po index 021a00da71..5f1850b647 100644 --- a/languages/lazaruside.po +++ b/languages/lazaruside.po @@ -919,7 +919,7 @@ msgid "Show editor hints" msgstr "" #: lazarusidestrconsts:dlgautoform -msgid "Auto create forms" +msgid "Auto create form when opening unit" msgstr "" #: lazarusidestrconsts:dlggrabbercolor @@ -1907,7 +1907,7 @@ msgid "Available forms:" msgstr "" #: lazarusidestrconsts:dlgautocreatenewforms -msgid "Auto create new forms" +msgid "When creating new forms, add them to auto-created forms" msgstr "" #: lazarusidestrconsts:dlgsaveeditorinfo @@ -2254,6 +2254,10 @@ msgstr "" msgid "Option: Snap to guide lines" msgstr "" +#: lazarusidestrconsts:fdmshowoptions +msgid "Show Options for form editing" +msgstr "" + #: lazarusidestrconsts:srkmeditkeys msgid "Edit Keys" msgstr "" diff --git a/languages/lazaruside.ru.po b/languages/lazaruside.ru.po index 7ba788b5c8..cdb4520a38 100644 --- a/languages/lazaruside.ru.po +++ b/languages/lazaruside.ru.po @@ -199,12 +199,8 @@ msgid "Ask" msgstr "óÐÒÏÓÉÔØ" #: lazarusidestrconsts:dlgautoform -msgid "Auto create forms" -msgstr "á×ÔÏÓÏÚÄÁÎÉÅ ÆÏÒÍ" - -#: lazarusidestrconsts:dlgautocreatenewforms -msgid "Auto create new forms" -msgstr "óÏÚÄÁ×ÁÔØ Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÏ×ÙÅ ÆÏÒÍÙ" +msgid "Auto create form when opening unit" +msgstr "" #: lazarusidestrconsts:dlgautodel msgid "Auto delete file" @@ -2406,6 +2402,10 @@ msgstr " msgid "Show Options" msgstr "ðÏËÁÚÁÔØ ÏÐÃÉÉ" +#: lazarusidestrconsts:fdmshowoptions +msgid "Show Options for form editing" +msgstr "" + #: lazarusidestrconsts:dlgshowscrollhint msgid "Show Scroll Hint" msgstr "ðÏËÁÚÁÔØ ÐÏÄÓËÁÚËÉ ÐÒÏËÒÕÔËÉ" @@ -2930,6 +2930,10 @@ msgstr " msgid "Watches" msgstr "ïËÎÏ ÎÁÂÌÀÄÅÎÉÊ" +#: lazarusidestrconsts:dlgautocreatenewforms +msgid "When creating new forms, add them to auto-created forms" +msgstr "" + #: lazarusidestrconsts:dlgwholewordsonly msgid "Whole Words Only" msgstr "ôÏÌØËÏ ÃÅÌÙÅ ÓÌÏ×Á"