using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using MercatorUi;
using System.Data;
using MercatorApi;
namespace SigXlead
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer
{
private DevComponents.DotNetBar.ColorPickerButton _colorPickerButton = null;
private Control _controlColorPreview = null; // Rectangle de preview de couleur
private DataRow dr = null;
public void FormLoadCustomize(Form form)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
dr = sigForm.DataSourceRow;
// Création du control colorPicker
_colorPickerButton = new DevComponents.DotNetBar.ColorPickerButton();
_colorPickerButton.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
_colorPickerButton.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
_colorPickerButton.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
_colorPickerButton.Location = new System.Drawing.Point(405, 11);
_colorPickerButton.Size = new System.Drawing.Size(35, 20);
_colorPickerButton.SelectedColorImageRectangle = new System.Drawing.Rectangle(2, 2, 12, 12);
_colorPickerButton.SelectedColorChanged += new EventHandler(ColorPicker_SelectedColorChanged);
if (sigForm.DataSourceRow["X_COLOR"].ToString() != "")
{
_controlColorPreview = sigForm.MovableControls["A098594442"];
_colorPickerButton.SelectedColor = System.Drawing.ColorTranslator.FromHtml(sigForm.DataSourceRow["X_COLOR"].ToString());
if (_controlColorPreview != null)
_controlColorPreview.BackColor = _colorPickerButton.SelectedColor;
}
// Ajout du colorPicker dans le control parent du champ X_NOM
List<Control> l = sigForm.FindMovableControlsBySource("X_NOM");
if (l.Count > 0)
l[0].Parent.Controls.Add(_colorPickerButton);
}
void ColorPicker_SelectedColorChanged(object sender, EventArgs e)
{
DevComponents.DotNetBar.ColorPickerButton colorPickerButton = (DevComponents.DotNetBar.ColorPickerButton)sender;
if (_colorPickerButton != null && _colorPickerButton.SelectedColor.ToString() != "")
{
_controlColorPreview.BackColor = _colorPickerButton.SelectedColor;
Api.SmartReplace(dr, "X_COLOR", ColorTranslator.ToHtml(colorPickerButton.SelectedColor));
}
}
}
}