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 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();
		}
Пример #4
0
        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++);
                    }
                }
            }
        }
 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();
 }
Пример #6
0
 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);
 }