1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 */ 9 10 #ifndef INCLUDED_BASCTL_SOURCE_BASICIDE_LINENUMBERWINDOW_HXX 11 #define INCLUDED_BASCTL_SOURCE_BASICIDE_LINENUMBERWINDOW_HXX 12 13 14 namespace basctl 15 { 16 17 class ModulWindow; 18 19 class LineNumberWindow : public vcl::Window 20 { 21 private: 22 VclPtr<ModulWindow> m_pModulWindow; 23 int m_nWidth; 24 long m_nCurYOffset; 25 int m_nBaseWidth; 26 virtual void DataChanged (DataChangedEvent const& rDCEvt) override; 27 28 protected: 29 virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override; 30 31 public: 32 LineNumberWindow (vcl::Window* pParent, ModulWindow* pModulWin); 33 virtual ~LineNumberWindow() override; 34 virtual void dispose() override; 35 36 void DoScroll( long nVertScroll ); 37 38 bool SyncYOffset(); GetCurYOffset()39 long& GetCurYOffset() { return m_nCurYOffset;} 40 GetWidth() const41 int GetWidth() const { return m_nWidth;} 42 }; 43 44 } // namespace basctl 45 46 #endif // INCLUDED_BASCTL_SOURCE_BASICIDE_LINENUMBERWINDOW_HXX 47 48 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 49