File indexing completed on 2024-04-28 17:06:20

0001 /*
0002     SPDX-FileCopyrightText: 2010 Jan Lepper <krusader@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2010-2022 Krusader Krew <https://krusader.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef KRPANEL_H
0009 #define KRPANEL_H
0010 
0011 // QtCore
0012 #include <QUrl>
0013 
0014 class AbstractPanelManager;
0015 class ListPanelFunc;
0016 class ListPanel;
0017 class KrView;
0018 
0019 class KrPanel
0020 {
0021 public:
0022     KrPanel(AbstractPanelManager *manager, ListPanel *panel, ListPanelFunc *func)
0023         : gui(panel)
0024         , func(func)
0025         , view(nullptr)
0026         , _manager(manager)
0027     {
0028     }
0029     virtual ~KrPanel()
0030     {
0031     }
0032     QUrl virtualPath() const; // the current directory path of this panel
0033     AbstractPanelManager *manager() const
0034     {
0035         return _manager;
0036     }
0037     KrPanel *otherPanel() const;
0038     bool isLeft() const;
0039     virtual void otherPanelChanged() = 0;
0040 
0041     ListPanel *const gui;
0042     ListPanelFunc *const func;
0043     KrView *view;
0044 
0045 protected:
0046     AbstractPanelManager *_manager;
0047 };
0048 
0049 #endif