kitchen sink using statusbar extension

I refactored the kitchen sink to use the statusbar extension, deleted
the build directory, did a full rebuild and it works. :D
This commit is contained in:
Matthew Kastor 2013-04-05 03:06:40 -04:00 committed by nightwing
commit d0d3ca2de8
3 changed files with 7 additions and 49 deletions

View file

@ -458,7 +458,7 @@ event.addListener(container, "drop", function(e) {
var StatusBar = require("./statusbar").StatusBar;
var StatusBar = require("ace/ext/statusbar").StatusBar;
new StatusBar(env.editor, cmdLine.container);

View file

@ -1,48 +0,0 @@
define(function(require, exports, module) {
"use strict";
/** simple statusbar **/
var dom = require("ace/lib/dom");
var lang = require("ace/lib/lang");
var StatusBar = function(editor, parentNode) {
this.element = dom.createElement("div");
this.element.style.cssText = "color: gray; position:absolute; right:0; border-left:1px solid";
parentNode.appendChild(this.element);
var statusUpdate = lang.delayedCall(function(){
this.updateStatus(editor)
}.bind(this));
editor.on("changeStatus", function() {
statusUpdate.schedule(100);
});
editor.on("changeSelection", function() {
statusUpdate.schedule(100);
});
};
(function(){
this.updateStatus = function(editor) {
var status = [];
function add(str, separator) {
str && status.push(str, separator || "|");
}
if (editor.$vimModeHandler)
add(editor.$vimModeHandler.getStatusText());
else if (editor.commands.recording)
add("REC");
var c = editor.selection.lead;
add(c.row + ":" + c.column, " ");
if (!editor.selection.isEmpty()) {
var r = editor.getSelectionRange();
add("(" + (r.end.row - r.start.row) + ":" +(r.end.column - r.start.column) + ")");
}
status.pop();
this.element.textContent = status.join("");
};
}).call(StatusBar.prototype);
exports.StatusBar = StatusBar;
});

View file

@ -41,4 +41,10 @@ body {
#controls td + td {
text-align: left;
}
#lineColIndicator {
color: gray;
position: absolute;
right: 0;
border-left: 1px solid;
}