| 331 | } |
| 332 | |
| 333 | void XYFunctionCurveDock::showFunctions() { |
| 334 | QMenu menu; |
| 335 | FunctionsWidget functions(&menu); |
| 336 | connect(&functions, &FunctionsWidget::functionSelected, this, &XYFunctionCurveDock::insertFunction); |
| 337 | connect(&functions, &FunctionsWidget::functionSelected, &menu, &QMenu::close); |
| 338 | connect(&functions, &FunctionsWidget::canceled, &menu, &QMenu::close); |
| 339 | |
| 340 | auto* widgetAction = new QWidgetAction(this); |
| 341 | widgetAction->setDefaultWidget(&functions); |
| 342 | menu.addAction(widgetAction); |
| 343 | |
| 344 | QPoint pos(-menu.sizeHint().width() + uiGeneralTab.tbFunctions->width(), -menu.sizeHint().height()); |
| 345 | menu.exec(uiGeneralTab.tbFunctions->mapToGlobal(pos)); |
| 346 | } |
| 347 | |
| 348 | void XYFunctionCurveDock::insertFunction(const QString& functionName) { |
| 349 | uiGeneralTab.teFunction->insertPlainText(functionName + ExpressionParser::functionArgumentString(functionName, XYEquationCurve::EquationType::Neutral)); |