DBG/IDE only store changed column widths

git-svn-id: trunk@35579 -
This commit is contained in:
martin 2012-02-24 13:38:01 +00:00
parent 2344d566fe
commit 409ca1a915
9 changed files with 93 additions and 70 deletions

View File

@ -182,6 +182,7 @@ const
COL_BREAK_ACTION = 5; COL_BREAK_ACTION = 5;
COL_BREAK_PASS = 6; COL_BREAK_PASS = 6;
COL_BREAK_GROUP = 7; COL_BREAK_GROUP = 7;
COL_WIDTHS: Array[0..6] of integer = ( 50, 150, 100, 75, 150, 100, 80);
function BreakPointDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean; function BreakPointDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean;
begin begin
@ -317,6 +318,8 @@ begin
end; end;
constructor TBreakPointsDlg.Create(AOwner: TComponent); constructor TBreakPointsDlg.Create(AOwner: TComponent);
var
i: Integer;
begin begin
inherited; inherited;
Name:='BreakPointsDlg'; Name:='BreakPointsDlg';
@ -362,6 +365,8 @@ begin
actEnableAllInSrc.Caption:= lisEnableAllInSameSource; actEnableAllInSrc.Caption:= lisEnableAllInSameSource;
actDisableAllInSrc.Caption:= lisDisableAllInSameSource; actDisableAllInSrc.Caption:= lisDisableAllInSameSource;
actDeleteAllInSrc.Caption:= lisDeleteAllInSameSource; actDeleteAllInSrc.Caption:= lisDeleteAllInSameSource;
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvBreakPoints.Column[i].Width := COL_WIDTHS[i];
FLockActionUpdate := 0; FLockActionUpdate := 0;
end; end;
@ -815,19 +820,13 @@ end;
function TBreakPointsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function TBreakPointsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; if (AColId - 1 >= 0) and (AColId - 1 < lvBreakPoints.ColumnCount) then begin
case AColId of ASize := lvBreakPoints.Column[AColId - 1].Width;
COL_BREAK_STATE: ASize := lvBreakPoints.Column[0].Width; Result := ASize <> COL_WIDTHS[AColId - 1];
COL_BREAK_FILE: ASize := lvBreakPoints.Column[1].Width; end
COL_BREAK_LINE: ASize := lvBreakPoints.Column[2].Width;
COL_BREAK_CONDITION: ASize := lvBreakPoints.Column[3].Width;
COL_BREAK_ACTION: ASize := lvBreakPoints.Column[4].Width;
COL_BREAK_PASS: ASize := lvBreakPoints.Column[5].Width;
COL_BREAK_GROUP: ASize := lvBreakPoints.Column[6].Width;
else else
Result := False; Result := False;
end; end;
end;
procedure TBreakPointsDlg.ColSizeSetter(AColId: Integer; ASize: Integer); procedure TBreakPointsDlg.ColSizeSetter(AColId: Integer; ASize: Integer);
begin begin

View File

@ -163,6 +163,7 @@ const
COL_STACK_SOURCE = 3; COL_STACK_SOURCE = 3;
COL_STACK_LINE = 4; COL_STACK_LINE = 4;
COL_STACK_FUNC = 5; COL_STACK_FUNC = 5;
COL_WIDTHS: Array[0..4] of integer = ( 50, 0, 150, 50, 280);
function CallStackDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean; function CallStackDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean;
begin begin
@ -180,6 +181,8 @@ end;
{ TCallStackDlg } { TCallStackDlg }
constructor TCallStackDlg.Create(AOwner: TComponent); constructor TCallStackDlg.Create(AOwner: TComponent);
var
i: Integer;
begin begin
inherited Create(AOwner); inherited Create(AOwner);
CallStackNotification.OnChange := @CallStackChanged; CallStackNotification.OnChange := @CallStackChanged;
@ -196,6 +199,12 @@ begin
FInUpdateView := False; FInUpdateView := False;
actViewLimit.Caption := popLimit10.Caption; actViewLimit.Caption := popLimit10.Caption;
actToggleBreakPoint.ShortCut := IDECommandList.FindIDECommand(ecToggleBreakPoint).AsShortCut; actToggleBreakPoint.ShortCut := IDECommandList.FindIDECommand(ecToggleBreakPoint).AsShortCut;
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
if COL_WIDTHS[i] > 0 then
lvCallStack.Column[i].Width := COL_WIDTHS[i]
else
lvCallStack.Column[i].AutoSize := True;
end; end;
procedure TCallStackDlg.CallStackChanged(Sender: TObject); procedure TCallStackDlg.CallStackChanged(Sender: TObject);
@ -217,17 +226,13 @@ end;
function TCallStackDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function TCallStackDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; if (AColId - 1 >= 0) and (AColId - 1 < lvCallStack.ColumnCount) then begin
case AColId of ASize := lvCallStack.Column[AColId - 1].Width;
COL_STACK_BRKPOINT: ASize := lvCallStack.Column[0].Width; Result := (ASize <> COL_WIDTHS[AColId - 1]) and (not lvCallStack.Column[AColId - 1].AutoSize);
COL_STACK_INDEX: ASize := lvCallStack.Column[1].Width; end
COL_STACK_SOURCE: ASize := lvCallStack.Column[2].Width;
COL_STACK_LINE: ASize := lvCallStack.Column[3].Width;
COL_STACK_FUNC: ASize := lvCallStack.Column[4].Width;
else else
Result := False; Result := False;
end; end;
end;
procedure TCallStackDlg.ColSizeSetter(AColId: Integer; ASize: Integer); procedure TCallStackDlg.ColSizeSetter(AColId: Integer; ASize: Integer);
begin begin

