Browse Source

allow to disable auto global formula eval

ncannasse 3 tháng trước cách đây
mục cha
commit
efad45df00
5 tập tin đã thay đổi với 17 bổ sung2 xóa
  1. 4 1
      bin/app.html
  2. 3 1
      hide/Config.hx
  3. 5 0
      hide/Ide.hx
  4. 1 0
      hide/comp/cdb/Editor.hx
  5. 4 0
      hide/comp/cdb/Formulas.hx

+ 4 - 1
bin/app.html

@@ -77,7 +77,10 @@
 	<menu label="Database" class="database">
 		<menu label="View" class="dbView"></menu>
 		<menu label="Custom Types" class="dbCustom"></menu>
-		<menu label="Formulas" class="dbFormulas"></menu>
+		<menu label="Formulas">
+			<menu label="Enable" type="checkbox" class="dbFormulasEnable"></menu>
+			<menu label="Edit" class="dbFormulas"></menu>
+		</menu>
 		<menu label="Diff">
 			<menu label="Create" class="dbCreateDiff"></menu>
 			<menu label="Load" class="dbLoadDiff"></menu>

+ 3 - 1
hide/Config.hx

@@ -20,7 +20,8 @@ typedef HideGlobalConfig = {
 	var autoSavePrefab : Bool;
 	var svnShowVersionedFiles : Bool;
 	var svnShowModifiedFiles : Bool;
-
+	var enableDBFormulas : Bool;
+	
 	// Search
 	var closeSearchOnFileOpen : Bool;
 	var typingDebounceThreshold : Int;
@@ -190,6 +191,7 @@ class Config {
 		if( userGlobals.source.hide == null )
 			userGlobals.source.hide = {
 				autoSaveLayout : true,
+				enableDBFormulas : true,
 				layouts : null,
 				recentProjects : [],
 				currentProject : "",

+ 5 - 0
hide/Ide.hx

@@ -1355,6 +1355,11 @@ class Ide extends hide.tools.IdeData {
 		db.find(".dbCustom").click(function(_) {
 			open("hide.view.CdbCustomTypes",{});
 		});
+		db.find(".dbFormulasEnable").prop("checked",ideConfig.enableDBFormulas).click(function(_) {
+			ideConfig.enableDBFormulas = !ideConfig.enableDBFormulas;
+			config.global.save();
+			hide.comp.cdb.Editor.refreshAll();
+		});
 		db.find(".dbFormulas").click(function(_) {
 			open("hide.comp.cdb.FormulasView",{ path : config.current.get("cdb.formulasFile") });
 		});

+ 1 - 0
hide/comp/cdb/Editor.hx

@@ -1494,6 +1494,7 @@ class Editor extends Component {
 		element.addClass('cdb');
 
 		formulas = new Formulas(this);
+		formulas.enable = ide.ideConfig.enableDBFormulas;
 		formulas.evaluateAll(currentSheet.realSheet);
 
 		var content = new Element("<table>");

+ 4 - 0
hide/comp/cdb/Formulas.hx

@@ -61,6 +61,8 @@ class Formulas {
 	var fmap : Map<String, Map<String, Formula>> = [];
 	var currentMap : Map<String,Dynamic>;
 
+	public var enable = true;
+
 	public function new( editor : Editor ) {
 		ide = hide.Ide.inst;
 		this.editor = editor;
@@ -77,6 +79,8 @@ class Formulas {
 	}
 
 	public function evaluateAll( ?sheet : cdb.Sheet ) {
+		if( !enable )
+			return;
 		currentMap = new Map();
 		for( s in editor.base.sheets ) {
 			if( sheet != null && sheet != s ) continue;