/// <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(); }
public DiscElementView(DiscElement discElement) { InitializeComponent(); name.Text = discElement.Name; creationTime.Text = "" + discElement.CreationTime; this.discElement = discElement; }
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(); } }
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; } } }
/// <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); } }
/// <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); } }
/// <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); } }
// 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 }; } } }
/// <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)); } }
/// <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 }); }
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; }
/// <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); }
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); } }
/// <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(); }
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); }
private void OpenRightDirectory(DiscElement discElement) { this.backStackRight.Push(currentDirectoryRight.Path); RefreshRightList(discElement.Path); }
/// <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(); }
private void OpenLeftDirectory(DiscElement discElement) { this.backStackLeft.Push(currentDirectoryLeft.Path); RefreshLeftList(discElement.Path); }