diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DChartController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DChartController.java index 7bc2c23c5..5786a07c2 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DChartController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DChartController.java @@ -272,19 +272,16 @@ protected boolean handle() { @Override protected void whenSucceeded() { + outputData(); + if (rightPane != null) { + rightPane.setDisable(false); + } } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - outputData(); - if (rightPane != null) { - rightPane.setDisable(false); - } - } } }; @@ -450,20 +447,17 @@ protected boolean handle() { @Override protected void whenSucceeded() { + loadChartData(); + playController.play(framesNumber); + if (rightPane != null) { + rightPane.setDisable(false); + } } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - loadChartData(); - playController.play(framesNumber); - if (rightPane != null) { - rightPane.setDisable(false); - } - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskController.java index 7534cc46e..f431026cc 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskController.java @@ -875,6 +875,14 @@ public void cloneOptions(BaseData2DTaskController controller) { scaleSelector.getSelectionModel().select(controller.scale + ""); } + @Override + public void closeTask() { + if (data2D != null) { + data2D.stopTask(); + } + super.closeTask(); + } + @Override public void cleanPane() { try { diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskTargetsController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskTargetsController.java index 1864eb3a1..73cf16361 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskTargetsController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseData2DTaskTargetsController.java @@ -153,20 +153,15 @@ protected boolean handle() { protected void whenSucceeded() { popDone(); writer.showResult(); + if (targetController != null) { + targetController.refreshControls(); + } } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - if (closeAfterCheck != null && closeAfterCheck.isSelected()) { - close(); - } else if (targetController != null) { - targetController.refreshControls(); - } - } } }; @@ -198,16 +193,13 @@ protected boolean handle() { @Override protected void whenSucceeded() { + ouputRows(); } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - ouputRows(); - } } }; @@ -276,9 +268,7 @@ public boolean updateTable() { dataController.tableChanged(true); dataController.requestMouse(); dataController.popDone(); - if (closeAfterCheck != null && closeAfterCheck.isSelected()) { - close(); - } else if (targetController != null) { + if (targetController != null) { targetController.refreshControls(); } return true; @@ -344,11 +334,7 @@ protected void whenSucceeded() { @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok && closeAfterCheck != null && closeAfterCheck.isSelected()) { - close(); - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseTaskController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseTaskController.java index 625eb6a29..3add8eab7 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseTaskController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseTaskController.java @@ -175,6 +175,9 @@ public void closeTask() { updateLogs(message("Completed") + " " + message("Cost") + " " + DateTools.datetimeMsDuration(endTime, startTime), true); } + if (task != null) { + successed = task.isOk(); + } afterTask(); } @@ -186,6 +189,9 @@ public void afterTask() { if (openCheck != null && openCheck.isSelected()) { openTarget(); } + if (successed && closeAfterCheck != null && closeAfterCheck.isSelected()) { + close(); + } } public void cancelTask() { diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlData2DPaste.java b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlData2DPaste.java deleted file mode 100644 index 1a654e3dd..000000000 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlData2DPaste.java +++ /dev/null @@ -1,180 +0,0 @@ -package mara.mybox.controller; - -import java.util.ArrayList; -import java.util.List; -import javafx.beans.value.ChangeListener; -import javafx.beans.value.ObservableValue; -import javafx.fxml.FXML; -import javafx.scene.control.ComboBox; -import javafx.scene.control.RadioButton; -import javafx.scene.layout.HBox; -import mara.mybox.data2d.Data2D; -import mara.mybox.dev.MyBoxLog; -import mara.mybox.fxml.FxSingletonTask; -import static mara.mybox.value.Languages.message; - -/** - * @Author Mara - * @CreateDate 2021-11-27 - * @License Apache License Version 2.0 - */ -public class ControlData2DPaste extends BaseController { - - protected BaseData2DRowsColumnsController sourceController; - protected Data2DManufactureController targetController; - protected Data2D dataTarget; - protected int row, col; - protected ChangeListener targetStatusListener; - - @FXML - protected HBox pasteBox, wayBox; - @FXML - protected ComboBox rowSelector, colSelector; - @FXML - protected RadioButton replaceRadio, insertRadio, appendRadio; - - public ControlData2DPaste() { - baseTitle = message("PasteContentInSystemClipboard"); - } - - public void setParameters(BaseData2DRowsColumnsController source, Data2DManufactureController target) { - try { - sourceController = source; - targetController = target; - dataTarget = targetController.data2D; - - targetStatusListener = new ChangeListener() { - @Override - public void changed(ObservableValue ov, Boolean oldValue, Boolean newValue) { - makeControls(row, col); - } - }; - targetController.statusNotify.addListener(targetStatusListener); - - makeControls(0, 0); - - } catch (Exception e) { - MyBoxLog.error(e); - } - } - - public void makeControls(int row, int col) { - try { - if (dataTarget == null) { - return; - } - List rows = new ArrayList<>(); - for (long i = 0; i < dataTarget.tableRowsNumber(); i++) { - rows.add("" + (i + 1)); - } - if (!rows.isEmpty()) { - rowSelector.getItems().setAll(rows); - rowSelector.getSelectionModel().select(row); - } else { - rowSelector.getItems().clear(); - } - - List names = dataTarget.columnNames(); - if (names != null && !names.isEmpty()) { - colSelector.getItems().setAll(names); - colSelector.getSelectionModel().select(col); - } else { - colSelector.getItems().clear(); - } - } catch (Exception e) { - MyBoxLog.error(e); - } - } - - @FXML - @Override - public void okAction() { - if (!sourceController.hasData()) { - popError(message("NoData")); - return; - } - if (!sourceController.checkSelections()) { - popError(message("SelectToHanlde")); - return; - } - row = rowSelector.getSelectionModel().getSelectedIndex(); - col = colSelector.getSelectionModel().getSelectedIndex(); - int rowsNumber = dataTarget.tableRowsNumber(); - int colsNumber = dataTarget.tableColsNumber(); - if (row < 0 || row >= rowsNumber || col < 0 || col >= colsNumber) { - popError(message("InvalidParameters")); - return; - } - if (task != null) { - task.cancel(); - } - task = new FxSingletonTask(this) { - - List> data; - - @Override - protected boolean handle() { - data = sourceController.selectedData(this); - return data != null && !data.isEmpty(); - } - - @Override - protected void whenSucceeded() { - try { - targetController.isSettingValues = true; - if (replaceRadio.isSelected()) { - for (int r = row; r < Math.min(row + data.size(), rowsNumber); r++) { - List tableRow = targetController.tableData.get(r); - List dataRow = data.get(r - row); - for (int c = col; c < Math.min(col + dataRow.size(), colsNumber); c++) { - tableRow.set(c + 1, dataRow.get(c - col)); - } - targetController.tableData.set(r, tableRow); - } - } else { - List> newRows = new ArrayList<>(); - for (int r = 0; r < data.size(); r++) { - List newRow = targetController.data2D.newRow(); - List dataRow = data.get(r); - for (int c = col; c < Math.min(col + dataRow.size(), colsNumber); c++) { - newRow.set(c + 1, dataRow.get(c - col)); - } - newRows.add(newRow); - } - targetController.tableData.addAll(insertRadio.isSelected() ? row : row + 1, newRows); - } - targetController.tableView.refresh(); - targetController.isSettingValues = false; - targetController.tableChanged(true); - if (closeAfterCheck.isSelected()) { - close(); - } - } catch (Exception e) { - MyBoxLog.error(e); - } - } - - }; - - start(task); - } - - @Override - public void cancelAction() { - close(); - } - - @Override - public void cleanPane() { - try { - targetController.statusNotify.removeListener(targetStatusListener); - targetStatusListener = null; - targetController = null; - dataTarget = null; - sourceController = null; - } catch (Exception e) { - } - super.cleanPane(); - } - -} diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DChartXYZController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DChartXYZController.java index 2bf1e573e..0cf37b55a 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DChartXYZController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DChartXYZController.java @@ -255,21 +255,14 @@ protected boolean handle() { @Override protected void whenSucceeded() { + browse(chartFile); + browse(chartFile.getParentFile()); } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (!ok) { - return; - } - browse(chartFile); - browse(chartFile.getParentFile()); - if (closeAfterCheck.isSelected()) { - close(); - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DDeleteController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DDeleteController.java index 563ff463f..9d9844a4a 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DDeleteController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DDeleteController.java @@ -102,6 +102,7 @@ protected void whenSucceeded() { dataController.requestMouse(); dataController.alertInformation(message("DeletedRowsNumber") + ": " + filteredRowsIndices.size()); sourceController.selectedRowsIndices = null; + tabPane.getSelectionModel().select(sourceTab); } catch (Exception e) { MyBoxLog.error(e); } @@ -110,15 +111,7 @@ protected void whenSucceeded() { @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - if (closeAfterCheck.isSelected()) { - close(); - } else { - tabPane.getSelectionModel().select(sourceTab); - } - } } }; @@ -171,7 +164,6 @@ protected void whenSucceeded() { @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DExportController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DExportController.java index b8f3cdb7f..54fd40c86 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DExportController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DExportController.java @@ -149,13 +149,6 @@ protected void whenSucceeded() { protected void finalAction() { super.finalAction(); closeTask(); - data2D.stopTask(); - - if (ok) { - if (closeAfterCheck != null && closeAfterCheck.isSelected()) { - close(); - } - } } }; @@ -184,16 +177,16 @@ public void afterSuccess() { @Override public void afterTask() { try { + if (export != null) { + export.end(); + export = null; + } + data2D.stopTask(); super.afterTask(); dataBox.setDisable(false); filterVBox.setDisable(false); formatVBox.setDisable(false); targetVBox.setDisable(false); - data2D.stopTask(); - if (export != null) { - export.end(); - export = null; - } } catch (Exception e) { MyBoxLog.error(e); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupController.java index 07ff57e64..afb5e6a50 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupController.java @@ -69,16 +69,6 @@ protected boolean handle() { @Override protected void whenSucceeded() { - } - - @Override - protected void finalAction() { - super.finalAction(); - data2D.stopTask(); - closeTask(); - if (!ok) { - return; - } if (fileRadio.isSelected()) { DataFileCSV targetFile = group.getTargetFile(); if (targetFile != null) { @@ -98,9 +88,12 @@ protected void finalAction() { popInformation(message("GroupsNumber") + ": " + group.groupsNumber()); } } - if (closeAfterCheck.isSelected()) { - close(); - } + } + + @Override + protected void finalAction() { + super.finalAction(); + closeTask(); } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupStatisticController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupStatisticController.java index a70e5a428..f789ac960 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupStatisticController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DGroupStatisticController.java @@ -218,19 +218,16 @@ protected boolean handle() { @Override protected void whenSucceeded() { + chartDataController.loadDef(dataFile); + groupDataController.loadDef(group.getTargetData()); + statisticDataController.loadDef(statistic.getStatisticData()); + rightPane.setDisable(false); } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - chartDataController.loadDef(dataFile); - groupDataController.loadDef(group.getTargetData()); - statisticDataController.loadDef(statistic.getStatisticData()); - rightPane.setDisable(false); - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DLocationDistributionController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DLocationDistributionController.java index 94c51a552..07a19c33a 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DLocationDistributionController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DLocationDistributionController.java @@ -443,19 +443,16 @@ protected boolean handle() { @Override protected void whenSucceeded() { + framesNumber = dataPoints.size(); + lastFrameid = -1; + mapController.initPoints(mapPoints); + playController.play(size); } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - framesNumber = dataPoints.size(); - lastFrameid = -1; - mapController.initPoints(mapPoints); - playController.play(size); - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionCombinationController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionCombinationController.java index 5a7b29225..e6cfc0579 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionCombinationController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionCombinationController.java @@ -187,17 +187,14 @@ public void run() { @Override protected void whenSucceeded() { + resultsController.afterRegression(); + rightPane.setDisable(false); } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - resultsController.afterRegression(); - rightPane.setDisable(false); - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionController.java index 2c0a4f763..d19ebdd24 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DMultipleLinearRegressionController.java @@ -126,6 +126,9 @@ protected boolean handle() { @Override protected void whenSucceeded() { + writeRegressionData(); + writeModel(); + rightPane.setDisable(false); } @Override @@ -148,13 +151,7 @@ protected void whenFailed() { @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - writeRegressionData(); - writeModel(); - rightPane.setDisable(false); - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSetValuesController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSetValuesController.java index bc04704a2..45c464e59 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSetValuesController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSetValuesController.java @@ -179,25 +179,18 @@ protected boolean handle() { @Override protected void whenSucceeded() { + dataController.data2D.cloneData(data2D); + dataController.goPage(); + dataController.requestMouse(); + dataController.alertInformation(message("ChangedRowsNumber") + ": " + count); + tabPane.getSelectionModel().select(sourceTab); } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); - closeTask(); valueController.expressionController.calculator.reset(); - if (ok) { - dataController.data2D.cloneData(data2D); - dataController.goPage(); - dataController.requestMouse(); - dataController.alertInformation(message("ChangedRowsNumber") + ": " + count); - if (closeAfterCheck != null && closeAfterCheck.isSelected()) { - close(); - } else { - tabPane.getSelectionModel().select(sourceTab); - } - } + closeTask(); } }; @@ -249,11 +242,7 @@ public boolean updateTable() { dataController.requestMouse(); dataController.alertInformation(message("ChangedRowsNumber") + ": " + sourceController.filteredRowsIndices.size()); - if (closeAfterCheck.isSelected()) { - close(); - } else { - tabPane.getSelectionModel().select(sourceTab); - } + tabPane.getSelectionModel().select(sourceTab); return true; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSimpleLinearRegressionCombinationController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSimpleLinearRegressionCombinationController.java index f99168373..0b1558284 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSimpleLinearRegressionCombinationController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DSimpleLinearRegressionCombinationController.java @@ -114,17 +114,14 @@ public void run() { @Override protected void whenSucceeded() { + resultsController.afterRegression(); + rightPane.setDisable(false); } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); closeTask(); - if (ok) { - resultsController.afterRegression(); - rightPane.setDisable(false); - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DStatisticController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DStatisticController.java index abc3b32f2..a7f63bb63 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DStatisticController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/Data2DStatisticController.java @@ -218,23 +218,20 @@ protected boolean handle() { @Override protected void whenSucceeded() { + outputColumns = calculation.getOutputColumns(); + outputData = calculation.getOutputData(); + if (targetController.inTable()) { + updateTable(); + } else { + outputRowsToExternal(); + } } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); calculation.setTask(null); closeTask(); - if (ok) { - outputColumns = calculation.getOutputColumns(); - outputData = calculation.getOutputData(); - if (targetController.inTable()) { - updateTable(); - } else { - outputRowsToExternal(); - } - } } }; @@ -280,23 +277,20 @@ protected boolean handle() { @Override protected void whenSucceeded() { + outputColumns = calculation.getOutputColumns(); + outputData = calculation.getOutputData(); + if (targetController.inTable()) { + updateTable(); + } else { + outputRowsToExternal(); + } } @Override protected void finalAction() { super.finalAction(); - data2D.stopTask(); calculation.setTask(null); closeTask(); - if (ok) { - outputColumns = calculation.getOutputColumns(); - outputData = calculation.getOutputData(); - if (targetController.inTable()) { - updateTable(); - } else { - outputRowsToExternal(); - } - } } }; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderController.java index cd2256668..15dcd21c2 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderController.java @@ -206,7 +206,9 @@ public void run() { } } } - process.waitFor(); + if (process != null) { + process.waitFor(); + } if (process != null) { process.destroy(); process = null; @@ -251,6 +253,15 @@ public void run() { return true; } + @Override + public void afterTask() { + super.afterTask(); + if (process != null) { + process.destroy(); + process = null; + } + } + @Override public void cancelTask() { if (task != null) { @@ -283,7 +294,12 @@ public void cancelAction() { @Override public void cleanPane() { try { + stopping.set(false); cancelTask(); + if (process != null) { + process.destroy(); + process = null; + } } catch (Exception e) { } super.cleanPane(); diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderOptionsController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderOptionsController.java index 7e5adab57..a6711824e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderOptionsController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/FFmpegScreenRecorderOptionsController.java @@ -345,7 +345,7 @@ protected void checkDevicesMac() { if (executable == null) { return; } - String s = queryDevicesWin(); + String s = queryDevicesMac(); if (s == null || s.isBlank()) { return; } @@ -357,6 +357,7 @@ protected void checkDevicesMac() { videoNext = true; audioNext = false; } else if (videoNext) { + MyBoxLog.console(line); int pos1 = line.indexOf("] ["); if (pos1 < 0) { continue; @@ -761,14 +762,16 @@ protected boolean macParameters(List parameters) { if (videoCheck.isSelected()) { if (v < 0) { - popError(message("InvalidParameter") + ": " + message("VideoDevice")); - return false; +// popError(message("InvalidParameter") + ": " + message("VideoDevice")); +// return false; + v = 0; } parameters.add("-i"); if (audioCheck.isSelected()) { if (a < 0) { - popError(message("InvalidParameter") + ": " + message("AudioDevice")); - return false; +// popError(message("InvalidParameter") + ": " + message("AudioDevice")); +// return false; + a = 0; } parameters.add(v + ":" + a); } else { @@ -776,8 +779,9 @@ protected boolean macParameters(List parameters) { } } else { if (a < 0) { - popError(message("InvalidParameter") + ": " + message("AudioDevice")); - return false; +// popError(message("InvalidParameter") + ": " + message("AudioDevice")); +// return false; + a = 0; } if (audioCheck.isSelected()) { parameters.add(":" + a); diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/MainMenuController_Development.java b/alpha/MyBox/src/main/java/mara/mybox/controller/MainMenuController_Development.java index 1d174064d..58496e99e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/MainMenuController_Development.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/MainMenuController_Development.java @@ -17,6 +17,8 @@ import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; import javafx.scene.layout.VBox; +import mara.mybox.data2d.DataFileCSV; +import mara.mybox.data2d.tools.Data2DExampleTools; import mara.mybox.dev.MyBoxLog; import mara.mybox.tools.FloatTools; import mara.mybox.tools.SystemTools; @@ -331,6 +333,13 @@ public void autoTesting() { loadScene(Fxmls.AutoTestingCasesFxml); } + @FXML + public void myBoxVerificationList() { + DataFileCSV data = Data2DExampleTools.MyBoxVerificationList( + parentController, Languages.isChinese()); + Data2DManufactureController.openDef(data); + } + @FXML protected void messageAuthor(ActionEvent event) { openStage(Fxmls.MessageAuthorFxml); diff --git a/alpha/MyBox/src/main/java/mara/mybox/data2d/tools/Data2DExampleTools.java b/alpha/MyBox/src/main/java/mara/mybox/data2d/tools/Data2DExampleTools.java index bc427e984..245e34ff5 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/data2d/tools/Data2DExampleTools.java +++ b/alpha/MyBox/src/main/java/mara/mybox/data2d/tools/Data2DExampleTools.java @@ -14,6 +14,7 @@ import javafx.scene.control.Menu; import javafx.scene.control.MenuItem; import javafx.scene.control.SeparatorMenuItem; +import mara.mybox.controller.BaseController; import mara.mybox.controller.BaseData2DLoadController; import mara.mybox.data.FunctionsList; import mara.mybox.data.StringTable; @@ -1504,7 +1505,7 @@ public static DataFileCSV VerificationRecord(boolean isChinese) { return data; } - public static DataFileCSV MyBoxVerificationList(BaseData2DLoadController controller, boolean isChinese) { + public static DataFileCSV MyBoxVerificationList(BaseController controller, boolean isChinese) { try { String lang = isChinese ? "zh" : "en"; FunctionsList list = new FunctionsList(controller.getMainMenu(), false, lang); @@ -1549,6 +1550,9 @@ public static DataFileCSV MyBoxVerificationList(BaseData2DLoadController control .setFormat(format)); columns.add(new Data2DColumn(isChinese ? "内存占用" : "Memory occupied", ColumnType.Enumeration) .setFormat(format)); + columns.add(new Data2DColumn(isChinese ? "检验者" : "Verifier", ColumnType.String)); + columns.add(new Data2DColumn(message(lang, "ModifyTime"), ColumnType.Datetime)); + columns.add(new Data2DColumn(message(lang, "Description"), ColumnType.String)); String dataName = message(lang, "MyBoxVerificationList") + " - " + DateTools.nowString(); targetData.setColumns(columns).setDataName(dataName); diff --git a/alpha/MyBox/src/main/resources/bundles/Messages_en.properties b/alpha/MyBox/src/main/resources/bundles/Messages_en.properties index fb613c6e0..10bb09a12 100644 --- a/alpha/MyBox/src/main/resources/bundles/Messages_en.properties +++ b/alpha/MyBox/src/main/resources/bundles/Messages_en.properties @@ -4790,7 +4790,7 @@ CssReference=CSS reference SelectFile=Select file SelectPath=Select path iconSelectPath=bronze of Shang Dynasty or Zhou Dynasty(1600 BC-771 BC) -ScreenRecorderComments=Please make sure MyBox has the permission to record screen +ScreenRecorderComments=Please make sure MyBox has the permission to record screen. Icons40px=40px icons CommitModificationWhenDataCellLoseFocusComments=For editable data cells:\n- Click the cell to start editing.\n- Press ESC to discard modification.\n- Press ENTER to commit modification.\n- If this option is selected, modification will be committed automatically when the cell loses focus\n (press anywhere outside the cell). AboutData2D=About data in two-dimensional storage structure diff --git a/alpha/MyBox/src/main/resources/bundles/Messages_zh_CN.properties b/alpha/MyBox/src/main/resources/bundles/Messages_zh_CN.properties index d2b034775..cdd58d087 100644 --- a/alpha/MyBox/src/main/resources/bundles/Messages_zh_CN.properties +++ b/alpha/MyBox/src/main/resources/bundles/Messages_zh_CN.properties @@ -4790,7 +4790,7 @@ CssReference=CSS\u89c4\u8303 SelectFile=\u9009\u62e9\u6587\u4ef6 SelectPath=\u9009\u62e9\u76ee\u5f55 iconSelectPath=\u5546\u671d\u6216\u897f\u5468\uff08\u516c\u5143\u524d1600\u5e74-\u516c\u5143\u524d771\u5e74\uff09 \u9752\u94dc\u5668 \u518f\u7eb9/\u706b\u7eb9 -ScreenRecorderComments=\u8bf7\u786e\u8ba4MyBox\u6709\u6743\u9650\u5f55\u5c4f +ScreenRecorderComments=\u8bf7\u786e\u8ba4MyBox\u6709\u6743\u9650\u5f55\u5c4f\u3002 Icons40px=40\u50cf\u7d20\u56fe\u6807 CommitModificationWhenDataCellLoseFocusComments=\u5bf9\u4e8e\u53ef\u7f16\u8f91\u7684\u6570\u636e\u5355\u5143\uff1a\n- \u70b9\u51fb\u5355\u5143\u4ee5\u5f00\u59cb\u7f16\u8f91\u3002\n- \u6309ESC\u952e\u4ee5\u4e22\u5f03\u4fee\u6539\u3002\n- \u6309ENTER\u952e\u4ee5\u63d0\u4ea4\u4fee\u6539\u3002\n- \u82e5\u9009\u62e9\u6b64\u9879\uff0c\u5219\u5728\u6570\u636e\u5355\u5143\u5931\u53bb\u7126\u70b9\u65f6\uff08\u70b9\u51fb\u6b64\u5355\u5143\u5916\u4efb\u4f55\u5904\uff09\uff0c\u81ea\u52a8\u63d0\u4ea4\u4fee\u6539\u3002 AboutData2D=\u5173\u4e8e\u4e8c\u7ef4\u5b58\u50a8\u7ed3\u6784\u7684\u6570\u636e diff --git a/alpha/MyBox/src/main/resources/fxml/ControlData2DPaste.fxml b/alpha/MyBox/src/main/resources/fxml/ControlData2DPaste.fxml deleted file mode 100644 index bc8d8dd70..000000000 --- a/alpha/MyBox/src/main/resources/fxml/ControlData2DPaste.fxml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/alpha/MyBox/src/main/resources/fxml/FFmpegScreenRecorder.fxml b/alpha/MyBox/src/main/resources/fxml/FFmpegScreenRecorder.fxml index 2ec8a9cde..43ca3f815 100644 --- a/alpha/MyBox/src/main/resources/fxml/FFmpegScreenRecorder.fxml +++ b/alpha/MyBox/src/main/resources/fxml/FFmpegScreenRecorder.fxml @@ -93,7 +93,7 @@ License: Apache License Version 2.0 - + +