Example #1
0
 public SaveForm(HaRepackerMainPanel panel, WzNode wzNode)
 {
     InitializeComponent();
     this.wzNode = wzNode;
     this.wzf    = (WzFile)wzNode.Tag;
     this.panel  = panel;
 }
        protected void removePaintFromNodes()
        {
            if (m_coll.Count == 0)
            {
                return;
            }

            TreeNode n0 = (TreeNode)m_coll[0];

            /*Color back = n0.TreeView.BackColor;
            *           Color fore = n0.TreeView.ForeColor;*/
            Color back = BackColor;
            Color fore = ForeColor;

            foreach (TreeNode n in m_coll)
            {
                n.BackColor = back;

                WzNode node = (WzNode)n;
                if (node.IsWzObjectAddedManually)
                {
                    n.ForeColor = WzNode.NewObjectForeColor;
                }
                else
                {
                    n.ForeColor = fore;
                }
            }
        }
Example #3
0
        private void okButton_Click(object sender, EventArgs e)
        {
            string name = nameBox.Text;

            if (regBox.Checked)
            {
                WzFile file = new WzFile((short)versionBox.Value, (WzMapleVersion)encryptionBox.SelectedIndex);
                file.Header.Copyright = copyrightBox.Text;
                file.Header.RecalculateFileStart();
                file.Name             = name + ".wz";
                file.WzDirectory.Name = name + ".wz";
                panel.DataTree.Nodes.Add(new WzNode(file));
            }
            else if (listBox.Checked == true)
            {
                new ListEditor(null, (WzMapleVersion)encryptionBox.SelectedIndex).Show();
            }
            else if (radioButton_hotfix.Checked == true)
            {
                WzImage img = new WzImage(name + ".wz");
                img.MarkWzImageAsParsed();

                WzNode node = new WzNode(img);
                panel.DataTree.Nodes.Add(node);
            }
            Close();
        }
Example #4
0
        private void searchResultsBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListBox searchResultsBox = (ListBox)sender;

            try
            {
                if (searchResultsBox.SelectedItem != null)
                {
                    string[]           splitPath  = ((string)searchResultsBox.SelectedItem).Split(@"\".ToCharArray());
                    WzNode             node       = null;
                    TreeNodeCollection collection = DataTree.Nodes;
                    for (int i = 0; i < splitPath.Length; i++)
                    {
                        node = GetNodeByName(collection, splitPath[i]);
                        if (node.Tag is WzImage && !((WzImage)node.Tag).Parsed && i != splitPath.Length - 1)
                        {
                            ((WzImage)node.Tag).ParseImage();
                            node.Reparse();
                        }
                        collection = node.Nodes;
                    }
                    if (node != null)
                    {
                        DataTree.SelectedNode = node;
                        node.EnsureVisible();
                        DataTree.RefreshSelectedNodes();
                    }
                }
            }
            catch
            {
            }
        }
Example #5
0
 /// <summary>
 /// Parse the data tree selected item on double clicking, or copy pasting into it.
 /// </summary>
 /// <param name="selectedNode"></param>
 private static void ParseOnDataTreeSelectedItem(WzNode selectedNode)
 {
     if (!((WzImage)selectedNode.Tag).Parsed)
     {
         ((WzImage)selectedNode.Tag).ParseImage();
     }
     selectedNode.Reparse();
     selectedNode.Expand();
 }
Example #6
0
 public SaveForm(HaRepackerMainPanel panel, WzNode wzNode)
 {
     InitializeComponent();
     encryptionBox.Items.Add(HaRepacker.Properties.Resources.EncTypeGMS);
     encryptionBox.Items.Add(HaRepacker.Properties.Resources.EncTypeMSEA);
     encryptionBox.Items.Add(HaRepacker.Properties.Resources.EncTypeNone);
     this.wzNode = wzNode;
     this.wzf    = (WzFile)wzNode.Tag;
     this.panel  = panel;
 }
Example #7
0
 private void btnClose_Click(object sender, EventArgs e)
 {
     findStrip.Visible = false;
     searchidx         = 0;
     if (coloredNode != null)
     {
         coloredNode.BackColor = Color.White;
         coloredNode           = null;
     }
 }
Example #8
0
 private void btnRestart_Click(object sender, EventArgs e)
 {
     searchidx = 0;
     if (coloredNode != null)
     {
         coloredNode.BackColor = Color.White;
         coloredNode           = null;
     }
     findBox.Focus();
 }
