Ejemplo n.º 1
0
        void rssItemView_FadingComplete(object sender, EventArgs e)
        {
            try
            {
                switch (modo)
                {
                    case Modo.Notícia:
                        rssView.NextArticle();
                        rssDescriptionView.DisplayItem = rssView.SelectedItem;

                        if (switchCount++ > 2 && fMercadorias != null)
                        {
                            switchCount = 3;
                            ModoAtual = Modo.Mercadoria;
                            rssDescriptionView.Dispose();
                            rssDescriptionView = null;
                        }
                        break;

                    case Modo.Mercadoria:
                        infoMercadoria.Dispose();
                        infoMercadoria = null;

                        fMercadorias[mercadoriaAtual].LiberarFoto();

                        mercadoriaAtual = (mercadoriaAtual + 1) % fMercadorias.Length;

                        if (mercadoriaAtual == 0)
                            Carregar();

                        if (switchCount-- < 1 && rssView != null)
                        {
                            ModoAtual = Modo.Notícia;
                            switchCount = 0;
                        }
                        else
                            MostrarFoto();

                        if (mercadoriaAtual + 3 < fMercadorias.Length && !fMercadorias[mercadoriaAtual + 3].Preparada && carregar == null)
                        {
                            carregar = new Thread(CarregarPróximasFotos);
                            carregar.Start();
                        }
                        break;
                }
            }
            catch
            {
                Carregar();
            }
        }
Ejemplo n.º 2
0
        void infoMercadoria_FadingComplete(object sender, EventArgs e)
        {
            if (modo == Modo.Mercadoria)
            {
                infoMercadoria.Dispose();
                infoMercadoria = null;

                fMercadorias[mercadoriaAtual].LiberarFoto();

                mercadoriaAtual = (mercadoriaAtual + 1) % fMercadorias.Length;

                if (mercadoriaAtual == 0)
                    Carregar();

                if (switchCount-- < 1 && rssView != null)
                {
                    ModoAtual = Modo.Notícia;
                    switchCount = 0;
                }
                else
                    MostrarFoto();

                if (mercadoriaAtual + 3 < fMercadorias.Length && !fMercadorias[mercadoriaAtual + 3].Preparada && carregar == null)
                {
                    carregar = new Thread(CarregarPróximasFotos);
                    carregar.Start();
                }
            }
        }
Ejemplo n.º 3
0
        private void MostrarFoto()
        {
            try
            {
                if (InvokeRequired)
                {
                    MétodoCallback método = new MétodoCallback(MostrarFoto);
                    BeginInvoke(método);
                }
                else
                {
                    Foto foto = fMercadorias[mercadoriaAtual];

                    if (!foto.Preparada)
                    {
                        MostrarNotícias();

                        if (carregar == null)
                        {
                            carregar = new Thread(new ThreadStart(CarregarPróximasFotos));
                            carregar.IsBackground = true;
                            carregar.Start();
                        }
                    }
                    else
                    {
                        if (infoMercadoria != null)
                            infoMercadoria.Dispose();

                        infoMercadoria = new InfoMercadoria(foto);
                        InitializeMercadoriaView();

                        ModoAtual = Modo.Mercadoria;
                    }
                }
            }
            catch
            {
                ModoAtual = Modo.Notícia;
            }
        }