Exemple #1
0
        //-----------------------------------------------------------------
        private void itemAddMenu_Click(object sender, EventArgs args)
        {
            CModeleTexte modele = new CModeleTexte(CSc2iWin32DataClient.ContexteCourant);

            modele.CreateNew();
            modele.TypeAssocie = TypeObjet;
            if (CFormPopupEditeModeleTexte.EditeModele(modele))
            {
                CResultAErreur result = modele.CommitEdit();
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur.ToString(), EFormAlerteType.Erreur);
                }
                else
                {
                    CTimosAppRegistre.SetModeleTexteForType(ModeleTexte, Contexte, TypeObjet);
                }
            }
            else
            {
                if (ModeleTexte != null)
                {
                    ModeleTexte.CancelEdit();
                }
            }
        }
        public override sc2i.common.CResultAErreur RunService(object parametre)
        {
            CResultAErreur result = CResultAErreur.True;

            if (!(parametre is CActionImprimerModeleTexte.CParametreImpressionModeleTexte))
            {
                result.EmpileErreur(I.T("Parameter type imcompatible with 'print text model' service|20113"));
                return(result);
            }
            CActionImprimerModeleTexte.CParametreImpressionModeleTexte parametreEdition = (CActionImprimerModeleTexte.CParametreImpressionModeleTexte)parametre;
            CObjetDonnee objet = parametreEdition.ReferenceObjet.GetObjet(CSc2iWin32DataClient.ContexteCourant);

            if (objet == null)
            {
                result.EmpileErreur(I.T("The object to edit doesn't exist|1078"));
                return(result);
            }

            //Charge le modèle de texte
            CModeleTexte modele = new CModeleTexte(CSc2iWin32DataClient.ContexteCourant);

            if (!modele.ReadIfExists(parametreEdition.IdModeleTexte))
            {
                result.EmpileErreur(I.T("Text model @1 doesn't exists|20114", parametreEdition.IdModeleTexte.ToString()));
                return(result);
            }

            PrinterSettings printSet = new PrinterSettings();
            PageSettings    pageSet  = new PageSettings();

            result = CTextPrintSetup.ApplyParameters(parametreEdition.ParametresImpression, printSet, pageSet);
            if (!result)
            {
                return(result);
            }

            using (CPrintRichTextBox txtBox = new CPrintRichTextBox())
            {
                result = CUtilModeleTexte.FillRichTextBox(
                    txtBox,
                    modele,
                    objet);
                if (!result)
                {
                    return(result);
                }

                using (PrintDocument doc = new PrintDocument())
                {
                    pageSet.PrinterSettings = printSet;
                    doc.DefaultPageSettings = pageSet;
                    doc.PrinterSettings     = printSet;
                    m_textBoxToPrint        = txtBox;
                    m_nPageToPrint          = 0;
                    doc.PrintPage          += new PrintPageEventHandler(doc_PrintPage);
                    doc.Print();
                }
            }
            return(result);
        }
        /// //////////////////////////////////////////
        protected override void InitChamps()
        {
            base.InitChamps();
            m_wndAideFormule.FournisseurProprietes = ObjetEdite.Process;
            m_wndAideFormule.ObjetInterroge        = typeof(CProcess);

            m_txtFormuleElement.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge);
            m_txtFormuleCodeFormulaire.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge);

            if (ActionImprimerModeleTexte.FormuleElementAEditer != null)
            {
                m_txtFormuleElement.Text = ActionImprimerModeleTexte.FormuleElementAEditer.GetString();
            }
            if (ActionImprimerModeleTexte.FormuleElementAEditer != null)
            {
                m_txtFormuleCodeFormulaire.Text = ActionImprimerModeleTexte.FormuleParametresImpression.GetString();
            }

            m_cmbModele.Init(typeof(CModeleTexte), "Libelle", true);
            CModeleTexte modele = new CModeleTexte(CSc2iWin32DataClient.ContexteCourant);

            if (ActionImprimerModeleTexte.IdModeleAEditer != null &&
                modele.ReadIfExists(ActionImprimerModeleTexte.IdModeleAEditer.Value))
            {
                m_cmbModele.ElementSelectionne = modele;
            }
        }
