示例#1
0
        /// <summary>
        /// Otwiera okno wyszukiwania do zbudowania obiektu Filtru.
        /// Filtruje notatki, zostawiając tylko te spełniające kryteria.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MySearch(object sender, ExecutedRoutedEventArgs e)
        {
            if (btnWyszukaj.IsChecked == true)
            {
                SzukajWindow noweOkno  = new SzukajWindow();
                IFiltr       nowyFiltr = new Filtr();
                noweOkno.AktywnyFiltr = nowyFiltr;
                if (noweOkno.ShowDialog() == true)
                {
                    nowyFiltr   = noweOkno.AktywnyFiltr;
                    View.Filter = delegate(object item)
                    {
                        INotatka notatka = item as INotatka;
                        return(nowyFiltr.CzyPasuje(notatka));
                    };

                    PokazWynikiWyszukiwania();
                }
                else
                {
                    btnWyszukaj.IsChecked = false;
                }
            }
            else
            {
                View.Filter = null;
            }
        }
        public override bool CzyPasuje(INotatka notatka)
        {
            string tresc = new TextRange(notatka.Tekst.ContentStart, notatka.Tekst.ContentEnd).Text;

            if (string.IsNullOrEmpty(tresc))
            {
                return(false);
            }
            string[] tab = SlowaKluczowe.Split(' ');
            tresc = tresc.ToLower();

            int i;

            for (i = 0; i < tab.Length; i++)
            {
                if (tresc.Contains(tab[i]))
                {
                    break;
                }
            }
            if (i == tab.Length)
            {
                return(false);
            }

            return(filtr.CzyPasuje(notatka));
        }
示例#3
0
        /// <summary>
        /// Otwiera okno podglądu związane z zaznaczoną notatką.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MyPreview(object sender, ExecutedRoutedEventArgs e)
        {
            INotatka notatka = lbxData.SelectedItem as INotatka;

            oknoPodgladu       = new PodgladWindow(data, notatka);
            oknoPodgladu.Owner = this;
            oknoPodgladu.Show();
        }
 public override bool CzyPasuje(INotatka notatka)
 {
     if (!notatka.Autor.Equals(filtr.Autor))
     {
         return(false);
     }
     return(filtr.CzyPasuje(notatka));
 }
 public override bool CzyPasuje(INotatka notatka)
 {
     if (!notatka.Tytul.ToLower().Contains(Tytul.ToLower()))
     {
         return(false);
     }
     return(filtr.CzyPasuje(notatka));
 }
示例#6
0
 public override bool CzyPasuje(INotatka notatka)
 {
     if (!notatka.Tytul.Equals(Tytul))
     {
         return(false);
     }
     return(filtr.CzyPasuje(notatka));
 }
        public PodgladWindow(NotatkiData data, INotatka notatka)
        {
            InitializeComponent();
            NoteToCathegoryPositionConverter converter = (NoteToCathegoryPositionConverter)FindResource("NoteToCathegoryPositionConverter");

            converter.Data = data;
            AktywnaNotatka = notatka;
        }
 public override bool CzyPasuje(INotatka notatka)
 {
     if (notatka.DataUtworzenia < DataUtworzeniaOd)
     {
         return(false);
     }
     return(filtr.CzyPasuje(notatka));
 }
示例#9
0
 public override bool CzyPasuje(INotatka notatka)
 {
     if (notatka.Wyroznienie != Wyroznienie)
     {
         return(false);
     }
     return(filtr.CzyPasuje(notatka));
 }
 public override bool CzyPasuje(INotatka notatka)
 {
     if (notatka.DataModyfikacji > DataModyfikacjiDo)
     {
         return(false);
     }
     return(filtr.CzyPasuje(notatka));
 }
 public override bool CzyPasuje(INotatka notatka)
 {
     if (notatka.Kategoria.Nazwa != Kategoria.Nazwa)
     {
         return(false);
     }
     return(filtr.CzyPasuje(notatka));
 }
示例#12
0
 /// <summary>
 /// Tworzy nowy obiekt pamiątki.
 /// </summary>
 /// <param name="notatka">
 /// Z parametru pobierany jest stan zapisywany w pamiątce.
 /// </param>
 public WpisHistorii(INotatka notatka)
 {
     Tekst = new FlowDocument();
     Notatka.PrzepiszTekst(notatka.Tekst, Tekst);
     Tytul           = notatka.Tytul;
     Autor           = notatka.Autor;
     Kategoria       = notatka.Kategoria;
     DataModyfikacji = notatka.DataModyfikacji;
 }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            INotatka notatka = value as INotatka;

            if (notatka == null)
            {
                return(-1);
            }
            return(notatka.Kategoria.PozycjaNotatki(notatka, Data));
        }
示例#14
0
 /// <summary>
 /// Filtruje notatki, zostawiając tylko te, które zostały wyróżnione.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void MyShowFavorites(object sender, ExecutedRoutedEventArgs e)
 {
     if (btnWyroznione.IsChecked == true)
     {
         View.Filter = delegate(object item)
         {
             INotatka notatka = item as INotatka;
             return(notatka.Wyroznienie);
         };
     }
     else
     {
         View.Filter = null;
     }
 }
示例#15
0
        private void MyImport(object sender, ExecutedRoutedEventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "Xaml (*.xaml)|*.xaml|Wszystkie pliki (*.*)|*.*";
            if (dlg.ShowDialog() == true)
            {
                FileStream fileStream = File.Open(dlg.FileName, FileMode.Open);

                INotatka wczytanaNotatka = (INotatka)XamlReader.Load(fileStream);
                tbxAutor.Text             = wczytanaNotatka.Autor;
                tbxTytul.Text             = wczytanaNotatka.Tytul;
                cbxKategoria.SelectedItem = wczytanaNotatka.Kategoria;
                Notatka.PrzepiszTekst(wczytanaNotatka.Tekst, tekstKopia);

                fileStream.Close();
            }
        }
        public override bool CzyPasuje(INotatka notatka)
        {
            string tresc = new TextRange(notatka.Tekst.ContentStart, notatka.Tekst.ContentEnd).Text;

            if (string.IsNullOrEmpty(tresc))
            {
                return(false);
            }
            string[] tab = SlowaKluczowe.Split(' ');
            tresc = tresc.ToLower();

            foreach (string s in tab)
            {
                if (!tresc.Contains(s))
                {
                    return(false);
                }
            }

            return(filtr.CzyPasuje(notatka));
        }
示例#17
0
        }                                                             // Flyweight - stan wewnętrzny

        public int PozycjaNotatki(INotatka notatka, NotatkiData data) // Flyweight - stan zewnętrzny
        {
            if (notatka.Kategoria.Nazwa != this.Nazwa)
            {
                return(-1);
            }

            int licznik = 0;

            for (int i = 0; i < data.Notatki.Count; i++)
            {
                if (data.Notatki[i].Kategoria.Nazwa == this.Nazwa)
                {
                    licznik++;
                    if (data.Notatki[i] == notatka)
                    {
                        return(licznik);
                    }
                }
            }
            return(-1);
        }
示例#18
0
 public bool CzyPasuje(INotatka notatka)
 {
     return(true);
 }
 public override bool CzyPasuje(INotatka notatka)
 {
     if (notatka.DataModyfikacji < DataModyfikacjiOd)
         return false;
     return filtr.CzyPasuje(notatka);
 }
 public virtual bool CzyPasuje(INotatka notatka)
 {
     return(filtr.CzyPasuje(notatka));
 }