Example #9
0
        private void WzImporterThread(object param)
        {
            ChangeApplicationState(false);
            object[] arr = (object[])param;
            ProgressingWzSerializer deserializer = (ProgressingWzSerializer)arr[0];

            string[] files  = (string[])arr[1];
            WzNode   parent = (WzNode)arr[2];

            byte[]   iv        = (byte[])arr[3];
            WzObject parentObj = (WzObject)parent.Tag;

            if (parentObj is WzFile)
            {
                parentObj = ((WzFile)parentObj).WzDirectory;
            }
            UpdateProgressBar(MainPanel.mainProgressBar, files.Length, true, true);
            foreach (string file in files)
            {
                List <WzObject> objs;
                try
                {
                    if (deserializer is WzXmlDeserializer)
                    {
                        objs = ((WzXmlDeserializer)deserializer).ParseXML(file);
                    }
                    else
                    {
                        objs = new List <WzObject> {
                            ((WzImgDeserializer)deserializer).WzImageFromIMGFile(file, iv, Path.GetFileName(file))
                        }
                    };
                }
                catch (ThreadAbortException)
                {
                    return;
                }
                catch (Exception e)
                {
                    Warning.Error(string.Format(HaRepacker.Properties.Resources.MainInvalidFileError, file, e.Message));
                    UpdateProgressBar(MainPanel.mainProgressBar, 1, false, false);
                    continue;
                }
                foreach (WzObject obj in objs)
                {
                    if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is WzImageProperty && parentObj is IPropertyContainer))
                    {
                        WzNode node = new WzNode(obj);
                        InsertWzNodeThreadSafe(node, parent);
                    }
                }
                UpdateProgressBar(MainPanel.mainProgressBar, 1, false, false);
            }
            threadDone = true;
        }
Example #10
0
        private void btnFindAll_Click(object sender, EventArgs e)
        {
            if (coloredNode != null)
            {
                coloredNode.BackColor = Color.White;
                coloredNode           = null;
            }
            if (findBox.Text == "" || DataTree.Nodes.Count == 0)
            {
                return;
            }
            if (DataTree.SelectedNode == null)
            {
                DataTree.SelectedNode = DataTree.Nodes[0];
            }
            finished          = false;
            listSearchResults = true;
            searchResultsList.Clear();
            //searchResultsBox.Items.Clear();
            searchValues  = UserSettings.SearchStringValues;
            currentidx    = 0;
            searchText    = findBox.Text;
            extractImages = UserSettings.ParseImagesInSearch;
            foreach (WzNode node in DataTree.SelectedNodes)
            {
                if (node.Tag is WzImageProperty)
                {
                    continue;
                }
                else if (node.Tag is IPropertyContainer)
                {
                    SearchWzProperties((IPropertyContainer)node.Tag);
                }
                else
                {
                    SearchTV(node);
                }
            }
            DockableSearchResult dsr = new DockableSearchResult();

            dsr.SelectedIndexChanged += new EventHandler(searchResultsBox_SelectedIndexChanged);
            foreach (string result in searchResultsList)
            {
                dsr.searchResultsBox.Items.Add(result);
            }
            dsr.Show(MainDockPanel);
            dsr.DockState = DockState.DockBottom;
//            searchResults.AutoHide = false;
//            searchResults.Visible = true;
//            searchResultsContainer.Visible = true;
//            dockSite8.Visible = true;
//            panelDockContainer1.Visible = true;
            findBox.Focus();
        }
Example #11
0
 private void InsertWzNodeThreadSafe(WzNode node, WzNode parent)
 {
     if (MainPanel.InvokeRequired)
     {
         MainPanel.Invoke(new InsertWzNode(InsertWzNodeCallback), node, parent);
     }
     else
     {
         InsertWzNodeCallback(node, parent);
     }
 }