Exemple #4
0
        private void InitFenetre(CModeleTexte modele, object objet)
        {
            m_txtBox.Visible = false;
            m_txtBox.Clear();
            if (objet == null)
            {
                return;
            }
            CResultAErreur result = CResultAErreur.True;

            try
            {
                result = CUtilModeleTexte.FillRichTextBox(
                    m_txtBox, modele, objet);
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            if (!result)
            {
                m_txtBox.Text = result.Erreur.ToString();
            }
            m_txtBox.BackColor = modele.CouleurFond;
            m_txtBox.Visible   = true;
        }
Exemple #5
0
 public CMenuModeleTexte(CModeleTexte modele, string strContexte, object objet)
     : base(modele == null?"":modele.Libelle)
 {
     InitializeComponent();
     ModeleTexte = modele;
     Contexte    = strContexte;
     Objet       = objet;
 }
Exemple #6
0
 public void Init(CModeleTexte modele, object objet)
 {
     m_modele       = modele;
     m_objetAffiche = objet;
     if (IsHandleCreated)
     {
         BeginInvoke(new InitFenetreDelegate(InitFenetre), m_modele, m_objetAffiche);
     }
 }
Exemple #7
0
        public static bool EditeModele(CModeleTexte modele, object elementDeTest)
        {
            CFormPopupEditeModeleTexte form = new CFormPopupEditeModeleTexte();

            form.m_panelModele.Init(modele, elementDeTest);
            DialogResult res = form.ShowDialog();

            form.Dispose();
            return(res == DialogResult.OK);
        }
Exemple #8
0
        public static CModeleTexte GetModeleTexteForType(string strContexte, Type tp)
        {
            int nId = new CTimosAppRegistre().GetIntValue("Text models", GetCleModeleTexte(strContexte, tp), -1);

            if (nId > 0)
            {
                CModeleTexte modele = new CModeleTexte(CSc2iWin32DataClient.ContexteCourant);
                if (modele.ReadIfExists(nId))
                {
                    return(modele);
                }
            }
            return(null);
        }
Exemple #9
0
        //-----------------------------------------------------------------
        private void itemEditMenu_Click(object sender, EventArgs args)
        {
            CModeleTexte modele = ModeleTexte;

            if (modele != null)
            {
                modele.BeginEdit();
                if (CFormPopupEditeModeleTexte.EditeModele(modele))
                {
                    modele.CommitEdit();
                    CTimosAppRegistre.SetModeleTexteForType(ModeleTexte, Contexte, TypeObjet);
                }
                else
                {
                    modele.CancelEdit();
                }
            }
        }
Exemple #10
0
        public static void AddToMenuParent(ToolStripMenuItem menu, string strContexte, object objet)
        {
            if (objet == null)
            {
                return;
            }

            CModeleTexte modeleSel = CTimosAppRegistre.GetModeleTexteForType(strContexte, objet.GetType());

            CListeObjetsDonnees liste = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, typeof(CModeleTexte));

            liste.Filtre = new CFiltreData(CModeleTexte.c_champTypeAssocie + "=@1",
                                           objet.GetType().ToString());
            foreach (CModeleTexte modele in liste)
            {
                CMenuModeleTexte menuModele = new CMenuModeleTexte(modele, strContexte, objet);
                if (modeleSel != null && modele.Id == modeleSel.Id)
                {
                    menuModele.Checked = true;
                }
                menuModele.MouseUp += new MouseEventHandler(menuModele.menuModele_MouseUp);
                menu.DropDownItems.Add(menuModele);
            }

            CSessionClient session = CSessionClient.GetSessionForIdSession(CSc2iWin32DataClient.ContexteCourant.IdSession);

            if (session != null)
            {
                IInfoUtilisateur info = session.GetInfoUtilisateur();
                if (info != null && info.GetDonneeDroit(CDroitDeBaseSC2I.c_droitAdministration) != null)
                {
                    menu.DropDownItems.Add(new ToolStripSeparator());
                    CMenuModeleTexte menuModeleAdd = new CMenuModeleTexte(null, strContexte, objet);
                    menuModeleAdd.Text   = I.T("Add|124");
                    menuModeleAdd.Click += new EventHandler(menuModeleAdd.itemAddMenu_Click);
                    menu.DropDownItems.Add(menuModeleAdd);
                }
            }

            if (menu.DropDownItems.Count == 0)
            {
                menu.Visible = false;
            }
        }
