]> gerrit.simantics Code Review - simantics/interop.git/commitdiff
Added enabled flag for UpdateOp 22/3622/1
authorMarko Luukkainen <marko.luukkainen@semantum.fi>
Thu, 21 Nov 2019 12:30:32 +0000 (14:30 +0200)
committerMarko Luukkainen <marko.luukkainen@semantum.fi>
Tue, 26 Nov 2019 16:14:10 +0000 (16:14 +0000)
gitlab #16

Change-Id: I4f8e0146c15a30a0ad00650600f5275c0df05717
(cherry picked from commit 99c2a46dea84c410448a87c7f287e66a17ccde56)

org.simantics.interop.update/scl/Interop/Update.scl
org.simantics.interop.update/src/org/simantics/interop/update/model/PropertyChange.java
org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOp.java

index 5769840732f490814d95316da74231067da393a4..2c9124874b66ee2f746d3d9f6a49f164fbb90e56 100644 (file)
@@ -122,7 +122,7 @@ importJava "org.simantics.interop.update.model.PropertyChange" where
   @JavaName isVisible  
   pcVisible :: PropertyChange -> <Proc> Boolean
   
-  @JavaName isEnabled  
+  @JavaName enabled  
   pcEnabled :: PropertyChange -> <Proc> Boolean
   
   @JavaName setEnabled
@@ -184,6 +184,9 @@ importJava "org.simantics.interop.update.model.UpdateOp" where
   @JavaName isChange
   opIsChange :: UpdateOp -> <Proc> Boolean
   
+  @JavaName enabled
+  opEnabled :: UpdateOp -> <Proc> Boolean
+  
   @JavaName getResource
   getOpResource :: UpdateOp -> <Proc> Maybe Resource
   
index 07a3dc38e35cd98334a4238bc095d6e0154ded72..947f516849ea7c6beea0f4ad5b982eb85d15985b 100644 (file)
@@ -146,10 +146,10 @@ public class PropertyChange {
        }
        
        /**
-        * IS change enabled. Disabled changes do not allow changing selected state.
+        * Is change enabled. Disabled changes do not allow changing selected state.
         * @return
         */
-       public boolean isEnabled() {
+       public boolean enabled() {
         return enabled;
     }
        
index 00d113938bb83c7c3d909b91083a18c0d00f86d3..6fba56723f2c5cf2cca45117643664eb30448991 100644 (file)
@@ -23,6 +23,7 @@ public abstract class UpdateOp {
        private boolean manualSelection = false;
        protected boolean applied = false;
        protected boolean visible = true;
+       protected boolean enabled = true;
        
        private Collection<UpdateOp> parentOps = new ArrayList<UpdateOp>();
        private Collection<UpdateOp> subOps = new ArrayList<UpdateOp>();
@@ -97,6 +98,10 @@ public abstract class UpdateOp {
        }
        
        public boolean select(boolean select) {
+           if (!enabled)
+               return false;
+           if (!isChange())
+               return false;
                boolean b = _select(select);
                if (b)
                        manualSelection = true;
@@ -108,6 +113,8 @@ public abstract class UpdateOp {
                        return true;
                if (applied)
                        return false;
+               if (!isChange())
+                   return false;
                if (select) {
                        if (selectParentOps()) {
                                for (UpdateOp op : parentOps)
@@ -149,6 +156,18 @@ public abstract class UpdateOp {
                return visible;
        }
        
+       /**
+     * Is change enabled. Disabled changes do not allow changing selected state.
+     * @return
+     */
+    public boolean enabled() {
+        return enabled;
+    }
+    
+    public void setEnabled(boolean enabled) {
+        this.enabled = enabled;
+    }
+       
        
        public void apply(WriteGraph g) throws DatabaseException {
                if (applied)