Рефакторинг кода панели быстрого доступа.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package Common.Database;
|
||||
import Common.Database.SQLITE.SQLiteDatabase;
|
||||
import Common.Database.Objects.DBForm.FormsDBTable;
|
||||
import Visual_DVM_2021.PassStats.PassStatsDBTable;
|
||||
import _VisualDVM.GlobalData.Grid.TablesVisualDatasDBTable;
|
||||
import _VisualDVM.GlobalData.Splitter.SplittersDBTable;
|
||||
import Visual_DVM_2021.Passes.PassCode;
|
||||
@@ -10,6 +11,7 @@ public class VisualiserDatabase extends SQLiteDatabase {
|
||||
public FormsDBTable forms;
|
||||
public TablesVisualDatasDBTable tablesVisualData;
|
||||
public SplittersDBTable splitters;
|
||||
public PassStatsDBTable passStats;
|
||||
public VisualiserDatabase(File file_in) {
|
||||
super(file_in);
|
||||
}
|
||||
@@ -18,6 +20,7 @@ public class VisualiserDatabase extends SQLiteDatabase {
|
||||
addTable(forms = new FormsDBTable());
|
||||
addTable(tablesVisualData = new TablesVisualDatasDBTable());
|
||||
addTable(splitters = new SplittersDBTable());
|
||||
addTable(passStats = new PassStatsDBTable());
|
||||
}
|
||||
@Override
|
||||
public PassCode getSynchronizePassCode() {
|
||||
|
||||
@@ -20,10 +20,6 @@ import java.util.Stack;
|
||||
import java.util.Vector;
|
||||
import java.util.concurrent.Semaphore;
|
||||
public class Pass<T> {
|
||||
public static Vector<Pass> FAPasses = new Vector<>();
|
||||
//</editor-fold>
|
||||
//-
|
||||
public PassStats stats = null;
|
||||
public int callsCount = 0; //число вызовов прохода за текущий сеанс визуализатора.
|
||||
public T target; //главный аргумент.
|
||||
public PassState state = PassState.Inactive; //текущее состояние прохода.
|
||||
@@ -39,23 +35,10 @@ public class Pass<T> {
|
||||
private JButton tabButton = null;
|
||||
private Exception last_error; //последнее пойманное исключение выполнения.
|
||||
//->>
|
||||
public static Throwable getCauseRec(Throwable ex) {
|
||||
public Throwable getCauseRec(Throwable ex) {
|
||||
Throwable cause = ex.getCause();
|
||||
return (cause == null) ? ex : getCauseRec(cause);
|
||||
}
|
||||
public static void setPassesControlsVisible(boolean flag, PassCode... codes_in) {
|
||||
for (PassCode code_in : codes_in)
|
||||
Global.mainModule.getPass(code_in).setControlsVisible(flag);
|
||||
}
|
||||
//важно. вызывать только если есть интерфейс. passstats делать частью общей бд.пусть будут.
|
||||
public static void CheckAllStats() throws Exception {
|
||||
for (Pass pass : FAPasses) {
|
||||
if (!(Global.mainModule.getDb()).passStats.Data.containsKey(pass.code().toString()))
|
||||
Global.mainModule.getDb().Insert(pass.stats = new PassStats(pass.code().toString()));
|
||||
else pass.stats = (Global.mainModule.getDb()).passStats.Data.get(pass.code().toString());
|
||||
}
|
||||
FAPasses.sort(new SortPassesByStats());
|
||||
}
|
||||
//<editor-fold desc="Интерфейс">
|
||||
//https://www.delftstack.com/ru/howto/java/java-resize-image/
|
||||
public String getIconPath() {
|
||||
@@ -110,15 +93,12 @@ public class Pass<T> {
|
||||
}
|
||||
public void UpdateStatsIfNeed() {
|
||||
if (hasStats()) {
|
||||
stats.Inc();
|
||||
try {
|
||||
Global.mainModule.getDb().Update(stats);
|
||||
FAPasses.sort(new SortPassesByStats());
|
||||
if (Global.mainModule.HasProject())
|
||||
UI.fastAccessMenuBar.Refresh();
|
||||
Global.mainModule.getDb().passStats.IncPassStat(code());
|
||||
} catch (Exception ex) {
|
||||
Utils_.MainLog.PrintException(ex);
|
||||
}
|
||||
UI.fastAccessMenuBar.Refresh();
|
||||
}
|
||||
}
|
||||
public PassCode code() {
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
package Common.Passes;
|
||||
import Common.Passes.Pass;
|
||||
|
||||
import java.util.Comparator;
|
||||
public class SortPassesByStats implements Comparator<Common.Passes.Pass> {
|
||||
public int compare(Common.Passes.Pass p1, Pass p2) {
|
||||
return p2.stats.Usages - p1.stats.Usages;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user