Exemple #11
0
        //-----------------------------------------------------------------
        public void ShowToolTip(object objet)
        {
            if (objet == null)
            {
                return;
            }
            m_lastObjetPopup = objet;
            CModeleTexte modele = CTimosAppRegistre.GetModeleTexteForType(m_strContexte, objet.GetType());

            if (modele != null)
            {
                if (m_lastControlMouseMove != null)
                {
                    Point pt = m_lastControlMouseMove.PointToScreen(m_lastPoint);
                    pt.Offset(16, 16);
                    CRichTextViewerPopup.Popup(pt, modele, objet);
                }
            }
        }
Exemple #12
0
        public static void Popup(Point screenPoint, CModeleTexte modele, object objet)
        {
            if (objet == null || modele == null)
            {
                return;
            }


            if (m_staticPopup == null)
            {
                //Création du viewer static
                m_staticPopup = new CRichTextViewerPopup();
            }

            Screen scr     = Screen.FromPoint(screenPoint);
            Point  ptStart = screenPoint;
            Size   sz      = new Size(modele.Largeur, modele.Hauteur);

            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);
            }
            m_staticPopup.Visible  = false;
            m_staticPopup.Size     = sz;
            m_staticPopup.Location = ptStart;
            m_staticPopup.m_richText.Init(modele, objet);
            m_staticPopup.AutoPlacement = false;
            m_staticPopup.Show();

            /*m_staticPopup.Show();
             * m_staticPopup.BringToFront();
             * m_staticPopup.m_pointSourisInitial = Cursor.Position;
             * m_staticPopup.Capture = true;
             * m_staticPopup.Focus();*/
        }
        /// //////////////////////////////////////////
        protected override sc2i.common.CResultAErreur MAJ_Champs()
        {
            CResultAErreur result = base.MAJ_Champs();
            CContexteAnalyse2iExpression   contexte  = new CContexteAnalyse2iExpression(ObjetEdite.Process, typeof(CProcess));
            CAnalyseurSyntaxiqueExpression analyseur = new CAnalyseurSyntaxiqueExpression(contexte);

            result = analyseur.AnalyseChaine(m_txtFormuleElement.Text);
            if (!result)
            {
                return(result);
            }
            ActionImprimerModeleTexte.FormuleElementAEditer = (C2iExpression)result.Data;
            if (m_txtFormuleCodeFormulaire.Text.Trim() != "")
            {
                result = analyseur.AnalyseChaine(m_txtFormuleCodeFormulaire.Text);
                if (!result)
                {
                    return(result);
                }
                ActionImprimerModeleTexte.FormuleParametresImpression = (C2iExpression)result.Data;
            }
            else
            {
                ActionImprimerModeleTexte.FormuleParametresImpression = null;
            }
            CModeleTexte modele = m_cmbModele.ElementSelectionne as CModeleTexte;

            if (modele != null)
            {
                ActionImprimerModeleTexte.IdModeleAEditer = modele.Id;
            }
            else
            {
                ActionImprimerModeleTexte.IdModeleAEditer = null;
            }
            return(result);
        }
