| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include "qc_actiongetent.h" |
| |
|
| | #include <QKeyEvent> |
| |
|
| | #include "doc_plugin_interface.h" |
| | #include "rs_debug.h" |
| | #include "rs_selection.h" |
| |
|
| | QC_ActionGetEnt::QC_ActionGetEnt(LC_ActionContext* actionContext) |
| | :RS_ActionInterface("Get Entity", actionContext,RS2::ActionGetEntity) { |
| | m_completed = false; |
| | m_message = tr("Select object:"); |
| | m_entity = nullptr; |
| | } |
| |
|
| | void QC_ActionGetEnt::updateMouseButtonHints() { |
| | if (!m_completed) |
| | updateMouseWidget(m_message, tr("Cancel")); |
| | else |
| | updateMouseWidget(); |
| | } |
| |
|
| |
|
| | RS2::CursorType QC_ActionGetEnt::doGetMouseCursor([[maybe_unused]] int status){ |
| | return RS2::SelectCursor; |
| | } |
| |
|
| | void QC_ActionGetEnt::setMessage(QString msg){ |
| | m_message = msg; |
| | } |
| |
|
| | void QC_ActionGetEnt::trigger() { |
| | if (m_entity) { |
| | RS_Selection s(*m_container, m_viewport); |
| | s.selectSingle(m_entity); |
| | m_completed = true; |
| | updateMouseButtonHints(); |
| | } else { |
| | RS_DEBUG->print("QC_ActionGetEnt::trigger: Entity is NULL\n"); |
| | } |
| | } |
| |
|
| | void QC_ActionGetEnt::onMouseLeftButtonRelease([[maybe_unused]]int status, [[maybe_unused]]QMouseEvent * e) { |
| | m_entity = catchEntity(e); |
| | trigger(); |
| | } |
| | void QC_ActionGetEnt::onMouseRightButtonRelease([[maybe_unused]]int status, [[maybe_unused]]QMouseEvent * e){ |
| | m_completed = true; |
| | updateMouseButtonHints(); |
| | finish(); |
| | } |
| |
|
| | void QC_ActionGetEnt::keyPressEvent(QKeyEvent *e){ |
| | |
| | if (e->key() == Qt::Key_Escape) { |
| | updateMouseWidget(); |
| | m_completed = true; |
| | |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | Plugin_Entity *QC_ActionGetEnt::getSelected(Doc_plugin_interface* d) { |
| | Plugin_Entity *pe = m_entity ? new Plugin_Entity(m_entity, d) : nullptr; |
| | return pe; |
| | } |
| |
|