package com.example.monitoringchildrensnutrition;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import android.text.style.BackgroundColorSpan;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View.OnClickListener;
import com.divyanshu.colorseekbar.ColorSeekBar;
import com.google.android.material.bottomsheet.BottomSheetDialog;
public class EducatorPage extends AppCompatActivity implements OnClickListener {
Toolbar toolbar;
//изменение цвета
View view;
ColorSeekBar colorSeekBar;
int i;
Button btnColorTable;
TextView name_educator;
String Value;
String Value1;
//сохраняем данные
SharedPreferences sharedPreferences;
//берем сохраненные данные
SharedPreferences preferences;
//для добавления ребенка
AlertDialog.Builder dialogBuilder;
AlertDialog dialog;
EditText personal_account, surname_child, name_child, patronymic_child;
Button add_to, cancellation;
//добавляем ребенка в таблицу
TableLayout table_children;
TableRow tr;
TextView number, fio_child, number_lc, balance;
//нумерация строк
static int count = 1;
//удаляем ребенка
ImageView mark;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.educator_page);
toolbar = findViewById(R.id.toolbar_educator);
setSupportActionBar(toolbar);
view = (View) findViewById(R.id.view);
colorSeekBar = (ColorSeekBar) findViewById(R.id.color_seekbar);
btnColorTable = (Button) findViewById(R.id.btnColorTable);
name_educator = (TextView) findViewById(R.id.name_educator);
//невидимость для изменения цвета
btnColorTable.setVisibility(View.INVISIBLE);
colorSeekBar.setVisibility(View.INVISIBLE);
//запоминаем ко всем данным
sharedPreferences = getSharedPreferences("USER_DATA", MODE_PRIVATE);
//берем сохраненные данные воспитателя
preferences = getSharedPreferences("USER_DATA", MODE_PRIVATE);
String name = preferences.getString("NAME", "");
String surname = preferences.getString("SURNAME", "");
String patronymic = preferences.getString("PATRONYMIC", "");
//берем сохраненный цвет фона
i = preferences.getInt("COLOR", i);
view.setBackgroundColor(i);
//вписываем нужный текст в TextView
Value = "Воспитатель:" + " " + surname + " " + name + " " + patronymic;
name_educator.setText(Value);
//добавляем ребенка в таблицу
table_children = (TableLayout) findViewById(R.id.table_children);
tr = (TableRow) findViewById(R.id.row);
balance = (TextView) findViewById(R.id.balance);
mark = (ImageView) findViewById(R.id.mark);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_educator, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.color_table) {
btnColorTable.setVisibility(View.VISIBLE);
colorSeekBar.setVisibility(View.VISIBLE);
colorSeekBar.setOnColorChangeListener(new ColorSeekBar.OnColorChangeListener() {
@Override
public void onColorChangeListener(int i) {
view.setBackgroundColor(i);
//сохраняем выбранный цвет
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt("COLOR", i);
editor.apply();
}
});
btnColorTable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog.Builder builder = new AlertDialog.Builder(EducatorPage.this);
builder.setMessage("Подтверждаете ваш выбор?");
builder.setCancelable(true);
builder.setNegativeButton("нет", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setPositiveButton("Да", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
btnColorTable.setVisibility(View.INVISIBLE);
colorSeekBar.setVisibility(View.INVISIBLE);
Toast.makeText(getApplicationContext(), "Цвет сохранен", Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
} else if (id == R.id.add_child) {
dialogBuilder = new AlertDialog.Builder(this);
final View add_child = getLayoutInflater().inflate(R.layout.add_child, null);
personal_account = (EditText) add_child.findViewById(R.id.personal_account);
surname_child = (EditText) add_child.findViewById(R.id.surname_child);
name_child = (EditText) add_child.findViewById(R.id.name_child);
patronymic_child = (EditText) add_child.findViewById(R.id.patronymic_child);
add_to = (Button) add_child.findViewById(R.id.add_to);
cancellation = (Button) add_child.findViewById(R.id.cancellation);
dialogBuilder.setView(add_child);
dialog = dialogBuilder.create();
dialog.show();
add_to.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!TextUtils.isEmpty(personal_account.getText().toString()) && !TextUtils.isEmpty(surname_child.getText().toString()) && !TextUtils.isEmpty(name_child.getText().toString()) &&
!TextUtils.isEmpty(patronymic_child.getText().toString())) {
//находим таблицу
TableLayout tableLayout = (TableLayout) findViewById(R.id.table_children);
//создаем экземпляр для создания строки
LayoutInflater inflater = LayoutInflater.from(EducatorPage.this);
//создаем строку
TableRow tr = (TableRow) inflater.inflate(R.layout.table_row_plus, null);
//находим ячейки и вставляем значения
number = (TextView) tr.findViewById(R.id.number);
//для нумерации строк
int aInt = count++;
String aString = Integer.toString(aInt);
number.setText(aString);
//вставляем остальные значения
fio_child = (TextView) tr.findViewById(R.id.fio_child);
//переводим введенные значения
String tv1 = surname_child.getText().toString();
String tv2 = name_child.getText().toString();
String tv3 = patronymic_child.getText().toString();
//соединяем для вставки ФИО
Value1 = tv1 + " " + tv2 + " " + tv3;
fio_child.setText(Value1);
number_lc = (TextView) tr.findViewById(R.id.number_lc);
String tv4 = personal_account.getText().toString();
number_lc.setText(tv4);
//добавляем строку
tableLayout.addView(tr);
dialog.dismiss();
Toast.makeText(getApplicationContext(), "Ребенок добавлен", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Заполните все поля", Toast.LENGTH_SHORT).show();
}
}
});
cancellation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
} else if (id == R.id.exit) {
final AlertDialog.Builder builder = new AlertDialog.Builder(EducatorPage.this);
builder.setMessage("Вы действительно хотите выйти?");
builder.setCancelable(true);
builder.setNegativeButton("нет", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setPositiveButton("Да", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
} else if (id == R.id.delete) {
Toast.makeText(getApplicationContext(), R.string.delete, Toast.LENGTH_SHORT).show();
}
return true;
}
@Override
public void onClick(View v) {
mark.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Строчка удалена", Toast.LENGTH_SHORT).show();
}
});
}
}