* Synchronize with main VTV repository up to svn rev 183

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@830 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blikblum
2009-06-08 19:11:22 +00:00
parent 48f19f547e
commit 2eb02a2179

View File

@@ -610,9 +610,8 @@ type
ckFlat, // flat images (no 3D border) ckFlat, // flat images (no 3D border)
ckXP, // Windows XP style ckXP, // Windows XP style
ckCustom, // application defined check images ckCustom, // application defined check images
ckSystem, // System defined check images.
ckSystemFlat, // Flat system defined check images. ckSystemFlat, // Flat system defined check images.
ckSystemDefault // Uses the system check images, theme aware ckSystemDefault // Uses the system check images, theme aware.
); );
// mode to describe a move action // mode to describe a move action
@@ -4022,7 +4021,6 @@ const
'VT_FLAT', 'VT_FLAT',
'VT_XP', 'VT_XP',
'',//ckCustom, '',//ckCustom,
'',//ckSystem,
'',//ckSystemFlat '',//ckSystemFlat
'' //ckSystemDefault '' //ckSystemDefault
); );
@@ -12968,13 +12966,6 @@ begin
// A priori nothing changes. // A priori nothing changes.
Result := False; Result := False;
// If the old rectangle is empty then we just started the drag selection.
// So we just copy the new rectangle to the old and get out of here.
if (OldRect.Top < OldRect.Bottom) or (OldRect.Right < OldRect.Left) and
((OldRect.Left <> OldRect.Right) or (OldRect.Top <> OldRect.Bottom)) then
OldRect := NewRect
else
begin
// Determine minimum and maximum vertical coordinates to limit iteration to. // Determine minimum and maximum vertical coordinates to limit iteration to.
MinY := Min(OldRect.Top, NewRect.Top); MinY := Min(OldRect.Top, NewRect.Top);
MaxY := Max(OldRect.Bottom, NewRect.Bottom); MaxY := Max(OldRect.Bottom, NewRect.Bottom);
@@ -13120,7 +13111,6 @@ begin
Run := NextNode; Run := NextNode;
until CurrentTop > MaxY; until CurrentTop > MaxY;
end; end;
end;
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@@ -13163,13 +13153,6 @@ begin
// Switch the alignment to the opposite value in RTL context. // Switch the alignment to the opposite value in RTL context.
ChangeBiDiModeAlignment(Alignment); ChangeBiDiModeAlignment(Alignment);
// If the old rectangle is empty then we just started the drag selection.
// So we just copy the new rectangle to the old and get out of here.
if (OldRect.Top < OldRect.Bottom) or (OldRect.Right < OldRect.Left) and
((OldRect.Left <> OldRect.Right) or (OldRect.Top <> OldRect.Bottom)) then
OldRect := NewRect
else
begin
// Determine minimum and maximum vertical coordinates to limit iteration to. // Determine minimum and maximum vertical coordinates to limit iteration to.
MinY := Min(OldRect.Top, NewRect.Top); MinY := Min(OldRect.Top, NewRect.Top);
MaxY := Max(OldRect.Bottom, NewRect.Bottom); MaxY := Max(OldRect.Bottom, NewRect.Bottom);
@@ -13315,7 +13298,6 @@ begin
Run := NextNode; Run := NextNode;
until CurrentTop > MaxY; until CurrentTop > MaxY;
end; end;
end;
end; end;
//---------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------
@@ -21693,9 +21675,9 @@ begin
begin begin
FCheckImages := TBitmap.Create; FCheckImages := TBitmap.Create;
case FCheckImageKind of case FCheckImageKind of
ckSystem: ckSystemDefault:
CreateSystemImageSet(FCheckImages, False); CreateSystemImageSet(FCheckImages, False);
ckSystemFlat, ckSystemDefault: ckSystemFlat:
CreateSystemImageSet(FCheckImages, True); CreateSystemImageSet(FCheckImages, True);
else else
FCheckImages.TransparentColor := clDefault; FCheckImages.TransparentColor := clDefault;
@@ -23399,7 +23381,8 @@ begin
ClearSelection; ClearSelection;
end; end;
DoStateChange([tsDrawSelecting], [tsDrawSelPending]); DoStateChange([tsDrawSelecting], [tsDrawSelPending]);
// reset to main column for multiselection
// Reset to main column for multiselection.
FocusedColumn := FHeader.MainColumn; FocusedColumn := FHeader.MainColumn;
// The current rectangle may already include some node captions. Handle this. // The current rectangle may already include some node captions. Handle this.
@@ -29573,10 +29556,8 @@ var
{$endif} {$endif}
VAlign, VAlign,
IndentSize, IndentSize,
NodeLevel,
ButtonX, ButtonX,
ButtonY: Integer; ButtonY: Integer;
Run: PVirtualNode;
LineImage: TLineImage; LineImage: TLineImage;
PaintInfo: TVTPaintInfo; // all necessary information about a node to pass to the paint routines PaintInfo: TVTPaintInfo; // all necessary information about a node to pass to the paint routines
@@ -33001,6 +32982,7 @@ var
Alignment: TAlignment; Alignment: TAlignment;
PaintInfo: TVTPaintInfo; PaintInfo: TVTPaintInfo;
Dummy: TColumnIndex; Dummy: TColumnIndex;
LineImage: TLineImage;
begin begin
if Length(S) = 0 then if Length(S) = 0 then
@@ -33026,7 +33008,18 @@ begin
PaintInfo.Column := Column; PaintInfo.Column := Column;
PaintInfo.CellRect := Rect(0, 0, 0, 0); PaintInfo.CellRect := Rect(0, 0, 0, 0);
if Column > NoColumn then if Column > NoColumn then
PaintInfo.CellRect.Right := FHeader.Columns[Column].Width begin
PaintInfo.CellRect.Right := FHeader.Columns[Column].Width - FTextMargin;
PaintInfo.CellRect.Left := FTextMargin + FMargin;
if Column = Header.MainColumn then
begin
if toFixedIndent in FOptions.FPaintOptions then
SetLength(LineImage, 1)
else
DetermineLineImageAndSelectLevel(Node, LineImage);
Inc(PaintInfo.CellRect.Left, Length(LineImage) * Integer(Indent));
end;
end
else else
PaintInfo.CellRect.Right := ClientWidth; PaintInfo.CellRect.Right := ClientWidth;
AdjustPaintCellRect(PaintInfo, Dummy); AdjustPaintCellRect(PaintInfo, Dummy);