Files
o3de/Code/Tools/Standalone/Source/Driller/IO/StreamerDataView.cpp
T
Steve Pham 38261d0800 Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
2021-07-16 15:25:48 -07:00

57 lines
1.4 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include "Woodpecker_precompiled.h"
#include "StreamerDataView.hxx"
#include <Woodpecker/Driller/IO/moc_StreamerDataView.cpp>
#include <QTimer>
#include <QScrollBar>
namespace Driller
{
StreamerDrillerTableView::StreamerDrillerTableView(QWidget* pParent)
: QTableView(pParent)
, m_isScrollAfterInsert(true)
{
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
m_scheduledMaxScroll = false;
}
StreamerDrillerTableView::~StreamerDrillerTableView()
{
}
void StreamerDrillerTableView::rowsAboutToBeInserted()
{
m_isScrollAfterInsert = IsAtMaxScroll();
}
void StreamerDrillerTableView::rowsInserted()
{
if ((m_isScrollAfterInsert) && (!m_scheduledMaxScroll))
{
m_scheduledMaxScroll = true;
QTimer::singleShot(0, this, SLOT(doScrollToBottom()));
}
}
void StreamerDrillerTableView::doScrollToBottom()
{
m_scheduledMaxScroll = false;
scrollToBottom();
m_isScrollAfterInsert = true;
}
bool StreamerDrillerTableView::IsAtMaxScroll() const
{
return (verticalScrollBar()->value() == verticalScrollBar()->maximum());
}
}