private void modifyRegion_Click(object sender, EventArgs e)
        {
            Region   r    = null;
            TreeNode node = null;

            FindRegionNode(ref r, ref node, false);

            if (node == null || r == null)
            {
                return;
            }

            ModifyRegion mr = new ModifyRegion();

            mr.Initialize(r.Dupe());
            mr.ShowDialog();

            if (mr.Canceled)
            {
                return;
            }

            ChangesMade = true;

            r.Update(mr.ModdedRegion);
            RebuildRegionList();
        }
        private void newRegion_Click(object sender, EventArgs e)
        {
            ModifyRegion mr = new ModifyRegion();

            mr.ShowDialog();

            if (mr.Canceled)
            {
                return;
            }

            ChangesMade = true;

            Region r = mr.ModdedRegion.Dupe();

            facet.Regions.Add(r);
            RebuildRegionList();
        }
        private void modifyRegion_Click(object sender, EventArgs e)
        {
            Region r = null;
            TreeNode node = null;

            FindRegionNode(ref r, ref node, false);

            if (node == null || r == null)
                return;

            ModifyRegion mr = new ModifyRegion();
            mr.Initialize(r.Dupe());
            mr.ShowDialog();

            if (mr.Canceled)
                return;

            ChangesMade = true;

            r.Update(mr.ModdedRegion);
            RebuildRegionList();
        }
        private void newRegion_Click(object sender, EventArgs e)
        {
            ModifyRegion mr = new ModifyRegion();
            mr.ShowDialog();

            if (mr.Canceled)
                return;

            ChangesMade = true;

            Region r = mr.ModdedRegion.Dupe();

            facet.Regions.Add(r);
            RebuildRegionList();
        }
        private void addSubRegion_Click(object sender, EventArgs e)
        {
            Region r = null;
            TreeNode node = null;

            FindRegionNode(ref r, ref node, false);

            if (node == null || r == null)
                return;

            ModifyRegion mr = new ModifyRegion();
            mr.ShowDialog();

            if (mr.Canceled)
                return;

            ChangesMade = true;

            Region region = mr.ModdedRegion.Dupe();

            r.Regions.Add(region);
            RebuildRegionList();
        }