mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-19 16:59:20 +02:00
Qt: TQtTableView implemented.
git-svn-id: trunk@14336 -
This commit is contained in:
parent
ea2b67af4b
commit
13b1c51267
@ -893,6 +893,27 @@ type
|
||||
procedure SignalCurrentItemChanged(current: QTreeWidgetItemH; previous: QTreeWidgetItemH) cdecl;
|
||||
procedure SignalItemSelectionChanged; cdecl;
|
||||
end;
|
||||
|
||||
{TQtTableView}
|
||||
|
||||
TQtTableView = class(TQtAbstractItemView)
|
||||
private
|
||||
FVerticalHeader: TQtHeaderView;
|
||||
FHorizontalHeader: TQtHeaderView;
|
||||
public
|
||||
function verticalHeader: TQtHeaderView;
|
||||
function horizontalHeader: TQtHeaderView;
|
||||
function CreateWidget(const Params: TCreateParams): QWidgetH; override;
|
||||
function getViewPort: QWidgetH;
|
||||
function getClientBounds: TRect; override;
|
||||
procedure grabMouse; override;
|
||||
procedure setColor(const Value: PQColor); override;
|
||||
procedure setVisible(visible: Boolean); override;
|
||||
function getGridStyle: QtPenStyle;
|
||||
procedure setGridStyle(ANewStyle: QtPenStyle);
|
||||
public
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
{ TQtMenu }
|
||||
|
||||
@ -6472,6 +6493,95 @@ begin
|
||||
|
||||
end;
|
||||
|
||||
{TQtTableView}
|
||||
|
||||
function TQtTableView.CreateWidget(const Params: TCreateParams): QWidgetH;
|
||||
begin
|
||||
{$ifdef VerboseQt}
|
||||
WriteLn('TQtTableView.CreateWidget');
|
||||
{$endif}
|
||||
HasPaint := False;
|
||||
Result := QTableView_create();
|
||||
QWidget_setAutoFillBackground(Result, True);
|
||||
end;
|
||||
|
||||
function TQtTableView.verticalHeader: TQtHeaderView;
|
||||
begin
|
||||
{$ifdef VerboseQt}
|
||||
WriteLn('TQtTableView.verticalHeader');
|
||||
{$endif}
|
||||
if FVerticalHeader = nil then
|
||||
FVerticalHeader := TQtHeaderView.CreateFrom(LCLObject, QTableView_verticalHeader(QTableViewH(Widget)));
|
||||
Result := FVerticalHeader;
|
||||
end;
|
||||
|
||||
function TQtTableView.horizontalHeader: TQtHeaderView;
|
||||
var
|
||||
AParams: TCreateParams;
|
||||
begin
|
||||
{$ifdef VerboseQt}
|
||||
WriteLn('TQtTableView.horizontalHeader');
|
||||
{$endif}
|
||||
if FHorizontalHeader = nil then
|
||||
FHorizontalHeader := TQtHeaderView.CreateFrom(LCLObject, QTableView_horizontalHeader(QTableViewH(Widget)));
|
||||
Result := FHorizontalHeader;
|
||||
end;
|
||||
|
||||
procedure TQtTableView.setColor(const Value: PQColor);
|
||||
var
|
||||
Palette: QPaletteH;
|
||||
begin
|
||||
{$ifdef VerboseQt}
|
||||
WriteLn('TQtTableView.setColor');
|
||||
{$endif}
|
||||
Palette := QPalette_create(QWidget_palette(Widget));
|
||||
try
|
||||
QPalette_setColor(Palette, QPaletteWindow, Value);
|
||||
QWidget_setPalette(Widget, Palette);
|
||||
finally
|
||||
QPalette_destroy(Palette);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TQtTableView.setVisible(visible: Boolean);
|
||||
begin
|
||||
QWidget_setVisible(Widget, visible);
|
||||
end;
|
||||
|
||||
function TQtTableView.getGridStyle: QtPenStyle;
|
||||
begin
|
||||
Result := QTableView_gridStyle(QTableViewH(Widget));
|
||||
end;
|
||||
|
||||
procedure TQtTableView.setGridStyle(ANewStyle: QtPenStyle);
|
||||
begin
|
||||
QTableView_setGridStyle(QTableViewH(Widget), ANewStyle);
|
||||
end;
|
||||
|
||||
destructor TQtTableView.Destroy;
|
||||
begin
|
||||
if FVerticalHeader <> nil then
|
||||
FVerticalHeader.Free;
|
||||
if FHorizontalHeader <> nil then
|
||||
FHorizontalHeader.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
function TQtTableView.getViewPort: QWidgetH;
|
||||
begin
|
||||
Result := QAbstractScrollArea_viewport(QAbstractScrollAreaH(Widget));
|
||||
end;
|
||||
|
||||
function TQtTableView.getClientBounds: TRect;
|
||||
begin
|
||||
QWidget_contentsRect(Widget, @Result);
|
||||
end;
|
||||
|
||||
procedure TQtTableView.grabMouse;
|
||||
begin
|
||||
QWidget_grabMouse(Widget);
|
||||
end;
|
||||
|
||||
|
||||
{ TQtMenu }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user