Carbon: fixed showing icons in TListView = vsList, started TListView vsSmallIcon and vsIcon.

git-svn-id: trunk@31551 -
This commit is contained in:
zeljko 2011-07-04 08:54:36 +00:00
parent 3e1143b234
commit 387a2566e5

View File

@ -499,7 +499,7 @@ begin
AddDataBrowserListViewColumn(FOwner.Widget, FDesc, FOwner.GetInsertIndex(Self)), AddDataBrowserListViewColumn(FOwner.Widget, FDesc, FOwner.GetInsertIndex(Self)),
Self, 'Add', 'AddDataBrowserListViewColumn'); Self, 'Add', 'AddDataBrowserListViewColumn');
SetHeaderWidth(FWidth) SetHeaderWidth(FWidth);
end; end;
procedure TCarbonListColumn.Remove; procedure TCarbonListColumn.Remove;
@ -637,6 +637,14 @@ begin
if FOwner.IsOwnerDrawn then if FOwner.IsOwnerDrawn then
Result := kDataBrowserCustomType Result := kDataBrowserCustomType
else else
if FOwner is TCarbonListView then
begin
case TCarbonListView(FOwner).FStyle of
vsList: Result := kDataBrowserIconAndTextType;
vsSmallIcon, vsIcon: Result := kDataBrowserIconType;
end;
end else
Result := kDataBrowserTextType; Result := kDataBrowserTextType;
end; end;
@ -1690,6 +1698,7 @@ begin
view := TListView(LCLObject); view := TListView(LCLObject);
idx := view.Items[AIndex].ImageIndex; idx := view.Items[AIndex].ImageIndex;
if view.ViewStyle <> vsIcon then begin if view.ViewStyle <> vsIcon then begin
imgs := view.SmallImages; imgs := view.SmallImages;
size := 16; size := 16;
@ -1718,8 +1727,7 @@ var
begin begin
view := TListView(LCLObject); view := TListView(LCLObject);
if not Assigned(view) then Exit; if not Assigned(view) then Exit;
if { (view.ViewStyle = vsReport) and } (FColumns.Count > 0) then
if (view.ViewStyle = vsReport) and (FColumns.Count > 0) then
begin begin
firstIconed := Assigned(view.SmallImages); firstIconed := Assigned(view.SmallImages);
C := TCarbonListColumn(FColumns[0]); C := TCarbonListColumn(FColumns[0]);
@ -1729,6 +1737,7 @@ begin
C.ReCreate; C.ReCreate;
end; end;
end; end;
end; end;
procedure TCarbonListView.ClearIconCache; procedure TCarbonListView.ClearIconCache;
@ -1746,10 +1755,8 @@ procedure TCarbonListView.SetViewStyle(AStyle: TViewStyle);
begin begin
FStyle:=AStyle; FStyle:=AStyle;
ListViewModes[FStyle].Apply(Self); ListViewModes[FStyle].Apply(Self);
if FStyle = vsList then if FStyle <> vsReport then
begin
ShowAsList(True); ShowAsList(True);
end;
end; end;
procedure TCarbonListView.DoColumnClicked(MouseX, MouseY: Integer); procedure TCarbonListView.DoColumnClicked(MouseX, MouseY: Integer);