Cleanup debugger dashboard

pull/3/head
Dave Page 2016-04-20 09:00:25 -04:00
parent ef7737c709
commit 471cd72bb9
3 changed files with 59 additions and 109 deletions

View File

@ -1,19 +1,3 @@
.btn-step-into, .btn-step-over, .btn-continue, .btn-toggle-breakpoint, .btn-clear-breakpoint, .btn-stop {
background-color: #D2D2D2;
left: 0px;
right: 0px;
padding: 7px;
}
.debugger-toolbar {
background-color: #D2D2D2;
border: 2px solid #A9A9A9;
left: 0px;
right: 0px;
padding: 0px;
padding-left: 2px;
}
#container {
position: absolute;
top: 44px;
@ -63,10 +47,10 @@
text-align: center;
}
.pg-debugger-panel .breakpoints {
.debugger-container .breakpoints {
width: 0.9em;
}
.pg-debugger-panel .CodeMirror-activeline-background {
.debugger-container .CodeMirror-activeline-background {
background: #50B0F0;
}

View File

@ -19,40 +19,34 @@ try {
{% block body %}
<nav class="navbar-inverse navbar-fixed-top">
<div class="container-fluid debugger-toolbar">
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<div id="btn-toolbar" class="btn-toolbar" role="toolbar" aria-label="">
<div class="btn-group" role="group" aria-label="">
<button type="button" class="btn btn-default btn-step-into" title="{{ _('Step into') }}">
<i class="fa fa-indent"></i>
</button>
<button type="button" class="btn btn-default btn-step-over" title="{{ _('Step over') }}">
<i class="fa fa-outdent"></i>
</button>
<button type="button" class="btn btn-default btn-continue" title="{{ _('Continue/Start') }}">
<i class="fa fa-play-circle"></i>
</button>
</div>
<div class="btn-group" role="group" aria-label="">
<button type="button" class="btn btn-default btn-toggle-breakpoint" title="{{ _('Toggle breakpoint') }}">
<i class="fa fa-circle"></i>
</button>
<button type="button" class="btn btn-default btn-clear-breakpoint" title="{{ _('Clear all breakpoints') }}">
<i class="fa fa-ban"></i>
</button>
</div>
<div class="btn-group" role="group" aria-label="">
<button type="button" class="btn btn-default btn-stop" title="{{ _('Stop') }}">
<i class="fa fa-stop-circle"></i>
</button>
</div>
<div id="btn-toolbar" class="btn-toolbar pg-prop-btn-group" role="toolbar" aria-label="">
<div class="btn-group" role="group" aria-label="">
<button type="button" class="btn btn-default btn-step-into" title="{{ _('Step into') }}">
<i class="fa fa-indent"></i>
</button>
<button type="button" class="btn btn-default btn-step-over" title="{{ _('Step over') }}">
<i class="fa fa-outdent"></i>
</button>
<button type="button" class="btn btn-default btn-continue" title="{{ _('Continue/Start') }}">
<i class="fa fa-play-circle"></i>
</button>
</div>
<div class="btn-group" role="group" aria-label="">
<button type="button" class="btn btn-default btn-toggle-breakpoint" title="{{ _('Toggle breakpoint') }}">
<i class="fa fa-circle"></i>
</button>
<button type="button" class="btn btn-default btn-clear-breakpoint" title="{{ _('Clear all breakpoints') }}">
<i class="fa fa-ban"></i>
</button>
</div>
<div class="btn-group" role="group" aria-label="">
<button type="button" class="btn btn-default btn-stop" title="{{ _('Stop') }}">
<i class="fa fa-stop-circle"></i>
</button>
</div>
</ul>
</div>
</div>
</nav>
<div id="container"></div>
<div id="container" class="debugger-container"></div>
{% endblock %}

View File

@ -1317,35 +1317,6 @@ define(
'code', false, '100%', '100%',
function(panel) {
var container = panel.layout().scene().find('.pg-debugger-panel');
// Create the wcSplitter used by wcDocker to split the single panel.
var hSplitter = new wcSplitter(
container, panel,
wcDocker.ORIENTATION.VERTICAL
);
hSplitter.scrollable(0, false, false);
hSplitter.scrollable(1, true, true);
// Initialize this splitter with a layout in each pane.
hSplitter.initLayouts(wcDocker.LAYOUT.SIMPLE, wcDocker.LAYOUT.SIMPLE);
// By default, the splitter splits down the middle, we split the main panel by 80%.
hSplitter.pos(0.65);
var params = $('<div class="full-container params"></div>');
hSplitter.right().addItem(params);
// Create wcDocker for tab set.
var out_docker = new wcDocker(
'.full-container', {
allowContextMenu: false,
allowCollapse: false,
themePath: '{{ url_for('static', filename='css/wcDocker/Themes') }}',
theme: 'pgadmin'
});
// Create the parameters panel to display the arguments of the functions
var parameters = new pgAdmin.Browser.Panel({
name: 'parameters',
@ -1402,49 +1373,50 @@ define(
})
// Load all the created panels
parameters.load(out_docker);
local_variables.load(out_docker);
messages.load(out_docker);
results.load(out_docker);
stack_pane.load(out_docker);
parameters.load(self.docker);
local_variables.load(self.docker);
messages.load(self.docker);
results.load(self.docker);
stack_pane.load(self.docker);
});
// Add all the panels to the docker
self.parameters_panel = out_docker.addPanel('parameters', wcDocker.DOCK.LEFT);
self.local_variables_panel = out_docker.addPanel('local_variables', wcDocker.DOCK.STACKED, self.parameters_panel);
self.stack_pane_panel = out_docker.addPanel('stack_pane', wcDocker.DOCK.STACKED, self.parameters_panel);
self.messages_panel = out_docker.addPanel('messages', wcDocker.DOCK.STACKED, self.parameters_panel);
self.results_panel = out_docker.addPanel('results', wcDocker.DOCK.STACKED, self.parameters_panel);
self.code_editor_panel = self.docker.addPanel('code', wcDocker.DOCK.TOP );
// Now create a tab widget and put that into one of the sub splits.
var editor_pane = $('<div id="stack_editor_pane" class="full-container-pane info"></div>');
var code_editor_area = $('<textarea id="debugger-editor-textarea"></textarea>').append(editor_pane);
hSplitter.left().addItem(code_editor_area);
self.parameters_panel = self.docker.addPanel(
'parameters', wcDocker.DOCK.BOTTOM, self.code_editor_panel);
self.local_variables_panel = self.docker.addPanel('local_variables', wcDocker.DOCK.STACKED, self.parameters_panel, {
tabOrientation: wcDocker.TAB.TOP
});
self.messages_panel = self.docker.addPanel('messages', wcDocker.DOCK.STACKED, self.parameters_panel);
self.results_panel = self.docker.addPanel(
'results', wcDocker.DOCK.STACKED, self.parameters_panel);
self.stack_pane_panel = self.docker.addPanel(
'stack_pane', wcDocker.DOCK.STACKED, self.parameters_panel);
// To show the line-number and set breakpoint marker details by user.
var editor = self.editor = CodeMirror.fromTextArea(
code_editor_area.get(0), {
lineNumbers: true,
gutters: ["note-gutter", "CodeMirror-linenumbers", "breakpoints"],
mode: "text/x-sql",
readOnly: true
});
var editor_pane = $('<div id="stack_editor_pane" class="full-container-pane info"></div>');
var code_editor_area = $('<textarea id="debugger-editor-textarea"></textarea>').append(editor_pane);
self.code_editor_panel.layout().addItem(code_editor_area);
// To show the line-number and set breakpoint marker details by user.
var editor = self.editor = CodeMirror.fromTextArea(
code_editor_area.get(0), {
lineNumbers: true,
gutters: ["note-gutter", "CodeMirror-linenumbers", "breakpoints"],
mode: "text/x-sql",
readOnly: true
});
// On loading the docker, register the callbacks
var onLoad = function() {
self.docker.finishLoading(100);
self.docker.off(wcDocker.EVENT.LOADED);
// Register the callback when user set/clear the breakpoint on gutter area.
self.editor.on("gutterClick", self.onBreakPoint.bind(self), self);
self.docker.finishLoading(100);
self.docker.off(wcDocker.EVENT.LOADED);
// Register the callback when user set/clear the breakpoint on gutter area.
self.editor.on("gutterClick", self.onBreakPoint.bind(self), self);
};
self.docker.startLoading('{{ _('Loading...') }}');
self.docker.on(wcDocker.EVENT.LOADED, onLoad);
self.main_panel = self.docker.addPanel(
'code', wcDocker.DOCK.TOP, null, {h: '100%', w: '100%'}
);
// Create the toolbar view for debugging the function
this.toolbarView = new DebuggerToolbarView();
},