Browse Source

Fixed forum-16247: Add Web Reference dialog missing URL on 120 DPI

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.1@2558 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 18 years ago
parent
commit
12d559c90f
  1. 50
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/AddWebReferenceDialog.cs
  2. 60
      src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/WebServicesView.cs

50
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/AddWebReferenceDialog.cs

@ -25,8 +25,6 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
WebServiceDiscoveryClientProtocol discoveryClientProtocol; WebServiceDiscoveryClientProtocol discoveryClientProtocol;
CredentialCache credentialCache = new CredentialCache(); CredentialCache credentialCache = new CredentialCache();
int initialFormWidth;
int initialUrlComboBoxWidth;
string namespacePrefix = String.Empty; string namespacePrefix = String.Empty;
Uri discoveryUri; Uri discoveryUri;
IProject project; IProject project;
@ -42,13 +40,13 @@ namespace ICSharpCode.SharpDevelop.Gui
AddMruList(); AddMruList();
AddImages(); AddImages();
AddStringResources(); AddStringResources();
initialFormWidth = Width; // fixes forum-16247: Add Web Reference dialog missing URL on 120 DPI
initialUrlComboBoxWidth = urlComboBox.Width; AddWebReferenceDialogResize(null, null);
this.project = project; this.project = project;
} }
/// <summary> /// <summary>
/// The prefix that will be added to the web service's namespace /// The prefix that will be added to the web service's namespace
/// (typically the project's namespace). /// (typically the project's namespace).
/// </summary> /// </summary>
public string NamespacePrefix { public string NamespacePrefix {
@ -348,7 +346,7 @@ namespace ICSharpCode.SharpDevelop.Gui
private System.Windows.Forms.ToolStripButton backButton; private System.Windows.Forms.ToolStripButton backButton;
private ICSharpCode.SharpDevelop.Gui.WebServicesView webServicesView; private ICSharpCode.SharpDevelop.Gui.WebServicesView webServicesView;
#endregion #endregion
void AddMruList() void AddMruList()
{ {
try { try {
@ -374,7 +372,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} else if (backButton.Selected && e.Modifiers == Keys.Shift) { } else if (backButton.Selected && e.Modifiers == Keys.Shift) {
toolStrip.TabStop = true; toolStrip.TabStop = true;
} }
} }
} }
void ToolStripEnter(object sender, EventArgs e) void ToolStripEnter(object sender, EventArgs e)
@ -391,7 +389,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
try { try {
webBrowser.GoBack(); webBrowser.GoBack();
} catch (Exception) { } } catch (Exception) { }
} }
void ForwardButtonClick(object sender, System.EventArgs e) void ForwardButtonClick(object sender, System.EventArgs e)
@ -405,7 +403,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
webBrowser.Stop(); webBrowser.Stop();
StopDiscovery(); StopDiscovery();
addButton.Enabled = false; addButton.Enabled = false;
} }
void RefreshButtonClick(object sender, System.EventArgs e) void RefreshButtonClick(object sender, System.EventArgs e)
@ -438,7 +436,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void WebBrowserNavigated(object sender, WebBrowserNavigatedEventArgs e) void WebBrowserNavigated(object sender, WebBrowserNavigatedEventArgs e)
{ {
Cursor = Cursors.Default; Cursor = Cursors.Default;
stopButton.Enabled = false; stopButton.Enabled = false;
urlComboBox.Text = webBrowser.Url.ToString(); urlComboBox.Text = webBrowser.Url.ToString();
StartDiscovery(e.Url); StartDiscovery(e.Url);
@ -471,7 +469,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
if (discoveryUri != null) { if (discoveryUri != null) {
return discoveryUri.Host; return discoveryUri.Host;
} }
return String.Empty; return String.Empty;
} }
@ -493,7 +491,7 @@ namespace ICSharpCode.SharpDevelop.Gui
break; break;
} }
} }
} }
} }
return valid; return valid;
@ -505,7 +503,7 @@ namespace ICSharpCode.SharpDevelop.Gui
if (referenceNameTextBox.Text.Length > 0) { if (referenceNameTextBox.Text.Length > 0) {
if (referenceNameTextBox.Text.IndexOf('\\') == -1) { if (referenceNameTextBox.Text.IndexOf('\\') == -1) {
if (!ContainsInvalidDirectoryChar(referenceNameTextBox.Text)) { if (!ContainsInvalidDirectoryChar(referenceNameTextBox.Text)) {
return true; return true;
} }
} }
} }
@ -552,7 +550,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
AsyncDiscoveryState state = (AsyncDiscoveryState)result.AsyncState; AsyncDiscoveryState state = (AsyncDiscoveryState)result.AsyncState;
WebServiceDiscoveryClientProtocol protocol = state.Protocol; WebServiceDiscoveryClientProtocol protocol = state.Protocol;
// Check that we are still waiting for this particular callback. // Check that we are still waiting for this particular callback.
bool wanted = false; bool wanted = false;
lock (this) { lock (this) {
@ -578,7 +576,7 @@ namespace ICSharpCode.SharpDevelop.Gui
Invoke(handler, new object[] {null}); Invoke(handler, new object[] {null});
} }
} }
} }
} }
/// <summary> /// <summary>
@ -593,7 +591,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} catch (NotImplementedException) { } catch (NotImplementedException) {
} catch (ObjectDisposedException) { } catch (ObjectDisposedException) {
// Receive this error if the url pointed to a file. // Receive this error if the url pointed to a file.
// The discovery client will already have closed the file // The discovery client will already have closed the file
// so the abort fails. // so the abort fails.
} }
discoveryClientProtocol.Dispose(); discoveryClientProtocol.Dispose();
@ -619,7 +617,7 @@ namespace ICSharpCode.SharpDevelop.Gui
protocol.ResolveOneLevel(); protocol.ResolveOneLevel();
foreach (DictionaryEntry entry in protocol.References) { foreach (DictionaryEntry entry in protocol.References) {
ContractReference contractRef = entry.Value as ContractReference; ContractReference contractRef = entry.Value as ContractReference;
if (contractRef != null) { if (contractRef != null) {
services.Add(contractRef.Contract); services.Add(contractRef.Contract);
} }
@ -628,7 +626,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
void DiscoveredWebServices(DiscoveryClientProtocol protocol) void DiscoveredWebServices(DiscoveryClientProtocol protocol)
{ {
if (protocol != null) { if (protocol != null) {
addButton.Enabled = true; addButton.Enabled = true;
namespaceTextBox.Text = GetDefaultNamespace(); namespaceTextBox.Text = GetDefaultNamespace();
@ -656,8 +654,12 @@ namespace ICSharpCode.SharpDevelop.Gui
void AddWebReferenceDialogResize(object sender, EventArgs e) void AddWebReferenceDialogResize(object sender, EventArgs e)
{ {
int widthChange = Width - initialFormWidth; int width = toolStrip.ClientSize.Width;
urlComboBox.Width = initialUrlComboBoxWidth + widthChange; foreach (ToolStripItem item in toolStrip.Items) {
if (item != urlComboBox)
width -= item.Width + 8;
}
urlComboBox.Width = width;
} }
void AddButtonClick(object sender,EventArgs e) void AddButtonClick(object sender,EventArgs e)
@ -665,14 +667,14 @@ namespace ICSharpCode.SharpDevelop.Gui
try { try {
if (!IsValidReferenceName) { if (!IsValidReferenceName) {
MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.InvalidReferenceNameError}")); MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.InvalidReferenceNameError}"));
return; return;
} }
if (!IsValidNamespace) { if (!IsValidNamespace) {
MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.InvalidNamespaceError}")); MessageService.ShowError(StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.InvalidNamespaceError}"));
return; return;
} }
webReference.Name = referenceNameTextBox.Text; webReference.Name = referenceNameTextBox.Text;
webReference.ProxyNamespace = namespaceTextBox.Text; webReference.ProxyNamespace = namespaceTextBox.Text;
@ -717,7 +719,7 @@ namespace ICSharpCode.SharpDevelop.Gui
stopButton.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.StopButtonTooltip}"); stopButton.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.StopButtonTooltip}");
stopButton.ToolTipText = stopButton.Text; stopButton.ToolTipText = stopButton.Text;
webServicesTabPage.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.WebServicesTabPageTitle}"); webServicesTabPage.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.WebServicesTabPageTitle}");
webServicesTabPage.ToolTipText = webServicesTabPage.Text; webServicesTabPage.ToolTipText = webServicesTabPage.Text;
} }

