コード例 #1
0
 public void Remplir()
 {
     m_lnkRemplir.Visible = false;
     m_lblERREUR.Visible  = false;
     if (m_2iList != null && m_2iList.OptimizeRefresh && m_objectSource == m_lastObjetSourceRemplissage)
     {
         return;
     }
     m_lastObjetSourceRemplissage = m_objectSource;
     try
     {
         CContexteEvaluationExpression contexte = CUtilControlesWnd.GetContexteEval(m_controlFor2iWnd, m_objectSource);
         IEnumerable datas = m_2iList.GetListeSource(contexte);
         DataTable   table = m_2iList.GetDataTable(datas);
         m_grid.DataSource = table;
         UpdateGridStyle();
         m_grid.Refresh();
         return;
     }
     catch
     {
         m_lblERREUR.Visible = true;
     }
     m_grid.DataSource = null;
     m_grid.Refresh();
 }
コード例 #2
0
        protected CResultAErreur TraiterEditionPanel(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;
            CContexteEvaluationExpression ctxEval  = CUtilControlesWnd.GetContexteEval(this, objet);
            C2iWndListeSpeedStandard      listeStd = this.WndAssociee as C2iWndListeSpeedStandard;

            if (listeStd != null)
            {
                C2iExpression formule = listeStd.AlternativeEditedElement;
                result = formule.Eval(ctxEval);
                if (!result)
                {
                    return(result);
                }
                CObjetDonneeAIdNumeriqueAuto objetToEdit = result.Data as CObjetDonneeAIdNumeriqueAuto;
                if (objetToEdit != null)
                {
                    CReferenceTypeForm refTypeForm = CFormFinder.GetRefFormToEdit(objetToEdit.GetType());
                    IFormNavigable     frmToShow   = refTypeForm.GetForm(objetToEdit) as IFormNavigable;
                    IFormNavigable     frm         = m_panelListeSpeedStd.FindForm() as IFormNavigable;
                    if (frm != null)
                    {
                        frm.Navigateur.AffichePage(frmToShow);
                    }
                    else
                    {
                        CFormNavigateurPopup.Show(frmToShow);
                    }
                }
                return(result);
            }
            return(result);
        }
コード例 #3
0
        //-----------------------------------------------------------------------------------------
        protected override void MyUpdateValeursCalculees()
        {
            CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, EditedElement);

            if (WndSchemaReseau.ElementFormula != null)
            {
                CResultAErreur resultExpression = WndSchemaReseau.ElementFormula.Eval(ctx);
                if (resultExpression)
                {
                    // Schema de réseau
                    CSchemaReseau schema = resultExpression.Data as CSchemaReseau;
                    if (schema != null)
                    {
                        // Init ici
                        m_controleSchemaReseau.Init(schema.GetSchema(false), schema);
                        m_controleSchemaReseau.LockEdition = true;
                        m_controleSchemaReseau.ModeEdition = EModeEditeurSchema.Selection;
                    }
                }
            }

            if (WndSchemaReseau.DynamicNetworkViewFormula != null)
            {
                CResultAErreur resultExpression = WndSchemaReseau.DynamicNetworkViewFormula.Eval(ctx);
                if (resultExpression)
                {
                    // Parametre de vue dynamique
                    CParametreVueSchemaDynamique parametre = resultExpression.Data as CParametreVueSchemaDynamique;
                    if (parametre != null)
                    {
                        m_controleSchemaReseau.ParametreDynamique = parametre.ParametreRepresentation;
                    }
                }
            }
        }
