コード例 #1
0
        public static void Popup(Point p, CActionSur2iLinkFormulairePopup action, IObjetDonnee objetEdite, bool bModeEdition)
        {
            if (action == null)
            {
                return;
            }

            CFormExecuteActionFormulairePopup form = new CFormExecuteActionFormulairePopup();

            form.m_actionExecutee = action;

            Size   sz      = action.Formulaire.Size;
            Screen scr     = Screen.FromPoint(p);
            Point  ptStart = p;

            if (ptStart.X + sz.Width > scr.WorkingArea.Right)
            {
                ptStart.Offset(-sz.Width, 0);
            }
            if (ptStart.Y + sz.Height > scr.WorkingArea.Bottom)
            {
                ptStart.Offset(0, -sz.Height);
            }
            form.Location = ptStart;
            form.Size     = sz;

            form.m_gestionnaireModeEdition.ModeEdition = bModeEdition;
            form.m_panelFormulaire.InitPanel(action.Formulaire, objetEdite);

            form.Show();
        }
コード例 #2
0
        /// /////////////////////////////////////////////////////////////////////////////////////
        private static CResultAErreur ExecuteActionFormulairePopup(CActionSur2iLinkFormulairePopup actionPopup, object sender, object objetCible)
        {
            CResultAErreur result = CResultAErreur.True;

            C2iExpression formuleElement = actionPopup.FormuleElementEdite;
            IObjetDonnee  elementEdite   = null;

            if (formuleElement != null)
            {
                CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(objetCible);
                ctxEval.AttacheObjet(typeof(CContexteDonnee), CSc2iWin32DataClient.ContexteCourant);
                result = formuleElement.Eval(ctxEval);
                if (!result)
                {
                    result.EmpileErreur(I.T("Element evaluation error|30084"));
                    return(result);
                }

                if (result.Data == null)
                {
                    result.EmpileErreur(I.T("Not avaliable|30082"));
                    return(result);
                }

                elementEdite = result.Data as IObjetDonnee;
            }
            else
            {
                elementEdite = objetCible as IObjetDonnee;
            }

            if (elementEdite != null)
            {
                Point pt           = Cursor.Position;
                bool  bModeEdition = false;

                if (sender != null)
                {
                    pt = ((Control)sender).Location;

                    Form frm = ((Control)sender).FindForm();
                    if (frm != null && frm is CFormEditionStandard)
                    {
                        bModeEdition = ((CFormEditionStandard)frm).ModeEdition;
                    }
                }
                CFormExecuteActionFormulairePopup.Popup(
                    pt,
                    actionPopup,
                    elementEdite,
                    bModeEdition);
            }
            else
            {
                result.EmpileErreur(I.T("Popup form element is not a valid object|20882"));
            }

            return(result);
        }
コード例 #3
0
        public void InitChamps(CActionSur2iLink action, CObjetPourSousProprietes objetPourSousProprietes)
        {
            m_actionEditee            = action as CActionSur2iLinkFormulairePopup;
            m_objetPourSousProprietes = objetPourSousProprietes;

            if (m_actionEditee != null)
            {
                m_txtLibelle.Text = m_actionEditee.Libelle;
                Type typeAnalyse = m_objetPourSousProprietes != null ? m_objetPourSousProprietes.TypeAnalyse : null;
                m_wndFormuleElementEdite.Init(new CFournisseurGeneriqueProprietesDynamiques(), m_objetPourSousProprietes);
                m_wndFormuleElementEdite.Formule = m_actionEditee.FormuleElementEdite;
                m_panelEditionFormulaire.Init(
                    m_actionEditee.FormuleElementEdite != null ?
                    m_actionEditee.FormuleElementEdite.TypeDonnee.TypeDotNetNatif:
                    typeAnalyse,
                    m_actionEditee.Formulaire,
                    m_actionEditee.Formulaire,
                    new CFournisseurGeneriqueProprietesDynamiques());

                m_panelEditionFormulaire.LockEdition = false;
            }
        }