Browse Source

StyleCop AnalysisIdeOptionsPanelXaml.xaml.cs

pull/30/head
PeterForstmeier 13 years ago
parent
commit
b4c10698db
  1. 6
      src/AddIns/Analysis/CodeAnalysis/Src/AnalysisIdeOptionsPanel.xaml.cs
  2. 6
      src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.addin
  3. 7
      src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.csproj
  4. 25
      src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanelXaml.xaml
  5. 103
      src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanelXaml.xaml.cs
  6. 2
      src/AddIns/Analysis/SourceAnalysis/Src/StyleCopWrapper.cs
  7. 6
      src/AddIns/Analysis/SourceAnalysis/Src/old_AnalysisIdeOptionsPanel.cs
  8. 2
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/OptionsHelper.cs

6
src/AddIns/Analysis/CodeAnalysis/Src/AnalysisIdeOptionsPanel.xaml.cs

@ -39,9 +39,9 @@ namespace ICSharpCode.CodeAnalysis @@ -39,9 +39,9 @@ namespace ICSharpCode.CodeAnalysis
private void FindFxCopPath_Click(object sender, System.Windows.RoutedEventArgs e)
{
string s = OptionsHelper.OpenFile("${res:SharpDevelop.FileFilter.ExecutableFiles}|*.exe;");
if (!String.IsNullOrEmpty(s)) {
string path = Path.GetDirectoryName(s);
string fn = OptionsHelper.OpenFile("${res:SharpDevelop.FileFilter.ExecutableFiles}|*.exe;");
if (!String.IsNullOrEmpty(fn)) {
string path = Path.GetDirectoryName(fn);
if (FxCopWrapper.IsFxCopPath(path)) {
FxCopPath = path;
} else {

6
src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.addin

@ -18,9 +18,9 @@ @@ -18,9 +18,9 @@
</Path>
<Path name = "/SharpDevelop/BackendBindings/ProjectOptions/AllManaged">
<!---<OptionPanel id = "SourceAnalysis"
<OptionPanel id = "SourceAnalysis"
label = "${res:AddIns.SourceAnalysis.Title}"
class = "MattEverson.SourceAnalysis.old_AnalysisProjectOptionsPanel"/>-->
class = "MattEverson.SourceAnalysis.old_AnalysisProjectOptionsPanel"/>
<OptionPanel id = "SourceAnalysis"
label = "${res:AddIns.SourceAnalysis.Title}"
class = "MattEverson.SourceAnalysis.AnalysisProjectOptionsPanel"/>
@ -47,7 +47,7 @@ @@ -47,7 +47,7 @@
<Path name = "/SharpDevelop/Dialogs/OptionsDialog/ToolsOptions">
<OptionPanel id = "SourceAnalysisOptionPanel"
label = "${res:AddIns.SourceAnalysis.Title}"
class = "MattEverson.SourceAnalysis.AnalysisIdeOptionsPanel"/>
class = "MattEverson.SourceAnalysis.AnalysisIdeOptionsPanelXaml"/>
</Path>
</AddIn>

7
src/AddIns/Analysis/SourceAnalysis/SourceAnalysis.csproj

@ -66,6 +66,10 @@ @@ -66,6 +66,10 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Src\AnalysisIdeOptionsPanelXaml.xaml.cs">
<DependentUpon>AnalysisIdeOptionsPanelXaml.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\AnalysisOptionsPanel.xaml.cs">
<DependentUpon>AnalysisOptionsPanel.xaml</DependentUpon>
<SubType>Code</SubType>
@ -80,7 +84,7 @@ @@ -80,7 +84,7 @@
</EmbeddedResource>
<Compile Include="Src\StyleCopWrapper.cs" />
<Compile Include="Src\CheckCurrentProjectCommand.cs" />
<Compile Include="Src\AnalysisIdeOptionsPanel.cs" />
<Compile Include="Src\old_AnalysisIdeOptionsPanel.cs" />
<EmbeddedResource Include="Resources\old_AnalysisIdeOptionPanel.xfrm" />
</ItemGroup>
<ItemGroup>
@ -111,6 +115,7 @@ @@ -111,6 +115,7 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Page Include="Src\AnalysisIdeOptionsPanelXaml.xaml" />
<Page Include="Src\AnalysisOptionsPanel.xaml" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />

25
src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanelXaml.xaml

@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
<gui:OptionPanel x:Class="MattEverson.SourceAnalysis.AnalysisIdeOptionsPanelXaml"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:core="http://icsharpcode.net/sharpdevelop/core"
xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<GroupBox Header="StyleCop">
<StackPanel>
<TextBlock Margin="3,5,3,20" x:Name="status"
HorizontalAlignment="Center" TextWrapping="Wrap"
Text="(showing current StyleCop path)"></TextBlock>
<Button Content="Find StyleCop path"
HorizontalAlignment="Center"
Click="FindStyleCopPath_Click"
Style="{x:Static core:GlobalStyles.ButtonStyle}"></Button>
<Button Margin="0,15,0,0" IsEnabled="{Binding EnableModifyStyleCopSettings}"
Content="Modify Master StyleCop Settings"
HorizontalAlignment="Center"
Click="ModifyStyleCopSettings_Click"
Style="{x:Static core:GlobalStyles.ButtonStyle}"></Button>
</StackPanel>
</GroupBox>
</gui:OptionPanel>

103
src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanelXaml.xaml.cs

@ -0,0 +1,103 @@ @@ -0,0 +1,103 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 23.07.2012
* Time: 20:13
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Gui.OptionPanels;
namespace MattEverson.SourceAnalysis
{
/// <summary>
/// Interaction logic for AnalysisIdeOptionsPanelXaml.xaml
/// </summary>
public partial class AnalysisIdeOptionsPanelXaml : OptionPanel
{
private bool enableModifyStyleCopSettings;
public AnalysisIdeOptionsPanelXaml()
{
InitializeComponent();
DataContext = this;
ShowStatus();
}
private void ShowStatus()
{
string path = StyleCopWrapper.FindStyleCopPath();
if (path == null) {
status.Text = StringParser.Parse("StyleCop not found in the given path.");
EnableModifyStyleCopSettings = false;
} else {
status.Text = StringParser.Parse("StyleCop was found in: ") + Environment.NewLine + path;
EnableModifyStyleCopSettings = true;
}
}
public bool EnableModifyStyleCopSettings {
get { return enableModifyStyleCopSettings; }
set { enableModifyStyleCopSettings = value;
base.RaisePropertyChanged("EnableModifyStyleCopSettings");
}
}
private void FindStyleCopPath_Click(object sender, System.Windows.RoutedEventArgs e)
{
string filter = StringParser.Parse("StyleCop|*" + StyleCopWrapper.STYLE_COP_FILE + "|${res:SharpDevelop.FileFilter.AllFiles}|*.*");
string path = OptionsHelper.OpenFile(filter);
if (!String.IsNullOrEmpty(path)) {
if (StyleCopWrapper.IsStyleCopPath(path)) {
StyleCopPath = path;
} else {
MessageService.ShowError(string.Format("Directory does not contain StyleCop (*{0}).", StyleCopWrapper.STYLE_COP_FILE));
}
}
}
void ModifyStyleCopSettings_Click(object sender, RoutedEventArgs e)
{
var executable = Path.Combine(Path.GetDirectoryName(StyleCopWrapper.FindStyleCopPath()), "StyleCopSettingsEditor.exe");
var parameters = "\"" + StyleCopWrapper.GetMasterSettingsFile() + "\"";
if (!File.Exists(executable)) {
LoggingService.Debug("StyleCopSettingsEditor.exe: " + executable);
MessageService.ShowWarning("Unable to find the StyleCop Settings editor. Please specify the StyleCop location in Tools Options.");
return;
}
using(Process p = Process.Start("\"" + executable + "\"", parameters))
{
// No need to wait for the settings dialog to close - we can leave it open.
}
}
public static string StyleCopPath {
get {
return PropertyService.Get("SourceAnalysis.StyleCopPath");
}
set {
PropertyService.Set("SourceAnalysis.StyleCopPath", value);
}
}
}
}

2
src/AddIns/Analysis/SourceAnalysis/Src/StyleCopWrapper.cs

@ -24,7 +24,7 @@ namespace MattEverson.SourceAnalysis @@ -24,7 +24,7 @@ namespace MattEverson.SourceAnalysis
public static string FindStyleCopPath()
{
string styleCopPath = AnalysisIdeOptionsPanel.StyleCopPath;
string styleCopPath = AnalysisIdeOptionsPanelXaml.StyleCopPath;
if (IsStyleCopPath(styleCopPath)) {
return styleCopPath;
}

6
src/AddIns/Analysis/SourceAnalysis/Src/AnalysisIdeOptionsPanel.cs → src/AddIns/Analysis/SourceAnalysis/Src/old_AnalysisIdeOptionsPanel.cs

@ -14,11 +14,12 @@ namespace MattEverson.SourceAnalysis @@ -14,11 +14,12 @@ namespace MattEverson.SourceAnalysis
/// <summary>
/// Option panel to choose the StyleCop path from.
/// </summary>
public class AnalysisIdeOptionsPanel : XmlFormsOptionPanel
public class old_AnalysisIdeOptionsPanel : XmlFormsOptionPanel
{
public override void LoadPanelContents()
{
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("MattEverson.SourceAnalysis.Resources.AnalysisIdeOptionPanel.xfrm"));
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("MattEverson.SourceAnalysis.Resources.old_AnalysisIdeOptionPanel.xfrm"));
ShowStatus();
Get<Button>("FindStyleCopPath").Click += FindStyleCopPathClick;
@ -81,4 +82,5 @@ namespace MattEverson.SourceAnalysis @@ -81,4 +82,5 @@ namespace MattEverson.SourceAnalysis
}
}
}
}

2
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/OptionsHelper.cs

@ -81,7 +81,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -81,7 +81,7 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
public static string OpenFile (string filter)
{
var dialog = new OpenFileDialog();
if (String.IsNullOrEmpty(filter)) {
if (!String.IsNullOrEmpty(filter)) {
dialog.Filter = StringParser.Parse(filter);
}

Loading…
Cancel
Save