コード例 #4
0
        //---------------------------------------------------------------------
        private void m_lnkAdd_LinkClicked(object sender, EventArgs e)
        {
            CResultAErreur result = CResultAErreur.True;
            IAllocateurSupprimeurElements allocateur = m_elementEdite as IAllocateurSupprimeurElements;

            if (m_elementEdite != null)
            {
                if (m_wndGrid.SourceFormula != null)
                {
                    Type tp = m_wndGrid.SourceFormula.TypeDonnee.TypeDotNetNatif;
                    CAffectationsProprietes affectations = SelectAffectation();
                    if (tp != null && affectations != null)
                    {
                        object obj = null;
                        try
                        {
                            if (allocateur != null)
                            {
                                result = allocateur.AlloueElement(tp);
                                if (result)
                                {
                                    obj = result.Data;
                                }
                            }
                            else
                            {
                                obj = Activator.CreateInstance(tp);
                            }
                        }
                        catch (Exception ex)
                        {
                            result.EmpileErreur(new CErreurException(ex));
                        }
                        if (obj == null | !result)
                        {
                            result.EmpileErreur(I.T("Error while allocating element|20003"));
                            CFormAfficheErreur.Show(result.Erreur);
                            return;
                        }
                        result = affectations.AffecteProprietes(obj, m_elementEdite, m_fournisseur);
                        if (!result)
                        {
                            result.EmpileErreur(I.T("Some values cannot be assigned|20004"));
                            CFormAfficheErreur.Show(result.Erreur);
                        }
                        if (!m_listeElementsAdd.Contains(obj))
                        {
                            m_listeElementsAdd.Add(obj);
                            m_lastAddedelement = obj;
                            CUtilControlesWnd.DeclencheEvenement(C2iWndDataGrid.c_strIdEvenementAddElement, m_wndFor2iDataGrid);
                        }
                        m_wndFor2iDataGrid.SetElementEdite(m_elementEdite);
                    }
                }
            }
        }
コード例 #5
0
ファイル: CWndFor2iMapView.cs プロジェクト: ykebaili/Timos
 //----------------------------------------
 void m_vearthControl_OnEarthMouseUp(object sender, EarthMouseEventArgs args)
 {
     try
     {
         m_fLatitudeClick  = args.Latitude;
         m_fLongitudeClick = args.Longitude;
         CUtilControlesWnd.DeclencheEvenement(C2iWndMapView.c_strIdMouseUpOnMap, this);
     }
     catch { }
 }
コード例 #6
0
 //---------------------------------------------
 /// <summary>
 /// Définit l'élément édité par le contrôle
 /// </summary>
 /// <param name="element"></param>
 public virtual void SetElementEdite(object element)
 {
     m_elementEdite = element;
     foreach (IControleWndFor2iWnd fils in Childs)
     {
         fils.SetElementEdite(element);
     }
     OnChangeElementEdite(element);
     CUtilControlesWnd.DeclencheEvenement(C2iWndFenetre.c_strIdEvenementOnInit, this);
 }
コード例 #7
0
        private void CWndFor2iTextBoxFiltreRapide_ElementSelectionneChanged(object sender, EventArgs e)
        {
            C2iWndTextBoxFiltreRapide txt = WndAssociee as C2iWndTextBoxFiltreRapide;

            if (txt != null && txt.AutoSetValue)
            {
                MajChamps(false);
            }
            if (m_grid != null)
            {
                m_grid.NotifyCurrentCellDirty(true);
            }
            CUtilControlesWnd.DeclencheEvenement(C2iWndTextBoxFiltreRapide.c_strIdEvenementValueChanged, this);
        }
コード例 #8
0
        //----------------------------------------------------------------------------------------
        public bool OnEventSurControle(string strIdEvent, object sender)
        {
            IControleWndFor2iWnd ctrl = m_runtime as IControleWndFor2iWnd;

            if (ctrl != null)
            {
                CResultAErreur result = CUtilControlesWnd.DeclencheEvenement(strIdEvent, ctrl);
                if (result.Data is bool)
                {
                    return((bool)result.Data);
                }
            }
            return(true);
        }
コード例 #9
0
 //-------------------------------------------
 protected override void  OnChangeElementEdite(object element)
 {
     if (m_wndGrid != null)
     {
         CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, element);
         if (m_wndGrid.SourceFormula != null)
         {
             CResultAErreur result = m_wndGrid.SourceFormula.Eval(ctx);
             if (result)
             {
                 Source = result.Data;
                 CUtilControlesWnd.DeclencheEvenement(C2iWndFenetre.c_strIdEvenementOnInit, this);
             }
         }
     }
 }
コード例 #10
0
        //-----------------------------------------------------------------------------------------
        protected override void MyUpdateValeursCalculees()
        {
            CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, EditedElement);

            if (WndSaisieGels != null && WndSaisieGels.FormuleElement != null)
            {
                CResultAErreur resultExpression = WndSaisieGels.FormuleElement.Eval(ctx);
                if (resultExpression)
                {
                    // Intervention ou Phase de Ticket
                    IElementGelable element = resultExpression.Data as IElementGelable;
                    if (element is CIntervention || element is CPhaseTicket)
                    {
                        m_panelInfoGel.Init(element);
                    }
                }
            }
        }