Exemple #14
0
 //-----------------------------------------------------------------
 void menuModele_MouseUp(object sender, MouseEventArgs e)
 {
     if ((e.Button & MouseButtons.Right) == MouseButtons.Right)
     {
         CModeleTexte modele = ModeleTexte;
         if (modele != null)
         {
             modele.BeginEdit();
             if (CFormPopupEditeModeleTexte.EditeModele(modele))
             {
                 modele.CommitEdit();
                 CTimosAppRegistre.SetModeleTexteForType(ModeleTexte, Contexte, TypeObjet);
             }
             else
             {
                 modele.CancelEdit();
             }
         }
     }
     else
     {
         CTimosAppRegistre.SetModeleTexteForType(ModeleTexte, Contexte, TypeObjet);
     }
 }
        //------------------------------------------------
        public void Init(CActeursSelonProfil acteursSelonProf, IElementAContacts elemactc)
        {
            m_elemactc                    = elemactc;
            m_acteursSelonProf            = acteursSelonProf;
            m_bAfficherInactif            = false;
            m_chkAfficherInnActif.Checked = false;

            m_lnkProfilIntervenant.Text = m_acteursSelonProf.Profil.Libelle;

            //On récupère les acteurs associés à ce profil en prenant également les innactifs
            m_acteurs = m_acteursSelonProf.GetActeurs(m_elemactc, true);

            //On trie les acteurs par rapport à leur occupation actuelle
            //m_acteurs.Sort(new CActeur_OccupationActuelleComparer());

            //On récupère le modèle si il existe
            CModeleTexte modeleUtilise = acteursSelonProf.TypeElementAActeursPossibles.ModeleTexteContacts;

            //On ne prends que les acteurs qui travaillent actuellement
            int pos = 0;

            m_nInactifs = 0;
            int largeurEtat = 10;

            foreach (CActeur acteur in m_acteurs)
            {
                CControlContact ctrl = new CControlContact();
                ctrl.m_largeurEtat = largeurEtat;
                if (m_frmConteneur != null)
                {
                    ctrl.m_frmConteneur = m_frmConteneur;
                }

                ctrl.Init(acteur, modeleUtilise);
                largeurEtat = ctrl.m_largeurEtat;

                m_nHauteurControl = ctrl.HauteurOptimale;

                if (ctrl.LargeurOptimale > m_largeurOptimale)
                {
                    m_largeurOptimale  = ctrl.LargeurOptimale + 4;
                    m_hauteurOptimale += ctrl.HauteurOptimale;
                }
                else
                {
                    m_hauteurOptimale += ctrl.HauteurOptimale;
                }

                m_panIntervenants.Controls.Add(ctrl);
                ctrl.TabIndex = pos;
                ctrl.Dock     = DockStyle.Top;
                ctrl.BringToFront();

                if (!ctrl.ActeurActif)
                {
                    m_hauteurOptimale -= ctrl.HauteurOptimale;
                    m_nInactifs++;
                    ctrl.Visible = false;
                }
            }
            m_hauteurOptimale -= 2;             //marge
            Size = new Size(m_largeurOptimale, m_hauteurOptimale);
        }
Exemple #16
0
        public static CResultAErreur FillRichTextBox(
            RichTextBox txtBox,
            CModeleTexte modele,
            object sourceDuModele)
        {
            CResultAErreur result = CResultAErreur.True;

            byte[] data = modele.DataModele;
            if (data != null)
            {
                MemoryStream stream = new MemoryStream(data);
                try
                {
                    txtBox.LoadFile(stream, RichTextBoxStreamType.RichText);
                }
                catch
                {
                    result.EmpileErreur(I.T("Erreur while loading Text Model|20000"));
                    return(result);
                }
            }

            CFournisseurPropDynStd         fournisseur     = new CFournisseurPropDynStd();
            CContexteAnalyse2iExpression   contexteAnalyse = new CContexteAnalyse2iExpression(fournisseur, sourceDuModele.GetType());
            CAnalyseurSyntaxiqueExpression analyseur       = new CAnalyseurSyntaxiqueExpression(contexteAnalyse);

            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(sourceDuModele);
            //recherche les zones de formule
            int nPosStart = txtBox.Find("{");

            while (nPosStart >= 0)
            {
                int nPosFin = txtBox.Find("}", nPosStart, RichTextBoxFinds.None);
                if (nPosFin > 0)
                {
                    txtBox.Select(nPosStart, nPosFin - nPosStart + 1);
                    string strFormule = txtBox.SelectedText;
                    //Supprime les accolades
                    strFormule = strFormule.Substring(1, strFormule.Length - 2);
                    result     = analyseur.AnalyseChaine(strFormule);
                    if (!result)
                    {
                        result.EmpileErreur(I.T("Error in formula @1|20001", strFormule));
                        return(result);
                    }
                    else
                    {
                        C2iExpression exp = (C2iExpression)result.Data;
                        if (exp != null)
                        {
                            result = exp.Eval(contexteEval);
                            if (result)
                            {
                                if (result.Data != null)
                                {
                                    string strTmp = result.Data.ToString();
                                    if (strTmp == "")
                                    {
                                        txtBox.SelectedText = " ";
                                    }
                                    else
                                    {
                                        txtBox.SelectedText = strTmp;
                                    }
                                }
                                else
                                {
                                    txtBox.SelectedText = " ";
                                }
                            }
                            else
                            {
                                txtBox.SelectedText = "##";
                            }
                        }
                        else
                        {
                            txtBox.SelectedText = " ";
                        }
                    }
                    nPosFin = nPosStart + txtBox.SelectedText.Length;
                }
                if (nPosFin < txtBox.Text.Length)
                {
                    nPosStart = txtBox.Find("{", nPosFin, RichTextBoxFinds.None);
                }
                else
                {
                    nPosStart = -1;
                }
            }
            return(result);
        }
 //-------------------------------------------------------------------------
 public CFormEditionModeleTexte(CModeleTexte ModeleTexte, CListeObjetsDonnees liste)
     : base(ModeleTexte, liste)
 {
     // Cet appel est requis par le Concepteur Windows Form.
     InitializeComponent();
 }
