⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chooseconfigurationcommand.cs

📁 全功能c#编译器
💻 CS
字号:
// <file>
//     <copyright see="prj:///doc/copyright.txt"/>
//     <license see="prj:///doc/license.txt"/>
//     <owner name="Mike Krger" email="mike@icsharpcode.net"/>
//     <version value="$version"/>
// </file>

using System;
using System.Windows.Forms;

using ICSharpCode.Core.AddIns.Codons;
using ICSharpCode.Core.Services;
using ICSharpCode.SharpDevelop.Services;
using ICSharpCode.SharpDevelop.Gui.Components;
using ICSharpCode.SharpDevelop.Internal.Project;

namespace ICSharpCode.SharpDevelop.Commands
{
	class ChooseConfigurationCommand : AbstractComboBoxCommand
	{
		IProjectService projectService = (IProjectService)ServiceManager.Services.GetService(typeof(IProjectService));
		
		public ChooseConfigurationCommand()
		{
			projectService.CurrentProjectChanged += new ProjectEventHandler(currentProjectChanged);
			projectService.ActiveConfigurationChanged += new ConfigurationEventHandler(activeConfigurationChanged);
			projectService.ConfigurationAdded += new EventHandler(configurationAdded);
			projectService.ConfigurationRemoved += new EventHandler(configurationRemoved);
		}
		
		void configurationAdded(object sender, EventArgs e)
		{
			refresh();
		}
		
		void configurationRemoved(object sender, EventArgs e)
		{
			refresh();
		}
		
		void activeConfigurationChanged(object sender, ConfigurationEventArgs e)
		{
			refresh();
		}
		
		void currentProjectChanged(object sender, ProjectEventArgs e)
		{
			refresh();
		}
		
		void refresh()
		{
			SdMenuComboBox toolbarItem = (SdMenuComboBox)Owner;
			ComboBox combo = toolbarItem.ComboBox;
			
			IProjectService projectService = (IProjectService)ICSharpCode.Core.Services.ServiceManager.Services.GetService(typeof(IProjectService));
			IProject project = projectService.CurrentSelectedProject;
			
			combo.Items.Clear();
			
			if(project != null) {
				foreach(IConfiguration config in project.Configurations) {
					int index = combo.Items.Add(config.Name);
					if(config.Equals(project.ActiveConfiguration)) {
						combo.SelectedIndex = index;
					}
				}
			}
		}
		
		public override void Run()
		{
			SdMenuComboBox toolbarItem = (SdMenuComboBox)Owner;
			ComboBox combo = toolbarItem.ComboBox;
			
			IProjectService projectService = (IProjectService)ICSharpCode.Core.Services.ServiceManager.Services.GetService(typeof(IProjectService));
			IProject project = projectService.CurrentSelectedProject;
			project.ActiveConfiguration = project.Configurations[combo.SelectedIndex];
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -