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_PASS = 6;
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;
begin
@ -317,6 +318,8 @@ begin
end;
constructor TBreakPointsDlg.Create(AOwner: TComponent);
var
i: Integer;
begin
inherited;
Name:='BreakPointsDlg';
@ -362,6 +365,8 @@ begin
actEnableAllInSrc.Caption:= lisEnableAllInSameSource;
actDisableAllInSrc.Caption:= lisDisableAllInSameSource;
actDeleteAllInSrc.Caption:= lisDeleteAllInSameSource;
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvBreakPoints.Column[i].Width := COL_WIDTHS[i];
FLockActionUpdate := 0;
end;
@ -815,18 +820,12 @@ end;
function TBreakPointsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin
Result := True;
case AColId of
COL_BREAK_STATE: ASize := lvBreakPoints.Column[0].Width;
COL_BREAK_FILE: ASize := lvBreakPoints.Column[1].Width;
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
Result := False;
end;
if (AColId - 1 >= 0) and (AColId - 1 < lvBreakPoints.ColumnCount) then begin
ASize := lvBreakPoints.Column[AColId - 1].Width;
Result := ASize <> COL_WIDTHS[AColId - 1];
end
else
Result := False;
end;
procedure TBreakPointsDlg.ColSizeSetter(AColId: Integer; ASize: Integer);

View File

@ -163,6 +163,7 @@ const
COL_STACK_SOURCE = 3;
COL_STACK_LINE = 4;
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;
begin
@ -180,6 +181,8 @@ end;
{ TCallStackDlg }
constructor TCallStackDlg.Create(AOwner: TComponent);
var
i: Integer;
begin
inherited Create(AOwner);
CallStackNotification.OnChange := @CallStackChanged;
@ -196,6 +199,12 @@ begin
FInUpdateView := False;
actViewLimit.Caption := popLimit10.Caption;
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;
procedure TCallStackDlg.CallStackChanged(Sender: TObject);
@ -217,16 +226,12 @@ end;
function TCallStackDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin
Result := True;
case AColId of
COL_STACK_BRKPOINT: ASize := lvCallStack.Column[0].Width;
COL_STACK_INDEX: ASize := lvCallStack.Column[1].Width;
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
Result := False;
end;
if (AColId - 1 >= 0) and (AColId - 1 < lvCallStack.ColumnCount) then begin
ASize := lvCallStack.Column[AColId - 1].Width;
Result := (ASize <> COL_WIDTHS[AColId - 1]) and (not lvCallStack.Column[AColId - 1].AutoSize);
end
else
Result := False;
end;
procedure TCallStackDlg.ColSizeSetter(AColId: Integer; ASize: Integer);

View File

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

View File

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

View File

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

View File

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

View File

@ -54,6 +54,7 @@ const
COL_THREAD_SOURCE = 5;
COL_THREAD_LINE = 6;
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;
begin
@ -153,18 +154,12 @@ end;
function TThreadsDlg.ColSizeGetter(AColId: Integer; var ASize: Integer): Boolean;
begin
Result := True;
case AColId of
COL_THREAD_BRKPOINT: ASize := lvThreads.Column[0].Width;
COL_THREAD_INDEX: ASize := lvThreads.Column[1].Width;
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
Result := False;
end;
if (AColId - 1 >= 0) and (AColId - 1 < lvThreads.ColumnCount) then begin
ASize := lvThreads.Column[AColId - 1].Width;
Result := ASize <> COL_WIDTHS[AColId - 1];
end
else
Result := False;
end;
procedure TThreadsDlg.ColSizeSetter(AColId: Integer; ASize: Integer);
@ -238,6 +233,8 @@ begin
end;
constructor TThreadsDlg.Create(TheOwner: TComponent);
var
i: Integer;
begin
inherited Create(TheOwner);
Caption:= lisThreads;
@ -255,6 +252,9 @@ begin
imgCurrentLine := IDEImages.LoadImage(16, 'debugger_current_line');
lvThreads.SmallImages := IDEImages.Images_16;
for i := low(COL_WIDTHS) to high(COL_WIDTHS) do
lvThreads.Column[i].Width := COL_WIDTHS[i];
end;
initialization

View File

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

View File

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