office-gobmx/basctl/source/basicide/LineStatusControl.cxx
Rafael Lima d9d9ec7039 tdf#158749 Open "Go to Line" dialog from the statusbar in Basic IDE
With this change, if the user clicks the StatusGetPosition item in the status bar, the Go To Line dialog will be shown.

Change-Id: Iba75e2dbf6ba83fce24e1af237bdf9813d4ecb69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162108
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-01-23 12:11:33 +01:00

45 lines
1.4 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <strings.hrc>
#include <LineStatusControl.hxx>
#include <svl/stritem.hxx>
#include <vcl/status.hxx>
#include <iderid.hxx>
namespace basctl
{
SFX_IMPL_STATUSBAR_CONTROL(LineStatusControl, SfxStringItem);
LineStatusControl::LineStatusControl(sal_uInt16 _nSlotId, sal_uInt16 _nId, StatusBar& rStb)
: SfxStatusBarControl(_nSlotId, _nId, rStb)
{
}
LineStatusControl::~LineStatusControl() {}
void LineStatusControl::StateChangedAtStatusBarControl(sal_uInt16 /*nSID*/, SfxItemState eState,
const SfxPoolItem* pState)
{
if (eState == SfxItemState::DEFAULT)
{
// Can access pState
GetStatusBar().SetItemText(GetId(), static_cast<const SfxStringItem*>(pState)->GetValue());
GetStatusBar().SetQuickHelpText(GetId(), IDEResId(RID_LINE_STATUS_CONTROL));
}
else
{
GetStatusBar().SetItemText(GetId(), u""_ustr);
GetStatusBar().SetQuickHelpText(GetId(), u""_ustr);
}
}
} // namespace basctl
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */