diff --git a/debugger/debuggerstrconst.pp b/debugger/debuggerstrconst.pp index 6fdf331b7d..2e73f19564 100644 --- a/debugger/debuggerstrconst.pp +++ b/debugger/debuggerstrconst.pp @@ -78,9 +78,6 @@ resourcestring drsLen = 'Len=%d: '; synfNewValueIsEmpty = '"New value" is empty.'; synfTheDebuggerWasNotAbleToModifyTheValue = 'The debugger was not able to modify the value.'; - dlgInspectIndexOfFirstItemToShow = 'Index of first item to show'; - dlgInspectAmountOfItemsToShow = 'Amount of items to show'; - implementation diff --git a/debugger/inspectdlg.lfm b/debugger/inspectdlg.lfm index 070dd18343..04c9e9aa43 100644 --- a/debugger/inspectdlg.lfm +++ b/debugger/inspectdlg.lfm @@ -193,114 +193,39 @@ object IDEInspectDlg: TIDEInspectDlg Caption = 'tbDiv5' Style = tbsDivider end - object pnlArrayNav: TPanel + inline ArrayNavigationBar1: TArrayNavigationBar Left = 285 Height = 23 Top = 2 Width = 242 - AutoSize = True - BevelOuter = bvNone ClientHeight = 23 ClientWidth = 242 - TabOrder = 0 - Visible = False - object btnArrayFastUp: TSpeedButton - Left = 23 + inherited btnArrayFastUp: TSpeedButton Height = 23 - Top = 0 - Width = 23 - Align = alLeft - Caption = '<<' - Flat = True - OnClick = BtnArrayNavClicked end - object btnArrayFastDown: TSpeedButton - Left = 106 + inherited btnArrayFastDown: TSpeedButton Height = 23 - Top = 0 - Width = 23 - Align = alLeft - Caption = '>>' - Flat = True - OnClick = BtnArrayNavClicked end - object edArrayStart: TSpinEditEx - Left = 46 + inherited edArrayStart: TSpinEditEx Height = 23 - Top = 0 - Width = 60 - Align = alLeft - MaxLength = 0 - TabOrder = 0 - OnEditingDone = edArrayStartEditingDone - Increment = 10 - NullValue = 0 - UpDownVisible = False - Value = 0 end - object btnArrayStart: TSpeedButton - Left = 0 + inherited btnArrayStart: TSpeedButton Height = 23 - Top = 0 - Width = 23 - Align = alLeft - Caption = '|<' - Flat = True - OnClick = BtnArrayNavClicked end - object btnArrayEnd: TSpeedButton - Left = 129 + inherited btnArrayEnd: TSpeedButton Height = 23 - Top = 0 - Width = 23 - Align = alLeft - Caption = '>|' - Flat = True - OnClick = BtnArrayNavClicked end - object Label1: TLabel - Left = 152 + inherited Label1: TLabel Height = 23 - Top = 0 - Width = 4 - Align = alLeft - AutoSize = False end - object btnArrayPageDec: TSpeedButton - Left = 156 + inherited btnArrayPageDec: TSpeedButton Height = 23 - Top = 0 - Width = 23 - Align = alLeft - Caption = '-' - Flat = True - OnClick = BtnArrayPageClicked end - object edArrayPageSize: TSpinEditEx - Left = 179 + inherited edArrayPageSize: TSpinEditEx Height = 23 - Top = 0 - Width = 40 - Align = alLeft - MaxLength = 0 - TabOrder = 1 - OnEditingDone = edArrayPageSizeEditingDone - Increment = 10 - MaxValue = 5000 - MinValue = 10 - NullValue = 0 - UpDownVisible = False - Value = 200 end - object btnArrayPageInc: TSpeedButton - Left = 219 + inherited btnArrayPageInc: TSpeedButton Height = 23 - Top = 0 - Width = 23 - Align = alLeft - Caption = '+' - Flat = True - OnClick = BtnArrayPageClicked end end end diff --git a/debugger/inspectdlg.pas b/debugger/inspectdlg.pas index 5c7075fce7..8cd3f5fe5e 100644 --- a/debugger/inspectdlg.pas +++ b/debugger/inspectdlg.pas @@ -40,7 +40,8 @@ uses // IDE LazarusIDEStrConsts, BaseDebugManager, InputHistory, IDEProcs, Debugger, IdeDebuggerWatchResPrinter, IdeDebuggerWatchResult, IdeDebuggerWatchResUtils, - IdeDebuggerBase, DebuggerDlg, DebuggerStrConst, EnvironmentOpts; + IdeDebuggerBase, ArrayNavigationFrame, DebuggerDlg, DebuggerStrConst, + EnvironmentOpts; type @@ -52,19 +53,10 @@ type { TIDEInspectDlg } TIDEInspectDlg = class(TDebuggerDlg) - btnArrayPageInc: TSpeedButton; - btnArrayEnd: TSpeedButton; - btnArrayStart: TSpeedButton; - btnArrayPageDec: TSpeedButton; - edArrayPageSize: TSpinEditEx; + ArrayNavigationBar1: TArrayNavigationBar; EdInspect: TComboBox; ErrorLabel: TLabel; - Label1: TLabel; PageControl: TPageControl; - pnlArrayNav: TPanel; - btnArrayFastUp: TSpeedButton; - btnArrayFastDown: TSpeedButton; - edArrayStart: TSpinEditEx; StatusBar1: TStatusBar; DataPage: TTabSheet; PropertiesPage: TTabSheet; @@ -86,15 +78,11 @@ type tbDiv4: TToolButton; tbDiv2: TToolButton; procedure BtnAddWatchClick(Sender: TObject); - procedure BtnArrayNavClicked(Sender: TObject); - procedure BtnArrayPageClicked(Sender: TObject); procedure btnBackwardClick(Sender: TObject); procedure btnColClassClick(Sender: TObject); procedure btnForwardClick(Sender: TObject); procedure btnPowerClick(Sender: TObject); procedure btnUseInstanceClick(Sender: TObject); - procedure edArrayPageSizeEditingDone(Sender: TObject); - procedure edArrayStartEditingDone(Sender: TObject); procedure EdInspectEditingDone(Sender: TObject); procedure EdInspectKeyDown(Sender: TObject; var Key: Word; {%H-}Shift: TShiftState); procedure FormActivate(Sender: TObject); @@ -126,6 +114,7 @@ type FHistoryIndex: Integer; FPowerImgIdx, FPowerImgIdxGrey: Integer; + procedure ArrayNavChanged(Sender: TArrayNavigationBar; AValue: Int64); procedure DoDebuggerState(ADebugger: TDebuggerIntf; AnOldState: TDBGState); procedure DoWatchesInvalidated(Sender: TObject); procedure DoWatchUpdated(const ASender: TIdeWatches; const AWatch: TIdeWatch); @@ -226,16 +215,6 @@ begin UpdateData; end; -procedure TIDEInspectDlg.edArrayPageSizeEditingDone(Sender: TObject); -begin - InspectResDataArray; -end; - -procedure TIDEInspectDlg.edArrayStartEditingDone(Sender: TObject); -begin - InspectResDataArray; -end; - procedure TIDEInspectDlg.ContextChanged(Sender: TObject); begin FExpressionWasEvaluated := False; @@ -368,12 +347,14 @@ begin LowBnd := Res.LowBound; if FUpdatedData then begin - edArrayStart.Value := LowBnd; + ArrayNavigationBar1.LowBound := LowBnd; + ArrayNavigationBar1.HighBound := LowBnd + Res.ArrayLength - 1; + ArrayNavigationBar1.Index := LowBnd; FUpdatedData := False; end; - CurIndexOffs := edArrayStart.Value - LowBnd; - CurPageCount := edArrayPageSize.Value; + CurIndexOffs := ArrayNavigationBar1.Index - LowBnd; + CurPageCount := ArrayNavigationBar1.PageSize; if (CurIndexOffs >= 0) and (CurIndexOffs < res.ArrayLength) then CurPageCount := Max(1, Min(CurPageCount, res.ArrayLength - CurIndexOffs)); @@ -693,47 +674,6 @@ begin end; -procedure TIDEInspectDlg.BtnArrayNavClicked(Sender: TObject); -begin - if (FCurrentWatchValue = nil) or (FCurrentWatchValue.ResultData=nil) then - exit; - if Sender = btnArrayStart then - edArrayStart.Value := FCurrentWatchValue.ResultData.LowBound - else - if Sender = btnArrayFastUp then - edArrayStart.Value := max(edArrayStart.Value - edArrayPageSize.Value, - FCurrentWatchValue.ResultData.LowBound) - else - if Sender = btnArrayFastDown then - edArrayStart.Value := min(edArrayStart.Value + edArrayPageSize.Value, - Max(FCurrentWatchValue.ResultData.LowBound, - FCurrentWatchValue.ResultData.LowBound - + FCurrentWatchValue.ResultData.ArrayLength - - edArrayPageSize.Value) - ) - else - if Sender = btnArrayEnd then - edArrayStart.Value := Max(FCurrentWatchValue.ResultData.LowBound, - FCurrentWatchValue.ResultData.LowBound - + FCurrentWatchValue.ResultData.ArrayLength - - edArrayPageSize.Value) - ; - InspectResDataArray; -end; - -procedure TIDEInspectDlg.BtnArrayPageClicked(Sender: TObject); -begin - if (FCurrentWatchValue = nil) or (FCurrentWatchValue.ResultData=nil) then - exit; - if Sender = btnArrayPageDec then - edArrayPageSize.Value := Max(10, edArrayPageSize.Value - 10) - else - if Sender = btnArrayPageInc then - edArrayPageSize.Value := Min(5000, edArrayPageSize.Value + 10) - ; - InspectResDataArray; -end; - procedure TIDEInspectDlg.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_ESCAPE) and not Docked then @@ -1226,6 +1166,10 @@ begin DebugBoss.RegisterStateChangeHandler(@DoDebuggerState); DebugBoss.RegisterWatchesInvalidatedHandler(@DoWatchesInvalidated); + ArrayNavigationBar1.OnIndexChanged := @ArrayNavChanged; + ArrayNavigationBar1.OnPageSize := @ArrayNavChanged; + ArrayNavigationBar1.Visible := False; + FHistory := TStringList.Create; FGridData:=TStringGrid.Create(DataPage); @@ -1264,9 +1208,6 @@ begin btnBackward.Enabled := FHistoryIndex > 0; btnForward.Enabled := FHistoryIndex < FHistory.Count - 1; - edArrayStart.Hint := dlgInspectIndexOfFirstItemToShow; - edArrayPageSize.Hint := dlgInspectAmountOfItemsToShow; - Clear; end; @@ -1327,7 +1268,7 @@ begin exit; FExpression:=FHistory[FHistoryIndex]; - edArrayStart.Value := 0; + ArrayNavigationBar1.Index := 0; EdInspect.Text := FExpression; UpdateData; end; @@ -1366,6 +1307,7 @@ begin FHumanReadable := FWatchPrinter.PrintWatchValue(FCurrentWatchValue.ResultData, wdfStructure); if FCurrentWatchValue.Validity = ddsValid then begin + ArrayNavigationBar1.Visible := False; if FCurrentWatchValue.TypeInfo <> nil then begin case FCurrentWatchValue.TypeInfo.Kind of skClass, skObject, skInterface: InspectClass(); @@ -1392,7 +1334,7 @@ begin end else begin // resultdata - pnlArrayNav.Visible := FCurrentWatchValue.ResultData.ValueKind = rdkArray; + ArrayNavigationBar1.Visible := FCurrentWatchValue.ResultData.ValueKind = rdkArray; case FCurrentWatchValue.ResultData.ValueKind of //rdkError: ; rdkPrePrinted, @@ -1443,6 +1385,12 @@ begin end; end; +procedure TIDEInspectDlg.ArrayNavChanged(Sender: TArrayNavigationBar; + AValue: Int64); +begin + InspectResDataArray; +end; + procedure TIDEInspectDlg.DoWatchesInvalidated(Sender: TObject); begin if (not btnPower.Down) or (not Visible) then exit; @@ -1509,11 +1457,11 @@ begin if AWatch = nil then begin FInspectWatches.Clear; AWatch := FInspectWatches.Add(expr); - edArrayStart.Value := 0; + ArrayNavigationBar1.Index := 0; end; AWatch.EvaluateFlags := Opts; AWatch.Enabled := True; - AWatch.RepeatCount := edArrayPageSize.Value; + AWatch.RepeatCount := ArrayNavigationBar1.PageSize; FInspectWatches.EndUpdate; FCurrentWatchValue := AWatch.Values[tid, idx]; if FCurrentWatchValue <> nil then begin diff --git a/ide/packages/idedebugger/arraynavigationframe.lfm b/ide/packages/idedebugger/arraynavigationframe.lfm new file mode 100644 index 0000000000..8e2072152d --- /dev/null +++ b/ide/packages/idedebugger/arraynavigationframe.lfm @@ -0,0 +1,110 @@ +object ArrayNavigationBar: TArrayNavigationBar + Left = 0 + Height = 26 + Top = 0 + Width = 320 + AutoSize = True + ClientHeight = 26 + ClientWidth = 320 + TabOrder = 0 + DesignLeft = 518 + DesignTop = 777 + object btnArrayFastDown: TSpeedButton + Left = 23 + Height = 26 + Top = 0 + Width = 23 + Align = alLeft + Caption = '<<' + Flat = True + OnClick = BtnChangePageClicked + end + object btnArrayFastUp: TSpeedButton + Left = 106 + Height = 26 + Top = 0 + Width = 23 + Align = alLeft + Caption = '>>' + Flat = True + OnClick = BtnChangePageClicked + end + object edArrayStart: TSpinEditEx + Left = 46 + Height = 26 + Top = 0 + Width = 60 + Align = alLeft + MaxLength = 0 + TabOrder = 0 + OnEditingDone = edArrayStartEditingDone + Increment = 10 + NullValue = 0 + UpDownVisible = False + Value = 0 + end + object btnArrayStart: TSpeedButton + Left = 0 + Height = 26 + Top = 0 + Width = 23 + Align = alLeft + Caption = '|<' + Flat = True + OnClick = BtnChangePageClicked + end + object btnArrayEnd: TSpeedButton + Left = 129 + Height = 26 + Top = 0 + Width = 23 + Align = alLeft + Caption = '>|' + Flat = True + OnClick = BtnChangePageClicked + end + object Label1: TLabel + Left = 152 + Height = 26 + Top = 0 + Width = 4 + Align = alLeft + AutoSize = False + end + object btnArrayPageDec: TSpeedButton + Left = 156 + Height = 26 + Top = 0 + Width = 23 + Align = alLeft + Caption = '-' + Flat = True + OnClick = BtnChangeSizeClicked + end + object edArrayPageSize: TSpinEditEx + Left = 179 + Height = 26 + Top = 0 + Width = 40 + Align = alLeft + MaxLength = 0 + TabOrder = 1 + OnEditingDone = edArrayPageSizeEditingDone + Increment = 10 + MaxValue = 5000 + MinValue = 10 + NullValue = 0 + UpDownVisible = False + Value = 200 + end + object btnArrayPageInc: TSpeedButton + Left = 219 + Height = 26 + Top = 0 + Width = 23 + Align = alLeft + Caption = '+' + Flat = True + OnClick = BtnChangeSizeClicked + end +end diff --git a/ide/packages/idedebugger/arraynavigationframe.pas b/ide/packages/idedebugger/arraynavigationframe.pas new file mode 100644 index 0000000000..dec92232d3 --- /dev/null +++ b/ide/packages/idedebugger/arraynavigationframe.pas @@ -0,0 +1,184 @@ +unit ArrayNavigationFrame; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, Math, Forms, Controls, Buttons, StdCtrls, SpinEx, + IDEImagesIntf, IdeDebuggerStringConstants; + +type + + TArrayNavigationBar = class; + + TArrayNavChangeEvent = procedure(Sender: TArrayNavigationBar; AValue: Int64) of object; + + { TArrayNavigationBar } + + TArrayNavigationBar = class(TFrame) + btnArrayEnd: TSpeedButton; + btnArrayFastUp: TSpeedButton; + btnArrayFastDown: TSpeedButton; + btnArrayPageDec: TSpeedButton; + btnArrayPageInc: TSpeedButton; + btnArrayStart: TSpeedButton; + edArrayPageSize: TSpinEditEx; + edArrayStart: TSpinEditEx; + Label1: TLabel; + procedure BtnChangePageClicked(Sender: TObject); + procedure BtnChangeSizeClicked(Sender: TObject); + procedure edArrayPageSizeEditingDone(Sender: TObject); + procedure edArrayStartEditingDone(Sender: TObject); + private + FHighBound: int64; + FLowBound: int64; + FOnIndexChanged: TArrayNavChangeEvent; + FOnPageSize: TArrayNavChangeEvent; + function GetIndex: int64; + function GetPageSize: int64; + procedure SetHighBound(AValue: int64); + procedure SetIndex(AValue: int64); + procedure SetLowBound(AValue: int64); + procedure SetPageSize(AValue: int64); + public + constructor Create(TheOwner: TComponent); override; + property LowBound: int64 read FLowBound write SetLowBound; + property HighBound: int64 read FHighBound write SetHighBound; + + property Index: int64 read GetIndex write SetIndex; + property PageSize: int64 read GetPageSize write SetPageSize; + published + property OnIndexChanged: TArrayNavChangeEvent read FOnIndexChanged write FOnIndexChanged; + property OnPageSize: TArrayNavChangeEvent read FOnPageSize write FOnPageSize; + end; + +implementation + +{$R *.lfm} + +{ TArrayNavigationBar } + +procedure TArrayNavigationBar.SetHighBound(AValue: int64); +begin + if FHighBound = AValue then Exit; + FHighBound := AValue; +end; + +procedure TArrayNavigationBar.BtnChangePageClicked(Sender: TObject); +var + v: int64; +begin + v := edArrayStart.Value; + if Sender = btnArrayStart then + edArrayStart.Value := FLowBound + else + if Sender = btnArrayFastDown then + edArrayStart.Value := max(edArrayStart.Value - edArrayPageSize.Value, + FLowBound) + else + if Sender = btnArrayFastUp then + edArrayStart.Value := min(edArrayStart.Value + edArrayPageSize.Value, + Max(FLowBound, + FHighBound + 1 - edArrayPageSize.Value) + ) + else + if Sender = btnArrayEnd then + edArrayStart.Value := Max(FLowBound, + FHighBound + 1 - edArrayPageSize.Value) + ; + if (FOnIndexChanged <> nil) and (edArrayStart.Value <> v) then + FOnIndexChanged(Self, edArrayStart.Value); +end; + +procedure TArrayNavigationBar.BtnChangeSizeClicked(Sender: TObject); +var + v: int64; +begin + v := edArrayPageSize.Value; + if Sender = btnArrayPageDec then + edArrayPageSize.Value := Max(10, edArrayPageSize.Value - 10) + else + if Sender = btnArrayPageInc then + edArrayPageSize.Value := Min(5000, edArrayPageSize.Value + 10) + ; + if (FOnPageSize <> nil) and (edArrayPageSize.Value <> v) then + FOnPageSize(Self, edArrayStart.Value); +end; + +procedure TArrayNavigationBar.edArrayPageSizeEditingDone(Sender: TObject); +begin + if (FOnPageSize <> nil) then + FOnPageSize(Self, edArrayStart.Value); +end; + +procedure TArrayNavigationBar.edArrayStartEditingDone(Sender: TObject); +begin + if (FOnIndexChanged <> nil) then + FOnIndexChanged(Self, edArrayStart.Value); +end; + +function TArrayNavigationBar.GetIndex: int64; +begin + Result := edArrayStart.Value; +end; + +function TArrayNavigationBar.GetPageSize: int64; +begin + Result := edArrayPageSize.Value; +end; + +procedure TArrayNavigationBar.SetIndex(AValue: int64); +begin + edArrayStart.Value := AValue; +end; + +procedure TArrayNavigationBar.SetLowBound(AValue: int64); +begin + if FLowBound = AValue then Exit; + FLowBound := AValue; +end; + +procedure TArrayNavigationBar.SetPageSize(AValue: int64); +begin + edArrayPageSize.Value := AValue; +end; + +constructor TArrayNavigationBar.Create(TheOwner: TComponent); +begin + inherited Create(TheOwner); + + edArrayStart.Hint := dlgInspectIndexOfFirstItemToShow; + edArrayPageSize.Hint := dlgInspectAmountOfItemsToShow; + + btnArrayStart.Images := IDEImages.Images_16; + btnArrayStart.ImageIndex := IDEImages.LoadImage('NavArrow_F'); + btnArrayStart.Caption := ''; + + btnArrayFastDown.Images := IDEImages.Images_16; + btnArrayFastDown.ImageIndex := IDEImages.LoadImage('NavArrow_L'); + btnArrayFastDown.Caption := ''; + + btnArrayFastUp.Images := IDEImages.Images_16; + btnArrayFastUp.ImageIndex := IDEImages.LoadImage('NavArrow_R'); + btnArrayFastUp.Caption := ''; + + btnArrayEnd.Images := IDEImages.Images_16; + btnArrayEnd.ImageIndex := IDEImages.LoadImage('NavArrow_E'); + btnArrayEnd.Caption := ''; + + btnArrayPageDec.Images := IDEImages.Images_16; + btnArrayPageDec.ImageIndex := IDEImages.LoadImage('NavMinus'); + btnArrayPageDec.Caption := ''; + + btnArrayPageInc.Images := IDEImages.Images_16; + btnArrayPageInc.ImageIndex := IDEImages.LoadImage('NavPlus'); + btnArrayPageInc.Caption := ''; + + + btnArrayFastDown.Caption := ''; + +end; + +end. + diff --git a/ide/packages/idedebugger/idedebugger.lpk b/ide/packages/idedebugger/idedebugger.lpk index 5dbd5b86bf..1a8cc33817 100644 --- a/ide/packages/idedebugger/idedebugger.lpk +++ b/ide/packages/idedebugger/idedebugger.lpk @@ -60,8 +60,20 @@ + + + + + + + + + + + + diff --git a/ide/packages/idedebugger/idedebuggerpackage.pas b/ide/packages/idedebugger/idedebuggerpackage.pas index 6dbe8351c9..956330a0ef 100644 --- a/ide/packages/idedebugger/idedebuggerpackage.pas +++ b/ide/packages/idedebugger/idedebuggerpackage.pas @@ -10,7 +10,8 @@ interface uses IdeDebuggerBase, Debugger, ProcessDebugger, ProcessList, DebuggerTreeView, IdeDebuggerUtils, IdeDebuggerWatchResult, IdeDebuggerWatchResPrinter, - IdeDebuggerWatchResUtils, LazarusPackageIntf; + IdeDebuggerWatchResUtils, ArrayNavigationFrame, IdeDebuggerStringConstants, + LazarusPackageIntf; implementation diff --git a/ide/packages/idedebugger/idedebuggerstringconstants.pas b/ide/packages/idedebugger/idedebuggerstringconstants.pas new file mode 100644 index 0000000000..7a1ef1724c --- /dev/null +++ b/ide/packages/idedebugger/idedebuggerstringconstants.pas @@ -0,0 +1,17 @@ +unit IdeDebuggerStringConstants; + +{$mode objfpc}{$H+} + +interface + +{//$R images.rc} +{$R images.res} + +resourcestring + dlgInspectIndexOfFirstItemToShow = 'Index of first item to show'; + dlgInspectAmountOfItemsToShow = 'Amount of items to show'; + +implementation + +end. + diff --git a/ide/packages/idedebugger/idedebuggerwatchresprinter.pas b/ide/packages/idedebugger/idedebuggerwatchresprinter.pas index 5f86c9de59..796e967e48 100644 --- a/ide/packages/idedebugger/idedebuggerwatchresprinter.pas +++ b/ide/packages/idedebugger/idedebuggerwatchresprinter.pas @@ -305,7 +305,6 @@ var PointerValue: TWatchResultDataPointer absolute AResValue; ResTypeName: String; PtrDeref: TWatchResultData; - i: Integer; begin inc(ANestLvl); if ANestLvl > MAX_ALLOWED_NEST_LVL then diff --git a/ide/packages/idedebugger/images.rc b/ide/packages/idedebugger/images.rc new file mode 100644 index 0000000000..30b33d86f7 --- /dev/null +++ b/ide/packages/idedebugger/images.rc @@ -0,0 +1,19 @@ +NavArrow_F RCDATA "../../../images/general_purpose/Arrow_26_16.png" +NavArrow_F_150 RCDATA "../../../images/general_purpose/Arrow_26_24.png" +NavArrow_F_200 RCDATA "../../../images/general_purpose/Arrow_26_32.png" +NavArrow_L RCDATA "../../../images/general_purpose/Arrow_22_16.png" +NavArrow_L_150 RCDATA "../../../images/general_purpose/Arrow_22_24.png" +NavArrow_L_200 RCDATA "../../../images/general_purpose/Arrow_22_32.png" +NavArrow_R RCDATA "../../../images/general_purpose/Arrow_21_16.png" +NavArrow_R_150 RCDATA "../../../images/general_purpose/Arrow_21_24.png" +NavArrow_R_200 RCDATA "../../../images/general_purpose/Arrow_21_32.png" +NavArrow_E RCDATA "../../../images/general_purpose/Arrow_25_16.png" +NavArrow_E_150 RCDATA "../../../images/general_purpose/Arrow_25_24.png" +NavArrow_E_200 RCDATA "../../../images/general_purpose/Arrow_25_32.png" +NavPlus RCDATA "../../../images/general_purpose/Add_07_16.png" +NavPlus_150 RCDATA "../../../images/general_purpose/Add_07_24.png" +NavPlus_200 RCDATA "../../../images/general_purpose/Add_07_32.png" +NavMinus RCDATA "../../../images/general_purpose/Remove_07_16.png" +NavMinus_150 RCDATA "../../../images/general_purpose/Remove_07_24.png" +NavMinus_200 RCDATA "../../../images/general_purpose/Remove_07_32.png" + diff --git a/ide/packages/idedebugger/images.res b/ide/packages/idedebugger/images.res new file mode 100644 index 0000000000..0f5035b444 Binary files /dev/null and b/ide/packages/idedebugger/images.res differ