コード例 #11
0
        //-------------------------------------------------------------
        void m_controleForVariable_ValueChanged(object sender, EventArgs e)
        {
            C2iWndChampCustom wndChamp = WndAssociee as C2iWndChampCustom;

            if (wndChamp != null && wndChamp.AutoSetValue)
            {
                MajChamps(false);
            }
            if (m_gridView != null)
            {
                m_gridView.NotifyCurrentCellDirty(true);
            }
            CUtilControlesWnd.DeclencheEvenement(C2iWndVariable.c_strIdEvenementValueChanged, this);
            if (OnValueChanged != null)
            {
                OnValueChanged(this, new EventArgs());
            }
        }
コード例 #12
0
        private void m_panorama_OnSelectObject(object sender, OnSelectObjectEventArgs args)
        {
            CValeurChampCustom valeur = args.ObjectSelectionne as CValeurChampCustom;

            if (valeur != null)
            {
                if (valeur.Equals(m_valeurSelectionne))
                {
                    m_valeurSelectionne = null;
                }
                else
                {
                    m_valeurSelectionne = valeur;
                }
                UpdateVisuelFromSelection();
                CUtilControlesWnd.DeclencheEvenement(C2iWndSelectionValeurChamp.c_strIdEvenementValueChanged, this);
            }
        }
コード例 #13
0
        //-----------------------------------------------------------------------------------------
        protected override void MyUpdateValeursCalculees()
        {
            CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, EditedElement);

            if (WndSaisieOperations.FormuleElement != null)
            {
                CResultAErreur resultExpression = WndSaisieOperations.FormuleElement.Eval(ctx);
                if (resultExpression)
                {
                    // Fraction ou Phase de Ticket
                    IElementAOperationPrevisionnelle element = resultExpression.Data as IElementAOperationPrevisionnelle;
                    if (element is CIntervention)
                    {
                        m_controleSaisieOperations.Init(element);
                    }
                }
            }
        }
コード例 #14
0
        //-----------------------------------------------------------------------------------------
        protected override void MyUpdateValeursCalculees()
        {
            CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, EditedElement);

            if (WndSaisieActivites.ElementFormula != null)
            {
                CResultAErreur resultExpression = WndSaisieActivites.ElementFormula.Eval(ctx);
                if (resultExpression)
                {
                    // C'est un Acteur
                    CActeur acteur = resultExpression.Data as CActeur;
                    if (acteur != null)
                    {
                        m_controleSaisieActivites.Init(acteur, m_dateDebut, m_dateFin);
                    }
                }
            }
        }
コード例 #15
0
        //-------------------------------------------
        private void UpdateFromSource()
        {
            object        datas     = Source;
            List <object> lstObjets = new List <object>();

            IPreloadableFromArbreProprietesDynamiques preloadable = Source as IPreloadableFromArbreProprietesDynamiques;

            if (preloadable != null && m_wndGrid.PreloadDatas)
            {
                CArbreDefinitionsDynamiques arbre = new CArbreDefinitionsDynamiques(null);
                if (m_wndGrid != null)
                {
                    foreach (C2iWndDataGridColumn col in m_wndGrid.Columns)
                    {
                        if (col.Control != null)
                        {
                            col.Control.FillArbreProprietesAccedees(arbre);
                        }
                    }
                }
                preloadable.Preload(arbre);
            }



            if (datas != null)
            {
                IEnumerable collection = datas as IEnumerable;
                if (collection != null)
                {
                    foreach (object obj in collection)
                    {
                        lstObjets.Add(obj);
                    }
                }
                else
                {
                    lstObjets.Add(datas);
                }
                m_grid.Init(this, m_wndGrid, EditedElement, lstObjets, m_fournisseur);
            }
            CUtilControlesWnd.DeclencheEvenement(C2iWnd.c_strIdEvenementOnInit, this);
        }
