构建框架

This commit is contained in:
codeboss 2025-06-30 23:50:17 +08:00
parent c18aad62b3
commit 03958c106f
3 changed files with 39 additions and 38 deletions

View File

@ -178,3 +178,23 @@ uint qHash(const std::shared_ptr<LogicalNode> data, uint seed) noexcept
{ {
return qHash((void*)data.get(), seed); return qHash((void*)data.get(), seed);
} }
#include <QSplitter>
BehaviorEditor::BehaviorEditor(QWidget* parent /*= nullptr*/)
: QMainWindow(parent),
_type_view(new QListView(this)),
_type_model(new QStandardItemModel(this)),
_logical_present(new BehaviorsPresent(this)),
_logs_present(new QTextBrowser(this))
{
auto split_h = new QSplitter(Qt::Horizontal, this);
this->setCentralWidget(split_h);
split_h->addWidget(_type_view);
_type_view->setModel(_type_model);
auto split_v = new QSplitter(Qt::Vertical, this);
split_h->addWidget(split_v);
split_v->addWidget(_logical_present);
split_v->addWidget(_logs_present);
}

View File

@ -86,3 +86,17 @@ public:
std::shared_ptr<LogicalNode> ins, const QPointF &origin_offset); std::shared_ptr<LogicalNode> ins, const QPointF &origin_offset);
}; };
#include <QListView>
#include <QStandardItemModel>
#include <QTextBrowser>
class BehaviorEditor : public QMainWindow {
private:
QListView *const _type_view;
QStandardItemModel *const _type_model;
BehaviorsPresent *const _logical_present;
QTextBrowser *const _logs_present;
public:
BehaviorEditor(QWidget *parent = nullptr);
};

View File

@ -7,42 +7,9 @@
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QApplication a(argc, argv); QApplication a(argc, argv);
BehaviorsPresent w;
BehaviorEditor w;
w.show(); w.show();
auto loader = std::make_shared<MessageLoader>();
auto kernal = std::make_shared<MapKernal>(loader);
auto root = std::make_shared<BehaviorMapNode>(kernal);
root->setID(0);
auto seqs = std::make_shared<SequenceNode>();
seqs->setID(10);
root->insert(seqs);
auto seqsx = std::make_shared<SequenceNode>();
seqsx->setID(100);
seqs->insert(seqsx);
auto selex = std::make_shared<SelectorNode>();
selex->setID(101);
seqs->insert(selex);
auto parallel = std::make_shared<ParallelNode>();
parallel->setID(1000);
selex->insert(parallel);
parallel = std::make_shared<ParallelNode>();
parallel->setID(1001);
selex->insert(parallel);
auto item = std::make_shared<CompareNode>();
item->setID(10000);
parallel->insert(item);
item = std::make_shared<CompareNode>();
item->setID(100010000);
parallel->insert(item);
w.setRoot(root);
return a.exec(); return a.exec();
} }