public void Populate()
        {
            MyView.StackChat.Children.Clear();

            OperationResult listResult = Database.ListAll();

            if (listResult.Code > 0)
            {
                List <Bookmark> items = (List <Bookmark>)listResult.Data;
                foreach (Bookmark item in items)
                {
                    //ImageSource icon = new BitmapImage(new Uri(item.Favicon, UriKind.RelativeOrAbsolute));

                    ImageLabelButton button = new ImageLabelButton()
                    {
                        Text = item.Title,
                        Icon = new BitmapImage(new Uri(item.Favicon, UriKind.RelativeOrAbsolute))
                    };

                    button.Click += (sender, e) => Bookmark_Click(sender, e, item.Url);

                    MyView.StackChat.Children.Add(button);
                }
            }
        }
        private void WebsiteFetchWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                MyView.Dispatcher.Invoke(() =>
                {
                    MyView.StackChat.Children.Add(new ImageLabelButton()
                    {
                        Text = "Error!"
                    });
                });
            }
            else
            {
                Bookmark bookmark = e.Result as Bookmark;
                Database.Add(bookmark);

                MyView.Dispatcher.Invoke(() =>
                {
                    ImageLabelButton button = new ImageLabelButton()
                    {
                        Text = bookmark.Title,
                        Icon = new BitmapImage(new Uri(bookmark.Favicon, UriKind.RelativeOrAbsolute))
                               //IconExtensions.ToImageSource(Icon.ExtractAssociatedIcon(bookmark.Favicon))
                    };

                    button.Click += (sender, e) => Bookmark_Click(sender, e, bookmark.Url);

                    MyView.StackChat.Children.Add(button);
                });
            }
        }
Beispiel #3
0
        public void AddMessage(string value)
        {
            // Recognize
            Item newItem = MyInterpreter.Parse(value, State);

            // Save
            MainDB.Add(newItem);

            // Execute
            MyRunner.Do(newItem);

            // Add to UI
            // TODO: Add new date label if from day to other
            ImageLabelButton button = new ImageLabelButton()
            {
                Icon = GetIcon(newItem.Type),
                Text = newItem.Value
            };

            button.Click += (sender, e) => Item_Click(sender, e, newItem);

            MyView.StackChat.Children.Add(button);

            MyView.Scroller.ScrollToBottom();
        }
        private ImageLabelButton subItemButtonFactory(SubItem subItem)
        {
            ImageLabelButton subItemButton = new ImageLabelButton()
            {
                Text = subItem.Text
            };

            subItemButton.Click += (sender, e) =>
            {
                StackSubItems.Children.Remove(subItemButton);
                MyItem.SubItems.Remove(subItem);
                MainDB.Update(MyItem);
            };

            return(subItemButton);
        }