-- Copyright 2011-17 Paul Kulchenko, ZeroBrane LLC -- authors: Lomtik Software (J. Winwood & John Labenski) -- Luxinia Dev (Eike Decker & Christoph Kubisch) --------------------------------------------------------- -- Generate a unique new wxWindowID local ID_IDCOUNTER = wx.wxID_HIGHEST + 1 function NewID() ID_IDCOUNTER = math.floor(ID_IDCOUNTER + 1) -- make sure it's integer return ID_IDCOUNTER end -- some Ubuntu versions (Ubuntu 13.10) ignore labels on stock menu IDs, -- so don't use stock IDs on Linux (http://trac.wxwidgets.org/ticket/15958) local linux = ide.osname == 'Unix' ID_SEPARATOR = NewID() -- File menu ID_NEW = linux and NewID() or wx.wxID_NEW ID_OPEN = linux and NewID() or wx.wxID_OPEN ID_CLOSE = NewID() ID_CLOSEALL = NewID() ID_CLOSEOTHER = NewID() ID_CLOSESEARCHRESULTS = NewID() ID_REFRESHSEARCHRESULTS = NewID() ID_NEWFILE = NewID() ID_NEWDIRECTORY = NewID() ID_RENAMEFILE = NewID() ID_DELETEFILE = NewID() ID_SAVE = linux and NewID() or wx.wxID_SAVE ID_SAVEAS = linux and NewID() or wx.wxID_SAVEAS ID_SAVEALL = NewID() ID_RECENTFILES = NewID() ID_RECENTFILESCLEAR = NewID() ID_RECENTFILESPREV = NewID() ID_RECENTFILESNEXT = NewID() ID_RECENTPROJECTS = NewID() ID_RECENTPROJECTSCLEAR = NewID() ID_RECENTPROJECTSPREV = NewID() ID_PRINT = NewID() ID_PAGESETUP = NewID() ID_EXIT = linux and NewID() or wx.wxID_EXIT ID_RESTART = NewID() -- Edit menu ID_CUT = linux and NewID() or wx.wxID_CUT ID_COPY = linux and NewID() or wx.wxID_COPY ID_PASTE = linux and NewID() or wx.wxID_PASTE ID_SELECTALL = linux and NewID() or wx.wxID_SELECTALL ID_UNDO = linux and NewID() or wx.wxID_UNDO ID_REDO = linux and NewID() or wx.wxID_REDO ID_SHOWTOOLTIP = NewID() ID_AUTOCOMPLETE = NewID() ID_AUTOCOMPLETEENABLE = NewID() ID_COMMENT = NewID() ID_FOLD = NewID() ID_FOLDLINE = NewID() ID_CLEARDYNAMICWORDS = NewID() ID_SOURCE = NewID() ID_REINDENT = NewID() ID_BOOKMARK = NewID() ID_BOOKMARKTOGGLE = NewID() ID_BOOKMARKNEXT = NewID() ID_BOOKMARKPREV = NewID() ID_BOOKMARKFILECLEAR = NewID() ID_BOOKMARKPROJECTCLEAR = NewID() ID_NAVIGATE = NewID() ID_NAVIGATETOFILE = NewID() ID_NAVIGATETOLINE = NewID() ID_NAVIGATETOSYMBOL = NewID() ID_NAVIGATETOMETHOD = NewID() -- don't use wx.wxID_PREFERENCES to avoid merging with OSX app menu, because -- Apple guidelines describe Preferences as a "normal" item without submenus. ID_PREFERENCES = NewID() ID_PREFERENCESSYSTEM = NewID() ID_PREFERENCESUSER = NewID() -- Search menu ID_FIND = linux and NewID() or wx.wxID_FIND ID_FINDNEXT = NewID() ID_FINDPREV = NewID() ID_FINDSELECTNEXT = NewID() ID_FINDSELECTPREV = NewID() ID_REPLACE = NewID() ID_FINDINFILES = NewID() ID_REPLACEINFILES = NewID() ID_SORT = NewID() -- View menu ID_VIEWFILETREE = NewID() ID_VIEWOUTPUT = NewID() ID_VIEWCALLSTACK = NewID() ID_VIEWWATCHWINDOW = NewID() ID_VIEWOUTLINE = NewID() ID_VIEWMARKERS = NewID() ID_VIEWTOOLBAR = NewID() ID_VIEWSTATUSBAR = NewID() ID_VIEWDEFAULTLAYOUT = NewID() ID_VIEWFULLSCREEN = NewID() ID_VIEWMINIMIZE = NewID() ID_ZOOM = NewID() ID_ZOOMRESET = NewID() ID_ZOOMIN = NewID() ID_ZOOMOUT = NewID() -- Project menu ID_BREAKPOINT = NewID() ID_BREAKPOINTTOGGLE = NewID() ID_BREAKPOINTNEXT = NewID() ID_BREAKPOINTPREV = NewID() ID_BREAKPOINTFILECLEAR = NewID() ID_BREAKPOINTPROJECTCLEAR = NewID() ID_COMPILE = NewID() ID_ANALYZE = NewID() ID_RUN = NewID() ID_RUNNOW = NewID() ID_ATTACHDEBUG = NewID() ID_STARTDEBUG = NewID() ID_STOPDEBUG = NewID() ID_DETACHDEBUG = NewID() ID_STEP = NewID() ID_STEPOVER = NewID() ID_STEPOUT = NewID() ID_RUNTO = NewID() ID_BREAK = NewID() ID_TRACE = NewID() ID_CLEAROUTPUTENABLE = NewID() ID_CLEAROUTPUT = NewID() ID_CLEARCONSOLE = NewID() ID_COMMANDLINEPARAMETERS = NewID() ID_INTERPRETER = NewID() ID_PROJECTDIR = NewID() ID_PROJECTDIRFROMFILE = NewID() ID_PROJECTDIRFROMDIR = NewID() ID_PROJECTDIRCHOOSE = NewID() -- Help menu ID_ABOUT = linux and NewID() or wx.wxID_ABOUT ID_HELPPROJECT = NewID() ID_HELPDOCUMENTATION = NewID() ID_HELPGETTINGSTARTED = NewID() ID_HELPTUTORIALS = NewID() ID_HELPFAQ = NewID() ID_HELPCOMMUNITY = NewID() -- Watch window menu items ID_ADDWATCH = NewID() ID_EDITWATCH = NewID() ID_DELETEWATCH = NewID() ID_COPYWATCHVALUE = NewID() -- Editor popup menu items ID_GOTODEFINITION = NewID() ID_RENAMEALLINSTANCES = NewID() ID_REPLACEALLSELECTIONS = NewID() ID_QUICKADDWATCH = NewID() ID_QUICKEVAL = NewID() ID_ADDTOSCRATCHPAD = NewID() -- filetree menu ID_HIDEEXTENSION = NewID() ID_SETSTARTFILE = NewID() ID_UNSETSTARTFILE = NewID() ID_SHOWEXTENSION = NewID() ID_SHOWEXTENSIONALL = NewID() ID_MAPDIRECTORY = NewID() ID_UNMAPDIRECTORY = NewID() ID_HOISTDIRECTORY = NewID() ID_UNHOISTDIRECTORY = NewID() ID_OPENEXTENSION = NewID() ID_COPYFULLPATH = NewID() ID_SHOWLOCATION = NewID() ID_REFRESH = NewID() ID_SYMBOLDIRREFRESH = NewID() ID_SYMBOLDIRINDEX = NewID() ID_SYMBOLDIRDISABLE = NewID() ID_SYMBOLDIRENABLE = NewID() -- outline menu ID_OUTLINESORT = NewID() -- console menu ID_SELECTCONSOLECOMMAND = NewID() -- search toolbar ID_FINDALL = NewID() ID_FINDREPLACENEXT = NewID() ID_FINDREPLACEALL = NewID() ID_FINDSETDIR = NewID() ID_FINDSETTOPROJDIR = NewID() ID_FINDOPTSCOPE = NewID() ID_FINDOPTSTATUS = NewID() ID_FINDOPTDIRECTION = NewID() ID_FINDOPTWRAPWROUND = NewID() ID_FINDOPTSELECTION = NewID() ID_FINDOPTWORD = NewID() ID_FINDOPTCASE = NewID() ID_FINDOPTREGEX = NewID() ID_FINDOPTCONTEXT = NewID() ID_FINDOPTSUBDIR = NewID() ID_FINDOPTSYMLINK = NewID() ID_FINDOPTMAPPED = NewID() ID_FINDOPTMULTIRESULTS = NewID() ID_RECENTSCOPECLEAR = NewID() -- global shortcuts ID_NOTEBOOKTABNEXT = NewID() ID_NOTEBOOKTABPREV = NewID() local ids = {} function IDgen (name) ids[name] = ids[name] or NewID() return ids[name] end function IDget (name) return ids[name] end ID = setmetatable({}, ide.proto.ID)