//-------------------------------------------------------------------------- private void m_wndAddItemGenerator_LinkClicked(object sender, EventArgs e) { if (m_menuNewItem.Items.Count == 0) { foreach (Assembly ass in CGestionnaireAssemblies.GetAssemblies()) { foreach (Type tp in ass.GetTypes()) { if (typeof(IMapItemGenerator).IsAssignableFrom(tp) && !tp.IsAbstract) { IMapItemGenerator gen = (IMapItemGenerator)Activator.CreateInstance(tp, new object[0]); ToolStripMenuItem itemAddGen = new ToolStripMenuItem(gen.GeneratorName); itemAddGen.Tag = tp; itemAddGen.Click += new EventHandler(itemAddGen_Click); m_menuNewItem.Items.Add(itemAddGen); } } } } if (m_menuNewItem.Items.Count == 1) { AddGenerator(m_menuNewItem.Items[0].Tag as Type); } else { m_menuNewItem.Show(m_wndAddItemGenerator, new Point(0, m_wndAddItemGenerator.Height)); } }
private void m_btnPaste_Click(object sender, EventArgs e) { if (m_extModeEdition.ModeEdition && m_editeurActif != null && m_editeurActif.CurrentGenerator != null) { IMapItemGenerator generator = m_editeurActif.CurrentGenerator; I2iSerializable pasted = null; CResultAErreur result = CSerializerObjetInClipBoard.Paste(ref pasted, generator.GetType().ToString()); if (!result) { CFormAlerte.Afficher(result); } else { if (MessageBox.Show(I.T("Replace current setup ?|20049"), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //Trouve l'item foreach (ListViewItem item in m_wndListeItems.Items) { if (item.Tag == generator) { IMapItemGenerator newGenerator = (IMapItemGenerator)pasted; newGenerator.Generator = m_mapDatabaseGenerator; FillItemGenerator(item, newGenerator); m_editeurActif.InitChamps(newGenerator); break; } } } } } }
//---------------------------------------------------------------------------------------- public CResultAErreur MajChamps() { CResultAErreur result = CResultAErreur.True; if (m_mapDatabaseGenerator != null) { m_mapDatabaseGenerator.TypeSource = m_selectTypeSource.TypeSelectionne; if (m_editeurActif != null) { result = m_editeurActif.MajChamps(); } if (!result) { return(result); } List <IMapItemGenerator> generators = new List <IMapItemGenerator>(); foreach (ListViewItem item in m_wndListeItems.Items) { IMapItemGenerator gen = item.Tag as IMapItemGenerator; if (gen != null) { generators.Add(gen); } } m_mapDatabaseGenerator.ItemsGenerators = generators.ToArray(); m_mapDatabaseGenerator.Formulaire = m_panelFormulaire.WndEditee as C2iWndFenetre; } return(CResultAErreur.True); }
private void m_btnCopy_Click(object sender, EventArgs e) { if (m_editeurActif != null && m_editeurActif.CurrentGenerator != null) { IMapItemGenerator generator = m_editeurActif.CurrentGenerator; CResultAErreur result = CSerializerObjetInClipBoard.Copy(generator, generator.GetType().ToString()); if (!result) { CFormAlerte.Afficher(result); } } }
public static IControleEditeMapItem GetNewControle(IMapItemGenerator item) { if (item == null) { return(null); } Type tp = null; if (m_dicTypeToTypeControle.TryGetValue(item.GetType(), out tp)) { IControleEditeMapItem ctrl = Activator.CreateInstance(tp, new object[0]) as IControleEditeMapItem; return(ctrl); } return(null); }
//-------------------------------------------------------------------------- private void AddGenerator(Type tpGenerator) { if (tpGenerator == null) { return; } IMapItemGenerator gen = (IMapItemGenerator)Activator.CreateInstance(tpGenerator, new object[0]); gen.Generator = m_mapDatabaseGenerator; ListViewItem item = new ListViewItem(""); FillItemGenerator(item, gen); m_wndListeItems.Items.Add(item); item.Selected = true; }
//-------------------------------------------------------------------------- private void m_wndRemoveItemMapGenerator_LinkClicked(object sender, EventArgs e) { if (m_wndListeItems.SelectedItems.Count == 1) { if (CFormAlerte.Afficher(I.T("Remove selected item ?|10004"), EFormAlerteBoutons.OkAbandonner, EFormAlerteType.Question) == DialogResult.OK) { EditeItemGenerator(null); ListViewItem item = m_wndListeItems.SelectedItems[0]; IMapItemGenerator genToRemove = item.Tag as IMapItemGenerator; if (genToRemove != null) { m_wndListeItems.Items.Remove(item); } } } }
//-------------------------------------------------------------------------- private void EditeItemGenerator(IMapItemGenerator generator) { try { m_panelEditeGenerator.SuspendDrawing(); m_panelCopierColler.Visible = false; if (m_editeurActif != null) { m_editeurActif.MajChamps(); UpdateItemsGenerator(); } m_editeurActif = null; foreach (Control ctrlToHide in m_panelEditeGenerator.Controls) { ctrlToHide.Visible = false; } if (generator == null) { return; } IControleEditeMapItem ctrl = null; if (!m_dicControlesAlloues.TryGetValue(generator.GetType(), out ctrl)) { ctrl = CAllocateurInterfaceMapItemGenerator.GetNewControle(generator); if (ctrl != null) { CWin32Traducteur.Translate(ctrl); m_panelEditeGenerator.Controls.Add(ctrl as Control); ((Control)ctrl).Dock = DockStyle.Fill; m_dicControlesAlloues.Add(generator.GetType(), ctrl); } } if (ctrl != null) { m_panelCopierColler.Visible = true; ((Control)ctrl).Visible = true; ((IControlALockEdition)ctrl).LockEdition = LockEdition; ctrl.InitChamps(generator); m_editeurActif = ctrl; } } finally { m_panelEditeGenerator.ResumeDrawing(); } }
//----------------------------------------------- public void InitChamps(IMapItemGenerator item) { m_mapPointGenerator = item as CMapPointGenerator; if (m_mapPointGenerator == null) { Visible = false; return; } Visible = true; m_panelFiltre.InitSansVariables(m_mapPointGenerator.Filtre); m_txtLibelle.Text = m_mapPointGenerator.Libelle; m_panelDessins.Init(m_mapPointGenerator); m_txtFormuleLatitude.Init(item.Generator, m_mapPointGenerator.TypeElementsDessines); m_txtFormuleLongitude.Init(item.Generator, m_mapPointGenerator.TypeElementsDessines); m_txtFormuleLongitude.Formule = m_mapPointGenerator.FormuleLongitude; m_txtFormuleLatitude.Formule = m_mapPointGenerator.FormuleLatitude; UpdateVisuActionSurClick(); }
//-------------------------------------------------------------------------- private void FillItemGenerator(ListViewItem item, IMapItemGenerator generator) { item.Text = generator.Libelle; item.Tag = generator; }