1 Star 0 Fork 0

Notepad-- Community/ndd-xmltool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
instanceobj.cpp 3.29 KB
一键复制 编辑 原始数据 按行查看 历史
爬山虎 提交于 2023-12-16 15:01 +08:00 . 提交1.0 代码
#include "instanceobj.h"
#include <qsciscintilla.h>
#include <Scintilla.h>
#include <QWidget>
#include <QMenu>
#include <QMessageBox>
#include "ScintillaDoc.h"
#include "ToolsPrettyPrintFast.h"
#include "setting.h"
#include <functional>
#include <qsciscintilla.h>
#include <Scintilla.h>
XmltoolsOptions xmltoosOptions;
extern std::function<QsciScintilla* (QWidget*)> s_getCurEdit;
extern std::function<bool(QWidget*, int, void*)> s_invokeMainFun;
InstanceObj::InstanceObj(QWidget* pNotepad, QMenu* pMenu) :QObject(pNotepad), m_isLoadOpt(false)
{
m_pNotepad = pNotepad;
m_rootMenu = pMenu;
}
InstanceObj::~InstanceObj()
{
}
//加载一次参数配置
void InstanceObj::init()
{
if (!m_isLoadOpt)
{
m_isLoadOpt = true;
loadOption();
}
}
void InstanceObj::nddLinearizeXmlFast()
{
QsciScintilla* pEdit = s_getCurEdit(m_pNotepad);
if (pEdit == nullptr)
{
return;
}
init();
ScintillaDoc doc = ScintillaDoc(pEdit);
if (xmltoosOptions.formatingEngine == 0) {
sciDocLinearizeQuickXml(doc);
}
else if (xmltoosOptions.formatingEngine == 1) {
#ifdef Q_OS_WIN
sciDocLinearizeStringXml(doc);
#endif
}
else {
sciDocLinearizeSimpleXml(doc);
}
doc.SetXOffset(0);
}
void InstanceObj::nddPrettyPrintXmlIndentOnlyFast()
{
QsciScintilla* pEdit = s_getCurEdit(m_pNotepad);
if (pEdit == nullptr)
{
return;
}
init();
ScintillaDoc doc = ScintillaDoc(pEdit);
if (xmltoosOptions.formatingEngine == 0) {
sciDocPrettyPrintQuickXml_IndentOnly(doc);
}
else if (xmltoosOptions.formatingEngine == 1) {
#ifdef Q_OS_WIN
sciDocPrettyPrintStringXml_IndentOnly(doc);
#endif
}
else {
sciDocPrettyPrintSimpleXml_IndentOnly(doc);
}
doc.SetXOffset(0);
}
void InstanceObj::nddPrettyPrintXmlFast()
{
QsciScintilla* pEdit = s_getCurEdit(m_pNotepad);
if (pEdit == nullptr)
{
return;
}
init();
ScintillaDoc doc = ScintillaDoc(pEdit);
if (xmltoosOptions.formatingEngine == 0) {
sciDocPrettyPrintQuickXml(doc);
}
else if (xmltoosOptions.formatingEngine == 1) {
#ifdef Q_OS_WIN
sciDocPrettyPrintStringXml(doc);
#endif
}
else {
sciDocPrettyPrintSimpleXml(doc);
}
doc.SetXOffset(0);
}
void InstanceObj::nddPrettyPrintXmlAttrFast()
{
QsciScintilla* pEdit = s_getCurEdit(m_pNotepad);
if (pEdit == nullptr)
{
return;
}
init();
ScintillaDoc doc = ScintillaDoc(pEdit);
if (xmltoosOptions.formatingEngine == 0) {
sciDocPrettyPrintQuickXmlAttr(doc);
}
else if (xmltoosOptions.formatingEngine == 1) {
#ifdef Q_OS_WIN
sciDocPrettyPrintStringXmlAttr(doc);
#endif
}
else {
sciDocPrettyPrintSimpleXmlAttr(doc);
}
doc.SetXOffset(0);
}
void InstanceObj::optionsWin()
{
init();
Setting* pWin = new Setting(m_pNotepad);
pWin->setAttribute(Qt::WA_DeleteOnClose);
pWin->setWindowFlag(Qt::Window);
pWin->show();
}
//加载参数,从文件中读取配置参数。
void InstanceObj::loadOption()
{
Setting::readSet(true);
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/ndd-community/ndd-xmltool.git
git@gitee.com:ndd-community/ndd-xmltool.git
ndd-community
ndd-xmltool
ndd-xmltool
master

搜索帮助