Example #12
0
 private void SearchTV(WzNode node)
 {
     foreach (WzNode subnode in node.Nodes)
     {
         if (0 <= subnode.Text.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase))
         {
             if (listSearchResults)
             {
                 searchResultsList.Add(subnode.FullPath.Replace(";", @"\"));
             }
             else if (currentidx == searchidx)
             {
                 //if (subnode.Style == null) subnode.Style = new ElementStyle();
                 subnode.BackColor = Color.Yellow;
                 coloredNode       = subnode;
                 subnode.EnsureVisible();
                 //DataTree.Focus();
                 finished = true;
                 searchidx++;
                 return;
             }
             else
             {
                 currentidx++;
             }
         }
         if (subnode.Tag is WzImage)
         {
             WzImage img = (WzImage)subnode.Tag;
             if (img.Parsed)
             {
                 SearchWzProperties(img);
             }
             else if (extractImages)
             {
                 img.ParseImage();
                 SearchWzProperties(img);
             }
             if (finished)
             {
                 return;
             }
         }
         else
         {
             SearchTV(subnode);
         }
     }
 }
Example #13
0
        public void DoPaste()
        {
            if (!Warning.Warn(Properties.Resources.MainConfirmPaste))
            {
                return;
            }

            yesToAll = false;
            noToAll  = false;
            WzNode   parent    = (WzNode)DataTree.SelectedNode;
            WzObject parentObj = (WzObject)parent.Tag;

            if (parent != null && parent.Tag is WzImage && parent.Nodes.Count == 0)
            {
                ParseOnDataTreeSelectedItem(parent);
            }

            if (parentObj is WzFile)
            {
                parentObj = ((WzFile)parentObj).WzDirectory;
            }

            foreach (WzObject obj in clipboard)
            {
                if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is WzImageProperty && parentObj is IPropertyContainer))
                {
                    WzObject clone = CloneWzObject(obj);
                    if (clone == null)
                    {
                        continue;
                    }
                    WzNode node  = new WzNode(clone);
                    WzNode child = WzNode.GetChildNode(parent, node.Text);
                    if (child != null)
                    {
                        if (ShowReplaceDialog(node.Text))
                        {
                            child.Delete();
                        }
                        else
                        {
                            return;
                        }
                    }
                    parent.AddNode(node);
                }
            }
        }
Example #14
0
 private void btnFindNext_Click(object sender, EventArgs e)
 {
     if (coloredNode != null)
     {
         coloredNode.BackColor = Color.White;
         coloredNode           = null;
     }
     if (findBox.Text == "" || DataTree.Nodes.Count == 0)
     {
         return;
     }
     if (DataTree.SelectedNode == null)
     {
         DataTree.SelectedNode = DataTree.Nodes[0];
     }
     finished          = false;
     listSearchResults = false;
     searchResultsList.Clear();
     searchValues  = UserSettings.SearchStringValues;
     currentidx    = 0;
     searchText    = findBox.Text;
     extractImages = UserSettings.ParseImagesInSearch;
     foreach (WzNode node in DataTree.SelectedNodes)
     {
         if (node.Tag is IPropertyContainer)
         {
             SearchWzProperties((IPropertyContainer)node.Tag);
         }
         else if (node.Tag is WzImageProperty)
         {
             continue;
         }
         else
         {
             SearchTV(node);
         }
         if (finished)
         {
             break;
         }
     }
     if (!finished)
     {
         MessageBox.Show(Properties.Resources.MainTreeEnd); searchidx = 0; DataTree.SelectedNode.EnsureVisible();
     }
     findBox.Focus();
 }
Example #15
0
        private void InsertWzNodeCallback(WzNode node, WzNode parent)
        {
            WzNode child = WzNode.GetChildNode(parent, node.Text);

            if (child != null)
            {
                if (ShowReplaceDialog(node.Text))
                {
                    child.Delete();
                }
                else
                {
                    return;
                }
            }
            parent.AddNode(node);
        }
