ide.addEventListener("break", function(){ if (!_self.shouldRunInDebugMode() || !_self.autoHidePanel() || hasBreaked) return; hasBreaked = true; var name = "ext/debugger/debugger"; dock.showSection(name, false); var uId = dock.getButtons(name, "pgDebugNav")[0].uniqueId; if (dock.layout.isExpanded(uId) < 0) dock.layout.showMenu(uId); //var bar = dock.getBars("ext/debugger/debugger", "pgDebugNav")[0]; //dock.expandBar(bar); });
getDockSection: function(members) { var bar; var state = Dock.layout.getState(true); for (var i = state.bars.length - 1; i >= 0; --i) { if (state.bars[i] && state.bars[i].barNum === 1) { bar = state.bars[i]; break; } } if (!bar.cache && !this.hideCollabPanels) Dock.showBar(bar); return bar.sections[members ? 0 : 1]; },
mdlDbgStack.addEventListener("update", function() { // select the first stack entry, if none is selected yet var frames = mdlDbgStack.data.selectNodes("frame"); if (frames.length) { // check if none of the debug panels is visible yet... var vis = [dbgCallStack, dbInteractive, dbgVariable, dbgBreakpoints].filter(function(el) { return el.$ext && apf.getStyle(el.$ext, "display") != "none"; }); if (vis.length) return; // no elements visible yet... dock.layout.show(dbgCallStack); } });
exec: function(editor) { var menu = dock.getButtons("ext/debugger/debugger", "dbInteractive")[0]; dock.layout.showMenu(menu.uniqueId); dbInteractive.parentNode.set(dbInteractive); txtCode.focus(); var range = editor.getSelectionRange(); var val = range.isEmpty() ? editor.session.getLine(range.start.row) : editor.session.getTextRange(range); txtCode.$editor.setValue(val.trim()); require("ext/debugger" + "/inspector").consoleTextHandler({keyCode:13,ctrlKey:true}); },
popupPermissionMenu : function(e, uid) { if(!this.iAmAdmin || uid == this.myUserId) return; var _self = this; var target = e.currentTarget; var documentWidth = document.body.offsetWidth; var dropdownPos = apf.getAbsolutePosition(target); var dockPanelExpanded = Dock.layout.isExpanded(Dock.getButtons(this.extName, "collabMembers")[0].uniqueId) > -1; var menuOffsetTop = 1; var menuOffsetRight = !dockPanelExpanded ? 20 : -20; var menuPromote = mnuCtxPromoteCollab; var menuDemote = mnuCtxDemoteCollab; if (treeCollaborators.selected.getAttribute("permissions") == "r") { if (!this.mnuCtxPromoteCollabWidth) { menuPromote.display(-1000, -1000); this.mnuCtxPromoteCollabWidth = menuPromote.getWidth(); menuPromote.hide(); setTimeout(function() { menuPromote.display(documentWidth - menuOffsetRight - _self.mnuCtxPromoteCollabWidth - target.offsetWidth, dropdownPos[1] + target.offsetHeight + menuOffsetTop); }, 100); } else { menuPromote.setWidth(this.mnuCtxPromoteCollabWidth); menuPromote.display(documentWidth - menuOffsetRight - this.mnuCtxPromoteCollabWidth - target.offsetWidth, dropdownPos[1] + target.offsetHeight + menuOffsetTop, true); } } else { if (!this.mnuCtxDemoteCollabWidth) { menuDemote.display(-1000, -1000); this.mnuCtxDemoteCollabWidth = menuDemote.getWidth(); menuDemote.hide(); setTimeout(function() { menuDemote.display(documentWidth - menuOffsetRight - _self.mnuCtxDemoteCollabWidth - target.offsetWidth, dropdownPos[1] + target.offsetHeight + menuOffsetTop, true); }, 100); } else { menuDemote.setWidth(this.mnuCtxDemoteCollabWidth); menuDemote.display(documentWidth - menuOffsetRight - this.mnuCtxDemoteCollabWidth - target.offsetWidth, dropdownPos[1] + target.offsetHeight + menuOffsetTop, true); } } },