| 1138 | } |
| 1139 | |
| 1140 | void MainWindow::triggerBoard(int project, int board, |
| 1141 | ui::BoardAction a) noexcept { |
| 1142 | std::shared_ptr<ProjectEditor> prjEditor = mApp.getProjects().value(project); |
| 1143 | if (!prjEditor) return; |
| 1144 | |
| 1145 | switch (a) { |
| 1146 | case ui::BoardAction::Open2d: { |
| 1147 | openBoard2dTab(project, board); |
| 1148 | break; |
| 1149 | } |
| 1150 | case ui::BoardAction::Open3d: { |
| 1151 | openBoard3dTab(project, board); |
| 1152 | break; |
| 1153 | } |
| 1154 | case ui::BoardAction::Copy: { |
| 1155 | if (auto brdEditor = prjEditor->execNewBoardDialog(board)) { |
| 1156 | openBoard2dTab(project, brdEditor->getUiIndex()); |
| 1157 | } |
| 1158 | break; |
| 1159 | } |
| 1160 | case ui::BoardAction::Delete: { |
| 1161 | prjEditor->execDeleteBoardDialog(board); |
| 1162 | break; |
| 1163 | } |
| 1164 | case ui::BoardAction::ExportStep: { |
| 1165 | if (auto brdEditor = prjEditor->getBoards().value(board)) { |
| 1166 | brdEditor->execStepExportDialog(); |
| 1167 | } |
| 1168 | break; |
| 1169 | } |
| 1170 | case ui::BoardAction::RunQuickCheck: { |
| 1171 | if (auto brdEditor = prjEditor->getBoards().value(board)) { |
| 1172 | brdEditor->startDrc(true); |
| 1173 | } |
| 1174 | break; |
| 1175 | } |
| 1176 | case ui::BoardAction::RunDrc: { |
| 1177 | if (auto brdEditor = prjEditor->getBoards().value(board)) { |
| 1178 | brdEditor->startDrc(false); |
| 1179 | } |
| 1180 | break; |
| 1181 | } |
| 1182 | case ui::BoardAction::OpenSetupDialog: { |
| 1183 | if (auto brdEditor = prjEditor->getBoards().value(board)) { |
| 1184 | brdEditor->execBoardSetupDialog(); |
| 1185 | } |
| 1186 | break; |
| 1187 | } |
| 1188 | case ui::BoardAction::OpenDrcSetupDialog: { |
| 1189 | if (auto brdEditor = prjEditor->getBoards().value(board)) { |
| 1190 | brdEditor->execBoardSetupDialog(true); |
| 1191 | } |
| 1192 | break; |
| 1193 | } |
| 1194 | case ui::BoardAction::PrepareOrder: { |
| 1195 | if (auto brdEditor = prjEditor->getBoards().value(board)) { |
| 1196 | brdEditor->prepareOrderPcb(); |
| 1197 | } |