KiCad PCB EDA Suite
Loading...
Searching...
No Matches
id.h File Reference
#include <wx/defs.h>

Go to the source code of this file.

Macros

#define ROOM_FOR_KICADMANAGER   50
 Common command IDs shared by more than one of the KiCad applications.
 
#define ROOM_FOR_3D_VIEWER   100
 
#define ROOM_FOR_PANEL_PREV_MODEL   50
 
#define DEFAULT_FILE_HISTORY_SIZE   9
 IDs range for menuitems file history: The default range file history size is 9 (compatible with default wxWidget range).
 
#define MAX_FILE_HISTORY_SIZE   99
 

Enumerations

enum  main_id {
  ID_LOAD_FILE = wxID_HIGHEST , ID_NEW_BOARD , ID_SAVE_BOARD , ID_SAVE_BOARD_AS ,
  ID_AUTO_SAVE_TIMER , ID_FILE , ID_FILE1 , ID_FILEMAX = ID_FILE + MAX_FILE_HISTORY_SIZE ,
  ID_FILE_LIST_EMPTY , ID_FILE_LIST_CLEAR , ID_PREFERENCES_RESET_PANEL , ID_GEN_PLOT ,
  ID_GEN_PLOT_PS , ID_GEN_PLOT_HPGL , ID_GEN_PLOT_GERBER , ID_GEN_PLOT_SVG ,
  ID_GEN_PLOT_DXF , ID_GEN_PLOT_PDF , ID_H_TOOLBAR , ID_V_TOOLBAR ,
  ID_OPT_TOOLBAR , ID_AUX_TOOLBAR , ID_LANGUAGE_CHOICE , ID_LANGUAGE_DANISH ,
  ID_LANGUAGE_DEFAULT , ID_LANGUAGE_ENGLISH , ID_LANGUAGE_FRENCH , ID_LANGUAGE_FINNISH ,
  ID_LANGUAGE_HEBREW , ID_LANGUAGE_SPANISH , ID_LANGUAGE_SPANISH_MEXICAN , ID_LANGUAGE_GERMAN ,
  ID_LANGUAGE_GREEK , ID_LANGUAGE_NORWEGIAN , ID_LANGUAGE_RUSSIAN , ID_LANGUAGE_PORTUGUESE ,
  ID_LANGUAGE_PORTUGUESE_BRAZILIAN , ID_LANGUAGE_TURKISH , ID_LANGUAGE_INDONESIAN , ID_LANGUAGE_ITALIAN ,
  ID_LANGUAGE_SLOVENIAN , ID_LANGUAGE_SLOVAK , ID_LANGUAGE_HUNGARIAN , ID_LANGUAGE_POLISH ,
  ID_LANGUAGE_CZECH , ID_LANGUAGE_KOREAN , ID_LANGUAGE_CATALAN , ID_LANGUAGE_CHINESE_SIMPLIFIED ,
  ID_LANGUAGE_CHINESE_TRADITIONAL , ID_LANGUAGE_DUTCH , ID_LANGUAGE_JAPANESE , ID_LANGUAGE_BULGARIAN ,
  ID_LANGUAGE_LATVIAN , ID_LANGUAGE_LITHUANIAN , ID_LANGUAGE_VIETNAMESE , ID_LANGUAGE_SERBIAN ,
  ID_LANGUAGE_THAI , ID_LANGUAGE_SWEDISH , ID_LANGUAGE_UKRANIAN , ID_LANGUAGE_CHOICE_END ,
  ID_ON_ZOOM_SELECT , ID_ON_GRID_SELECT , ID_POPUP_ZOOM_LEVEL_START , ID_POPUP_ZOOM_LEVEL_END = ID_POPUP_ZOOM_LEVEL_START + 99 ,
  ID_POPUP_GRID_START , ID_POPUP_GRID_END = ID_POPUP_ZOOM_LEVEL_START + 99 , ID_EDA_SOCKET_EVENT_SERV , ID_EDA_SOCKET_EVENT ,
  ID_KICAD_MANAGER_START , ID_KICAD_MANAGER_END = ID_KICAD_MANAGER_START + ROOM_FOR_KICADMANAGER , ID_KICAD_3D_VIEWER_START , ID_KICAD_3D_VIEWER_END = ID_KICAD_3D_VIEWER_START + ROOM_FOR_3D_VIEWER ,
  ID_KICAD_PANEL_PREV_MODEL_START , ID_KICAD_PANEL_PREV_MODEL_END = ID_KICAD_PANEL_PREV_MODEL_START + ROOM_FOR_PANEL_PREV_MODEL , ID_POPUP_MENU_START , ID_POPUP_MENU_END = ID_POPUP_MENU_START + 2048 ,
  ID_END_LIST
}
 

Macro Definition Documentation

◆ DEFAULT_FILE_HISTORY_SIZE

#define DEFAULT_FILE_HISTORY_SIZE   9

IDs range for menuitems file history: The default range file history size is 9 (compatible with default wxWidget range).

Definition at line 69 of file id.h.

◆ MAX_FILE_HISTORY_SIZE

#define MAX_FILE_HISTORY_SIZE   99

