//Opens module edit dialog on the clicked module
        public void EditModule(object parameter)
        {
            Module           module     = (Module)parameter;
            ModuleVM         moduleVM   = new ModuleVM(module);
            ModuleEditDialog editDialog = new ModuleEditDialog(md);

            editDialog.DataContext        = moduleVM;
            editDialog.BusListDataContext = Buses;
            editDialog.ShowDialog();

            //Forces binding of button text to update
            Modules.Refresh();
            Buses.Refresh();
        }
        public void AddModule()
        {
            Module m;

            if (Modules.IsEmpty)
            {
                m = new Module("New Module", 0, 0);
            }
            else
            {
                m = new Module("New module", Math.Min(md.Modules.Last().Address + 1, 31), 0);
            }
            ModuleVM        vm  = new ModuleVM(m);
            AddModuleDialog dlg = new AddModuleDialog();

            dlg.DataContext = vm;

            if (dlg.ShowDialog() == true)
            {
                md.Modules.Add(m);
                EventLog.AddLog(new SimEvent("A new module was added: '" + m.Name + "'", EventSeverity.INFO));
            }
        }