Exemplo n.º 1
0
        public void Update(Facts.AbstractInfo info)
        {
            // Mémorise la référence de l'objet qui contient les
            // données à afficher. Cette référence n'est indispensable
            // que pour gérer le changement d'état de AbstractInfo.IsNew
            // en fonction des actions de l'utilisateur.
            this.info           = info;
            fgBorder.Visibility = (info.HasContent) ? Visibility.Hidden : Visibility.Visible;

            if (info.HasContent == false)
            {
                articleTitle.Text = "(no content to display)";
                articleText.Text  = "O_o";
                return;
            }

            articleTitle.Text    = info.Title;
            articleText.Text     = info.Text;
            mediaDisplay.Caption = info.Title;

            if (info.BrowserUri != null)
            {
                browserUrl = info.BrowserUri?.AbsoluteUri;
                Cursor     = Cursors.Hand;
                ToolTip    = "Click to read in web browser.";
            }
            else
            {
                browserUrl = info.BaseUri?.AbsoluteUri;
                Cursor     = Cursors.ScrollN;
                ToolTip    = "Click to open originating page.";
            }

            if (string.IsNullOrEmpty(browserUrl))
            {
                Cursor  = Cursors.Arrow;
                ToolTip = null;
            }

            StartIconTask();



            this.HasNewInformation = info.IsNew;

            if (enableAnimations)
            {
                if (this.HasNewInformation)
                {
                    bgBorder.Background = Brushes.Green;
                    ShakeShakeAnimation ssa = new ShakeShakeAnimation(this.Margin)
                    {
                        BeginTime = new TimeSpan(0, 0, 0, 1, 200 * orderOfAppearance)
                    };
                    this.BeginAnimation(FrameworkElement.MarginProperty, ssa);
                }
            }
        }
Exemplo n.º 2
0
        public void AddArticle(Facts.AbstractInfo ai)
        {
            if (articlesCount >= 3)
            {
                throw new Exception();
            }

            ArticleDisplay ad = new ArticleDisplay(true, articlesCount);

            ad.Update(ai);
            articlesGrid.Children.Add(ad);
            //int rowNum = articlesGrid.RowDefinitions.Count;
            Grid.SetRow(ad, articlesCount);
            articlesCount++;
        }
Exemplo n.º 3
0
 public PageStructure(Facts.AbstractInfo info)
 {
     InitializeComponent();
     pauseAnimation = new DoubleAnimation()
     {
         From           = 0,
         To             = 1,
         Duration       = new Duration(new TimeSpan(0, 0, 1)),
         RepeatBehavior = RepeatBehavior.Forever,
         AutoReverse    = true
     };
     pageDisplay.Update(info);
     pageDisplay.mediaDisplay.BackgroundMode = MediaDisplay.BackgroundModes.Clock;
     DoLayout(new Size(ActualWidth, ActualHeight));
 }