public ProgramManager(
     IBackgroundWorker backgroundWorker,
     IConfigManager configManager,
     IDockingManager dockingManager,
     IEchoProvider echoProvider,
     IMyGridProgramRuntimeInfo gridProgramRuntimeInfo,
     ILogger logger)
 {
     _backgroundWorker       = backgroundWorker;
     _configManager          = configManager;
     _dockingManager         = dockingManager;
     _echoProvider           = echoProvider;
     _gridProgramRuntimeInfo = gridProgramRuntimeInfo;
     _logger = logger;
 }
        ///<summary>
        /// Default constructor for FerdaArchive class. Initializes all menu controls
        /// and adds them to the menu.
        ///</summary>
        public FerdaMenu(
            IDockingManager dockManager, ILocalizationManager lockManager,
            ProjectManager.ProjectManager pm, IControlsManager contMan,
            IIconProvider provider)
            : base()
        {
            //setting the iconProvider
            iconProvider = provider;

            //filling the private fields
            dockingManager = dockManager;
            localizationManager = lockManager;
            ResManager = localizationManager.ResManager;
            projectManager = pm;
            controlsManager = contMan;

            //adding the main group of the menu
            SetupMainMenuGroup();

            //adding the file group of the menu
            SetupFile();

            //adding the edit group of the menu
            SetupEdit();

            //adding the view group of the menu
            SetupView();

            //SetupDesktop();

            //adding the actions group of the menu, will be done dynamically
            //probably calling some function

            SetupTools();
            SetupHelp();
        }