//------------------------------------------------------------------------ private void CompleteContextMenu() { m_contextMenu.Items.Add(new ToolStripSeparator()); ToolStripMenuItem itemVoirDetails = new ToolStripMenuItem(I.T("Show Alarm detail|10278"), null, OnShowAlarmDetail); ToolStripMenuItem itemAcquitter = new ToolStripMenuItem(I.T("Acknowledge|10260"), null, OnAcknowledgeAlarm); ToolStripMenuItem itemRetomber = new ToolStripMenuItem(I.T("Clear Manualy|10261"), null, OnClearAlarm); ToolStripMenuItem itemMasquer = new ToolStripMenuItem(I.T("Mask Alarm now|10316"), null, OnMaskAlarm); timos.supervision.Node node = FocusedNode; if (node != null) { CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; if (alarme != null && alarme.TypeAlarme != null) { // Affiche la fenêtre de détail m_contextMenu.Items.Add(itemVoirDetails); if (alarme.MasquagePropre == null && alarme.MasquageHerite == null) { m_contextMenu.Items.Add(itemMasquer); } // Alarme à Acquitter itemAcquitter.Enabled = alarme.TypeAlarme.AAcquitter; m_contextMenu.Items.Add(itemAcquitter); // Faire retomber l'Alarme manuellement m_contextMenu.Items.Add(itemRetomber); } } }
private void m_treeListViewAlarmes_AfterSelect(object sender, TreeViewEventArgs e) { Node node = m_treeListViewAlarmes.FocusedNode; if (node != null) { CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; m_explorateur.Init(alarme, alarme.TypeAlarme); } }
//------------------------------------------------------------------------------- private void RemoveNode(CLocalAlarmeAffichee alarme) { Node nodeAssocie; if (m_dicAlarmeNode.TryGetValue(alarme.Id, out nodeAssocie)) { int n = Nodes.GetNodeIndex(nodeAssocie); Nodes.Remove(nodeAssocie); } }
//------------------------------------------------------------------------------- protected override Image GetNodeBitmap(Node node) { Image image = base.GetNodeBitmap(node); CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; if (alarme != null && alarme.TypeAlarme != null && m_dicIdTypeAlarmeImage != null) { m_dicIdTypeAlarmeImage.TryGetValue(alarme.TypeAlarme.Id, out image); } return(image); }
private void AddElement(CLocalAlarmeAffichee alarme) { if (!m_alarmes.Contains(alarme)) { m_alarmes.Add(alarme); } foreach (CLocalAlarmeAffichee elt in alarme.Childs) { AddElement(elt); } }
//------------------------------------------------------------------------------------ protected override TextFormatting GetFormatting(Node node, TreeListColumn column) { CResultAErreur result = CResultAErreur.True; TextFormatting format = new TextFormatting(base.GetFormatting(node, column)); CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; if (alarme != null) { try { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(alarme); C2iExpression exp = m_parametreAffichage.FormuleItemBackColor; if (exp != null) { result = exp.Eval(ctx); if (result) { Color couleurFond = (Color)result.Data; if (couleurFond != null) { format.BackColor = couleurFond; } } } exp = m_parametreAffichage.FormuleItemForeColor; if (exp != null) { result = exp.Eval(ctx); if (result) { Color couleurTexte = (Color)result.Data; if (couleurTexte != null) { format.ForeColor = couleurTexte; } } } CActionSur2iLink action = null; if (m_dicIndexColonneAction.TryGetValue(column.Index, out action)) { Font font = new Font(format.Font, FontStyle.Underline); format.Font = font; } } catch { } } return(format); }
//------------------------------------------------------------------------- private void OnClearAlarm(object sender, EventArgs e) { Node node = FocusedNode; if (node != null && node.Owner != null) { CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; // Faire retomber l'alarme ici CResultAErreur result = alarme.RetombageManuel(CTimosApp.SessionClient.IdSession); if (!result) { CFormAlerte.Afficher(result.Erreur); } } }
//------------------------------------------------------------------------------- private void UpdateNode(CLocalAlarmeAffichee alarme) { // Verifie Formule d'affichage if (m_parametreAffichage != null && m_parametreAffichage.FormuleFiltre != null) { C2iExpression formuleFiltreAffichage = m_parametreAffichage.FormuleFiltre; CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(alarme); CResultAErreur result = formuleFiltreAffichage.Eval(ctx); if (result && result.Data is bool) { bool bAfficher = (bool)result.Data; if (!bAfficher) { return; } } } Node nodeAssocie; if (!m_dicAlarmeNode.TryGetValue(alarme.Id, out nodeAssocie)) { // On créer un nouveau Node et on cherche ou l'insérer nodeAssocie = new Node(new object[Columns.Count]); if (alarme.AlarmeParente != null) { Node nodeParent = null; if (m_dicAlarmeNode.TryGetValue(alarme.AlarmeParente.Id, out nodeParent)) { nodeParent.Nodes.InsertAfter(nodeAssocie, null); } else { throw new Exception("No Parent Node found !!"); } } else { Nodes.InsertAfter(nodeAssocie, null); } } FillNode(nodeAssocie, alarme); foreach (CLocalAlarmeAffichee alarmeFille in alarme.AlarmesFilles) { UpdateNode(alarmeFille); } }
//------------------------------------------------------------------------- private void OnMaskAlarm(object sender, EventArgs e) { Node node = FocusedNode; if (node != null && node.Owner != null) { CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; // Edite la fenêtre de détail de l'Alarme CAlarme alarmeInDB = new CAlarme(CContexteDonneeSysteme.GetInstance()); if (alarmeInDB.ReadIfExists(new CFiltreData( CAlarme.c_champAlarmId + " = @1", alarme.Id))) { CFormMasquageAlarmeManuel.CreateMasquage(alarmeInDB, true); } } }
//------------------------------------------------------------------------- private void OnShowAlarmDetail(object sender, EventArgs e) { Node node = FocusedNode; if (node != null && node.Owner != null) { CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; // Edite la fenêtre de détail de l'Alarme CAlarme alarmeInDB = new CAlarme(CContexteDonneeSysteme.GetInstance()); if (alarmeInDB.ReadIfExists(new CFiltreData( CAlarme.c_champAlarmId + " = @1", alarme.Id))) { CTimosApp.Navigateur.AffichePage(new CFormEditionAlarme(alarmeInDB)); } } }
//-------------------------------------------------------------------------- void m_timerPersistanceAlarmesRetombees_Tick(object sender, EventArgs e) { if (m_nDurreePersistanceRetombees > 0) { foreach (Node nodeRacine in Nodes.ToArray()) { CLocalAlarmeAffichee alarme = nodeRacine.Tag as CLocalAlarmeAffichee; if (alarme != null) { if (alarme.DateFin != null && alarme.DateFin.Value.AddMinutes(m_nDurreePersistanceRetombees) < DateTime.Now) { Nodes.Remove(nodeRacine); } } } } }
//------------------------------------------------------------------------------------ protected override void PaintRowHeader(Graphics g, Rectangle rc, Node node, bool isHot) { base.PaintRowHeader(g, rc, node, isHot); if (node != null) { CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; if (alarme != null && alarme.Severite != null) { Color couleurSeverite = alarme.Severite.Couleur; Brush br = new SolidBrush(couleurSeverite); int x = 10, y = 10; Rectangle recCarre = new Rectangle( rc.X + (int)((rc.Width - x) / 2), rc.Y + (int)((rc.Height - y) / 2), x, y); g.FillRectangle(br, recCarre); } } }
//------------------------------------------------------------------------- private void OnAcknowledgeAlarm(object sender, EventArgs e) { timos.supervision.Node node = FocusedNode; if (node != null && node.Owner != null) { CLocalAlarmeAffichee alarme = node.Tag as CLocalAlarmeAffichee; if (alarme.DateAcquittement == null) { if (alarme != null && alarme.TypeAlarme != null && alarme.TypeAlarme.AAcquitter) { // Acquitter l'alarme maintenant alarme.Acquitter(CTimosApp.SessionClient.IdSession); } } else { CFormAlerte.Afficher(I.T("Alarm @1 has already been Acknowledged|10259", alarme.Libelle)); } } }
//------------------------------------------------------------------------ protected override object GetData(Node node, TreeListColumn column) { if (node[column.Index] != null) { return(node[column.Index]); } CResultAErreur result = CResultAErreur.True; CLocalAlarmeAffichee localAlarme = node.Tag as CLocalAlarmeAffichee; if (localAlarme != null) { try { CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(localAlarme); C2iExpression exp = m_parametreAffichage.Colonnes[column.Index].FormuleDonnee; if (exp != null) { result = exp.Eval(ctx); if (result) { node[column.Index] = result.Data; return(result.Data); } } else { return(null); } } catch (Exception ex) { result.EmpileErreur(ex.Message); return(result); } } return(null); }
public COperationSurAlarmeAffichee(CLocalAlarmeAffichee alarme, EOperationSurAlarme op) { AlarmeAffichee = alarme; Operation = op; }
//------------------------------------------------------------------------------- private void FillNode(Node node, CLocalAlarmeAffichee alarme) { node.ClearData(); node.Tag = alarme; m_dicAlarmeNode[alarme.Id] = node; }