View File

@ -67,6 +67,7 @@ const
COL_HISTORY_CUR = 1; COL_HISTORY_CUR = 1;
COL_HISTORY_TIME = 2; COL_HISTORY_TIME = 2;
COL_HISTORY_LOC = 3; COL_HISTORY_LOC = 3;
COL_WIDTHS: Array[0..2] of integer = ( 25, 120, 250);
function HistoryDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean; function HistoryDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean;
begin begin
@ -290,15 +291,13 @@ end;
function THistoryDialog.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function THistoryDialog.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; if (AColId - 1 >= 0) and (AColId - 1 < lvHistory.ColumnCount) then begin
case AColId of ASize := lvHistory.Column[AColId - 1].Width;
COL_HISTORY_CUR: ASize := lvHistory.Column[0].Width; Result := ASize <> COL_WIDTHS[AColId - 1];
COL_HISTORY_TIME: ASize := lvHistory.Column[1].Width; end
COL_HISTORY_LOC: ASize := lvHistory.Column[2].Width;
else else
Result := False; Result := False;
end; end;
end;
procedure THistoryDialog.ColSizeSetter(AColId: Integer; ASize: Integer); procedure THistoryDialog.ColSizeSetter(AColId: Integer; ASize: Integer);
begin begin
@ -310,6 +309,8 @@ begin
end; end;
constructor THistoryDialog.Create(TheOwner: TComponent); constructor THistoryDialog.Create(TheOwner: TComponent);
var
i: Integer;
begin begin
inherited Create(TheOwner); inherited Create(TheOwner);
FInSnapshotChanged := False; FInSnapshotChanged := False;
@ -357,6 +358,10 @@ begin
tbPowerClick(nil); tbPowerClick(nil);
tbHistorySelectedClick(nil); tbHistorySelectedClick(nil);
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvHistory.Column[i].Width := COL_WIDTHS[i];
end; end;
initialization initialization

View File

@ -434,7 +434,7 @@ end;
function TIDEInspectDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function TIDEInspectDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; ASize := -1;
case AColId of case AColId of
COL_INSPECT_DNAME: ASize := FGridData.ColWidths[0]; COL_INSPECT_DNAME: ASize := FGridData.ColWidths[0];
COL_INSPECT_DTYPE: ASize := FGridData.ColWidths[1]; COL_INSPECT_DTYPE: ASize := FGridData.ColWidths[1];
@ -443,9 +443,8 @@ begin
COL_INSPECT_MTYPE: ASize := FGridMethods.ColWidths[1]; COL_INSPECT_MTYPE: ASize := FGridMethods.ColWidths[1];
COL_INSPECT_MRETURNS: ASize := FGridMethods.ColWidths[2]; COL_INSPECT_MRETURNS: ASize := FGridMethods.ColWidths[2];
COL_INSPECT_MADDRESS: ASize := FGridMethods.ColWidths[3]; COL_INSPECT_MADDRESS: ASize := FGridMethods.ColWidths[3];
else
Result := False;
end; end;
Result := (ASize > 0) and (ASize <> 100); // The default for all
end; end;
procedure TIDEInspectDlg.ColSizeSetter(AColId: Integer; ASize: Integer); procedure TIDEInspectDlg.ColSizeSetter(AColId: Integer; ASize: Integer);

View File

