1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2020 KiCad Developers, see AUTHORS.txt for contributors.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you may find one here:
18  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  * or you may search the http://www.gnu.org website for the version 2 license,
20  * or you may write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
22  */
23 
24 
25 #ifndef TREE_FILE_TYPE_H
26 #define TREE_FILE_TYPE_H
27 
28 // Identify the type of files handled by KiCad manager
29 //
30 // When changing this enum  please verify (and perhaps update)
31 // PROJECT_TREE_PANE::GetFileExt(),
32 // s_AllowedExtensionsToList[]
33 enum class TREE_FILE_TYPE
34 {
35     ROOT = 0,
36     LEGACY_PROJECT,   // Legacy project file (.pro)
37     JSON_PROJECT,     // JSON formatted project file (.kicad_pro)
38     LEGACY_SCHEMATIC, // Schematic file (.sch)
39     SEXPR_SCHEMATIC,  // Schematic file (.kicad_sch)
40     LEGACY_PCB,       // board file (.brd) legacy format
41     SEXPR_PCB,        // board file (.kicad_brd) new s expression format
42     GERBER,           // Gerber  file (.pho, .g*)
43     GERBER_JOB_FILE,  // Gerber  file (.gbrjob)
44     HTML,             // HTML file (.htm, *.html)
45     PDF,              // PDF file (.pdf)
46     TXT,              // ascii text file (.txt)
47     NET,              // netlist file (.net)
48     UNKNOWN,
49     DIRECTORY,
50     CMP_LINK,              // cmp/footprint link file (.cmp)
51     REPORT,                // report file (.rpt)
52     FP_PLACE,              // footprints position (place) file (.pos)
53     DRILL,                 // Excellon drill file (.drl)
54     DRILL_NC,              // Similar Excellon drill file (.nc)
55     DRILL_XNC,             // Similar Excellon drill file (.xnc)
56     SVG,                   // SVG file (.svg)
57     DRAWING_SHEET,         // Drawing sheet file (.kicad_wks)
58     FOOTPRINT_FILE,        // footprint file (.kicad_mod)
59     SCHEMATIC_LIBFILE,     // schematic library file (.lib)
60     SEXPR_SYMBOL_LIB_FILE, // s-expression symbol library file (.kicad_sym)
61     DESIGN_RULES,          // design rules (.kicad_dru)
62     MAX
63 };
64 
65 #endif // TREE_FILE_TYPE_H
66