void ProcessDialog(object sender, RoutedEventArgs e, System.Windows.Forms.OpenFileDialog ofd, string specificFolder = "")
        {
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                //(EditorUtils.FindVisualChildren<ScrollViewer>(parent).ElementAt(0) as ScrollViewer).Visibility = Visibility.Collapsed;
                DependencyObject parent = EditorUtils.GetParent(sender as TextBlock, 3);

                string destFolder = (Gibbo.Library.SceneManager.GameProject.ProjectPath + "\\Content\\" + specificFolder).Trim();
                string filename   = System.IO.Path.GetFileName(ofd.FileName);

                bool fileOnDirectory = ofd.FileName.StartsWith(Gibbo.Library.SceneManager.GameProject.ProjectPath);

                if (!System.IO.Directory.Exists(destFolder) && !fileOnDirectory)
                {
                    System.IO.Directory.CreateDirectory(destFolder);
                }

                if (!System.IO.File.Exists(destFolder + filename) || fileOnDirectory)
                {
                    this.SetNewPath(ofd.FileName, destFolder, specificFolder, filename, parent);
                }
                else
                {
                    MessageBoxResult overwriteResult = MessageBox.Show("A file with the name " + filename + " already exists. Would you like to overwrite it?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
                    if (overwriteResult == MessageBoxResult.Yes)
                    {
                        this.SetNewPath(ofd.FileName, destFolder, specificFolder, filename, parent, true);
                    }
                }
            }
        }
        void TagItemChanged(object sender, RoutedEventArgs e)
        {
            if ((sender as ComboBox).SelectedItem == null)
            {
                return;
            }

            DependencyObject parent = EditorUtils.GetParent(sender as ComboBox, 3);

            (parent as TextBox).Text = ((sender as ComboBox).SelectedItem as TextBlock).Text;

            EditorUtils.SelectAnotherElement <TextBox>(parent);
        }
        void Layouts_SelectionChanged(object sender, RoutedEventArgs e)
        {
            if ((sender as ComboBox).SelectedItem == null)
            {
                return;
            }

            string name = ((sender as ComboBox).SelectedItem as TextBlock).Text;

            LayoutHelper.LoadLayout(name);

            DependencyObject parent = EditorUtils.GetParent(sender as ComboBox, 3);

            (parent as TextBox).Text = name;
        }
        void addLayoutMouseDown(object sender, RoutedEventArgs e)
        {
            DependencyObject parent = EditorUtils.GetParent(sender as TextBlock, 3);

            string layoutName = (parent as TextBox).Text.Trim();

            if (layoutName.Equals(string.Empty))
            {
                return;
            }

            if (LayoutHelper.CreateNewLayout(layoutName))
            {
                (parent as TextBox).Text = "";
                EditorUtils.SelectAnotherElement <TextBox>(parent);
            }
        }