Example #16
0
 private void SearchWzProperties(IPropertyContainer parent)
 {
     foreach (WzImageProperty prop in parent.WzProperties)
     {
         if ((0 <= prop.Name.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) || (searchValues && prop is WzStringProperty && (0 <= ((WzStringProperty)prop).Value.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase))))
         {
             if (listSearchResults)
             {
                 searchResultsList.Add(prop.FullPath.Replace(";", @"\"));
             }
             else if (currentidx == searchidx)
             {
                 if (prop.HRTag == null)
                 {
                     ((WzNode)prop.ParentImage.HRTag).Reparse();
                 }
                 WzNode node = (WzNode)prop.HRTag;
                 //if (node.Style == null) node.Style = new ElementStyle();
                 node.BackColor = Color.Yellow;
                 coloredNode    = node;
                 node.EnsureVisible();
                 //DataTree.Focus();
                 finished = true;
                 searchidx++;
                 return;
             }
             else
             {
                 currentidx++;
             }
         }
         if (prop is IPropertyContainer && prop.WzProperties.Count != 0)
         {
             SearchWzProperties((IPropertyContainer)prop);
             if (finished)
             {
                 return;
             }
         }
     }
 }
Example #17
0
        public SaveForm(HaRepackerMainPanel panel, WzNode wzNode)
        {
            InitializeComponent();

            MainForm.AddWzEncryptionTypesToComboBox(encryptionBox);

            this.wzNode = wzNode;
            if (wzNode.Tag is WzImage)
            {
                this.wzImg           = (WzImage)wzNode.Tag;
                this.IsRegularWzFile = false;

                versionBox.Enabled = false;
            }
            else
            {
                this.wzf             = (WzFile)wzNode.Tag;
                this.IsRegularWzFile = true;
            }
            this.panel = panel;
        }
Example #18
0
 private void nameBox_ButtonClicked(object sender, EventArgs e)
 {
     if (DataTree.SelectedNode == null)
     {
         return;
     }
     if (DataTree.SelectedNode.Tag is WzFile)
     {
         ((WzFile)DataTree.SelectedNode.Tag).Header.Copyright = nameBox.Text;
         ((WzFile)DataTree.SelectedNode.Tag).Header.RecalculateFileStart();
     }
     else if (WzNode.CanNodeBeInserted((WzNode)DataTree.SelectedNode.Parent, nameBox.Text))
     {
         string text = nameBox.Text;
         ((WzNode)DataTree.SelectedNode).ChangeName(text);
         nameBox.Text          = text;
         nameBox.ButtonEnabled = false;
     }
     else
     {
         Warning.Error("A node with that name already exists. Please choose a different name");
     }
 }
Example #19
0
 private void nameBox_ButtonClicked(object sender, EventArgs e)
 {
     if (DataTree.SelectedNode == null)
     {
         return;
     }
     if (DataTree.SelectedNode.Tag is WzFile)
     {
         ((WzFile)DataTree.SelectedNode.Tag).Header.Copyright = nameBox.Text;
         ((WzFile)DataTree.SelectedNode.Tag).Header.RecalculateFileStart();
     }
     else if (WzNode.CanNodeBeInserted((WzNode)DataTree.SelectedNode.Parent, nameBox.Text))
     {
         string text = nameBox.Text;
         ((WzNode)DataTree.SelectedNode).ChangeName(text);
         nameBox.Text          = text;
         nameBox.ButtonEnabled = false;
     }
     else
     {
         Warning.Error(Properties.Resources.MainNodeExists);
     }
 }
Example #20
0
        public void DoPaste()
        {
            if (!Warning.Warn("Paste WZ nodes from clipboard? (warning - can take a lot of time if many nodes are pasted)"))
            {
                return;
            }
            yesToAll = false;
            noToAll  = false;
            WzNode    parent    = (WzNode)DataTree.SelectedNode;
            IWzObject parentObj = (IWzObject)parent.Tag;

            if (parentObj is WzFile)
            {
                parentObj = ((WzFile)parentObj).WzDirectory;
            }

            foreach (IWzObject obj in clipboard)
            {
                if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is IWzImageProperty && parentObj is IPropertyContainer))
                {
                    WzNode node  = new WzNode(obj);
                    WzNode child = WzNode.GetChildNode(parent, node.Text);
                    if (child != null)
                    {
                        if (ShowReplaceDialog(node.Text))
                        {
                            child.Delete();
                        }
                        else
                        {
                            return;
                        }
                    }
                    parent.AddNode(node);
                }
            }
        }
