Exemple #1
0
        public static CObjetDonnee SelectObjectQuickSearch(
            CFormListeStandard formListe,
            CObjetDonnee objetPreSelectionnee,
            string strTextQuick,
            string strContexteUtilisation,
            OnNewObjetDonneeEventHandler onNewObjetDonnee)
        {
            if (strTextQuick != null)
            {
                formListe.ModeQuickSearch = true;
                formListe.QuickSearchText = strTextQuick;
            }

            CObjetDonnee objetUnique = formListe.GetObjetQuickSearchSiUnique();

            /*CObjetDonnee objetUnique = CPanelFiltreRapide.GetObjetSiUnique(
             *      formListe.ListeObjets,
             *      formListe.FiltreRapide,
             *      strTextQuick);*/
            if (objetUnique != null)
            {
                formListe.Dispose();
                return(objetUnique);
            }

            formListe.ContexteUtilisation = strContexteUtilisation;

            CFormNavigateur oldNavigateur = CSc2iWin32DataNavigation.Navigateur;

            CFormNavigateurPopupListe navigateur = new CFormNavigateurPopupListe(formListe);

            CSc2iWin32DataNavigation.PushNavigateur(navigateur);

            formListe.ModeSelection             = true;
            formListe.OnObjetDoubleClicked     += new EventHandler(navigateur.OnDoubleClickFormList);
            formListe.AfterValideCreationObjet += new ObjetDonneeEventHandler(navigateur.AfterValideCreationObjet);
            formListe.OnNewObjetDonnee         += onNewObjetDonnee;

            DialogResult result = navigateur.ShowDialog();


            CObjetDonnee objetSelectionne = null;

            if (result == DialogResult.OK)
            {
                objetSelectionne = navigateur.m_objetSelectionne;
            }
            CSc2iWin32DataNavigation.PopNavigateur();
            return(objetSelectionne);
        }
        //------------------------------------------------------------------
        private void SelectObject()
        {
            if (m_typeFormList == null)
            {
                return;
            }
            if (!m_typeFormList.IsSubclassOf(typeof(CFormListeStandard)))
            {
                return;
            }

            CFormListeStandard frmListe = (CFormListeStandard)Activator.CreateInstance(m_typeFormList, null);

            if (m_filtre != null)
            {
                frmListe.FiltreRapide = m_filtre;
            }
            if (m_bAppliquerFiltreStandard && frmListe.ListeObjets != null)
            {
                Type         typeObjet = frmListe.ListeObjets.TypeObjets;
                CObjetDonnee objet     = (CObjetDonnee)Activator.CreateInstance(typeObjet, new object[] { frmListe.ListeObjets.ContexteDonnee });
                CFiltreData  filtre    = objet.FiltreStandard;
                if (filtre != null)
                {
                    frmListe.ListeObjets.FiltrePrincipal = filtre;
                }
            }
            string       strText = Text == TextNull ? "" : Text;
            CObjetDonnee obj     = CFormNavigateurPopupListe.SelectObjectQuickSearch(
                frmListe,
                null,
                strText,
                CFormNavigateurPopupListe.CalculeContexteUtilisation(this),
                new OnNewObjetDonneeEventHandler(OnNewObjetDonneeFunc));

            if (obj != null)
            {
                SelectedObject = obj;
            }
            else
            {
                SynchroniseTextEtObjet();
            }
        }