modify mouse right menu
This commit is contained in:
parent
a3fc986d4e
commit
286a48a658
@ -636,57 +636,57 @@
|
||||
<context>
|
||||
<name>ModelTreeWidget</name>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="97"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="252"/>
|
||||
<source>Release Track</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="113"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="107"/>
|
||||
<source>Add boke Entity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="120"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="114"/>
|
||||
<source>Add lsjhqt Entity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="127"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="121"/>
|
||||
<source>Add nimizi Entity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="134"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="128"/>
|
||||
<source>Add tkdlj Entity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="141"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="135"/>
|
||||
<source>Add jiaofan Entity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="148"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="142"/>
|
||||
<source>Add satellite Entity</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="250"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="260"/>
|
||||
<source>Track</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="257"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="268"/>
|
||||
<source>Add Mesh Component</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="260"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="271"/>
|
||||
<source>Add Path Component</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="267"/>
|
||||
<location filename="../ui/ModelBrowser/ModelTreeWidget.cpp" line="278"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@ -694,12 +694,12 @@
|
||||
<context>
|
||||
<name>OsgWidget</name>
|
||||
<message>
|
||||
<location filename="../viewer/OsgWidget.cpp" line="81"/>
|
||||
<location filename="../viewer/OsgWidget.cpp" line="86"/>
|
||||
<source>warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../viewer/OsgWidget.cpp" line="82"/>
|
||||
<location filename="../viewer/OsgWidget.cpp" line="87"/>
|
||||
<source>open dyt file failed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -93,18 +93,12 @@ void ModelTreeWidget::OnEntityRemoved(Entity* entity) {
|
||||
void ModelTreeWidget::contextMenuEvent(QContextMenuEvent* event) {
|
||||
QTreeWidgetItem* item = itemAt(event->pos());
|
||||
if (nullptr != item) {
|
||||
QMenu menu(this);
|
||||
QAction* addEntiy = new QAction(tr("Release Track"), this);
|
||||
connect(addEntiy, &QAction::triggered, [this]() {
|
||||
OnTrackEntity(nullptr);
|
||||
}
|
||||
);
|
||||
menu.addAction(addEntiy);
|
||||
menu.exec(event->globalPos());
|
||||
return;
|
||||
}
|
||||
QVariant value = item->data(0, E_Entity);
|
||||
if (nullptr != item && value.isValid()) {
|
||||
QVariant value = item->data(0, E_Entity);
|
||||
if (!value.isValid()) {
|
||||
LOG_WARN("unknown data E_Entity");
|
||||
return;
|
||||
}
|
||||
|
||||
Entity* entity = value.value<Entity*>();
|
||||
PopupEntityMenu(event, entity);
|
||||
} else {
|
||||
@ -247,14 +241,31 @@ void ModelTreeWidget::OnDeleteEntity(Entity* entity) {
|
||||
void ModelTreeWidget::PopupEntityMenu(QContextMenuEvent* event, Entity* entity) {
|
||||
QMenu menu(this);
|
||||
|
||||
QAction* addEntiy = new QAction(tr("Track"), this);
|
||||
menu.addAction(addEntiy);
|
||||
connect(addEntiy, &QAction::triggered, [this, entity]() {
|
||||
OnTrackEntity(entity);
|
||||
if (nullptr != entity) {
|
||||
auto workspace = entity->GetWorkspace();
|
||||
if (nullptr == workspace) {
|
||||
LOG_WARN("workspace is nullptr");
|
||||
return;
|
||||
}
|
||||
);
|
||||
|
||||
addEntiy = new QAction(tr("Add Mesh Component"), this);
|
||||
if (workspace->GetTrackEntity() == entity) {
|
||||
QAction* releaseTrack = new QAction(tr("Release Track"), this);
|
||||
connect(releaseTrack, &QAction::triggered, [this]() {
|
||||
OnTrackEntity(nullptr);
|
||||
}
|
||||
);
|
||||
menu.addAction(releaseTrack);
|
||||
}
|
||||
} else {
|
||||
QAction* addEntiy = new QAction(tr("Track"), this);
|
||||
menu.addAction(addEntiy);
|
||||
connect(addEntiy, &QAction::triggered, [this, entity]() {
|
||||
OnTrackEntity(entity);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
QAction* addEntiy = new QAction(tr("Add Mesh Component"), this);
|
||||
menu.addAction(addEntiy);
|
||||
|
||||
addEntiy = new QAction(tr("Add Path Component"), this);
|
||||
@ -328,11 +339,12 @@ void ModelTreeWidget::OnTrackEntity(Entity* entity) {
|
||||
}
|
||||
|
||||
if (nullptr == entity) {
|
||||
LOG_WARN("entity is nullptr, clear camera manipulator");
|
||||
LOG_INFO("clear track entity");
|
||||
workspace->UntrackEntity();
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
LOG_INFO("track entity: {}", entity->GetName().toStdString());
|
||||
workspace->TrackEntity(entity);
|
||||
//scene->Track
|
||||
//MainWindow::
|
||||
|
@ -45,6 +45,11 @@ OsgWidget::OsgWidget(QWidget* parent, Qt::WindowFlags f)
|
||||
|
||||
connect( &timer_, SIGNAL(timeout()), this, SLOT(update()) );
|
||||
timer_.start( 10 );
|
||||
LOG_INFO("OsgWidget::OsgWidget");
|
||||
}
|
||||
|
||||
OsgWidget::~OsgWidget() {
|
||||
LOG_INFO("OsgWidget::~OsgWidget");
|
||||
}
|
||||
|
||||
void OsgWidget::Initialize() {
|
||||
|
@ -10,6 +10,7 @@ class OsgWidget : public QWidget, public osgViewer::CompositeViewer {
|
||||
Q_OBJECT
|
||||
public:
|
||||
OsgWidget(QWidget *parent = nullptr, Qt::WindowFlags f = nullptr);
|
||||
~OsgWidget() override;
|
||||
|
||||
void Initialize(void);
|
||||
void LoadDefaultScene(void);
|
||||
|
@ -118,6 +118,9 @@ public:
|
||||
void RemoveEntity(class Entity* entity);
|
||||
bool TrackEntity(class Entity* entity);
|
||||
void UntrackEntity();
|
||||
class Entity* GetTrackEntity() const {
|
||||
return trackedEntity_;
|
||||
}
|
||||
|
||||
bool Save(const QString& path);
|
||||
bool Save();
|
||||
|
Loading…
Reference in New Issue
Block a user