Пример #1
0
 /// <summary>
 /// Metoda eventu obsługująca otwieranie folderów
 /// </summary>
 /// <param name="discElement">Element, który zostanie otwary</param>
 /// <param name="nullificate">Czy drzewo dla którego rozpatrujemy zmiane lokalizacji jest prawe</param>
 private void DiscElementVievDirectoryOpened(DiscElement discElement, bool isRightDisplay)
 {
     if (!isRightDisplay)
     {
         if (discElement.Path == textBox_directoryLeft.Text)
         {
             textBox_directoryLeft.Text = Directory.GetParent(discElement.Path).ToString();
         }
         else
         {
             textBox_directoryLeft.Text = discElement.Path;
         }
     }
     else
     {
         if (discElement.Path == textBox_directoryRight.Text)
         {
             textBox_directoryRight.Text = Directory.GetParent(discElement.Path).ToString();
         }
         else
         {
             textBox_directoryRight.Text = discElement.Path;
         }
     }
     ResetTree();
 }
Пример #2
0
 public DiscElementView(DiscElement discElement)
 {
     InitializeComponent();
     name.Text         = discElement.Name;
     creationTime.Text = "" + discElement.CreationTime;
     this.discElement  = discElement;
 }
Пример #3
0
        private void copy_Click(object sender, RoutedEventArgs e)
        {
            if (sideRight.SelectedElement != null)
            {
                selectedSite = SelectedSide.right;
            }
            else
            {
                selectedSite = SelectedSide.left;
            }

            DiscElement presentElement = selectedSite == SelectedSide.left ? sideLeft.SelectedElement : sideRight.SelectedElement;
            string      dirName        = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.Path : sideRight.SelectedElement.Path;
            string      fileName       = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.getName() : sideRight.SelectedElement.getName();
            string      sourcePath     = selectedSite == SelectedSide.left ? sideLeft.mainPath.Text : sideRight.mainPath.Text;
            string      targetPath     = selectedSite == SelectedSide.left ? sideRight.mainPath.Text : sideLeft.mainPath.Text;
            string      sourceFile     = System.IO.Path.Combine(sourcePath, fileName);
            string      destFile       = System.IO.Path.Combine(targetPath, fileName);

            if (presentElement.isFile())
            {
                if (!System.IO.Directory.Exists(targetPath))
                {
                    System.IO.Directory.CreateDirectory(targetPath);
                }
                File.Copy(sourceFile, destFile, true);
                onShowAfterDeleted();
            }

            else
            {
                DirectoryCopy(dirName, destFile, true);
                onShowAfterDeleted();
            }
        }
Пример #4
0
        private void Move_Click(object sender, RoutedEventArgs e)
        {
            if (sideRight.SelectedElement != null)
            {
                selectedSite = SelectedSide.right;
            }
            else
            {
                selectedSite = SelectedSide.left;
            }

            DiscElement presentElement = selectedSite == SelectedSide.left ? sideLeft.SelectedElement : sideRight.SelectedElement;
            string      dirName        = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.Path : sideRight.SelectedElement.Path;
            string      fileName       = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.getName() : sideRight.SelectedElement.getName();
            string      sourcePath     = selectedSite == SelectedSide.left ? sideLeft.mainPath.Text : sideRight.mainPath.Text;
            string      targetPath     = selectedSite == SelectedSide.left ? sideRight.mainPath.Text : sideLeft.mainPath.Text;
            string      sourceFile     = System.IO.Path.Combine(sourcePath, fileName);
            string      destFile       = System.IO.Path.Combine(targetPath, fileName);

            if (sourcePath == targetPath)
            {
                return;
            }

            if (presentElement.isFile())
            {
                if (!Directory.Exists(targetPath))
                {
                    Directory.CreateDirectory(targetPath);
                }

                var paths = new PathToMove(sourceFile, destFile, presentElement.isFile());
                var bW    = new BackgroundWorker();
                bW.DoWork             += asyncMove;
                bW.RunWorkerCompleted += backgroundWorker_RunWorkerCompleted;
                bW.RunWorkerAsync(paths);
            }

            else
            {
                if (!Directory.Exists(destFile))
                {
                    var paths = new PathToMove(dirName, destFile, presentElement.isFile());
                    var bW    = new BackgroundWorker();
                    bW.DoWork             += asyncMove;
                    bW.RunWorkerCompleted += backgroundWorker_RunWorkerCompleted;
                    bW.RunWorkerAsync(paths);
                }
                else
                {
                    MessageBox.Show("Папка с указанным именем уже существует");
                    return;
                }
            }
        }
