tdf#124907 vcl: react to pan gesture for listbox and other widgets

Change-Id: I4579f8edd2bf24506b1d55a7291cd86e276f30a4
Reviewed-on: https://gerrit.libreoffice.org/74087
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
diff --git a/vcl/source/control/listctrl.cxx b/vcl/source/control/listctrl.cxx
index b3b4a1a..7ac9ee0 100644
--- a/vcl/source/control/listctrl.cxx
+++ b/vcl/source/control/listctrl.cxx
@@ -161,9 +161,15 @@
    if (rNEvt.GetType() == MouseNotifyEvent::COMMAND)
    {
        const CommandEvent* pEvent = rNEvt.GetCommandEvent();
        if (pEvent && pEvent->GetCommand() == CommandEventId::Wheel)
        if (pEvent)
        {
            HandleScrollCommand(*pEvent, nullptr, mpScrollBar.get());
            CommandEventId nCommand = pEvent->GetCommand();

            if (nCommand == CommandEventId::Wheel ||
                nCommand == CommandEventId::Gesture)
            {
                HandleScrollCommand(*pEvent, nullptr, mpScrollBar.get());
            }
        }
    }
    return true;
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index 1419602..df9e236 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -625,9 +625,11 @@
bool ImpVclMEdit::HandleCommand( const CommandEvent& rCEvt )
{
    bool bDone = false;
    if ( ( rCEvt.GetCommand() == CommandEventId::Wheel ) ||
         ( rCEvt.GetCommand() == CommandEventId::StartAutoScroll ) ||
         ( rCEvt.GetCommand() == CommandEventId::AutoScroll ) )
    CommandEventId nCommand = rCEvt.GetCommand();
    if (nCommand == CommandEventId::Wheel ||
        nCommand == CommandEventId::StartAutoScroll ||
        nCommand == CommandEventId::AutoScroll ||
        nCommand == CommandEventId::Gesture)
    {
        ScrollBar* pHScrollBar = mpHScrollBar->IsVisible() ? mpHScrollBar.get() : nullptr;
        ScrollBar* pVScrollBar = mpVScrollBar->IsVisible() ? mpVScrollBar.get() : nullptr;
diff --git a/vcl/source/treelist/svimpbox.cxx b/vcl/source/treelist/svimpbox.cxx
index e9b88fd..41bc706 100644
--- a/vcl/source/treelist/svimpbox.cxx
+++ b/vcl/source/treelist/svimpbox.cxx
@@ -2895,15 +2895,20 @@

void SvImpLBox::Command( const CommandEvent& rCEvt )
{
    CommandEventId   nCommand = rCEvt.GetCommand();
    CommandEventId nCommand = rCEvt.GetCommand();

    if( nCommand == CommandEventId::ContextMenu )
        m_aEditIdle.Stop();

    // scroll mouse event?
    if( ( ( nCommand == CommandEventId::Wheel ) || ( nCommand == CommandEventId::StartAutoScroll ) || ( nCommand == CommandEventId::AutoScroll ) )
        && m_pView->HandleScrollCommand( rCEvt, m_aHorSBar.get(), m_aVerSBar.get() ) )
    if (nCommand == CommandEventId::Wheel ||
        nCommand == CommandEventId::StartAutoScroll ||
        nCommand == CommandEventId::AutoScroll ||
        nCommand == CommandEventId::Gesture)
    {
        if (m_pView->HandleScrollCommand(rCEvt, m_aHorSBar.get(), m_aVerSBar.get()))
            return;
    }

    if( m_bContextMenuHandling && nCommand == CommandEventId::ContextMenu )
    {