mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 21:41:35 +02:00
Qt: properly set column widths, also ColumnDelete() fixed. fixes #16928
git-svn-id: trunk@26652 -
This commit is contained in:
parent
9d983ccdcd
commit
46e13be16d
@ -1215,6 +1215,7 @@ type
|
|||||||
function selectedItems: TPtrIntArray;
|
function selectedItems: TPtrIntArray;
|
||||||
procedure setHeaderVisible(AVisible: Boolean);
|
procedure setHeaderVisible(AVisible: Boolean);
|
||||||
procedure setItemSelected(AItem: QTreeWidgetItemH; ASelect: Boolean);
|
procedure setItemSelected(AItem: QTreeWidgetItemH; ASelect: Boolean);
|
||||||
|
procedure setStretchLastSection(AValue: Boolean);
|
||||||
procedure sortItems(Acolumn: Integer; AOrder: QtSortOrder);
|
procedure sortItems(Acolumn: Integer; AOrder: QtSortOrder);
|
||||||
public
|
public
|
||||||
procedure AttachEvents; override;
|
procedure AttachEvents; override;
|
||||||
@ -9717,6 +9718,15 @@ begin
|
|||||||
DeliverMessage(Msg);
|
DeliverMessage(Msg);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TQtTreeWidget.setStretchLastSection(AValue: Boolean);
|
||||||
|
begin
|
||||||
|
if (csDesigning in LCLObject.ComponentState) then
|
||||||
|
QHeaderView_setStretchLastSection(QTreeView_header(QTreeViewH(Widget)),
|
||||||
|
AValue)
|
||||||
|
else
|
||||||
|
Header.setStretchLastSection(AValue);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TQtTreeWidget.sortItems(Acolumn: Integer; AOrder: QtSortOrder);
|
procedure TQtTreeWidget.sortItems(Acolumn: Integer; AOrder: QtSortOrder);
|
||||||
begin
|
begin
|
||||||
QTreeWidget_sortItems(QTreeWidgetH(Widget), AColumn, AOrder);
|
QTreeWidget_sortItems(QTreeWidgetH(Widget), AColumn, AOrder);
|
||||||
|
@ -639,6 +639,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
QtTreeWidget := TQtTreeWidget.Create(AWinControl, AParams);
|
QtTreeWidget := TQtTreeWidget.Create(AWinControl, AParams);
|
||||||
QtTreeWidget.ViewStyle := Ord(TListView(AWinControl).ViewStyle);
|
QtTreeWidget.ViewStyle := Ord(TListView(AWinControl).ViewStyle);
|
||||||
|
QtTreeWidget.setStretchLastSection(False);
|
||||||
QtTreeWidget.setRootIsDecorated(False);
|
QtTreeWidget.setRootIsDecorated(False);
|
||||||
QtTreeWidget.AttachEvents;
|
QtTreeWidget.AttachEvents;
|
||||||
Result := TLCLIntfHandle(QtTreeWidget);
|
Result := TLCLIntfHandle(QtTreeWidget);
|
||||||
@ -652,9 +653,6 @@ end;
|
|||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
class procedure TQtWSCustomListView.ColumnDelete(const ALV: TCustomListView;
|
class procedure TQtWSCustomListView.ColumnDelete(const ALV: TCustomListView;
|
||||||
const AIndex: Integer);
|
const AIndex: Integer);
|
||||||
var
|
|
||||||
QtTreeWidget: TQtTreeWidget;
|
|
||||||
TWI: QTreeWidgetItemH;
|
|
||||||
begin
|
begin
|
||||||
if not WSCheckHandleAllocated(ALV, 'ColumnDelete') then
|
if not WSCheckHandleAllocated(ALV, 'ColumnDelete') then
|
||||||
Exit;
|
Exit;
|
||||||
@ -663,9 +661,9 @@ begin
|
|||||||
if IsIconView(ALV) then
|
if IsIconView(ALV) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
QtTreeWidget := TQtTreeWidget(ALV.Handle);
|
// we must recreate handle since there's no column removal support
|
||||||
TWI := QtTreeWidget.headerItem;
|
// in our bindings (protected methods in qt).
|
||||||
QTreeWidgetItem_takeChild(TWI, AIndex);
|
RecreateWnd(ALV);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
@ -693,6 +691,9 @@ begin
|
|||||||
if QtTreeWidget.ColCount <> TListView(ALV).Columns.Count then
|
if QtTreeWidget.ColCount <> TListView(ALV).Columns.Count then
|
||||||
QtTreeWidget.ColCount := TListView(ALV).Columns.Count;
|
QtTreeWidget.ColCount := TListView(ALV).Columns.Count;
|
||||||
|
|
||||||
|
if (QtTreeWidget.ColCount <= 1) and TListView(ALV).ShowColumnHeaders then
|
||||||
|
QtTreeWidget.setHeaderVisible(True);
|
||||||
|
|
||||||
TWI := QtTreeWidget.headerItem;
|
TWI := QtTreeWidget.headerItem;
|
||||||
|
|
||||||
if QTreeWidgetItem_childCount(TWI) < (AIndex + 1) then
|
if QTreeWidgetItem_childCount(TWI) < (AIndex + 1) then
|
||||||
@ -706,6 +707,7 @@ begin
|
|||||||
|
|
||||||
if (csDesigning in ALV.ComponentState) then
|
if (csDesigning in ALV.ComponentState) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
QtTreeWidget.Header.Clickable := TListView(ALV).ColumnClick;
|
QtTreeWidget.Header.Clickable := TListView(ALV).ColumnClick;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1721,7 +1723,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
if not IsIconView(ALV) then
|
if not IsIconView(ALV) then
|
||||||
with TQtTreeWidget(ALV.Handle) do
|
with TQtTreeWidget(ALV.Handle) do
|
||||||
setHeaderVisible(AIsSet and (TListView(ALV).ViewStyle = vsReport));
|
setHeaderVisible(AIsSet and (TListView(ALV).ViewStyle = vsReport)
|
||||||
|
and (TListView(ALV).Columns.Count > 0) );
|
||||||
end;
|
end;
|
||||||
lvpReadOnly: QtItemView.setEditTriggers(BoolToEditTriggers[AIsSet]);
|
lvpReadOnly: QtItemView.setEditTriggers(BoolToEditTriggers[AIsSet]);
|
||||||
lvpRowSelect:
|
lvpRowSelect:
|
||||||
@ -1792,7 +1795,8 @@ begin
|
|||||||
QtTreeWidget := TQtTreeWidget(ALV.Handle);
|
QtTreeWidget := TQtTreeWidget(ALV.Handle);
|
||||||
ItemViewWidget := QTreeWidgetH(QtTreeWidget.Widget);
|
ItemViewWidget := QTreeWidgetH(QtTreeWidget.Widget);
|
||||||
with QtTreeWidget do
|
with QtTreeWidget do
|
||||||
setHeaderVisible(TListView(ALV).ShowColumnHeaders and (AValue = vsReport));
|
setHeaderVisible(TListView(ALV).ShowColumnHeaders and (AValue = vsReport)
|
||||||
|
and (TListView(ALV).Columns.Count > 0) );
|
||||||
end;
|
end;
|
||||||
case AValue of
|
case AValue of
|
||||||
vsIcon:
|
vsIcon:
|
||||||
|
Loading…
Reference in New Issue
Block a user