@ -100,6 +100,7 @@ var
const const
COL_LOCALS_NAME = 1; COL_LOCALS_NAME = 1;
COL_LOCALS_VALUE = 2; COL_LOCALS_VALUE = 2;
COL_WIDTHS: Array[0..1] of integer = ( 50, 150);
function LocalsDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean; function LocalsDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean;
begin begin
@ -117,6 +118,8 @@ end;
{ TLocalsDlg } { TLocalsDlg }
constructor TLocalsDlg.Create(AOwner: TComponent); constructor TLocalsDlg.Create(AOwner: TComponent);
var
i: Integer;
begin begin
inherited Create(AOwner); inherited Create(AOwner);
LocalsNotification.OnChange := @LocalsChanged; LocalsNotification.OnChange := @LocalsChanged;
@ -132,6 +135,9 @@ begin
actEvaluate.Caption := lisEvaluateModify; actEvaluate.Caption := lisEvaluateModify;
actCopyName.Caption := lisLocalsDlgCopyName; actCopyName.Caption := lisLocalsDlgCopyName;
actCopyValue.Caption := lisLocalsDlgCopyValue; actCopyValue.Caption := lisLocalsDlgCopyValue;
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvLocals.Column[i].Width := COL_WIDTHS[i];
end; end;
procedure TLocalsDlg.actInspectUpdate(Sender: TObject); procedure TLocalsDlg.actInspectUpdate(Sender: TObject);
@ -336,14 +342,13 @@ end;
function TLocalsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function TLocalsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; if (AColId - 1 >= 0) and (AColId - 1 < lvLocals.ColumnCount) then begin
case AColId of ASize := lvLocals.Column[AColId - 1].Width;
COL_LOCALS_NAME: ASize := lvLocals.Column[0].Width; Result := (ASize <> COL_WIDTHS[AColId - 1]) and (not lvLocals.Column[AColId - 1].AutoSize);
COL_LOCALS_VALUE: ASize := lvLocals.Column[1].Width; end
else else
Result := False; Result := False;
end; end;
end;
procedure TLocalsDlg.ColSizeSetter(AColId: Integer; ASize: Integer); procedure TLocalsDlg.ColSizeSetter(AColId: Integer; ASize: Integer);
begin begin

View File

@ -97,6 +97,7 @@ var
const const
COL_REGISTER_NAME = 1; COL_REGISTER_NAME = 1;
COL_REGISTER_VALUE = 2; COL_REGISTER_VALUE = 2;
COL_WIDTHS: Array[0..1] of integer = ( 150, 50);
function RegisterDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean; function RegisterDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean;
begin begin
@ -114,6 +115,8 @@ end;
{ TRegistersDlg } { TRegistersDlg }
constructor TRegistersDlg.Create(AOwner: TComponent); constructor TRegistersDlg.Create(AOwner: TComponent);
var
i: Integer;
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FRegistersNotification := TIDERegistersNotification.Create; FRegistersNotification := TIDERegistersNotification.Create;
@ -146,6 +149,9 @@ begin
DispOct.Tag := ord(rdOctal); DispOct.Tag := ord(rdOctal);
DispDec.Tag := ord(rdDecimal); DispDec.Tag := ord(rdDecimal);
DispRaw.Tag := ord(rdRaw); DispRaw.Tag := ord(rdRaw);
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvRegisters.Column[i].Width := COL_WIDTHS[i];
end; end;
destructor TRegistersDlg.Destroy; destructor TRegistersDlg.Destroy;
@ -351,14 +357,13 @@ end;
function TRegistersDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function TRegistersDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; if (AColId - 1 >= 0) and (AColId - 1 < lvRegisters.ColumnCount) then begin
case AColId of ASize := lvRegisters.Column[AColId - 1].Width;
COL_REGISTER_NAME: ASize := lvRegisters.Column[0].Width; Result := ASize <> COL_WIDTHS[AColId - 1];
COL_REGISTER_VALUE: ASize := lvRegisters.Column[1].Width; end
else else
Result := False; Result := False;
end; end;
end;
procedure TRegistersDlg.ColSizeSetter(AColId: Integer; ASize: Integer); procedure TRegistersDlg.ColSizeSetter(AColId: Integer; ASize: Integer);
begin begin

View File

