Si Mercator est utilisé en mode HTML5 sur un téléphone portable, il est très simple de paramétrer, par exemple, la fiche "clients", afin que les numéros de téléphone qui y sont stockés soient numérotables automatiquement par simple pression sur un bouton. Cela se fait par l'utilisation d'une ancre de ce type, supporté par tous les téléphones modernes : <a href="tel:555-555-5555">555-555-5555</a>
Cette petite programmation se fait à l'aide d'un customizer SigCli dont le code est le suivant:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Drawing;
using System.Windows.Forms;
namespace SigCli
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
{
public void FormLoadCustomize(Form form)
{
if ((MercatorUi.Globals.VirtualUI != null) && MercatorUi.Globals.VirtualUI.IsTouchDevice)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
foreach (string source in new string[2] { "C_NUM_TEL", "C_NUM_GSM" })
{
foreach (Control c in sigForm.FindMovableControlsBySource(source))
{
MercatorUi.MovableControls.MovableTextBox textBoxPhone = (MercatorUi.MovableControls.MovableTextBox)c;
textBoxPhone.ButtonCustom.Image = Image.FromFile(Globals.MainDir + "tinyphone.png");
textBoxPhone.ButtonCustom.Visible = true;
textBoxPhone.ButtonCustomClick += new EventHandler(textBoxPhone_ButtonCustomClick);
}
}
}
}
public void FormClosedCustomize(Form form)
{
if ((MercatorUi.Globals.VirtualUI != null) && MercatorUi.Globals.VirtualUI.IsTouchDevice)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
foreach (string source in new string[2] { "C_NUM_TEL", "C_NUM_GSM" })
{
foreach (Control c in sigForm.FindMovableControlsBySource(source))
{
MercatorUi.MovableControls.MovableTextBox textBoxPhone = (MercatorUi.MovableControls.MovableTextBox)c;
textBoxPhone.ButtonCustomClick -= new EventHandler(textBoxPhone_ButtonCustomClick);
}
}
}
}
void textBoxPhone_ButtonCustomClick(object sender, EventArgs e)
{
MercatorUi.MovableControls.MovableTextBox textBox = (MercatorUi.MovableControls.MovableTextBox)sender;
string no = Api.NumOnly(textBox.Text.Trim());
if (no != "")
MercatorUi.Globals.VirtualUI.OpenLinkDlg("tel:" + no, "");
}
}
}
Cette image doit être placée dans le répertoire principal de Mercator.
Nous rappelons ici que, pour un confort maximal d'utilisation, il faut autoriser les popups sur ce site dans votre browser. Cela permet d'éviter la boîte de dialogue intermédiaire.