Exemplo n.º 1
0
        //------------------------------------------------------------------------
        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);
            }
        }
Exemplo n.º 3
0
        //-------------------------------------------------------------------------------
        private void RemoveNode(CLocalAlarmeAffichee alarme)
        {
            Node nodeAssocie;

            if (m_dicAlarmeNode.TryGetValue(alarme.Id, out nodeAssocie))
            {
                int n = Nodes.GetNodeIndex(nodeAssocie);
                Nodes.Remove(nodeAssocie);
            }
        }
Exemplo n.º 4
0
        //-------------------------------------------------------------------------------
        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);
        }
Exemplo n.º 5
0
 private void AddElement(CLocalAlarmeAffichee alarme)
 {
     if (!m_alarmes.Contains(alarme))
     {
         m_alarmes.Add(alarme);
     }
     foreach (CLocalAlarmeAffichee elt in alarme.Childs)
     {
         AddElement(elt);
     }
 }
Exemplo n.º 6
0
        //------------------------------------------------------------------------------------
        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);
        }
Exemplo n.º 7
0
        //-------------------------------------------------------------------------
        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);
                }
            }
        }
Exemplo n.º 8
0
        //-------------------------------------------------------------------------------
        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);
            }
        }
Exemplo n.º 9
0
        //-------------------------------------------------------------------------
        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);
                }
            }
        }
Exemplo n.º 10
0
        //-------------------------------------------------------------------------
        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));
                }
            }
        }
Exemplo n.º 11
0
 //--------------------------------------------------------------------------
 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);
                 }
             }
         }
     }
 }
Exemplo n.º 12
0
        //------------------------------------------------------------------------------------
        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);
                }
            }
        }
Exemplo n.º 13
0
 //-------------------------------------------------------------------------
 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));
         }
     }
 }
Exemplo n.º 14
0
        //------------------------------------------------------------------------
        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);
        }
Exemplo n.º 15
0
 public COperationSurAlarmeAffichee(CLocalAlarmeAffichee alarme, EOperationSurAlarme op)
 {
     AlarmeAffichee = alarme;
     Operation      = op;
 }
Exemplo n.º 16
0
 //-------------------------------------------------------------------------------
 private void FillNode(Node node, CLocalAlarmeAffichee alarme)
 {
     node.ClearData();
     node.Tag = alarme;
     m_dicAlarmeNode[alarme.Id] = node;
 }