using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace BuildInDialogs
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            
        }

        private void MessageBox_Click(object sender, RoutedEventArgs e)
        {
            //przygotowanie danych dla okna
            string messageBoxText = "Czy chcesz kontynuwać?";
            string title = "Przerywanie operacji";
            MessageBoxButton button = MessageBoxButton.YesNoCancel;
            MessageBoxImage icon = MessageBoxImage.Warning;
            //wywołanie okna
            MessageBoxResult result = MessageBox.Show(messageBoxText, title, button, icon);
            switch (result)
            {
                case MessageBoxResult.Yes:
                    MessageBox.Show("Wciśnięto tak", "Informacja", MessageBoxButton.OK, MessageBoxImage.Information);
                    break;
                case MessageBoxResult.No:
                    MessageBox.Show("Wciśnięto nie", "Informacja", MessageBoxButton.OK, MessageBoxImage.Information);
                    break;
                case MessageBoxResult.Cancel:
                    MessageBox.Show("Wciśnięto Cancel", "Informacja", MessageBoxButton.OK, MessageBoxImage.Information);
                    break;
            }

        }

        private void OpenFile_Click(object sender, RoutedEventArgs e)
        {
           // przygotowanie okna
            Microsoft.Win32.OpenFileDialog openFileDialog = new Microsoft.Win32.OpenFileDialog();
            //domyślne rozszerzenie stosowane w oknie
            openFileDialog.DefaultExt = ".txt";
            //filtr po rozszerzeniach
            openFileDialog.Filter = "Wszystkie pliki (*.*)|*.*";
            //wywołanie okna
            Nullable<bool> result = openFileDialog.ShowDialog();
            //dalsze przetwarzanie w zależności od rezultatu
            if (result == true)
            {
                string filename = openFileDialog.FileName;
                MessageBox.Show("Wybrano plik: " + filename, "Informacja");
            }

        }

        private void SaveFile_Click(object sender, RoutedEventArgs e)
        {
            // przygotowanie okna
            Microsoft.Win32.SaveFileDialog saveFileDialog = new Microsoft.Win32.SaveFileDialog();
            //domyślne rozszerzenie stosowane w oknie
            saveFileDialog.DefaultExt = ".txt";
            //filtr po rozszerzeniach
            saveFileDialog.Filter = "Wszystkie pliki (*.*)|*.*";
            //wywołanie okna
            Nullable<bool> result = saveFileDialog.ShowDialog();
            //dalsze przetwarzanie w zależności od rezultatu
            if (result == true)
            {
                string filename = saveFileDialog.FileName;
                MessageBox.Show("Plik do zapisania: " + filename, "Informacja");
            }
        }

        private void Print_Click(object sender, RoutedEventArgs e)
        {
            //konfiguracja okna
            System.Windows.Controls.PrintDialog printDialog = new System.Windows.Controls.PrintDialog();
            printDialog.PageRangeSelection = PageRangeSelection.AllPages;
            printDialog.UserPageRangeEnabled = true;
            //wywołanie okna
            Nullable<bool> result = printDialog.ShowDialog();
            // Dalsze przetwarzanie
            if (result == true)
            {
                //...
            }

        }

        private void CustomDialog_Click(object sender, RoutedEventArgs e)
        {
            CustomDialogBox dialog = new CustomDialogBox();
            Nullable<bool> result = dialog.ShowDialog();
            if (result == true)
            {
                MessageBox.Show("W oknie dialogowym wpisano: " + dialog.textBox.Text, "Informacja");
            }
        }
    }
}
