mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1343 Property Editor : Use vertical scroll bar only
This commit is contained in:
@@ -40,8 +40,37 @@
|
|||||||
#include "cafPdmObject.h"
|
#include "cafPdmObject.h"
|
||||||
#include "cafPdmUiDefaultObjectEditor.h"
|
#include "cafPdmUiDefaultObjectEditor.h"
|
||||||
|
|
||||||
|
#include <QEvent>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QScrollArea>
|
#include <QScrollArea>
|
||||||
|
#include <QScrollBar>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QVerticalScrollArea::QVerticalScrollArea(QWidget* parent) :
|
||||||
|
QScrollArea(parent)
|
||||||
|
{
|
||||||
|
setWidgetResizable(true);
|
||||||
|
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||||
|
setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
bool QVerticalScrollArea::eventFilter(QObject* object, QEvent* event)
|
||||||
|
{
|
||||||
|
// This works because QScrollArea::setWidget installs an eventFilter on the widget
|
||||||
|
if (object && object == widget() && event->type() == QEvent::Resize)
|
||||||
|
{
|
||||||
|
setMinimumWidth(widget()->minimumSizeHint().width() + verticalScrollBar()->width());
|
||||||
|
}
|
||||||
|
|
||||||
|
return QScrollArea::eventFilter(object, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
namespace caf
|
namespace caf
|
||||||
@@ -54,7 +83,7 @@ namespace caf
|
|||||||
PdmUiPropertyView::PdmUiPropertyView(QWidget* parent, Qt::WindowFlags f)
|
PdmUiPropertyView::PdmUiPropertyView(QWidget* parent, Qt::WindowFlags f)
|
||||||
: QWidget (parent, f)
|
: QWidget (parent, f)
|
||||||
{
|
{
|
||||||
QScrollArea* scrollArea = new QScrollArea(this);
|
QVerticalScrollArea* scrollArea = new QVerticalScrollArea(this);
|
||||||
scrollArea->setFrameStyle(QFrame::NoFrame);
|
scrollArea->setFrameStyle(QFrame::NoFrame);
|
||||||
scrollArea->setWidgetResizable(true);
|
scrollArea->setWidgetResizable(true);
|
||||||
|
|
||||||
|
|||||||
@@ -43,6 +43,21 @@
|
|||||||
|
|
||||||
class QVBoxLayout;
|
class QVBoxLayout;
|
||||||
|
|
||||||
|
|
||||||
|
#include <QScrollArea>
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
class QVerticalScrollArea : public QScrollArea
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit QVerticalScrollArea(QWidget* parent = 0);
|
||||||
|
virtual bool eventFilter(QObject* object, QEvent* event) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
namespace caf
|
namespace caf
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user