Example #21
0
        private void SearchTV(WzNode node)
        {
            foreach (WzNode subnode in node.Nodes)
            {
                if (0 <= subnode.Text.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase))
                {
                    if (listSearchResults)
                    {
                        searchResultsList.Add(subnode.FullPath.Replace(";", @"\"));
                    }
                    else if (currentidx == searchidx)
                    {
                        //if (subnode.Style == null) subnode.Style = new ElementStyle();
                        subnode.BackColor = Color.Yellow;
                        coloredNode       = subnode;
                        subnode.EnsureVisible();
                        //DataTree.Focus();
                        finished = true;
                        searchidx++;
                        return;
                    }
                    else
                    {
                        currentidx++;
                    }
                }
                if (subnode.Tag is WzImage)
                {
                    WzImage img = (WzImage)subnode.Tag;
                    if (img.Parsed)
                    {
                        SearchWzProperties(img);
                    }
                    else if (extractImages)
                    {
                        img.ParseImage();
                        SearchWzProperties(img);
                    }
                    if (finished)
                    {
                        return;
                    }
                }
                else
                {
                    SearchTV(subnode);
                }
            }

            /*foreach (WzDirectory subdir in dir.WzDirectories)
             * {
             *  if (subdir.Name.Contains(searchText))
             *  {
             *      if (currentidx == searchidx)
             *      {
             *          WzNode node = (WzNode)subdir.HRTag;
             *          DataTree.SelectedNode = node;
             *          node.EnsureVisible();
             *          DataTree.Focus();
             *          finished = true;
             *          searchidx++;
             *          return;
             *      }
             *      else if (listSearchResults)
             *          searchResultsList.Add(subdir.FullPath);
             *      else
             *          currentidx++;
             *  }
             *  SearchTV(subdir, currentidx, searchText, extractImages);
             *  if (finished)
             *      return;
             * }
             * foreach (WzImage img in dir.WzImages)
             * {
             *  if (img.Name.Contains(searchText))
             *  {
             *      if (currentidx == searchidx)
             *      {
             *          WzNode node = (WzNode)img.HRTag;
             *          DataTree.SelectedNode = node;
             *          node.EnsureVisible();
             *          DataTree.Focus();
             *          finished = true;
             *          searchidx++;
             *          return;
             *      }
             *      else if (listSearchResults)
             *          searchResultsList.Add(img.FullPath);
             *      else
             *          currentidx++;
             *  }
             *  if (img.Parsed)
             *      SearchWzProperties(img, currentidx, searchText);
             *  else if (extractImages)
             *  {
             *      img.ParseImage();
             *      SearchWzProperties(img, currentidx, searchText);
             *  }
             *  if (finished) return;
             * }*/
        }
Example #22
0
        public void DoPaste()
        {
            if (!Warning.Warn("Paste WZ nodes from clipboard? (warning - can take a lot of time if many nodes are pasted)")) return;
            yesToAll = false;
            noToAll = false;
            WzNode parent = (WzNode)DataTree.SelectedNode;
            IWzObject parentObj = (IWzObject)parent.Tag;
            if (parentObj is WzFile) parentObj = ((WzFile)parentObj).WzDirectory;

            foreach (IWzObject obj in clipboard)
            {
                if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is IWzImageProperty && parentObj is IPropertyContainer))
                {
                    WzNode node = new WzNode(obj);
                    WzNode child = WzNode.GetChildNode(parent, node.Text);
                    if (child != null)
                    {
                        if (ShowReplaceDialog(node.Text))
                            child.Delete();
                        else return;
                    }
                    parent.AddNode(node);

                }
            }
        }
Example #23
0
 private void btnClose_Click(object sender, EventArgs e)
 {
     findStrip.Visible = false;
     searchidx = 0;
     if (coloredNode != null)
     {
         coloredNode.BackColor = Color.White;
         coloredNode = null;
     }
 }
Example #24
0
 private void btnFindAll_Click(object sender, EventArgs e)
 {
     if (coloredNode != null)
     {
         coloredNode.BackColor = Color.White;
         coloredNode = null;
     }
     if (findBox.Text == "" || DataTree.Nodes.Count == 0) return;
     if (DataTree.SelectedNode == null) DataTree.SelectedNode = DataTree.Nodes[0];
     finished = false;
     listSearchResults = true;
     searchResultsList.Clear();
     //searchResultsBox.Items.Clear();
     searchValues = UserSettings.SearchStringValues;
     currentidx = 0;
     searchText = findBox.Text;
     extractImages = UserSettings.ParseImagesInSearch;
     foreach (WzNode node in DataTree.SelectedNodes)
     {
         if (node.Tag is WzImageProperty) continue;
         else if (node.Tag is IPropertyContainer)
             SearchWzProperties((IPropertyContainer)node.Tag);
         else SearchTV(node);
     }
     DockableSearchResult dsr = new DockableSearchResult();
     dsr.SelectedIndexChanged += new EventHandler(searchResultsBox_SelectedIndexChanged);
     foreach (string result in searchResultsList)
         dsr.searchResultsBox.Items.Add(result);
     dsr.Show(MainDockPanel);
     dsr.DockState = DockState.DockBottom;
     //            searchResults.AutoHide = false;
     //            searchResults.Visible = true;
     //            searchResultsContainer.Visible = true;
     //            dockSite8.Visible = true;
     //            panelDockContainer1.Visible = true;
     findBox.Focus();
 }