Definition at line 70 of file id.h.

◆ ROOM_FOR_3D_VIEWER

#define ROOM_FOR_3D_VIEWER   100

Definition at line 63 of file id.h.

◆ ROOM_FOR_KICADMANAGER

#define ROOM_FOR_KICADMANAGER   50

Common command IDs shared by more than one of the KiCad applications.

Only place command IDs used in base window class event tables or shared across multiple applications such as the zoom, grid, and language IDs. Application specific IDs should be defined in the appropriate header file to prevent the entire project from being rebuilt.

However, we must avoid duplicate IDs in menus and toolbar items, when wxUpdateUIEvent are associated to menuitems and/or toolbar items The reason is the fact wxWidgets try to send a wxUpdateUIEvent event to a given window and, if a wxUpdateUIEvent event function is not defined for a menuitem, wxWidgets propagates this event ID to parents of the given window. Therefore duplicate IDs could create strange behavior in menus and subtle bugs, depending on the code inside the wxUpdateUIEvent event functions called in parent frames. I did not seen this propagation to child frames, only to parent frames

Issues exist only if 2 menus have the same ID, and only one menu is associated to a wxUpdateUIEvent event, and this one is defined in a parent Window. The probability it happens is low, but not null.

Therefore we reserve room in ID list for each sub application. Please, change these values if needed

Definition at line 62 of file id.h.

◆ ROOM_FOR_PANEL_PREV_MODEL

#define ROOM_FOR_PANEL_PREV_MODEL   50

Definition at line 64 of file id.h.

Enumeration Type Documentation

◆ main_id

enum main_id
Enumerator
ID_LOAD_FILE 
ID_NEW_BOARD 
ID_SAVE_BOARD 
ID_SAVE_BOARD_AS 
ID_AUTO_SAVE_TIMER 
ID_FILE 
ID_FILE1 
ID_FILEMAX 
ID_FILE_LIST_EMPTY 
ID_FILE_LIST_CLEAR 
ID_PREFERENCES_RESET_PANEL 
ID_GEN_PLOT 
ID_GEN_PLOT_PS 
ID_GEN_PLOT_HPGL 
ID_GEN_PLOT_GERBER 
ID_GEN_PLOT_SVG 
ID_GEN_PLOT_DXF 
ID_GEN_PLOT_PDF 
ID_H_TOOLBAR 
ID_V_TOOLBAR 
ID_OPT_TOOLBAR 
ID_AUX_TOOLBAR 
ID_LANGUAGE_CHOICE 
ID_LANGUAGE_DANISH 
ID_LANGUAGE_DEFAULT 
ID_LANGUAGE_ENGLISH 
ID_LANGUAGE_FRENCH 
ID_LANGUAGE_FINNISH 
ID_LANGUAGE_HEBREW 
ID_LANGUAGE_SPANISH 
ID_LANGUAGE_SPANISH_MEXICAN 
ID_LANGUAGE_GERMAN 
ID_LANGUAGE_GREEK 
ID_LANGUAGE_NORWEGIAN 
ID_LANGUAGE_RUSSIAN 
ID_LANGUAGE_PORTUGUESE 
ID_LANGUAGE_PORTUGUESE_BRAZILIAN 
ID_LANGUAGE_TURKISH 
ID_LANGUAGE_INDONESIAN 
ID_LANGUAGE_ITALIAN 
ID_LANGUAGE_SLOVENIAN 
ID_LANGUAGE_SLOVAK 
ID_LANGUAGE_HUNGARIAN 
ID_LANGUAGE_POLISH 
ID_LANGUAGE_CZECH 
ID_LANGUAGE_KOREAN 
ID_LANGUAGE_CATALAN 
ID_LANGUAGE_CHINESE_SIMPLIFIED 
ID_LANGUAGE_CHINESE_TRADITIONAL 
ID_LANGUAGE_DUTCH 
ID_LANGUAGE_JAPANESE 
ID_LANGUAGE_BULGARIAN 
ID_LANGUAGE_LATVIAN 
ID_LANGUAGE_LITHUANIAN 
ID_LANGUAGE_VIETNAMESE 
ID_LANGUAGE_SERBIAN 
ID_LANGUAGE_THAI 
ID_LANGUAGE_SWEDISH 
ID_LANGUAGE_UKRANIAN 
ID_LANGUAGE_CHOICE_END 
ID_ON_ZOOM_SELECT 
ID_ON_GRID_SELECT 
ID_POPUP_ZOOM_LEVEL_START 
ID_POPUP_ZOOM_LEVEL_END 
ID_POPUP_GRID_START 
ID_POPUP_GRID_END 
ID_EDA_SOCKET_EVENT_SERV 
ID_EDA_SOCKET_EVENT 
ID_KICAD_MANAGER_START 
ID_KICAD_MANAGER_END 
ID_KICAD_3D_VIEWER_START 
ID_KICAD_3D_VIEWER_END 
ID_KICAD_PANEL_PREV_MODEL_START 
ID_KICAD_PANEL_PREV_MODEL_END 
ID_POPUP_MENU_START 
ID_POPUP_MENU_END 
ID_END_LIST 

Definition at line 72 of file id.h.