Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
Executable
+92
@@ -0,0 +1,92 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* GridLaout with auto column layouter.
|
||||
* Layouts all widgets depending on the maxColumn value
|
||||
* releayouts if maxColumn changed
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <QGridLayout>
|
||||
#include <QVector>
|
||||
|
||||
#include "lts_widgets_export.h"
|
||||
#include "lts_base.h"
|
||||
|
||||
class QWidget;
|
||||
|
||||
namespace LtsWidgets
|
||||
{
|
||||
/**
|
||||
* @brief The LtsGridLayout class provides a LayoutItem for the Lts Layout System and is the equivalent to the QGridLayout.
|
||||
* An LtsGridLayout can be added to a Widget as any other LayoutItem
|
||||
* A LtsGridLayout got two modes:
|
||||
* The first one is the normal operation Mode with a fixed ColumnSize
|
||||
* every time a widget is added wit add_widget (not addWidget!)
|
||||
* it will use the next column at the current used row
|
||||
* when maxColum is reached in the current row
|
||||
* the Widget will be added to a new row
|
||||
*
|
||||
* The Second Mode is enabeled with AutoSize
|
||||
* There the MaxColumnSize will be calculated
|
||||
* when a rezize event accure
|
||||
*/
|
||||
class LTSWIDGETS_EXPORT LtsGridLayout : public QGridLayout
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor for LtsGridLayout
|
||||
* @param ButtonSize for calcualting Gridzize on autoSize
|
||||
* @param Parent widget
|
||||
* @param max Column to use
|
||||
*/
|
||||
explicit LtsGridLayout(LtsWidgets::ButtonSize buttonSize, QWidget *parent = nullptr, int maxColumn = 1);
|
||||
|
||||
/**
|
||||
* @brief adds a QWidget to the Layout in the current Row
|
||||
* if MaxColumn is reached, the widget will be added to a new row
|
||||
* @param QWidget addet to the Layout
|
||||
*/
|
||||
void add_widget(QWidget *widget);
|
||||
|
||||
/**
|
||||
* @brief enables autoSize
|
||||
* calculates on rezize the MaxColum count for given ButtonSize
|
||||
* @param enable autoSize
|
||||
*/
|
||||
void setAutoSize(bool enable);
|
||||
|
||||
/**
|
||||
* @brief set MaxColumn
|
||||
* @param int maxColum count
|
||||
*/
|
||||
void setMaxColumn(int max);
|
||||
|
||||
|
||||
private:
|
||||
void addWidgetInternal(QWidget *widget);
|
||||
|
||||
public Q_SLOTS:
|
||||
void onParentResize(QResizeEvent *e);
|
||||
|
||||
|
||||
private Q_SLOTS:
|
||||
void onWidgetDestroyed();
|
||||
private:
|
||||
|
||||
LtsWidgets::ButtonSize m_buttonSize;
|
||||
int m_defaultMaxColumn;
|
||||
int m_maxColumn;
|
||||
int m_colSize;
|
||||
QVector<QWidget *> m_widgetList;
|
||||
QRect m_oldGeo;
|
||||
QSize m_oldSize;
|
||||
bool m_autoSize;
|
||||
|
||||
|
||||
};
|
||||
|
||||
} // namespace
|
||||
Reference in new issue
Block a user