Example #25
0
 private void btnFindNext_Click(object sender, EventArgs e)
 {
     if (coloredNode != null)
     {
         coloredNode.BackColor = Color.White;
         coloredNode = null;
     }
     if (findBox.Text == "" || DataTree.Nodes.Count == 0) return;
     if (DataTree.SelectedNode == null) DataTree.SelectedNode = DataTree.Nodes[0];
     finished = false;
     listSearchResults = false;
     searchResultsList.Clear();
     searchValues = UserSettings.SearchStringValues;
     currentidx = 0;
     searchText = findBox.Text;
     extractImages = UserSettings.ParseImagesInSearch;
     foreach (WzNode node in DataTree.SelectedNodes)
     {
         if (node.Tag is IPropertyContainer)
             SearchWzProperties((IPropertyContainer)node.Tag);
         else if (node.Tag is WzImageProperty) continue;
         else SearchTV(node);
         if (finished) break;
     }
     if (!finished) { MessageBox.Show(Properties.Resources.MainTreeEnd); searchidx = 0; DataTree.SelectedNode.EnsureVisible(); }
     findBox.Focus();
 }
Example #26
0
 private void btnRestart_Click(object sender, EventArgs e)
 {
     searchidx = 0;
     if (coloredNode != null)
     {
         coloredNode.BackColor = Color.White;
         coloredNode = null;
     }
     findBox.Focus();
 }
Example #27
0
 private void SearchTV(WzNode node)
 {
     foreach (WzNode subnode in node.Nodes)
     {
         if (0 <= subnode.Text.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase))
         {
             if (listSearchResults)
                 searchResultsList.Add(subnode.FullPath.Replace(";", @"\"));
             else if (currentidx == searchidx)
             {
                 //if (subnode.Style == null) subnode.Style = new ElementStyle();
                 subnode.BackColor = Color.Yellow;
                 coloredNode = subnode;
                 subnode.EnsureVisible();
                 //DataTree.Focus();
                 finished = true;
                 searchidx++;
                 return;
             }
             else
                 currentidx++;
         }
         if (subnode.Tag is WzImage)
         {
             WzImage img = (WzImage)subnode.Tag;
             if (img.Parsed)
                 SearchWzProperties(img);
             else if (extractImages)
             {
                 img.ParseImage();
                 SearchWzProperties(img);
             }
             if (finished) return;
         }
         else SearchTV(subnode);
     }
 }
Example #28
0
 private void SearchWzProperties(IPropertyContainer parent)
 {
     foreach (WzImageProperty prop in parent.WzProperties)
     {
         if ((0 <= prop.Name.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) || (searchValues && prop is WzStringProperty && (0 <= ((WzStringProperty)prop).Value.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase))))
         {
             if (listSearchResults)
                 searchResultsList.Add(prop.FullPath.Replace(";", @"\"));
             else if (currentidx == searchidx)
             {
                 if (prop.HRTag == null)
                     ((WzNode)prop.ParentImage.HRTag).Reparse();
                 WzNode node = (WzNode)prop.HRTag;
                 //if (node.Style == null) node.Style = new ElementStyle();
                 node.BackColor = Color.Yellow;
                 coloredNode = node;
                 node.EnsureVisible();
                 //DataTree.Focus();
                 finished = true;
                 searchidx++;
                 return;
             }
             else
                 currentidx++;
         }
         if (prop is IPropertyContainer && prop.WzProperties.Count != 0)
         {
             SearchWzProperties((IPropertyContainer)prop);
             if (finished)
                 return;
         }
     }
 }
Example #29
0
        public void DoPaste()
        {
            if (!Warning.Warn(Properties.Resources.MainConfirmPaste)) return;
            yesToAll = false;
            noToAll = false;
            WzNode parent = (WzNode)DataTree.SelectedNode;
            WzObject parentObj = (WzObject)parent.Tag;
            if (parentObj is WzFile) parentObj = ((WzFile)parentObj).WzDirectory;

            foreach (WzObject obj in clipboard)
            {
                if (((obj is WzDirectory || obj is WzImage) && parentObj is WzDirectory) || (obj is WzImageProperty && parentObj is IPropertyContainer))
                {
                    WzObject clone = CloneWzObject(obj);
                    if (clone == null)
                        continue;
                    WzNode node = new WzNode(clone);
                    WzNode child = WzNode.GetChildNode(parent, node.Text);
                    if (child != null)
                    {
                        if (ShowReplaceDialog(node.Text))
                            child.Delete();
                        else return;
                    }
                    parent.AddNode(node);

                }
            }
        }