| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include <QAction> |
| | #include <QMenu> |
| |
|
| | #include <Gui/Application.h> |
| | #include <Gui/BitmapFactory.h> |
| | #include <Gui/Command.h> |
| | #include <Gui/ViewProvider.h> |
| |
|
| | #include "TaskSolverMessages.h" |
| | #include "ui_TaskSolverMessages.h" |
| |
|
| |
|
| | using namespace Gui; |
| | using namespace Gui::TaskView; |
| | namespace sp = std::placeholders; |
| |
|
| | TaskSolverMessages::TaskSolverMessages(const QPixmap& icon, const QString& title) |
| | : TaskBox(icon, title, true, nullptr) |
| | , ui(new Ui_TaskSolverMessages) |
| | { |
| | |
| | auto* proxy = new QWidget(this); |
| | ui->setupUi(proxy); |
| | setupConnections(); |
| |
|
| | this->groupLayout()->addWidget(proxy); |
| |
|
| | ui->labelStatus->setOpenExternalLinks(false); |
| |
|
| | |
| | ui->labelStatus->setParameterGroup("User parameter:BaseApp/Preferences/Mod/Sketcher/General"); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("empty"), |
| | palette().windowText().color(), |
| | std::string("EmptySketchMessageColor") |
| | ); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("under_constrained"), |
| | palette().windowText().color(), |
| | std::string("UnderconstrainedMessageColor") |
| | ); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("malformed_constraints"), |
| | QColor("red"), |
| | std::string("MalformedConstraintMessageColor") |
| | ); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("conflicting_constraints"), |
| | QColor("orangered"), |
| | std::string("ConflictingConstraintMessageColor") |
| | ); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("redundant_constraints"), |
| | QColor("red"), |
| | std::string("RedundantConstraintMessageColor") |
| | ); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("partially_redundant_constraints"), |
| | QColor("royalblue"), |
| | std::string("PartiallyRedundantConstraintMessageColor") |
| | ); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("solver_failed"), |
| | QColor("red"), |
| | std::string("SolverFailedMessageColor") |
| | ); |
| | ui->labelStatus->registerState( |
| | QStringLiteral("fully_constrained"), |
| | QColor("green"), |
| | std::string("FullyConstrainedMessageColor") |
| | ); |
| |
|
| | ui->labelStatusLink->setLaunchExternal(false); |
| |
|
| | createSettingsButtonActions(); |
| | } |
| |
|
| | TaskSolverMessages::~TaskSolverMessages() = default; |
| |
|
| | void TaskSolverMessages::setupConnections() |
| | { |
| | connect( |
| | ui->labelStatusLink, |
| | &Gui::UrlLabel::linkClicked, |
| | this, |
| | &TaskSolverMessages::onLabelStatusLinkClicked |
| | ); |
| | connect(ui->manualUpdate, &QToolButton::clicked, this, &TaskSolverMessages::onManualUpdateClicked); |
| | } |
| |
|
| | void TaskSolverMessages::slotSetUp( |
| | const QString& state, |
| | const QString& msg, |
| | const QString& link, |
| | const QString& linkText |
| | ) |
| | { |
| | ui->labelStatus->setState(state); |
| | ui->labelStatus->setText(msg); |
| | ui->labelStatusLink->setUrl(link); |
| | ui->labelStatusLink->setText(linkText); |
| | updateToolTip(link); |
| | } |
| |
|
| | void TaskSolverMessages::setLinkTooltip(const QString& tooltip) |
| | { |
| | ui->labelStatusLink->setToolTip(tooltip); |
| | } |
| |
|
| | QToolButton* TaskSolverMessages::getSettingsButton() |
| | { |
| | return ui->settingsButton; |
| | } |
| |
|
| | void TaskSolverMessages::onManualUpdateClicked(bool checked) |
| | { |
| | Q_UNUSED(checked); |
| | Gui::Command::updateActive(); |
| | } |
| |
|
| | void TaskSolverMessages::createSettingsButtonActions() |
| | { |
| | ui->settingsButton->hide(); |
| | } |
| |
|
| | #include "moc_TaskSolverMessages.cpp" |
| |
|