commit d3d639b1559d664db5ded54c1c2c7bbe2e035bef
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Mar 31 00:23:57 2022 +0200

    Bandaged 3x3 UI: delete created objects.

diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
index f618af17..35a144c5 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
@@ -232,6 +232,20 @@ public class BandagedCreatorActivity extends AppCompatActivity
       mScreen.addObject(this,name);
       }
 
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    public void deleteObject(String name)
+      {
+      mScreen.deleteObject(this,name);
+      }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+    public void playObject(String name)
+      {
+
+      }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
     public void iconCreationDone(Bitmap bmp)
diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorObjectView.java b/src/main/java/org/distorted/bandaged/BandagedCreatorObjectView.java
index 5f94dadc..67a3ba38 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorObjectView.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorObjectView.java
@@ -37,21 +37,7 @@ public class BandagedCreatorObjectView
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  private void playObject()
-    {
-
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  private void deleteObject()
-    {
-
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  public BandagedCreatorObjectView(BandagedCreatorActivity act, String name, boolean leftmost)
+  public BandagedCreatorObjectView(final BandagedCreatorActivity act, String name, boolean leftmost)
     {
     mName = name;
     LayoutInflater inflater = act.getLayoutInflater();
@@ -90,7 +76,7 @@ public class BandagedCreatorObjectView
       @Override
       public void onClick(View v)
         {
-        playObject();
+        act.playObject(mName);
         }
       });
 
@@ -99,7 +85,7 @@ public class BandagedCreatorObjectView
       @Override
       public void onClick(View v)
         {
-        deleteObject();
+        act.deleteObject(mName);
         }
       });
     }
@@ -110,4 +96,11 @@ public class BandagedCreatorObjectView
     {
     return mPane;
     }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  public boolean objectNameIs(String name)
+    {
+    return mName.equals(name);
+    }
 }
diff --git a/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java b/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
index 457db8db..b2a313ed 100644
--- a/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
+++ b/src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
@@ -19,6 +19,8 @@
 
 package org.distorted.bandaged;
 
+import java.util.ArrayList;
+
 import android.app.Activity;
 import android.graphics.Bitmap;
 import android.view.View;
@@ -36,12 +38,14 @@ public class BandagedCreatorScreen
   private TransparentImageButton mBackButton, mResetButton, mDoneButton;
   private LinearLayout mObjectView;
   private int mNumObjects;
+  private ArrayList<BandagedCreatorObjectView> mViews;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public BandagedCreatorScreen()
     {
     mNumObjects = 0;
+    mViews = new ArrayList<>();
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -141,6 +145,43 @@ public class BandagedCreatorScreen
     LinearLayout pane = view.getPane();
     mObjectView.addView(pane);
     mNumObjects++;
+    mViews.add(view);
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void deleteObject(BandagedCreatorActivity act, String name)
+    {
+    for(int v=0; v<mNumObjects; v++)
+      {
+      BandagedCreatorObjectView view = mViews.get(v);
+
+      if( view.objectNameIs(name) )
+        {
+        LinearLayout pane = view.getPane();
+        mObjectView.removeView(pane);
+        mViews.remove(view);
+        mNumObjects--;
+
+        if( v==0 && mNumObjects>0 )
+          {
+          int width = act.getScreenWidthInPixels();
+          BandagedCreatorObjectView v2 = mViews.get(v);
+          LinearLayout p2 = v2.getPane();
+          int lMargin = (int)(width*RubikActivity.LARGE_MARGIN);;
+
+          LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( (int)(width*0.36f), LinearLayout.LayoutParams.MATCH_PARENT);
+          params.bottomMargin = lMargin;
+          params.topMargin    = lMargin;
+          params.leftMargin   = lMargin;
+          params.rightMargin  = lMargin;
+
+          p2.setLayoutParams(params);
+          }
+
+        break;
+        }
+      }
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
