示例#1
0
        //------------------------------------------------------------------------
        public bool CopyTo(SymInst sym)
        {
            if (!Local)
            {
                if (ParentSym == sym)
                {
                    return(false);
                }
            }
            string upperName = this.Name.ToUpper();

            for (int i = 0; i < sym.Projects.Count; i++)
            {
                if (sym.Projects[i].Name.ToUpper() == upperName)
                {
                    MessageBox.Show("A Project Named '" + this.Name + "' Already Exists Here", "PwrIDE - Copy Project", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
            }
            Project copyOf = CreateProject(this.Name, sym);

            for (int i = 0; i < this.Files.Count; i++)
            {
                try
                {
                    ProjectFile curr = copyOf.FileCreate(this.Files[i].Name, this.Files[i].Type, this.Files[i].TypeConvert());
                    curr.Write(this.Files[i].Read());
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error Copying File '" + this.Files[i].Name + "' from Project '" + this.Name + "'\nError: " + ex.Message, "PwrIDE - Copy Project", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            try
            {
                sym.ProjectsSave();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Saving Projects Listing for Sym '" + sym.SymDir + "'\nError: " + ex.Message, "PwrIDE - Copy Project", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
            return(true);
        }
示例#2
0
        //========================================================================
        private void btnOkay_Click(object sender, EventArgs e)
        {
            //first load existing projects
            //(this was a bug, where Importing to a not-previously-connected Sym would just overwrite the existing projects file)
            inst.ProjectsLoad();

            for (int i = 0; i < lstProjects.Items.Count; i++)
            {
                if (lstProjects.Items[i].Checked)
                {
                    inst.ProjectAdd(prjs[i]);
                }
            }
            try
            {
                inst.ProjectsSave();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Re-Saving Projects File After Import\nError: " + ex.Message, "PwrIDE", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            Util.MainForm.Explorer.ProjectsImported(inst);
            DialogResult = DialogResult.OK;
        }