Browse Source

Checkable ListView in AdvancedServiceDialog.xaml

pull/23/head
PeterForstmeier 14 years ago
parent
commit
9b7c109937
  1. 10
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceDialog.xaml
  2. 31
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceViewModel.cs
  3. 34
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AdvancedServiceDialog.xaml
  4. 24
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AdvancedServiceViewModel.cs

10
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceDialog.xaml

@ -22,7 +22,14 @@
<Window.Resources> <Window.Resources>
<HierarchicalDataTemplate x:Key="HeaderTemplate" <HierarchicalDataTemplate x:Key="HeaderTemplate"
ItemsSource="{Binding SubItems}"> ItemsSource="{Binding SubItems}">
<TextBlock Grid.Row="0" Text="{Binding Path=Name}" /> <!--
<TextBlock Grid.Row="0" Text="{Binding Path=Description}" />-->
<StackPanel Orientation="Horizontal">
<Image Width="16" Height="16" Source="{Binding Image}"/>
<TextBlock Text="{Binding Description}"/>
</StackPanel>
</HierarchicalDataTemplate> </HierarchicalDataTemplate>
</Window.Resources> </Window.Resources>
@ -105,6 +112,7 @@
Grid.Row="1" Grid.Row="1"
Grid.Column="0" Grid.Column="0"
Width="2"/> Width="2"/>
<ListView <ListView
Grid.Column="1" Grid.Row="1" Margin="4" Grid.Column="1" Grid.Row="1" Margin="4"
ItemsSource="{Binding Path=TwoValues}"> ItemsSource="{Binding Path=TwoValues}">

31
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AddServiceReferenceViewModel.cs

@ -400,15 +400,15 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
{ {
List<ServiceItem> l = new List<ServiceItem>(); List<ServiceItem> l = new List<ServiceItem>();
var name = ServiceReferenceHelper.GetServiceName(description); var name = ServiceReferenceHelper.GetServiceName(description);
var rootNode = new ServiceItem(name); var rootNode = new ServiceItem(null,name);
rootNode.Tag = description; rootNode.Tag = description;
foreach(Service service in description.Services) { foreach(Service service in description.Services) {
var serviceNode = new ServiceItem(service.Name); var serviceNode = new ServiceItem(null,service.Name);
serviceNode.Tag = service; serviceNode.Tag = service;
l.Add(serviceNode); l.Add(serviceNode);
foreach (PortType portType in description.PortTypes) { foreach (PortType portType in description.PortTypes) {
var portNode = new ServiceItem(portType.Name); var portNode = new ServiceItem(PresentationResourceService.GetBitmapSource("Icons.16x16.Interface"),portType.Name);
portNode.Tag = portType; portNode.Tag = portType;
serviceNode.SubItems.Add(portNode); serviceNode.SubItems.Add(portNode);
} }
@ -435,17 +435,30 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
public class ServiceItem:ImageAndDescription
public class ServiceItem
{ {
public ServiceItem (string name) public ServiceItem (BitmapSource bitmapSource,string description):base(bitmapSource,description)
{ {
this.Name = name;
SubItems = new List<ServiceItem>(); SubItems = new List<ServiceItem>();
} }
public string Name {get;set;}
public object Tag {get;set;} public object Tag {get;set;}
public List<ServiceItem> SubItems {get;set;} public List<ServiceItem> SubItems {get;set;}
} }
public class CheckableImageAndDescription :ImageAndDescription
{
public CheckableImageAndDescription(BitmapSource bitmapSource,string description):base(bitmapSource,description)
{
}
private bool itemChecked;
public bool ItemChecked {
get { return itemChecked; }
set { itemChecked = value;}
// base.RaisePropertyChanged(() =>IsChecked);}
}
}
} }

34
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AdvancedServiceDialog.xaml

@ -129,23 +129,28 @@
<ListView Grid.Row="6" Grid.ColumnSpan="2" Width="400" <ListView Grid.Row="6" Grid.ColumnSpan="2" Width="400"
Margin="80,0,0,0" Margin="80,0,0,0"
SelectionMode="Multiple"
ItemsSource="{Binding AssembliesToReference}" ItemsSource="{Binding AssembliesToReference}"
IsEnabled="{Binding ListViewEnable}"> IsEnabled="{Binding ListViewEnable}">
<!--
<ListView.View> <ListView.View>
<GridView>
<GridView> <GridViewColumn>
<GridViewColumn Header="ID" DisplayMemberBinding="{Binding ID}"> <GridViewColumn.CellTemplate>
<GridViewColumn.CellTemplate> <DataTemplate>
<DataTemplate> <StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding ItemChecked }">
<CheckBox Tag="{Binding}" Name="Complete" IsThreeState="False" /> <StackPanel Orientation="Horizontal">
</DataTemplate> <Image Source="{Binding Image}" Stretch="None" />
</GridViewColumn.CellTemplate> <TextBlock Margin="5,0,0,0" Text ="{Binding Description}"></TextBlock>
</GridViewColumn> </StackPanel>
</CheckBox>
</GridView> </StackPanel>
</ListView.View>--> </DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView> </ListView>
@ -172,7 +177,6 @@
VerticalAlignment="Center" VerticalAlignment="Center"
Content="Add Web Reference..." Width="140"> Content="Add Web Reference..." Width="140">
</Button> </Button>
</Grid> </Grid>
</GroupBox> </GroupBox>

24
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/ServiceReference/AdvancedServiceViewModel.cs

@ -10,6 +10,7 @@ using System;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel; using System.ComponentModel;
using ICSharpCode.Core.Presentation;
using ICSharpCode.SharpDevelop.Widgets; using ICSharpCode.SharpDevelop.Widgets;
namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
@ -67,16 +68,17 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
{ {
Title ="Service Reference Settings"; Title ="Service Reference Settings";
UseReferencedAssemblies = true; UseReferencedAssemblies = true;
AssembliesToReference = new ObservableCollection <string>(); var image = PresentationResourceService.GetBitmapSource("Icons.16x16.Reference");
AssembliesToReference.Add("Microsoft.CSharp"); AssembliesToReference = new ObservableCollection <CheckableImageAndDescription>();
AssembliesToReference.Add("mscorlib"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"Microsoft.CSharp"));
AssembliesToReference.Add("System.Core"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"mscorlib"));
AssembliesToReference.Add("System.Data"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"System.Core"));
AssembliesToReference.Add("System.Data.DataSetExtensions"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"System.Data"));
AssembliesToReference.Add("System.Runtime.Serialization"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"System.Data.DataSetExtensions"));
AssembliesToReference.Add("System.ServiceModel"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"System.Runtime.Serialization"));
AssembliesToReference.Add("System.Xml"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"System.ServiceModel"));
AssembliesToReference.Add("System.Xml.Linq"); AssembliesToReference.Add(new CheckableImageAndDescription(image,"System.Xml"));
AssembliesToReference.Add(new CheckableImageAndDescription(image,"System.Xml.Linq"));
} }
public string Title {get;set;} public string Title {get;set;}
@ -182,7 +184,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Dialogs.ReferenceDialog.ServiceReference
} }
public ObservableCollection <string> AssembliesToReference {get;private set;} public ObservableCollection <CheckableImageAndDescription> AssembliesToReference {get;private set;}
public string CompatibilityText public string CompatibilityText

Loading…
Cancel
Save