Пример #5
0
 /// <summary>
 /// Metoda eventu obsługująca zaznaczanie i odznaczanie elementów
 /// </summary>
 /// <param name="discElement">Element względem którego rozpatrywana jest zmiana zaznaczenia</param>
 /// <param name="statusChecked">Aktualny stan zaznaczenia obiektu</param>
 /// <param name="isRightDisplay">Czy drzewo dla którego rozpatrujemy zmiane jest prawe</param>
 private void DiscElementVievFileOperand(DiscElement discElement, bool statusChecked, bool isRightDisplay)
 {
     if (isRightDisplay)
     {
         RightListSelectedOperator(discElement, statusChecked);
     }
     else
     {
         LeftListSelectedOperator(discElement, statusChecked);
     }
 }
Пример #6
0
 /// <summary>
 /// Rozwiązuje problem odznaczania i zaznaczania elementów znajdujących się na lewym drzewie
 /// </summary>
 /// <param name="element">Element względem którego rozpatrywana jest zmiana zaznaczenia</param>
 /// <param name="statusChecked">Aktualny stan zaznaczenia obiektu</param>
 private void LeftListSelectedOperator(DiscElement element, bool statusChecked)
 {
     if (statusChecked)
     {
         LeftListSelected.Remove(element);
     }
     else
     {
         LeftListSelected.Add(element);
     }
 }
Пример #7
0
        /// <summary>
        /// Metoda eventu obsługująca otwieranie plików
        /// </summary>
        /// <param name="discElement">Element, który zostanie otwary</param>
        /// <param name="nullificate">Parametr zbędny</param>
        private void DiscElementVievFileOpened(DiscElement discElement, bool nullificate)
        {
            Process process = new Process();

            process.StartInfo.FileName = discElement.Path;
            try {
                process.Start();
            }
            catch (Exception unableToRun) {
                MessageBox.Show(unableToRun.Message);
            }
        }
Пример #8
0
 // Use this for initialization
 void Start()
 {
     if (!DiscRef)
     {
         DiscRef = Disc.Instance.GetComponent <Rigidbody2D>();
         if (DiscElements == null || DiscElements.Length == 0)
         {
             DiscElements    = new DiscElement[1];
             DiscElements[0] = new DiscElement {
                 RigidBody2D = DiscRef
             };
         }
     }
 }
Пример #9
0
        /// <summary>
        /// Modelowanie User Control. If sprawdza czy discElement jest Folderem i
        /// w zależności od tego przyporządkowuje ścieżkę do obrazka
        /// </summary>
        /// <param name="discElement">pobieramy obiekt discElement typu DiscElement</param>
        public ElementsViews(DiscElement discElement)
        {
            this.discElement = discElement;
            InitializeComponent();

            name.Content         = discElement.Name;
            creationTime.Content = discElement.CreationTime;
            if (discElement is MyDirectory)
            {
                image.Source = new BitmapImage(new Uri(@"\MyData\Images\directory.bmp", UriKind.RelativeOrAbsolute));
            }
            else
            {
                image.Source = new BitmapImage(new Uri(@"\MyData\Images\file.bmp", UriKind.RelativeOrAbsolute));
            }
        }
Пример #10
0
        /// <summary>
        /// Tworzy element drzewa, określający element dysku
        /// </summary>
        /// <param name="element">Scieżka do elementu</param>
        /// <param name="display">Określenie dla którego drzewa powinien zostać dodany element</param>
        /// <returns>Element TreeVievItem</returns>
        private TreeViewItem createNode(DiscElement element, TreeView display)
        {
            UCDiscElement discElementViev = new UCDiscElement(element, display == treeView_directoryRight ? true : false);

            discElementViev.fileDeleted += DiscElementVievFileDeleted;
            discElementViev.fileChecked += DiscElementVievFileOperand;
            if (element is MyFile)
            {
                discElementViev.fileOpened += DiscElementVievFileOpened;
            }
            else if (element is MyDirectory)
            {
                discElementViev.fileOpened += DiscElementVievDirectoryOpened;
            }
            return(new TreeViewItem()
            {
                Header = discElementViev
            });
        }