Exemple #18
0
 public static bool EditeModele(CModeleTexte modele)
 {
     return(EditeModele(modele, null));
 }
Exemple #19
0
        public void Init(CActeur acteur, CModeleTexte modeleUtilise)
        {
            m_acteur = acteur;
            //SuspendLayout();
            if (modeleUtilise == null)
            {
                m_lnkNomIntervenant.Visible = true;
                m_lnkActeur.Visible         = false;
                m_modele.Visible            = false;
                m_extLinkField.FillDialogFromObjet(m_acteur);
                m_largeurOptimale = 500;
            }
            else
            {
                m_lnkNomIntervenant.Visible = false;
                m_modele.Visible            = true;
                m_modele.Init(modeleUtilise, acteur);
                m_lnkActeur.Visible = true;
                m_largeurOptimale   = modeleUtilise.Largeur + m_panOccupation.Width + 6;
                m_hauteurOptimale   = modeleUtilise.Hauteur;
            }
            Size = new Size(m_largeurOptimale, m_hauteurOptimale);


            {
                //On récupère la tranche de travail actuelle
                CTrancheHoraire[] tranches = m_acteur.GetHoraires(DateTime.Now, DateTime.Now);

                if (tranches.Length > 0)
                {
                    CTrancheHoraire        tranche   = tranches[0];
                    CTypeOccupationHoraire typeoccup = tranche.TypeOccupationHoraire;
                    m_lblEtat.Text            = typeoccup.Libelle;
                    m_panOccupation.BackColor = Color.FromArgb(typeoccup.Couleur);
                    m_actif = typeoccup.EstDisponible;

                    if (m_frmConteneur != null)
                    {
                        m_lblEtat.Click += new EventHandler(m_lblEtat_Click);
                    }
                }
                else
                {
                    m_lblEtat.Text            = I.T("Inactive|1305");
                    m_panOccupation.BackColor = Color.Red;
                    m_actif = false;
                }
            }
            //else
            //{
            //    m_lblEtat.Text = I.T("Missing information|1306");
            //    m_panOccupation.BackColor = Color.Red;
            //    m_actif = false;
            //}

            //Position du label Etat
            if (m_lblEtat.Width > m_largeurEtat)
            {
                m_panOccupation.Width = m_lblEtat.Width + 6;
                m_largeurEtat         = m_panOccupation.Width;
            }
            else
            {
                //On centre
                m_panOccupation.Width = m_largeurEtat;
                int x = (m_largeurEtat - m_lblEtat.Width) / 2;
                m_lblEtat.Location = new Point(x, m_lblEtat.Location.Y);
            }
        }
Exemple #20
0
 public CResultAErreur Init(CModeleTexte modele, object objetTest)
 {
     m_modele    = modele;
     m_objetTest = objetTest;
     return(InitChamps());
 }
Exemple #21
0
 public static void SetModeleTexteForType(CModeleTexte modele, string strContexte, Type tp)
 {
     new CTimosAppRegistre().SetValue("Text models", GetCleModeleTexte(strContexte, tp), (modele == null?-1:modele.Id).ToString());
 }
Exemple #22
0
 //-------------------------------------------------------------------------
 public CResultAErreur Init(CModeleTexte modele)
 {
     return(Init(modele, null));
 }