diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/types/input/dropdownType.java b/app/src/main/java/com/astatin3/scoutingapp2025/types/input/dropdownType.java index bfb1e70..4df5cdb 100644 --- a/app/src/main/java/com/astatin3/scoutingapp2025/types/input/dropdownType.java +++ b/app/src/main/java/com/astatin3/scoutingapp2025/types/input/dropdownType.java @@ -68,10 +68,6 @@ public class dropdownType extends inputType { text_options = (String[]) objects.get(2).get(); } - - - - public PowerSpinnerView dropdown = null; public View createView(Context context, Function onUpdate){ @@ -100,6 +96,8 @@ public class dropdownType extends inputType { dropdown.setSpinnerPopupElevation(14); + + dropdown.setOnSpinnerItemSelectedListener(new OnSpinnerItemSelectedListener() { @Override public void onItemSelected(int oldIndex, @Nullable IconSpinnerItem oldItem, int newIndex, diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java b/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java index 0a5de85..4bd3d44 100644 --- a/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java +++ b/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java @@ -29,6 +29,12 @@ public class FieldsFragment extends Fragment { @Nullable Bundle savedInstanceState) { binding = FragmentDataFieldsBinding.inflate(inflater, container, false); + binding.saveButton.setVisibility(View.GONE); + binding.editButton.setVisibility(View.GONE); + binding.upButton.setVisibility(View.GONE); + binding.addButton.setVisibility(View.GONE); + binding.downButton.setVisibility(View.GONE); + load_field_menu(); return binding.getRoot(); @@ -88,12 +94,13 @@ public class FieldsFragment extends Fragment { private void display_fields(inputType[] version_values) { binding.fieldsArea.removeAllViews(); - binding.fieldsArea.setReorderingEnabled(true); + binding.fieldsArea.setReorderingEnabled(false); - TextView e = null; - binding.addButton.setOnClickListener(view -> { - e.setText("123"); - }); + binding.saveButton.setVisibility(View.GONE); + binding.editButton.setVisibility(View.GONE); + binding.upButton.setVisibility(View.VISIBLE); + binding.addButton.setVisibility(View.VISIBLE); + binding.downButton.setVisibility(View.VISIBLE); for(int i = 0; i < version_values.length; i++){ TableRow tr = new TableRow(getContext()); @@ -120,24 +127,48 @@ public class FieldsFragment extends Fragment { binding.fieldsArea.addView(tr); tr.setOnClickListener(v -> { + binding.editButton.setVisibility(View.VISIBLE); trOnClick(version_values, tr); }); } + selindex = -1; + + binding.upButton.setOnClickListener(v -> { + if(selindex != 0) { + binding.saveButton.setVisibility(View.VISIBLE); + binding.fieldsArea.updateRowOrder(selindex, selindex - 1); + selindex -= 1; + } + }); + + binding.downButton.setOnClickListener(v -> { + if(selindex != version_values.length-1) { + binding.saveButton.setVisibility(View.VISIBLE); + binding.fieldsArea.updateRowOrder(selindex, selindex + 1); + selindex += 1; + } + }); + + binding.saveButton.setOnClickListener(v -> { + binding.saveButton.setVisibility(View.GONE); + }); } + private int selindex = -1; + private void trOnClick(inputType[] version_values, TableRow tr){ - int index = -1; + selindex = -1; for(int i = 0; i < binding.fieldsArea.getChildCount(); i++){ View v = binding.fieldsArea.getChildAt(i); if(v.equals(tr)) { tr.setBackgroundColor(background_color); - index = i; + selindex = i; } else binding.fieldsArea.getChildAt(i).setBackgroundColor(unfocused_background_color); } - onFieldSelect(version_values[binding.fieldsArea.getReorderedIndexes().get(index)]); + onFieldSelect(version_values[binding.fieldsArea.getReorderedIndexes().get(selindex)]); } private void onFieldSelect(inputType field){ diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/utility/ReorderableTableLayout.java b/app/src/main/java/com/astatin3/scoutingapp2025/utility/ReorderableTableLayout.java index 8f83724..fb118d6 100644 --- a/app/src/main/java/com/astatin3/scoutingapp2025/utility/ReorderableTableLayout.java +++ b/app/src/main/java/com/astatin3/scoutingapp2025/utility/ReorderableTableLayout.java @@ -112,7 +112,8 @@ public class ReorderableTableLayout extends TableLayout { } } - private void updateRowOrder(int fromIndex, int toIndex) { + public void updateRowOrder(int fromIndex, int toIndex) { + saveOriginalOrder(); if (fromIndex < toIndex) { for (int i = fromIndex; i < toIndex; i++) { Collections.swap(rows, i, i + 1); diff --git a/app/src/main/res/layout/fragment_data_fields.xml b/app/src/main/res/layout/fragment_data_fields.xml index a48070f..622c25e 100644 --- a/app/src/main/res/layout/fragment_data_fields.xml +++ b/app/src/main/res/layout/fragment_data_fields.xml @@ -1,18 +1,63 @@ +