コード例 #16
0
        //-----------------------------------------------------------------------------------------
        protected override void MyUpdateValeursCalculees()
        {
            CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, EditedElement);

            if (WndSaisieOperations.FormuleElement != null)
            {
                CResultAErreur resultExpression = WndSaisieOperations.FormuleElement.Eval(ctx);
                if (resultExpression)
                {
                    // Fraction ou Phase de Ticket
                    IElementAOperationsRealisees element = resultExpression.Data as IElementAOperationsRealisees;
                    if (element is CFractionIntervention || element is CPhaseTicket)
                    {
                        m_controleSaisieOperations.Init(element);
                        m_controleSaisieOperations.PanelEnteteVisible = WndSaisieOperations.HeaderPanelVisible;
                    }
                }
            }
        }
コード例 #17
0
        private void m_lnkDelete_LinkClicked(object sender, EventArgs e)
        {
            object element = null;

            try
            {
                element = (m_grid.DataSource as IList)[m_grid.CurrentCell.RowIndex];
            }
            catch
            {
            }
            if (element == null)
            {
                return;
            }
            CResultAErreur result = CResultAErreur.True;

            if (m_wndGrid.DeleteConfirmMessage.Trim() != "")
            {
                if (CFormAlerte.Afficher(m_wndGrid.DeleteConfirmMessage, EFormAlerteType.Question) == DialogResult.No)
                {
                    return;
                }
            }
            IAllocateurSupprimeurElements supprimeur = m_elementEdite as IAllocateurSupprimeurElements;

            if (supprimeur != null)
            {
                m_listeElementsAdd.Remove(element);
                result = supprimeur.SupprimeElement(element);
                if (!result)
                {
                    m_listeElementsAdd.Add(element);
                }
                else
                {
                    m_wndFor2iDataGrid.SetElementEdite(m_elementEdite);
                }
            }
            CUtilControlesWnd.DeclencheEvenement(C2iWndDataGrid.c_strIdEvenementDeleteElement, m_wndFor2iDataGrid);
        }
コード例 #18
0
        //-----------------------------------------------------------------------------------------
        protected override void MyUpdateValeursCalculees()
        {
            CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, EditedElement);

            if (WndAffecteIntervenants != null && WndAffecteIntervenants.FormuleElement != null)
            {
                CResultAErreur resultExpression = WndAffecteIntervenants.FormuleElement.Eval(ctx);
                if (resultExpression)
                {
                    // Intervention
                    CIntervention element = resultExpression.Data as CIntervention;
                    if (element != null)
                    {
                        if (!LockEdition)
                        {
                            element.RecalcProfilsIntervenantsInCurrentContext(false);
                        }
                        m_panelIntervenants.Init(element);
                    }
                }
            }
        }
コード例 #19
0
        //---------------------------------------------------------------
        protected override void MyUpdateValeursCalculees()
        {
            if (WndFormule == null || m_control == null)
            {
                return;
            }

            CContexteEvaluationExpression contexte = CUtilControlesWnd.GetContexteEval(this, EditedElement);
            CResultAErreur result = CResultAErreur.True;

            try
            {
                result = WndFormule.Formule.Eval(contexte);
            }
            catch
            {
                result.EmpileErreur("");
            }
            if (!result)
            {
                if (EditedElement != null)
                {
                    m_control.Text = "ERROR";
                }
                else
                {
                    m_control.Text = "";
                }
            }
            else if (result.Data != null)
            {
                m_control.Text = result.Data.ToString();
            }
            else
            {
                m_control.Text = "";
            }
        }
コード例 #20
0
        //---------------------------------------------------------------
        protected override void MyCreateControle(
            CCreateur2iFormulaireV2 createur,
            C2iWnd wnd,
            Control parent,
            IFournisseurProprietesDynamiques fournisseurProprietes)
        {
            if (WndSaisieActivites == null)
            {
                return;
            }

            CContexteEvaluationExpression ctx = CUtilControlesWnd.GetContexteEval(this, EditedElement);
            CResultAErreur resultExpression;

            if (WndSaisieActivites.InitialStartDate != null)
            {
                resultExpression = WndSaisieActivites.InitialStartDate.Eval(ctx);
                if (resultExpression.Data is DateTime)
                {
                    m_dateDebut = (DateTime)resultExpression.Data;
                }
            }
            if (WndSaisieActivites.InitialEndDate != null)
            {
                resultExpression = WndSaisieActivites.InitialEndDate.Eval(ctx);
                m_dateFin        = DateTime.Now.Date;
                if (resultExpression.Data is DateTime)
                {
                    m_dateFin = (DateTime)resultExpression.Data;
                }
            }

            m_controleSaisieActivites.OnChangeDates += new EventHandler(m_controleSaisieActivites_OnChangeDates);
            CCreateur2iFormulaireV2.AffecteProprietesCommunes(WndSaisieActivites, m_controleSaisieActivites);
            parent.Controls.Add(m_controleSaisieActivites);
        }