@ -54,6 +54,7 @@ const
COL_THREAD_SOURCE = 5; COL_THREAD_SOURCE = 5;
COL_THREAD_LINE = 6; COL_THREAD_LINE = 6;
COL_THREAD_FUNC = 7; COL_THREAD_FUNC = 7;
COL_WIDTHS: Array[0..6] of integer = ( 20, 50, 100, 50, 150, 50, 300);
function ThreadsDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean; function ThreadsDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean;
begin begin
@ -153,19 +154,13 @@ end;
function TThreadsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function TThreadsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; if (AColId - 1 >= 0) and (AColId - 1 < lvThreads.ColumnCount) then begin
case AColId of ASize := lvThreads.Column[AColId - 1].Width;
COL_THREAD_BRKPOINT: ASize := lvThreads.Column[0].Width; Result := ASize <> COL_WIDTHS[AColId - 1];
COL_THREAD_INDEX: ASize := lvThreads.Column[1].Width; end
COL_THREAD_NAME: ASize := lvThreads.Column[2].Width;
COL_THREAD_STATE: ASize := lvThreads.Column[3].Width;
COL_THREAD_SOURCE: ASize := lvThreads.Column[4].Width;
COL_THREAD_LINE: ASize := lvThreads.Column[5].Width;
COL_THREAD_FUNC: ASize := lvThreads.Column[6].Width;
else else
Result := False; Result := False;
end; end;
end;
procedure TThreadsDlg.ColSizeSetter(AColId: Integer; ASize: Integer); procedure TThreadsDlg.ColSizeSetter(AColId: Integer; ASize: Integer);
begin begin
@ -238,6 +233,8 @@ begin
end; end;
constructor TThreadsDlg.Create(TheOwner: TComponent); constructor TThreadsDlg.Create(TheOwner: TComponent);
var
i: Integer;
begin begin
inherited Create(TheOwner); inherited Create(TheOwner);
Caption:= lisThreads; Caption:= lisThreads;
@ -255,6 +252,9 @@ begin
imgCurrentLine := IDEImages.LoadImage(16, 'debugger_current_line'); imgCurrentLine := IDEImages.LoadImage(16, 'debugger_current_line');
lvThreads.SmallImages := IDEImages.Images_16; lvThreads.SmallImages := IDEImages.Images_16;
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvThreads.Column[i].Width := COL_WIDTHS[i];
end; end;
initialization initialization

View File

@ -153,6 +153,7 @@ var
const const
COL_WATCH_EXPR = 1; COL_WATCH_EXPR = 1;
COL_WATCH_VALUE = 2; COL_WATCH_VALUE = 2;
COL_WIDTHS: Array[0..1] of integer = ( 100, 200);
function WatchesDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean; function WatchesDlgColSizeGetter(AForm: TCustomForm; AColId: Integer; var ASize: Integer): Boolean;
begin begin
@ -170,6 +171,8 @@ end;
{ TWatchesDlg } { TWatchesDlg }
constructor TWatchesDlg.Create(AOwner: TComponent); constructor TWatchesDlg.Create(AOwner: TComponent);
var
i: Integer;
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FWatchesInView := nil; FWatchesInView := nil;
@ -230,8 +233,9 @@ begin
lvWatches.Columns[0].Caption:=liswlExpression; lvWatches.Columns[0].Caption:=liswlExpression;
lvWatches.Columns[1].Caption:=dlgValueColor; lvWatches.Columns[1].Caption:=dlgValueColor;
lvWatches.Column[0].Width := 100;
lvWatches.Column[1].Width := 200; for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvWatches.Column[i].Width := COL_WIDTHS[i];
end; end;
function TWatchesDlg.GetSelected: TCurrentWatch; function TWatchesDlg.GetSelected: TCurrentWatch;
@ -515,14 +519,13 @@ end;
function TWatchesDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean; function TWatchesDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin begin
Result := True; if (AColId - 1 >= 0) and (AColId - 1 < lvWatches.ColumnCount) then begin
case AColId of ASize := lvWatches.Column[AColId - 1].Width;
COL_WATCH_EXPR: ASize := lvWatches.Column[0].Width; Result := ASize <> COL_WIDTHS[AColId - 1];
COL_WATCH_VALUE: ASize := lvWatches.Column[1].Width; end
else else
Result := False; Result := False;
end; end;
end;
procedure TWatchesDlg.ColSizeSetter(AColId: Integer; ASize: Integer); procedure TWatchesDlg.ColSizeSetter(AColId: Integer; ASize: Integer);
begin begin

View File

@ -615,8 +615,10 @@ var
begin begin
c := 0; c := 0;
for i := 0 to Count - 1 do for i := 0 to Count - 1 do
if Items[i].SaveToConfig(Config, Path + 'Item' + IntToStr(i) + '/') then if Items[i].SaveToConfig(Config, Path + 'Item' + IntToStr(c) + '/') then
inc(c); inc(c);
for i := c to Count - 1 do
Config.DeletePath(Path + 'Item' + IntToStr(i) + '/');
Config.SetDeleteValue(Path+'Count', c, 0); Config.SetDeleteValue(Path+'Count', c, 0);
end; end;
@ -1314,7 +1316,7 @@ begin
if Creator.OnGetDividerSize(fForm, FDividers[i].Id, j) then if Creator.OnGetDividerSize(fForm, FDividers[i].Id, j) then
FDividers[i].Size := j FDividers[i].Size := j
else else
FDividers[i].Size := -1; FDividers[i].Size := -1; // Default / Not Changed / Unavailable
end; end;
end; end;