KiCad PCB EDA Suite
Loading...
Searching...
No Matches
project_tree.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2010-2014 Jean-Pierre Charras
5 * Copyright (C) 2004-2014 KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, you may find one here:
19 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20 * or you may search the http://www.gnu.org website for the version 2 license,
21 * or you may write to the Free Software Foundation, Inc.,
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23 */
24
25#ifndef PROJECT_TREE_H
26#define PROJECT_TREE_H
27
28#include <memory>
29
31
32#include <wx/treectrl.h>
33
34#include "tree_file_type.h"
35
37struct git_repository;
38
42class PROJECT_TREE : public wxTreeCtrl
43{
44 DECLARE_DYNAMIC_CLASS( PROJECT_TREE )
45
46private:
48 wxImageList* m_imageList;
49 wxImageList* m_statusImageList;
50 std::unique_ptr<KIGIT_COMMON> m_gitCommon;
51
52public:
54
57
58 void LoadIcons();
59
60 void SetGitRepo( git_repository* aRepo ) { m_gitCommon->SetRepo( aRepo ); }
61 git_repository* GetGitRepo() const { return m_gitCommon->GetRepo(); }
62
63 KIGIT_COMMON* GitCommon() const { return m_gitCommon.get(); }
64
65private:
66 /* overridden sort function */
67 int OnCompareItems( const wxTreeItemId& item1, const wxTreeItemId& item2 ) override;
68};
69
70#endif // PROJECT_TREE_H
PROJECT_TREE_PANE Window to display the tree files.
PROJECT_TREE This is the class to show (as a tree) the files in the project directory.
Definition: project_tree.h:43
PROJECT_TREE_PANE * m_projectTreePane
Definition: project_tree.h:47
git_repository * GetGitRepo() const
Definition: project_tree.h:61
KIGIT_COMMON * GitCommon() const
Definition: project_tree.h:63
int OnCompareItems(const wxTreeItemId &item1, const wxTreeItemId &item2) override
wxImageList * m_statusImageList
Definition: project_tree.h:49
std::unique_ptr< KIGIT_COMMON > m_gitCommon
Definition: project_tree.h:50
void LoadIcons()
wxImageList * m_imageList
Definition: project_tree.h:48
void SetGitRepo(git_repository *aRepo)
Definition: project_tree.h:60
PROJECT_TREE_PANE * GetProjectTreePane() const
Definition: project_tree.h:53