Пример #11
0
        private void rename_Click(object sender, RoutedEventArgs e)
        {
            if (sideRight.SelectedElement != null)
            {
                selectedSite = SelectedSide.right;
            }
            else
            {
                selectedSite = SelectedSide.left;
            }
            DiscElement presentElement = selectedSite == SelectedSide.left ? sideLeft.SelectedElement : sideRight.SelectedElement;
            string      path           = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.Path : sideRight.SelectedElement.Path;
            string      sourcePath     = selectedSite == SelectedSide.left ? sideLeft.mainPath.Text : sideRight.mainPath.Text;

            string fileName = selectedSite == SelectedSide.left ? sideLeft.SelectedElement.getName() : sideRight.SelectedElement.getName();
            var    dialog   = new RenamePanel(path, sourcePath, presentElement.isFile(), fileName);

            dialog.Show();
            dialog.RenameObject += RefreshAllList;
        }
Пример #12
0
        /// <summary>
        /// Metoda kopiująca wszystkie zaznaczone elementy z prawej listy na lewą
        /// </summary>
        /// <returns></returns>
        private void copyRight_Click(object sender, RoutedEventArgs e)
        {
            foreach (DiscElementView discElementView in rightList.Children)
            {
                DiscElement discElement = discElementView.DiscElement;

                if (discElementView.checkBox.IsChecked == true)
                {
                    try
                    {
                        File.Copy(discElement.Path, this.currentDirectoryLeft.Path + "/" + discElement.Name);
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(exception.Message);
                    }
                }
            }
            RefreshLeftList(this.currentDirectoryLeft.Path);
        }
Пример #13
0
 private void DeleteDiscElementRight(DiscElement discElement)
 {
     try
     {
         if (discElement is MyFile)
         {
             File.Delete(discElement.Path);
             RefreshRightList(currentDirectoryRight.Path);
         }
         else if (discElement is MyDirectory)
         {
             Directory.Delete(discElement.Path, true);
             RefreshRightList(currentDirectoryRight.Path);
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
 }
Пример #14
0
 /// <summary>
 /// Konstruktor User Controlera
 /// Przypisuje odpowiednią ikone i odpowiednio formatuje guziki zależnie od typu elementu
 /// </summary>
 /// <param name="newUCElement">Element do którego jest tworzony User Controler</param>
 /// <param name="display">Zienna pytającza czy User Controler dotyczy prawego drzewa</param>
 public UCDiscElement(DiscElement newUCElement, bool display)
 {
     this.isRightDispaly = display;
     this.UCElement      = newUCElement;
     this.ifIsChecked    = false;
     InitializeComponent();
     textBlock_Name.Text         = UCElement.Name;
     textBlock_CreationTime.Text = UCElement.CreationTime.ToString();
     if (UCElement is MyDirectory)
     {
         image_Icon.Source = MyDirectory.icon.Source;
     }
     else if (UCElement is MyFile)
     {
         image_Icon.Source = MyFile.icon.Source;
     }
     else
     {
         throw new NotImplementedException();
     }
     HidingPrewievButton();
 }
Пример #15
0
    void Refresh(Stack <DiscType> _allDisc)
    {
        if (_allDisc.Count == 0)
        {
            discIconHolder.transform.parent.gameObject.SetActive(false);
            return;
        }
        else
        {
            discIconHolder.transform.parent.gameObject.SetActive(true);
        }

        foreach (DiscElement discElement in AllDiscElement)
        {
            discElement.transform.parent.gameObject.SetActive(false);
        }

        int i = 0;

        foreach (DiscType discType in _allDisc)
        {
            DiscScript peekedDisc = DiscManager.Instance.PeekDiscFromPool(discType);

            if (i >= AllDiscElement.Count)
            {
                break;
            }

            DiscElement de = AllDiscElement[i];

            de.SetIcon((int)discType, peekedDisc.GetCurrentDamage);

            AllDiscElement[i].transform.parent.gameObject.SetActive(true);
            i++;
        }
    }
 private void createFileListEventHandler(DiscElement discElement)
 {
     pathForDiscElements.Text = discElement.Path;
     createFileList(pathForDiscElements.Text);
 }
Пример #17
0
 private void OpenRightDirectory(DiscElement discElement)
 {
     this.backStackRight.Push(currentDirectoryRight.Path);
     RefreshRightList(discElement.Path);
 }
Пример #18
0
 /// <summary>
 /// Metoda przypisana do eveny usuwania i resetuje drzewo po usunięciach
 /// </summary>
 /// <param name="discElement">Usunięty element</param>
 private void DiscElementVievFileDeleted(DiscElement discElement)
 {
     ResetTree();
 }
Пример #19
0
 private void OpenLeftDirectory(DiscElement discElement)
 {
     this.backStackLeft.Push(currentDirectoryLeft.Path);
     RefreshLeftList(discElement.Path);
 }