60
src/Main/Base/Project/Src/Gui/Dialogs/ReferenceDialog/WebServicesView.cs

@ -99,8 +99,8 @@ namespace ICSharpCode.SharpDevelop.Gui
// webServicesListView // webServicesListView
// //
this.webServicesListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.webServicesListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.propertyColumnHeader, this.propertyColumnHeader,
this.valueColumnHeader}); this.valueColumnHeader});
this.webServicesListView.Dock = System.Windows.Forms.DockStyle.Fill; this.webServicesListView.Dock = System.Windows.Forms.DockStyle.Fill;
this.webServicesListView.Location = new System.Drawing.Point(0, 0); this.webServicesListView.Location = new System.Drawing.Point(0, 0);
this.webServicesListView.Name = "webServicesListView"; this.webServicesListView.Name = "webServicesListView";
@ -136,22 +136,22 @@ namespace ICSharpCode.SharpDevelop.Gui
private System.Windows.Forms.SplitContainer splitContainer; private System.Windows.Forms.SplitContainer splitContainer;
#endregion #endregion
void WebServicesTreeViewAfterSelect(object sender, TreeViewEventArgs e) void WebServicesTreeViewAfterSelect(object sender, TreeViewEventArgs e)
{ {
ListViewItem item; ListViewItem item;
webServicesListView.Items.Clear(); webServicesListView.Items.Clear();
if(e.Node.Tag is ServiceDescription) { if(e.Node.Tag is ServiceDescription) {
ServiceDescription desc = (ServiceDescription)e.Node.Tag; ServiceDescription desc = (ServiceDescription)e.Node.Tag;
item = new ListViewItem(); item = new ListViewItem();
item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.RetrievalUriProperty}"); item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.RetrievalUriProperty}");
item.SubItems.Add(desc.RetrievalUrl); item.SubItems.Add(desc.RetrievalUrl);
webServicesListView.Items.Add(item); webServicesListView.Items.Add(item);
} }
else if(e.Node.Tag is Service) { else if(e.Node.Tag is Service) {
Service service = (Service)e.Node.Tag; Service service = (Service)e.Node.Tag;
item = new ListViewItem(); item = new ListViewItem();
item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.DocumentationProperty}"); item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.DocumentationProperty}");
item.SubItems.Add(service.Documentation); item.SubItems.Add(service.Documentation);
webServicesListView.Items.Add(item); webServicesListView.Items.Add(item);
@ -159,19 +159,19 @@ namespace ICSharpCode.SharpDevelop.Gui
else if(e.Node.Tag is Port) { else if(e.Node.Tag is Port) {
Port port = (Port)e.Node.Tag; Port port = (Port)e.Node.Tag;
item = new ListViewItem(); item = new ListViewItem();
item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.DocumentationProperty}"); item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.DocumentationProperty}");
item.SubItems.Add(port.Documentation); item.SubItems.Add(port.Documentation);
webServicesListView.Items.Add(item); webServicesListView.Items.Add(item);
item = new ListViewItem(); item = new ListViewItem();
item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.BindingProperty}"); item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.BindingProperty}");
item.SubItems.Add(port.Binding.Name); item.SubItems.Add(port.Binding.Name);
webServicesListView.Items.Add(item); webServicesListView.Items.Add(item);
item = new ListViewItem(); item = new ListViewItem();
item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.ServiceNameProperty}"); item.Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AddWebReferenceDialog.ServiceNameProperty}");
item.SubItems.Add(port.Service.Name); item.SubItems.Add(port.Service.Name);
webServicesListView.Items.Add(item); webServicesListView.Items.Add(item);
} }
else if(e.Node.Tag is Operation) { else if(e.Node.Tag is Operation) {
@ -190,7 +190,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
void Add(ServiceDescription description) void Add(ServiceDescription description)
{ {
TreeNode rootNode = new TreeNode(GetName(description)); TreeNode rootNode = new TreeNode(GetName(description));
rootNode.Tag = description; rootNode.Tag = description;
rootNode.ImageIndex = ServiceDescriptionImageIndex; rootNode.ImageIndex = ServiceDescriptionImageIndex;
@ -199,19 +199,19 @@ namespace ICSharpCode.SharpDevelop.Gui
foreach(Service service in description.Services) { foreach(Service service in description.Services) {
// Add a Service node // Add a Service node
TreeNode serviceNode = new TreeNode(service.Name); TreeNode serviceNode = new TreeNode(service.Name);
serviceNode.Tag = service; serviceNode.Tag = service;
serviceNode.ImageIndex = ServiceImageIndex; serviceNode.ImageIndex = ServiceImageIndex;
serviceNode.SelectedImageIndex = ServiceImageIndex; serviceNode.SelectedImageIndex = ServiceImageIndex;
rootNode.Nodes.Add(serviceNode); rootNode.Nodes.Add(serviceNode);
foreach(Port port in service.Ports) { foreach(Port port in service.Ports) {
TreeNode portNode = new TreeNode(port.Name); TreeNode portNode = new TreeNode(port.Name);
portNode.Tag = port; portNode.Tag = port;
portNode.ImageIndex = PortImageIndex; portNode.ImageIndex = PortImageIndex;
portNode.SelectedImageIndex = PortImageIndex; portNode.SelectedImageIndex = PortImageIndex;
serviceNode.Nodes.Add(portNode); serviceNode.Nodes.Add(portNode);
// Get the operations // Get the operations
System.Web.Services.Description.Binding binding = description.Bindings[port.Binding.Name]; System.Web.Services.Description.Binding binding = description.Bindings[port.Binding.Name];
if (binding != null) { if (binding != null) {
@ -223,12 +223,12 @@ namespace ICSharpCode.SharpDevelop.Gui
operationNode.ImageIndex = OperationImageIndex; operationNode.ImageIndex = OperationImageIndex;
operationNode.SelectedImageIndex = OperationImageIndex; operationNode.SelectedImageIndex = OperationImageIndex;
portNode.Nodes.Add(operationNode); portNode.Nodes.Add(operationNode);
} }
} }
} }
} }
} }
webServicesTreeView.ExpandAll(); webServicesTreeView.ExpandAll();
} }
string GetName(ServiceDescription description) string GetName(ServiceDescription description)
@ -248,13 +248,17 @@ namespace ICSharpCode.SharpDevelop.Gui
void AddImages() void AddImages()
{ {
ImageList imageList = new ImageList(); try {
imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Library")); ImageList imageList = new ImageList();
imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Interface")); imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Library"));
imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Class")); imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Interface"));
imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Method")); imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Class"));
imageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.Method"));
webServicesTreeView.ImageList = imageList;
webServicesTreeView.ImageList = imageList;
} catch (ResourceNotFoundException) {
// in design mode, the core is not initialized -> the resources cannot be found
}
} }
void AddStringResources() void AddStringResources()

Loading…
Cancel
Save