qskinny/playground/grids/GridGraphics.h
2024-01-17 14:31:45 +01:00

41 lines
1.3 KiB
C++

/******************************************************************************
* QSkinny - Copyright (C) The authors
* SPDX-License-Identifier: BSD-3-Clause
*****************************************************************************/
#pragma once
#include "GridAccessor.h"
#include <QGraphicsView>
class QGraphicsGridLayout;
class GridGraphics final : public QGraphicsView, public GridAccessor
{
public:
GridGraphics( QWidget* parent = nullptr );
~GridGraphics() override;
void insert( const QByteArray& colorName,
int row, int column, int rowSpan, int columnSpan ) override;
void setSpacing( Qt::Orientations, int spacing ) override;
void setStretchFactor( int pos, Qt::Orientation, int stretch ) override;
void setSizeHint( int pos, Qt::Orientation, Qt::SizeHint, int hint ) override;
void setSizeHintAt( int index, Qt::Orientation, Qt::SizeHint, int hint ) override;
void setSizePolicyAt( int index, Qt::Orientation, int policy ) override;
void setAlignmentAt( int index, Qt::Alignment ) override;
void setRetainSizeWhenHiddenAt( int index, bool on ) override;
void setVisibleAt( int index, bool on ) override;
QSize preferredSize() const override;
protected:
void resizeEvent( QResizeEvent* ) override;
private:
QGraphicsGridLayout* m_layout;
};