protected override void OnResume() { Log.Debug(TAG, "OnResume"); base.OnResume(); CommandsScript.Click += ButtonConfigScript_Click; StartScript.Click += ButtonStartScript_Click; DeleteScript.Click += ButtonDeleteScript_Click; int count_commands = 0; lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { count_commands = db.Commands.Where(x => x.ScriptId == scriptHardware.Id).Count(); } } CommandsScript.Text = $"{GetText(Resource.String.commands_title)} ({count_commands})"; if (count_commands == 0) { StartScript.Enabled = false; StartScript.SetTextColor(Color.Gray); } else { StartScript.Enabled = true; StartScript.SetTextColor(Color.Indigo); } }
public static void UpdateTextColor(this AppCompatButton button, XColor color, ColorStateList?defaultColor) { if (color.IsDefault) { button.SetTextColor(defaultColor); } else { button.SetTextColor(color.ToNative()); } }
private void ButtonDeleteHardware_Click(object sender, EventArgs e) { Log.Debug(TAG, "ButtonDeleteHardware_Click"); HardwareCardHeader.Text = GetText(Resource.String.delete_hardware_card_title); HardwareCardSubHeader.Text = GetText(Resource.String.delete_hardware_card_sub_title); HardwareCardSubHeader.SetTextColor(Color.IndianRed); HardwareName.Enabled = false; HardwareAddress.Enabled = false; HardwarePassword.Enabled = false; HardwareAlarmSubscribing.Enabled = false; HardwareCommandsAllowed.Enabled = false; HardwareCardButtonOk.Enabled = false; HardwareCardButtonOk.Text = GetText(Resource.String.ok_mute_button_with_remove_hardware); buttonDeleteHardware.Enabled = false; buttonDeleteHardware.SetTextColor(Color.Gray); buttonDeleteHardware.Click -= ButtonDeleteHardware_Click; SystemSettingsHardware.Enabled = false; SystemSettingsHardware.SetTextColor(Color.Gray); SystemSettingsHardware.Click -= SystemSettingsHardware_Click; AppCompatTextView appCompatTextView = new AppCompatTextView(this) { Text = GetText(Resource.String.footer_text_with_remove_hardware), TextSize = 15 }; appCompatTextView.SetTextColor(Color.Red); appCompatTextView.SetWidth(3); HardwareFooterLayout.AddView(appCompatTextView); AppCompatButton ButtonConfirmDeleteHardware = new AppCompatButton(this) { Text = GetText(Resource.String.button_confirm_remove) }; ButtonConfirmDeleteHardware.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); ButtonConfirmDeleteHardware.SetTextColor(Color.DarkRed); ButtonConfirmDeleteHardware.Click += new EventHandler((sender, eventArg) => { lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { HardwareModel hardware = db.Hardwares.Find(hardwareId); db.Hardwares.Remove(hardware); db.SaveChanges(); StartActivity(typeof(HardwaresListActivity)); } } }); HardwareFooterLayout.AddView(ButtonConfirmDeleteHardware); }
private AppCompatButton DaySelectorButton(bool active = false) { var btn = new AppCompatButton(this); btn.SetTextSize(ComplexUnitType.Sp, 12f); btn.SetTextColor(Color.White); btn.Background = active ? buttonBackgroundA : buttonBackground; btn.Click += DaySelectorButtonOnClick; return(btn); }
private void ButtonDeleteScript_Click(object sender, EventArgs e) { Log.Debug(TAG, "ButtonDeleteScript_Click"); CardTitle.Text = GetText(Resource.String.delete_script_card_title); CardSubtitle.Text = GetText(Resource.String.delete_script_card_sub_title); CardSubtitle.SetTextColor(Color.IndianRed); ScriptName.Enabled = false; ButtonOk.Enabled = false; ButtonOk.Text = GetText(Resource.String.ok_mute_button_with_remove_script); DeleteScript.Enabled = false; DeleteScript.SetTextColor(Color.Gray); DeleteScript.Click -= ButtonDeleteScript_Click; CommandsScript.Enabled = false; CommandsScript.SetTextColor(Color.Gray); CommandsScript.Click -= ButtonConfigScript_Click; AppCompatTextView appCompatTextView = new AppCompatTextView(this) { Text = GetText(Resource.String.footer_text_with_remove_script), TextSize = 15 }; appCompatTextView.SetTextColor(Color.Red); appCompatTextView.SetWidth(3); FooterLayout.AddView(appCompatTextView); AppCompatButton ButtonConfirmDeleteScript = new AppCompatButton(this) { Text = GetText(Resource.String.button_confirm_remove) }; ButtonConfirmDeleteScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); ButtonConfirmDeleteScript.SetTextColor(Color.DarkRed); ButtonConfirmDeleteScript.Click += new EventHandler((sender, eventArg) => { lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { ScriptModel script = db.Scripts.Find(scriptHardware.Id); db.Scripts.Remove(script); db.SaveChanges(); StartActivity(typeof(ScriptsListActivity)); } } }); FooterLayout.AddView(ButtonConfirmDeleteScript); }
private void ButtonDeleteUser_Click(object sender, EventArgs e) { Log.Debug(TAG, "ButtonDeleteUser_Click"); AppCompatButton buttonDeleteUser = sender as AppCompatButton; buttonDeleteUser.Enabled = false; UserCardButtonOk.Enabled = false; UserCardButtonOk.Text = GetText(Resource.String.ok_mute_button_with_remove_user); UserName.Enabled = false; UserEmail.Enabled = false; UserPhone.Enabled = false; UserAlarmSubscribing.Enabled = false; UserCommandsAllowed.Enabled = false; UserCardSubHeader.Text = GetText(Resource.String.delete_user_card_sub_title); UserCardHeader.Text = GetText(Resource.String.delete_user_card_header); UserCardSubHeader.SetTextColor(Color.IndianRed); buttonDeleteUser.SetTextColor(Color.Gray); AppCompatTextView appCompatTextView = new AppCompatTextView(this) { Text = GetText(Resource.String.footer_text_with_remove_user), TextSize = 15 }; appCompatTextView.SetTextColor(Color.Red); appCompatTextView.SetWidth(3); UserFooterLayout.AddView(appCompatTextView); AppCompatButton buttonConfirmDeleteUser = new AppCompatButton(this) { Text = GetText(Resource.String.button_confirm_remove) }; buttonConfirmDeleteUser.SetTextColor(Color.DarkRed); buttonConfirmDeleteUser.Click += new EventHandler((sender, eventArg) => { lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { UserModel user = db.Users.Find(userId); db.Users.Remove(user); db.SaveChanges(); StartActivity(typeof(UsersListActivity)); } } }); buttonConfirmDeleteUser.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); UserFooterLayout.AddView(buttonConfirmDeleteUser); }
public static void UpdateColor(this AppCompatButton appCompatButton, IButton button) => appCompatButton.SetTextColor(button.Color.ToNative());
protected override void OnCreate(Bundle savedInstanceState) { Log.Debug(TAG, "OnCreate"); base.OnCreate(savedInstanceState); lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { scriptHardware = db.Scripts.Include(x => x.Commands).Include(x => x.TriggerPort).FirstOrDefault(x => x.Id == Intent.Extras.GetInt(nameof(ScriptModel.Id), 0)); } } TopLayout = FindViewById <LinearLayoutCompat>(Resource.Id.script_top_layout); FooterLayout = FindViewById <LinearLayoutCompat>(Resource.Id.script_footer_layout); CardTitle.Text = GetText(Resource.String.script_edit_title); CardSubtitle.Text = GetText(Resource.String.script_edit_subtitle); DeleteScript = new AppCompatButton(this) { Text = GetText(Resource.String.delete_title) }; DeleteScript.SetTextColor(Color.DarkRed); DeleteScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); FooterLayout.AddView(DeleteScript); ButtonOk.Tag = scriptHardware.Id; CommandsScript = new AppCompatButton(this) { Text = $"{GetString(Resource.String.commands_title)} ({scriptHardware.Commands.Count})" }; CommandsScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); TopLayout.AddView(CommandsScript); StartScript = new AppCompatButton(this) { Text = GetText(Resource.String.run_the_script_title), Enabled = scriptHardware.Commands.Count > 0 }; StartScript.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); TopLayout.AddView(StartScript); ScriptName.Text = scriptHardware.Name; if (scriptHardware.TriggerPort != null) { AutorunTrigger.Checked = true; PortTrigger.Enabled = true; HardwareTrigger.Enabled = true; StateTrigger.Enabled = true; int indexPosition = Hardwares.Keys.ToList().IndexOf(scriptHardware.TriggerPort.HardwareId); HardwareTrigger.SetSelection(indexPosition); PortsList_UpdateSpinner(scriptHardware.TriggerPort.HardwareId, ref PortTrigger, scriptHardware.TriggerPort.Id);//, ref Ports string[] statuses = Resources.GetStringArray(Resource.Array.script_trigger_port_states_array); if (scriptHardware.TriggerPortState == true) { indexPosition = Array.IndexOf(statuses, GetString(Resource.String.abc_capital_on)); } else if (scriptHardware.TriggerPortState == false) { indexPosition = Array.IndexOf(statuses, GetString(Resource.String.abc_capital_off)); } else { indexPosition = Array.IndexOf(statuses, GetString(Resource.String.abc_capital_switch)); } StateTrigger.SetSelection(indexPosition); } }
private void LoadDaySelectorButtons(int type = 1) { layoutButtons = FindViewById <LinearLayout>(Resource.Id.layout_buttons); layoutButtons.RemoveAllViews(); var layoutButtonParams = new LinearLayoutCompat.LayoutParams( (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics), (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics)) { Width = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics), Height = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 40, Resources.DisplayMetrics), MarginEnd = (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 5, Resources.DisplayMetrics) }; int dayIndex = ReturnDayIndex(); DateTime baseDate = DateTime.Today; // var today = baseDate; // var yesterday = baseDate.AddDays(-1); DateTime thisWeekStart = baseDate.AddDays(-dayIndex); // var thisWeekEnd = thisWeekStart.AddDays(7).AddSeconds(-1); // var lastWeekStart = thisWeekStart.AddDays(-7); // var lastWeekEnd = thisWeekStart.AddSeconds(-1); DateTime thisMonthStart = baseDate.AddDays(1 - baseDate.Day); // var thisMonthEnd = thisMonthStart.AddMonths(1).AddSeconds(-1); // var lastMonthStart = thisMonthStart.AddMonths(-1); // var lastMonthEnd = thisMonthStart.AddSeconds(-1); switch (type) { case 1: GetDataForChart(thisWeekStart, _dataType == "BloodPressure"); break; case 2: GetDataForChart(thisMonthStart, _dataType == "BloodPressure"); break; case 3: GetDataForChart(new DateTime(DateTime.Now.Year, 1, 1), _dataType == "BloodPressure"); break; default: return; } if (type != 3) { string[] days = { "L", "M", "M", "J", "V", "S", "D" }; int dayOfMonth = DateTime.Now.Day; int numberOfDaysInMonth = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); int size = type == 1 && type != 3 ? days.Length : numberOfDaysInMonth; var activeButton = new AppCompatButton(this); for (var i = 0; i < size; i++) { bool isActive = type == 1 && type != 3 ? i == dayIndex : i + 1 == dayOfMonth; AppCompatButton btn = DaySelectorButton(isActive); btn.Id = i + 1; btn.Text = type == 1 && type != 3 ? i < days.Length ? days[i] : i.ToString() : (i + 1).ToString(); btn.LayoutParameters = layoutButtonParams; if (type == 1 && type != 3 && i > dayIndex) { btn.Enabled = false; btn.SetTextColor(Resources.GetColor(Resource.Color.colorSecondary, Theme)); } else if (i + 1 > dayOfMonth) { btn.Enabled = false; btn.SetTextColor(Resources.GetColor(Resource.Color.colorSecondary, Theme)); } if (isActive) { activeButton = btn; } layoutButtons.AddView(btn); } if (type == 2) { _scrollViewButtons.PostDelayed(delegate { _scrollViewButtons.SmoothScrollTo(activeButton.Left - 5, 0); }, 30); } } else { Drawable img = Resources.GetDrawable(Resource.Drawable.calendar_date, Theme); img.SetBounds(0, 0, 50, 50); var btn = new AppCompatButton(this) { Id = 1, Text = "Data" //Background = buttonBackgroundA, //LayoutParameters = layoutButtonParams }; btn.SetTextColor(Color.White); btn.Background = buttonBackgroundDatePicker; btn.SetAllCaps(false); btn.SetCompoundDrawables(img, null, null, null); btn.SetPadding((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics), (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics), (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics), (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 8, Resources.DisplayMetrics)); btn.Click += (sender, args) => { var frag = SharingDatePickerFragment.NewInstance(delegate(DateTime time) { //_tbDate.Text = time.ToShortDateString(); _tvDate.Text = time.ToShortDateString(); switch (_dataType) { case "BloodPressure": verticalScrollLinearLayout.RemoveAllViewsInLayout(); horizontalScrollLinearLayout.RemoveAllViewsInLayout(); LoadDataInScrollLayouts(time); break; case "BloodGlucose": verticalScrollLinearLayout.RemoveAllViewsInLayout(); LoadDataInScrollLayouts(time, false); break; } }); frag.Show(SupportFragmentManager, SharingDatePickerFragment.TAG); }; layoutButtons.AddView(btn); } }
public static void UpdateTextColor(this AppCompatButton appCompatButton, IButton button, XColor defaultColor) => appCompatButton.SetTextColor(button.TextColor.Cleanse(defaultColor).ToNative());
protected override void OnCreate(Bundle savedInstanceState) { Log.Debug(TAG, "OnCreate"); base.OnCreate(savedInstanceState); int CommandId = Intent.Extras.GetInt(nameof(CommandModel.Id), 0); if (CommandId > 0) { lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { command = db.Commands.Include(x => x.Script).Include(x => x.PortExecutionCondition).ThenInclude(x => x.Hardware).FirstOrDefault(x => x.Id == CommandId); } } } AbstractSettingsManage.Command = command; List <string> commands_types_array = new List <string>(Resources.GetStringArray(Resource.Array.commands_types_array)); switch (command.TypeCommand) { case TypesCommands.Port: TypesCommand.SetSelection(commands_types_array.IndexOf(GetString(Resource.String.command_type_array_item_port))); break; case TypesCommands.Controller: TypesCommand.SetSelection(commands_types_array.IndexOf(GetString(Resource.String.command_type_array_item_controller))); break; case TypesCommands.Exit: TypesCommand.SetSelection(commands_types_array.IndexOf(GetString(Resource.String.command_type_array_item_transit))); break; } ScriptId = command.ScriptId; DeleteCommand = new AppCompatButton(this) { Text = GetText(Resource.String.delete_title) }; DeleteCommand.SetTextColor(Color.DarkRed); DeleteCommand.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); FooterLayout.AddView(DeleteCommand); HiddenCommandCheckBox.Checked = command.Hidden; CardTitle.Text = command.Script.ToString(); CardSubtitle.Text = command.ToString(); PauseSecondsBeforeStarting.Text = command.PauseBeforeExecution.ToString(); if (command.PortExecutionCondition != null) { RequiredCondition.Checked = true; HardwareCondition.Enabled = true; HardwareCondition.SetSelection(Hardwares.Keys.ToList().IndexOf(command.PortExecutionCondition.HardwareId)); PortCondition.Enabled = true; PortsList_UpdateSpinner(command.PortExecutionCondition.HardwareId, ref PortCondition, command.PortExecutionCondition.Id); //PortCondition.SetSelection(Ports.Keys.ToList().IndexOf(command.PortExecutionCondition.Id)); StateCondition.Enabled = true; StateCondition.SetSelection(GetIndexPortState(command.PortExecutionConditionAllowingState, new List <string>(Resources.GetStringArray(Resource.Array.required_condition_port_states_array)))); } }
protected override void OnCreate(Bundle savedInstanceState) { Log.Debug(TAG, "OnCreate"); base.OnCreate(savedInstanceState); hardwareId = Intent.Extras.GetInt(nameof(HardwareModel.Id), 0); if (hardwareId < 1) { string err_title = GetText(Resource.String.err_title_2); HardwareName.Text = err_title; HardwareName.Enabled = false; HardwareAddress.Text = err_title; HardwareAddress.Enabled = false; HardwarePassword.Text = err_title; HardwarePassword.Enabled = false; HardwareAlarmSubscribing.Enabled = false; HardwareCommandsAllowed.Enabled = false; HardwareCardSubHeader.Text = err_title; HardwareCardSubHeader.Enabled = false; HardwareCardButtonOk.Enabled = false; return; } lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { hardware = db.Hardwares.FirstOrDefault(x => x.Id == hardwareId); hardwareId = hardware?.Id ?? 0; HardwareName.Text = hardware?.Name; HardwareAddress.Text = hardware?.Address; HardwarePassword.Text = hardware?.Password; HardwareAlarmSubscribing.Checked = hardware.AlarmSubscriber; HardwareCommandsAllowed.Checked = hardware.CommandsAllowed; } } HardwareCardHeader.Text = GetText(Resource.String.edit_hardware_title); HardwareCardSubHeader.Text = GetText(Resource.String.edit_hardware_sub_title); buttonDeleteHardware = new AppCompatButton(this) { Text = GetText(Resource.String.delete_title) }; buttonDeleteHardware.SetTextColor(Color.DarkRed); buttonDeleteHardware.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); HardwareFooterLayout.AddView(buttonDeleteHardware); SystemSettingsHardware = new AppCompatButton(this) { Text = GetText(Resource.String.system_settings_title) }; SystemSettingsHardware.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); HardwareTopLayout.AddView(SystemSettingsHardware); }
protected override void OnCreate(Bundle savedInstanceState) { Log.Debug(TAG, "OnCreate"); base.OnCreate(savedInstanceState); UserFooterLayout = FindViewById <LinearLayout>(Resource.Id.user_footer_layout); int user_id = Intent.Extras.GetInt(nameof(UserModel.Id), 0); if (user_id < 1) { string err_title = GetText(Resource.String.err_title_2); UserName.Text = err_title; UserName.Enabled = false; UserEmail.Text = err_title; UserEmail.Enabled = false; UserPhone.Text = err_title; UserPhone.Enabled = false; UserAlarmSubscribing.Enabled = false; UserCommandsAllowed.Enabled = false; UserCardSubHeader.Text = err_title; UserCardSubHeader.Enabled = false; UserCardButtonOk.Enabled = false; return; } UserModel user = null; lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { user = db.Users.Find(user_id); } } userId = user.Id; UserName.Text = user.Name; UserEmail.Text = user.Email; UserPhone.Text = user.Phone; UserAlarmSubscribing.Checked = user.AlarmSubscriber; UserCommandsAllowed.Checked = user.CommandsAllowed; TelegramUserModel telegramUser = null; lock (DatabaseContext.DbLocker) { using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase)) { telegramUser = db.TelegramUsers.FirstOrDefault(x => x.LinkedUserId == user.Id); } } if (telegramUser != null) { TelegramAccount.SetSelection(TelegramUsers.Keys.ToList().IndexOf(telegramUser.Id)); } UserCardHeader.Text = GetText(Resource.String.edit_user_title); UserCardSubHeader.Text = GetText(Resource.String.edit_user_sub_title); AppCompatButton buttonDeleteUser = new AppCompatButton(this) { Text = GetText(Resource.String.delete_title) }; buttonDeleteUser.SetTextColor(Color.DarkRed); buttonDeleteUser.Click += ButtonDeleteUser_Click; buttonDeleteUser.LayoutParameters = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); UserFooterLayout.AddView(buttonDeleteUser); }