Example #1
0
    private void _bAddClass_Click(object sender, EventArgs e)
    {
        FileNode prFolder1 = null;

        if (_f.IsScript && _f.FindProject(out prFolder1, out var prMain1, ofAnyScript: true) && _f == prMain1)
        {
            prFolder1 = null;
        }

        bool _Include(FileNode f)
        {
            if (!f.IsClass || f == _f)
            {
                return(false);
            }
            if (f.FindProject(out var prFolder, out var prMain))              //exclude class files that are in projects
            {
                if (prFolder != prFolder1)
                {
                    return(false);                                      //but if _f is a non-project script in a project folder, include local classes
                }
            }
            return(f.GetClassFileRole() == FileNode.EClassFileRole.Class);
        }

        _AddFromWorkspace(f => _Include(f) ? f : null, _meta.c, sender);
    }