コード例 #21
0
        //-----------------------------------------------
        public virtual void UpdateVisibilityEtEnable(IControleWndFor2iWnd ctrl, object elementEdite)
        {
            if (m_fournisseurProprietes == null || ctrl == null)
            {
                return;
            }
            C2iWnd wnd = ctrl.WndAssociee as C2iWnd;

            if (wnd != null && ctrl.Control != null)
            {
                try
                {
                    CResultAErreur result = CResultAErreur.True;
                    CContexteEvaluationExpression contexteEvaluation = CUtilControlesWnd.GetContexteEval(
                        ctrl, elementEdite);
                    if (wnd.Visiblity != null)
                    {
                        result = wnd.Visiblity.Eval(contexteEvaluation);
                        bool bVisible = true;
                        if (result && result.Data != null)
                        {
                            if (result.Data.ToString() == "0" || result.Data.ToString().ToUpper() == "FALSE")
                            {
                                bVisible = false;
                            }
                        }
                        ctrl.Control.Visible = bVisible;
                    }
                    if (wnd.Enabled != null)
                    {
                        result = wnd.Enabled.Eval(contexteEvaluation);

                        bool bEnable = true;
                        if (wnd.LockMode == C2iWnd.ELockMode.EnableOnEdit)
                        {
                            bEnable = !m_bLockEdition;
                        }
                        if (wnd.LockMode == C2iWnd.ELockMode.DisableOnEdit)
                        {
                            bEnable = m_bLockEdition;
                        }
                        if (result && result.Data != null)
                        {
                            if (result.Data.ToString() == "0" || result.Data.ToString().ToUpper() == "FALSE")
                            {
                                bEnable = false;
                            }
                        }
                        if (ctrl.Control is IControlALockEdition)
                        {
                            ((IControlALockEdition)ctrl.Control).LockEdition = !bEnable;
                        }
                        else
                        {
                            ctrl.Control.Enabled = bEnable;
                        }
                    }
                }
                catch { }
            }
            foreach (IControleWndFor2iWnd ctrlFils in ctrl.Childs)
            {
                UpdateVisibilityEtEnable(ctrlFils, elementEdite);
            }
        }
コード例 #22
0
 //--------------------------------------------------------------------------
 // Evenement de changement des dates de saisie
 void m_controleSaisieActivites_OnChangeDates(object sender, EventArgs e)
 {
     m_dateDebut = m_controleSaisieActivites.DateDebut;
     m_dateFin   = m_controleSaisieActivites.DateFin;
     CUtilControlesWnd.DeclencheEvenement(C2iWndSaisieDesActivitesActeur.c_strIdEvenementChangeDates, this);
 }
コード例 #23
0
 //-----------------------------------------------------------------------------------
 void m_panelListeSpeedStd_OnChangeSelection(object sender, EventArgs e)
 {
     CUtilControlesWnd.DeclencheEvenement(
         C2iWndListeSpeedStandard.c_strIdEvenementSelectionChanged,
         this);
 }
コード例 #24
0
 void m_grid_ActiveElementChanged(object sender, EventArgs e)
 {
     CUtilControlesWnd.DeclencheEvenement(C2iWndDataGrid.c_strSelectionChanged, this);
 }
コード例 #25
0
 //---------------------------------------------
 private void CWndFor2iFormule_TextChanged(object sender, EventArgs e)
 {
     CUtilControlesWnd.DeclencheEvenement(C2iWndFormule.c_strIdEvenementTextChanged, this);
 }
コード例 #26
0
 //---------------------------------------------------------------
 void m_controlChart_BeforeCalculate(object sender, EventArgs e)
 {
     CUtilControlesWnd.DeclencheEvenement(C2iWndChart.c_strIdBeforeCalculate, this);
 }