void Button_Clicked(object sender, EventArgs e) { TouchButtonIcon button = (TouchButtonIcon)sender; EntryBoxValidationButton entryBoxValidationButton = (button.Parent.Parent.Parent as EntryBoxValidationButton); try { FileFilter fileFilter = Utils.GetFileFilterImages(); //Get Current FileList Index Position int currentFileListIndexPosition = -1; for (int i = 0; i < (button.Parent.Parent.Parent.Parent as VBox).Children.Length; i++) { EntryBoxValidationButton curentrEntryBox = ((button.Parent.Parent.Parent.Parent as VBox).Children.GetValue(i) as EntryBoxValidationButton); if (curentrEntryBox == entryBoxValidationButton) { currentFileListIndexPosition = i; if (_debug) { _log.Debug(string.Format("Current file List Index [{0}]: [{1}]", currentFileListIndexPosition, _fileList[currentFileListIndexPosition])); } } } PosFilePickerDialog dialog = new PosFilePickerDialog(_sourceWindow, DialogFlags.DestroyWithParent, fileFilter, FileChooserAction.Open); ResponseType response = (ResponseType)dialog.Run(); if (response == ResponseType.Ok) { if (entryBoxValidationButton.EntryValidation.Text == dialog.FilePicker.Filename) { //Do Nothing } else if (_fileList.Contains(dialog.FilePicker.Filename)) { Utils.ShowMessageTouch(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_error"), resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_message_filepicker_existing_file_error")); } else { //Update fileList with Changed Value _fileList[currentFileListIndexPosition] = dialog.FilePicker.Filename; //Update and Validate Entry entryBoxValidationButton.EntryValidation.Text = dialog.FilePicker.Filename; entryBoxValidationButton.EntryValidation.Validate(); //Trigger Event OnChange(); if (_debug) { ListValue(); } } } dialog.Destroy(); } catch (Exception ex) { _log.Error(ex.Message, ex); } }
//if AddFileNameToList true, add the File to the list, else skip add, usefull when we Initialize List from Constructor pInitialFileList private void AddFileEntry(string pFileName, bool pAddFileNameToList) { EntryBoxValidationButton entryBoxValidationButton = new EntryBoxValidationButton(_sourceWindow, string.Format(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_file_image"), _fileList.Count + 1), KeyboardMode.None, SettingsApp.RegexAlfaNumericFilePath, true); entryBoxValidationButton.EntryValidation.Validate(); entryBoxValidationButton.EntryValidation.Sensitive = false; //Add Aditional Button to EntryBoxValidationFilePickerDialog string iconFileNameDelete = FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], @"Icons/Windows/icon_window_delete_record.png")); TouchButtonIcon buttonDelete = new TouchButtonIcon("touchButtonIcon_Delete", Color.Transparent, iconFileNameDelete, new Size(20, 20), 30, 30); entryBoxValidationButton.Hbox.PackStart(buttonDelete, false, false, 0); //Events entryBoxValidationButton.Button.Clicked += Button_Clicked; buttonDelete.Clicked += buttonDelete_Clicked; //Assign Initial FileName entryBoxValidationButton.EntryValidation.Text = pFileName; //Pack _vbox.PackStart(entryBoxValidationButton, false, false, 0); entryBoxValidationButton.ShowAll(); if (pAddFileNameToList) { _fileList.Add(_entryBoxAddFile.Value); } }
void Button_Clicked(object sender, EventArgs e) { TouchButtonIcon button = (TouchButtonIcon)sender; EntryBoxValidationButton entryBoxValidationButton = (button.Parent.Parent.Parent as EntryBoxValidationButton); _vbox.Remove(entryBoxValidationButton); _datesList.Remove(Convert.ToDateTime(entryBoxValidationButton.EntryValidation.Text)); //Trigger Event OnChange(); if (_debug) { ListValue(); } }
void buttonDelete_Clicked(object sender, EventArgs e) { TouchButtonIcon button = (TouchButtonIcon)sender; EntryBoxValidationButton entryBoxValidationButton = (button.Parent.Parent.Parent as EntryBoxValidationButton); _vbox.Remove(entryBoxValidationButton); _fileList.Remove(entryBoxValidationButton.EntryValidation.Text); //Trigger Event OnChange(); if (_debug) { ListValue(); } }
private void AddDateTimeEntry(DateTime pDateTime, bool pAddDateTimeToList) { string iconFileName = FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], @"Icons/Windows/icon_window_delete_record.png")); EntryBoxValidationButton entryBoxValidation = new EntryBoxValidationButton(_sourceWindow, string.Format(Resx.global_date, _datesList.Count + 1), KeyboardMode.None, SettingsApp.RegexDate, true, iconFileName); entryBoxValidation.EntryValidation.Validate(); entryBoxValidation.EntryValidation.Sensitive = false; //Remove Event entryBoxValidation.Button.Clicked += Button_Clicked; entryBoxValidation.EntryValidation.Text = pDateTime.ToString(SettingsApp.DateFormat); _vbox.PackStart(entryBoxValidation, false, false, 0); _vbox.ShowAll(); if (pAddDateTimeToList) { _datesList.Add(_entryBoxAddDate.Value); } }