From f7bdaec84cf029827b2cc4f01a387008b8080e3d Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 10 Jan 2006 15:18:37 +0000 Subject: [PATCH] Add Breakpoint Shortcut now toggles git-svn-id: trunk@8489 - --- ide/main.pp | 2 +- ide/newdialog.lfm | 25 +++++++++++------------ ide/newdialog.lrs | 51 +++++++++++++++++++++++------------------------ ide/newdialog.pas | 10 ---------- ide/uniteditor.pp | 19 ++++++++++++++++++ 5 files changed, 57 insertions(+), 50 deletions(-) diff --git a/ide/main.pp b/ide/main.pp index 97062ec951..807e2088cf 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -2433,7 +2433,7 @@ begin MainIDEBar.itmHelpAboutLazarus.OnClick(Self); ecAddBreakPoint: - SourceNotebook.AddBreakpointClicked(Self); + SourceNotebook.ToggleBreakpointClicked(Self); ecRemoveBreakPoint: SourceNotebook.DeleteBreakpointClicked(Self); diff --git a/ide/newdialog.lfm b/ide/newdialog.lfm index 1f7c84cd79..9c1d677ece 100644 --- a/ide/newdialog.lfm +++ b/ide/newdialog.lfm @@ -4,8 +4,7 @@ object NewOtherDialog: TNewOtherDialog Caption = 'NewOtherDialog' ClientHeight = 300 ClientWidth = 400 - OnResize = FormResize - PixelsPerInch = 112 + PixelsPerInch = 96 Position = poScreenCenter HorzScrollBar.Page = 399 VertScrollBar.Page = 299 @@ -16,7 +15,7 @@ object NewOtherDialog: TNewOtherDialog object ItemsTreeView: TTreeView Anchors = [akTop, akLeft, akBottom] BorderSpacing.Around = 6 - DefaultItemHeight = 14 + DefaultItemHeight = 15 TabOrder = 0 OnClick = ItemsTreeViewClick OnDblClick = OkButtonClick @@ -30,7 +29,7 @@ object NewOtherDialog: TNewOtherDialog Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 6 Caption = 'DescriptionGroupBox' - ClientHeight = 233 + ClientHeight = 232 ClientWidth = 200 TabOrder = 1 AnchorSideLeft.Control = ItemsTreeView @@ -49,7 +48,7 @@ object NewOtherDialog: TNewOtherDialog ParentColor = False WordWrap = True Left = 6 - Height = 221 + Height = 220 Top = 6 Width = 188 end @@ -62,10 +61,10 @@ object NewOtherDialog: TNewOtherDialog Caption = 'CancelButton' ModalResult = 2 TabOrder = 2 - Left = 309 - Height = 26 - Top = 268 - Width = 85 + Left = 306 + Height = 29 + Top = 265 + Width = 88 end object OkButton: TButton Anchors = [akRight, akBottom] @@ -77,9 +76,9 @@ object NewOtherDialog: TNewOtherDialog OnClick = OkButtonClick TabOrder = 3 AnchorSideRight.Control = CancelButton - Left = 242 - Height = 26 - Top = 268 - Width = 61 + Left = 231 + Height = 29 + Top = 265 + Width = 69 end end diff --git a/ide/newdialog.lrs b/ide/newdialog.lrs index 9849290456..9ae8e7b253 100644 --- a/ide/newdialog.lrs +++ b/ide/newdialog.lrs @@ -3,30 +3,29 @@ LazarusResources.Add('TNewOtherDialog','FORMDATA',[ 'TPF0'#15'TNewOtherDialog'#14'NewOtherDialog'#13'ActiveControl'#7#13'ItemsTre' +'eView'#11'BorderStyle'#7#13'bsSizeToolWin'#7'Caption'#6#14'NewOtherDialog' - +#12'ClientHeight'#3','#1#11'ClientWidth'#3#144#1#8'OnResize'#7#10'FormResize' - +#13'PixelsPerInch'#2'p'#8'Position'#7#14'poScreenCenter'#18'HorzScrollBar.Pa' - +'ge'#3#143#1#18'VertScrollBar.Page'#3'+'#1#4'Left'#3#225#1#6'Height'#3','#1#3 - +'Top'#3'j'#1#5'Width'#3#144#1#0#9'TTreeView'#13'ItemsTreeView'#7'Anchors'#11 - +#5'akTop'#6'akLeft'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#17'DefaultIte' - +'mHeight'#2#14#8'TabOrder'#2#0#7'OnClick'#7#18'ItemsTreeViewClick'#10'OnDblC' - +'lick'#7#13'OkButtonClick'#18'OnSelectionChanged'#7#29'ItemsTreeViewSelectio' - +'nChanged'#4'Left'#2#6#6'Height'#3#250#0#3'Top'#2#6#5'Width'#3#178#0#0#0#9'T' - +'GroupBox'#19'DescriptionGroupBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRigh' - +'t'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'DescriptionGr' - +'oupBox'#12'ClientHeight'#3#233#0#11'ClientWidth'#3#200#0#8'TabOrder'#2#1#22 - +'AnchorSideLeft.Control'#7#13'ItemsTreeView'#19'AnchorSideLeft.Side'#7#9'asr' - +'Bottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9 - +'asrBottom'#4'Left'#3#190#0#6'Height'#3#250#0#3'Top'#2#6#5'Width'#3#204#0#0#6 - +'TLabel'#16'DescriptionLabel'#5'Align'#7#8'alClient'#20'BorderSpacing.Around' - +#2#6#7'Caption'#6#16'DescriptionLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8 - +#8'WordWrap'#9#4'Left'#2#6#6'Height'#3#221#0#3'Top'#2#6#5'Width'#3#188#0#0#0 - +#0#7'TButton'#12'CancelButton'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'Auto' - +'Size'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Ca' - +'ption'#6#12'CancelButton'#11'ModalResult'#2#2#8'TabOrder'#2#2#4'Left'#3'5'#1 - +#6'Height'#2#26#3'Top'#3#12#1#5'Width'#2'U'#0#0#7'TButton'#8'OkButton'#7'Anc' - +'hors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6 - +#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#8'OkButton'#7'Enabled'#8#7'O' - +'nClick'#7#13'OkButtonClick'#8'TabOrder'#2#3#23'AnchorSideRight.Control'#7#12 - +'CancelButton'#4'Left'#3#242#0#6'Height'#2#26#3'Top'#3#12#1#5'Width'#2'='#0#0 - +#0 + +#12'ClientHeight'#3','#1#11'ClientWidth'#3#144#1#13'PixelsPerInch'#2'`'#8'Po' + +'sition'#7#14'poScreenCenter'#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBa' + +'r.Page'#3'+'#1#4'Left'#3#225#1#6'Height'#3','#1#3'Top'#3'j'#1#5'Width'#3#144 + +#1#0#9'TTreeView'#13'ItemsTreeView'#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBot' + +'tom'#0#20'BorderSpacing.Around'#2#6#17'DefaultItemHeight'#2#15#8'TabOrder'#2 + +#0#7'OnClick'#7#18'ItemsTreeViewClick'#10'OnDblClick'#7#13'OkButtonClick'#18 + +'OnSelectionChanged'#7#29'ItemsTreeViewSelectionChanged'#4'Left'#2#6#6'Heigh' + +'t'#3#250#0#3'Top'#2#6#5'Width'#3#178#0#0#0#9'TGroupBox'#19'DescriptionGroup' + +'Box'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpa' + +'cing.Around'#2#6#7'Caption'#6#19'DescriptionGroupBox'#12'ClientHeight'#3#232 + +#0#11'ClientWidth'#3#200#0#8'TabOrder'#2#1#22'AnchorSideLeft.Control'#7#13'I' + +'temsTreeView'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'AnchorSideRight.Con' + +'trol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#190#0#6 + +'Height'#3#250#0#3'Top'#2#6#5'Width'#3#204#0#0#6'TLabel'#16'DescriptionLabel' + +#5'Align'#7#8'alClient'#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'Descrip' + +'tionLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#8'WordWrap'#9#4'Left'#2#6 + +#6'Height'#3#220#0#3'Top'#2#6#5'Width'#3#188#0#0#0#0#7'TButton'#12'CancelBut' + +'ton'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.' + +'Around'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#12'CancelButton' + +#11'ModalResult'#2#2#8'TabOrder'#2#2#4'Left'#3'2'#1#6'Height'#2#29#3'Top'#3#9 + +#1#5'Width'#2'X'#0#0#7'TButton'#8'OkButton'#7'Anchors'#11#7'akRight'#8'akBot' + +'tom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#25'BorderSpacing.InnerBor' + +'der'#2#2#7'Caption'#6#8'OkButton'#7'Enabled'#8#7'OnClick'#7#13'OkButtonClic' + +'k'#8'TabOrder'#2#3#23'AnchorSideRight.Control'#7#12'CancelButton'#4'Left'#3 + +#231#0#6'Height'#2#29#3'Top'#3#9#1#5'Width'#2'E'#0#0#0 ]); diff --git a/ide/newdialog.pas b/ide/newdialog.pas index 3a413d060e..83f75c7594 100644 --- a/ide/newdialog.pas +++ b/ide/newdialog.pas @@ -145,7 +145,6 @@ type OkButton: TButton; CancelButton: TButton; ItemsTreeView: TTreeView; - procedure FormResize(Sender: TObject); procedure ItemsTreeViewClick(Sender: TObject); procedure ItemsTreeViewSelectionChanged(Sender: TObject); procedure OkButtonClick(Sender: TObject); @@ -242,14 +241,6 @@ begin DescriptionLabel.Caption := Desc; end; -procedure TNewOtherDialog.FormResize(Sender: TObject); -begin - ItemsTreeView.Height := OkButton.Top - 12; - ItemsTreeView.Width := (Width - 18) div 2; - DescriptionGroupBox.Height := OkButton.Top - 12; - DescriptionGroupBox.Width := ItemsTreeView.Width; -end; - procedure TNewOtherDialog.ItemsTreeViewSelectionChanged(Sender: TObject); begin OkButton.Enabled := (ItemsTreeView.Selected <> nil) and @@ -274,7 +265,6 @@ begin SetupComponents; FillItemsTree; IDEDialogLayoutList.ApplyLayout(Self, 400, 300); - OnResize(nil); end; destructor TNewOtherDialog.Destroy; diff --git a/ide/uniteditor.pp b/ide/uniteditor.pp index dab753c1bb..b4f66bb25d 100644 --- a/ide/uniteditor.pp +++ b/ide/uniteditor.pp @@ -380,6 +380,7 @@ type SrcPopUpMenu: TPopupMenu; StatusBar: TStatusBar; procedure AddBreakpointClicked(Sender: TObject); + procedure ToggleBreakpointClicked(Sender: TObject); procedure CompleteCodeMenuItemClick(Sender: TObject); procedure DeleteBreakpointClicked(Sender: TObject); procedure EncloseSelectionMenuItemClick(Sender: TObject); @@ -4455,6 +4456,24 @@ begin ASrcEdit.EditorComponent.CaretY,true); end; +procedure TSourceNotebook.ToggleBreakpointClicked(Sender: TObject); +var + ASrcEdit: TSourceEditor; + Line: LongInt; + BreakPtMark: TSourceMark; +begin + ASrcEdit:=GetActiveSE; + if ASrcEdit=nil then exit; + // create or delete breakpoint + // find breakpoint mark at line + Line:=ASrcEdit.EditorComponent.CaretY; + BreakPtMark := SourceEditorMarks.FindBreakPointMark(ASrcEdit.FEditor,Line); + if BreakPtMark = nil then + DebugBoss.DoCreateBreakPoint(ASrcEdit.Filename,Line,true) + else + DebugBoss.DoDeleteBreakPointAtMark(BreakPtMark); +end; + procedure TSourceNotebook.CompleteCodeMenuItemClick(Sender: TObject); begin MainIDEInterface.DoCommand(ecCompleteCode);