1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2019 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  * @file kicad/kicad_id.h
26  * @brief IDs used in KiCad main frame foe menuitems and tools.
27  */
28 
29 #ifndef KICAD_ID_H
30 #define KICAD_ID_H
31 
32 #include <id.h>
33 #include <eda_base_frame.h>
34 
35 /**
36  * Command IDs for KiCad.
37  *
38  * Please add IDs that are unique to Kicad here and not in the global id.h file.
39  * This will prevent the entire project from being rebuilt when adding
40  * new commands to KiCad.
41  *
42  * However, now the Kicad manager and other sub applications are running inside
43  * the same application, these IDs are kept unique inside the whole Kicad code
44  * See the global id.h which reserves room for the Kicad manager IDs
45  * and expand this room if needed
46  *
47  * We have experienced issues with duplicate menus IDs between frames
48  * because wxUpdateUIEvent events are sent to parent frames, when a wxUpdateUIEvent
49  * event function does not exists for some menuitems ID, and therefore
50  * with duplicate menuitems IDs in different frames, the wrong menuitem can be used
51  * by a function called by the wxUpdateUIEvent event loop.
52  *
53  * The number of items in this list should be less than ROOM_FOR_KICADMANAGER (see id.h)
54  */
55 
56 enum id_kicad_frm {
57     ID_LEFT_FRAME = ID_KICAD_MANAGER_START,
58     ID_PROJECT_TREE,
59     ID_PROJECT_TXTEDIT,
60     ID_PROJECT_SWITCH_TO_OTHER,
61     ID_PROJECT_NEWDIR,
62     ID_PROJECT_OPEN_DIR,
63     ID_PROJECT_DELETE,
64     ID_PROJECT_RENAME,
65 
66     ID_EDIT_LOCAL_FILE_IN_TEXT_EDITOR,
67     ID_BROWSE_IN_FILE_EXPLORER,
68     ID_SAVE_AND_ZIP_FILES,
69     ID_READ_ZIP_ARCHIVE,
70     ID_INIT_WATCHED_PATHS,
71     ID_IMPORT_EAGLE_PROJECT,
72     ID_IMPORT_CADSTAR_ARCHIVE_PROJECT,
73 
74     // Please, verify: the number of items in this list should be
75     // less than ROOM_FOR_KICADMANAGER (see id.h)
76     ID_KICADMANAGER_END_LIST
77 };
78 
79 #endif
80