Exemple #1
0
 public static CObjetDonnee SelectObject(
     CFormListeStandard formListe,
     CObjetDonnee objetPreSelectionnee,
     string strContexteUtilisation)
 {
     return(SelectObjectQuickSearch(formListe, objetPreSelectionnee, null, strContexteUtilisation));
 }
 //--------------------------------------------------------------------
 private void CFormListeExtraite_Load(object sender, EventArgs e)
 {
     if (m_listeObjets != null)
     {
         m_imageDeListe   = CFormListeStandard.CalculeNewImage(m_listeObjets.TypeObjets);
         m_picListe.Image = m_imageDeListe;
     }
     m_panelListe.InitFromListeObjets(m_listeObjets,
                                      m_listeObjets.TypeObjets,
                                      null,
                                      "");
 }
        //----------------------------------------------------
        public static void ShowListe(
            string strTitre,
            CListeObjetsDonnees listeAVoir,
            CFormNavigateur navigateurAssocié,
            GLColumnCollection columns,
            string strContexteUtilisation)
        {
            if (listeAVoir == null)
            {
                return;
            }

            //Créer une nouvelle liste dans le contexte de base
            CListeObjetsDonnees lst    = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, listeAVoir.TypeObjets);
            CFiltreData         filtre = CFiltreData.GetAndFiltre(listeAVoir.FiltrePrincipal,
                                                                  listeAVoir.Filtre);

            lst.Filtre = filtre;


            CFormListeExtraiteOld frm = new CFormListeExtraiteOld();

            frm.Text = strTitre;
            frm.m_navigateurAssocié = navigateurAssocié != null?navigateurAssocié:m_navigateurParDefaut;
            Image img = CFormListeStandard.CalculeNewImage(lst.TypeObjets);

            frm.m_listeObjets = lst;
            if (columns != null)
            {
                frm.m_panelListe.AllowSerializePreferences = false;
                foreach (GLColumn col in columns)
                {
                    GLColumn copie = CCloner2iSerializable.Clone(col) as GLColumn;
                    frm.m_panelListe.Columns.Add(copie);
                }
            }
            else
            {
                frm.m_panelListe.AllowSerializePreferences = true;
                if (strContexteUtilisation != null)
                {
                    frm.m_panelListe.ContexteUtilisation = strContexteUtilisation;
                }
                string   strField = DescriptionFieldAttribute.GetDescriptionField(lst.TypeObjets, "DescriptionElement");
                GLColumn col      = new GLColumn("");
                col.Propriete = strField;
                col.Width     = frm.m_panelListe.ClientSize.Width;
                frm.m_panelListe.Columns.Add(col);
            }

            frm.Show();
        }
Exemple #4
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();
            }
        }
Exemple #6
0
        //---------------------------------------------------------------------------
        /// <summary>
        /// Remplace la fonction de sélection dans C2iTextBoxFiltreRapide
        /// </summary>
        /// <param name="typeObjets"></param>
        /// <param name="filtreRapide"></param>
        /// <param name="strRechercheRapide"></param>
        /// <param name="bSelectionPriseEnCharge"></param>
        /// <returns></returns>
        public static CObjetDonnee MySelectionneurObjetRapide(
            Type typeObjets,
            CFiltreData filtreDeBase,
            string strRechercheRapide,
            ref bool bSelectionPriseEnCharge)
        {
            if (bSelectionPriseEnCharge)
            {
                return(null);
            }
            Type typeForm = CFormFinder.GetTypeFormToList(typeObjets);

            bSelectionPriseEnCharge = typeForm != null && typeof(CFormListeStandard).IsAssignableFrom(typeForm);
            if (!bSelectionPriseEnCharge)
            {
                return(null);
            }
            CFormListeStandard frmListe = (CFormListeStandard)Activator.CreateInstance(typeForm, null);

            frmListe.FiltreDeBase = filtreDeBase;
            frmListe.FiltreRapide = CFournisseurFiltreRapide.GetFiltreRapideForType(typeObjets);
            if (frmListe.ListeObjets != null)
            {
                frmListe.ListeObjets.FiltrePrincipal = filtreDeBase;
            }

            Thread th = new Thread(new ThreadStart(SelectOnSTAThread));

            th.SetApartmentState(ApartmentState.STA);
            m_formForThread = frmListe;
            m_strTextRechercheRapideForThread = strRechercheRapide;
            m_objetSelectedByThread           = null;
            th.Start();
            th.Join();
            return(m_objetSelectedByThread);
        }
Exemple #7
0
 //--------------------------------------------------------------------
 private void CFormListeExtraite_Load(object sender, EventArgs e)
 {
     AutoArrangeSize();
     if (m_listeObjets != null)
     {
         Bitmap bmp = CFormListeStandard.CalculeNewImage(m_listeObjets.TypeObjets) as Bitmap;
         if (bmp != null)
         {
             IntPtr hIcon   = bmp.GetHicon();
             Icon   newIcon = Icon.FromHandle(hIcon);
             Icon = newIcon;
             bmp.Dispose();
             try{
                 newIcon.Dispose();
                 DestroyIcon(hIcon);
             }
             catch {}
         }
     }
     m_panelListe.InitFromListeObjets(m_listeObjets,
                                      m_listeObjets.TypeObjets,
                                      null,
                                      "");
 }