Beispiel #1
0
        public static void SetDirectory(CWDirectory Dir)
        {
            AssertOpenProject("SetDirectory");
            AssertValidDirectory(Dir, "SetDirectory");

            CProject.Directory actdir = GetDir(Dir);

            actdir.name = Dir.name;

            if (Dir.parent_dir == null)
            {
                actdir.parent = null;
            }
            else
            {
                AssertValidDirectory(Dir.parent_dir, "SetDirectory__SetParentDirectory");

                CProject.Directory newparent = GetDir(Dir.parent_dir);

                if (newparent.GetHashCode() == actdir.GetHashCode())
                {
                    throw new PluginException("Setting the parent directory to itself would create a recursive relationship.", "SetDirectory");
                }

                actdir.parent = newparent;
            }
        }