public override void createPartControl(Composite parent) { super.createPartControl(parent); textInputListener = new TextInputListener(this); backgroundCompiler = new BackgroundCompiler(this); var window = getSite().getWorkbenchWindow(); partListener = new PartListener(this); window.getPartService().addPartListener(partListener); }
public override void dispose() { if (partListener != null) { var window = getSite().getWorkbenchWindow(); window.getPartService().removePartListener(partListener); partListener = null; } if (backgroundCompiler != null) { backgroundCompiler.dispose(); backgroundCompiler = null; } if (textInputListener != null) { textInputListener.dispose(); textInputListener = null; } super.dispose(); }
private void cb_Product_SelectedIndexChanged(object sender, EventArgs e) { PreparedAmount = null; m_Listeners.Clear(); tlp_Fields.Controls.Clear(); tlp_Fields.RowStyles.Clear(); if (CurrentProduct != null && CurrentProduct.Fields != null) { var preparable = CurrentProduct.Preparable; btn_Prepare.Enabled = preparable; foreach (var field in CurrentProduct.Fields) { if (!preparable || CurrentProduct.PrepareOptional || field.Preparable) { var label = new Label() { Text = field.Title + (field.InputType == PaymentProductField.Type.Text ? ":" : " (img) : "), Anchor = AnchorStyles.Left, AutoSize = true, Dock = DockStyle.Fill, Enabled = field.UserVisible }; var textBox = new TextBox() { Dock = DockStyle.Fill, Enabled = field.UserVisible, Multiline = field.TextMultiLine, ScrollBars = field.TextMultiLine ? ScrollBars.Vertical : ScrollBars.None, WordWrap = field.TextMultiLine, Name = field.Code, Tag = field.InputType }; if (!string.IsNullOrEmpty(field.TextMask)) { TextInputListener inputListener = new TextInputListener(this, field); m_Listeners.Add(inputListener); textBox.TextChanged += inputListener.TextBox_TextChanged; } textBox.Text = field.InputType == PaymentProductField.Type.Text ? field.DefaultValue : ""; tlp_Fields.Controls.Add(label, 0, tlp_Fields.RowCount); tlp_Fields.Controls.Add(textBox, 1, tlp_Fields.RowCount++); } } } }
private void applyPrepared(APIPrepareResult prepareResult) { if (prepareResult != null) { if (prepareResult.ErrorCode == 0) { log(JsonConvert.SerializeObject(prepareResult.PreparedFields, Formatting.Indented)); if (prepareResult.PreparedFields != null) { foreach (var prepared in prepareResult.PreparedFields) { if (prepared.IsPaymentAmount) { decimal preparedAmount = -1; if (!decimal.TryParse(prepared.Value, NumberStyles.Number, CultureInfo.InvariantCulture, out preparedAmount)) { MessageBox.Show("Invalid amount", "Prepare failed", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (preparedAmount != -1) { PreparedAmount = preparedAmount; } } else { var fields = CurrentProduct.Fields.Where(f => f.Code.Equals(prepared.Code)); var field = fields != null && fields.Count() > 0 ? fields.First() : null; if (field != null && field.InputType == PaymentProductField.Type.Text) { var fieldEditText = tlp_Fields.Controls.Find(field.Code, false); if (fieldEditText != null && fieldEditText.Length > 0) { (fieldEditText[0] as TextBox).Text = prepared.Value; } else { var label = new Label() { Text = field.Title + ":", Anchor = AnchorStyles.Left, AutoSize = true, Dock = DockStyle.Fill, Enabled = field.UserVisible && CurrentProduct.PreparableEditable, }; var textBox = new TextBox() { Dock = DockStyle.Fill, Enabled = field.UserVisible && CurrentProduct.PreparableEditable, Multiline = field.TextMultiLine, ScrollBars = field.TextMultiLine ? ScrollBars.Vertical : ScrollBars.None, WordWrap = field.TextMultiLine, Name = field.Code, Tag = field.InputType }; if (!string.IsNullOrEmpty(field.TextMask)) { TextInputListener inputListener = new TextInputListener(this, field); m_Listeners.Add(inputListener); textBox.TextChanged += inputListener.TextBox_TextChanged; } textBox.Text = prepared.Value; tlp_Fields.Controls.Add(label, 0, tlp_Fields.RowCount); tlp_Fields.Controls.Add(textBox, 1, tlp_Fields.RowCount++); } } } } } } else { MessageBox.Show(prepareResult.ErrorMessage, "Prepare failed", MessageBoxButtons.OK, MessageBoxIcon.Error); log(string.Format("PREPARE ERROR : {0}({1})", prepareResult.ErrorMessage, prepareResult.ErrorCode.ToString())); } } else { MessageBox.Show("Connection error", "Prepare failed", MessageBoxButtons.OK, MessageBoxIcon.Error); log(string.Format("PREPARE ERROR : {0}({1})", "null", "null")); } log(MainForm.DIVIDER); }