⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reformatdialog.js

📁 QT4 gui programming的随书光盘
💻 JS
字号:
var obj = new Object;obj.initialized = false;obj.text = "&Reformat...";obj.run = function() {    if (!this.initialized) {        this.dialog.applyButton.clicked.connect(this, this.apply);        this.dialog.closeButton.clicked.connect(this, this.dialog.close);        this.initialized = true;    }    this.dialog.show();};obj.apply = function() {    var text = this.textEdit.plainText;    this.textEdit.readOnly = true;    this.dialog.applyButton.enabled = false;    if (this.dialog.indentGroupBox.checked) {        var size = this.dialog.indentGroupBox.indentSizeSpinBox.value;        text = this.reindented(text, size);    }    if (this.dialog.wrapGroupBox.checked) {        var margin = this.dialog.wrapGroupBox.wrapMarginSpinBox.value;        text = this.wrapped(text, margin);    }    if (this.dialog.caseGroupBox.checked) {        var lowercase = this.dialog.caseGroupBox.lowercaseRadio.checked;        text = this.fixedTagCase(text, lowercase);    }    this.textEdit.plainText = text;    this.textEdit.readOnly = false;    this.dialog.applyButton.enabled = true;};obj.reindented = function(text, size) {    var result = "";    var depth = 0;    var i = 0;    while (i < text.length) {        var line = "";        var lineDepth = depth;        while (i < text.length               && (text.charAt(i) == " " || text.charAt(i) == "\t"))            ++i;        while (i < text.length && text.charAt(i) != "\n") {            if (text.charAt(i) == "<") {                var closing = (text.substring(i, i + 2) == "</");                var openQuote;                while (i < text.length && text.charAt(i) != ">") {                    if (text.charAt(i) == "'"                            || text.charAt(i) == "\"") {                        openQuote = text.charAt(i++);                        line += openQuote;                        while (i < text.length                               && text.charAt(i) != openQuote)                            line += text.charAt(i++);                    }                    if (i < text.length)                        line += text.charAt(i++);                }                var standAlone = (text.substring(i - 1, i + 1) == "/>");                if (closing) {                    --depth;                } else if (!standAlone) {                    ++depth;                }            } else {                line += text.charAt(i++);            }        }        line += "\n";        ++i;        if (line.substring(0, 2) == "</")            --lineDepth;        for (var j = 0; j < size * lineDepth; ++j)            result += " ";        result += line;    }    return result;};obj.wrapped = function(text, margin) {    const TAB_SIZE = 8;    var result = "";    var lastSpace;    var column = 0;    var i = 0;    while (i < text.length) {        if (text.charAt(i) == "\n") {            column = 0;        } else if (text.charAt(i) == " ") {            lastSpace = i;            ++column;        } else if (text.charAt(i) == "\t") {            column = (column + TAB_SIZE - 1) / TAB_SIZE * TAB_SIZE;        } else {            if (column >= margin && lastSpace != undefined) {                result = result.substring(0, lastSpace);                result += "\n";                column = 0;                i = lastSpace + 1;                lastSpace = undefined;            }            ++column;        }        result += text.charAt(i++);    }    return result;};obj.fixedTagCase = function(text, lowercase) {    var result = "";    var i = 0;    while (i < text.length) {        if (text.charAt(i) == "<") {            var openQuote;            while (i < text.length && text.charAt(i) != ">") {                if (text.charAt(i) == "'" || text.charAt(i) == "\"") {                    openQuote = text.charAt(i);                    result += text.charAt(i++);                    while (i < text.length                           && text.charAt(i) != openQuote)                        result += text.charAt(i++);                    result += text.charAt(i++);                } else {                    if (lowercase) {                        result += text.charAt(i++).toLowerCase();                    } else {                        result += text.charAt(i++).toUpperCase();                    }                }            }        } else {            result += text.charAt(i++);        }    }    return result;};return obj;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -