OSDN Git Service

オブジェクトの削除についても記録に残すようにした。
authorMRSa <mrsa@myad.jp>
Sun, 22 Jul 2018 14:40:49 +0000 (23:40 +0900)
committerMRSa <mrsa@myad.jp>
Sun, 22 Jul 2018 14:40:49 +0000 (23:40 +0900)
app/src/main/java/jp/sourceforge/gokigen/memoma/MeMoMaListener.java
app/src/main/java/jp/sourceforge/gokigen/memoma/holders/IOperationHistoryHolder.java
app/src/main/java/jp/sourceforge/gokigen/memoma/holders/MeMoMaConnectLineHolder.java
app/src/main/java/jp/sourceforge/gokigen/memoma/holders/MeMoMaObjectHolder.java
app/src/main/java/jp/sourceforge/gokigen/memoma/holders/OperationHistoryHolder.java

index 69f2bef..6d7a3cb 100644 (file)
@@ -1104,6 +1104,9 @@ public class MeMoMaListener implements OnClickListener, OnTouchListener, OnKeyLi
             objectDrawer.resetScaleAndLocation(zoomBar);
         }
 
+        // 操作履歴をクリアする
+        historyHolder.reset();
+
                /*
                // 題名を "無題"に変更し、関係情報をクリアする
                String newName = parent.getString(R.string.no_name);
index 3a009d2..db296a5 100644 (file)
@@ -16,7 +16,9 @@ interface IOperationHistoryHolder
         STROKE_WIDTH,
         FONT_SIZE,
         NEW_OBJECT,
+        DELETE_OBJECT,
         NEW_CONNECT_LINE,
+        DELETE_CONNECT_LINE,
         CONNECT_LINE_FROM_KEY,
         CONNECT_LINE_TO_KEY,
         CONNECT_LINE_STYLE,
@@ -26,6 +28,7 @@ interface IOperationHistoryHolder
 
 
     void addHistory(int key, ChangeKind kind, Object object);
+    void reset();
     void undo();
 
 }
index a7e8f59..fd7e124 100644 (file)
@@ -39,7 +39,11 @@ public class MeMoMaConnectLineHolder
 
     public boolean disconnectLines(Integer key)
     {
-        connectLines.remove(key);
+        ObjectConnector removeTarget = connectLines.remove(key);
+        if (removeTarget != null)
+        {
+            historyHolder.addHistory(key, IOperationHistoryHolder.ChangeKind.DELETE_CONNECT_LINE, removeTarget);
+        }
         Log.v(Main.APP_IDENTIFIER, "DISCONNECT LINES : " + key);
         return (true);
     }
index b636a05..2c2c2c5 100644 (file)
@@ -132,7 +132,11 @@ public class MeMoMaObjectHolder
 
     public boolean removePosition(Integer key)
     {
-       objectPoints.remove(key);
+        PositionObject removeTarget = objectPoints.remove(key);
+        if (removeTarget != null)
+        {
+            historyHolder.addHistory(key, IOperationHistoryHolder.ChangeKind.DELETE_OBJECT, removeTarget);
+        }
        Log.v(Main.APP_IDENTIFIER, "REMOVE : " + key);
        return (true);
     }
index 3642eef..7d876c1 100644 (file)
@@ -17,6 +17,12 @@ public class OperationHistoryHolder implements IOperationHistoryHolder
         Log.v(TAG, "addHistory() KEY : " + key + " KIND : " + kind.toString() + " OBJ : " + object.toString());
     }
 
+    public void reset()
+    {
+        Log.v(TAG, "Histry Reset() ");
+
+    }
+
     public void undo()
     {
         Log.v(TAG, "undo() ");