150
169
this.basePath = Library.GetWebReferencePath (project);
151
this.IsWebService = false;
170
this.isWebService = false;
152
171
this.project = project;
172
this.modified = true;
174
tbxReferenceURL.Text = homeUrl;
176
wcfOptions = WebReferencesService.WcfEngine.DefaultClientOptions;
178
ChangeState (DialogState.Create);
183
public WebReferenceDialog (WebReferenceItem item, ClientOptions options)
186
this.isWebService = true;
187
this.wcfOptions = options;
188
this.namespacePrefix = item.Project.DefaultNamespace;
190
ChangeState (DialogState.ModifyConfig);
154
// Add the mozilla control to the frame
155
if (WebBrowserService.CanGetWebBrowser) {
156
browser = WebBrowserService.GetWebBrowser ();
157
browserWidget = (Widget) browser;
158
browser.LocationChanged += Browser_LocationChanged;
159
browser.NetStart += Browser_StartLoading;
160
browser.NetStop += Browser_StopLoading;
161
frmBrowser.Add(browserWidget);
162
browser.LoadUrl(this.homeUrl);
163
browserWidget.Show();
165
tlbNavigate.Visible = false;
167
ScrolledWindow sw = new ScrolledWindow ();
168
sw.ShadowType = ShadowType.In;
169
docLabel = new Label ();
174
sw.AddWithViewport (docLabel);
178
tbxReferenceURL.Text = homeUrl;
183
this.Child.ShowAll ();
192
var service = item.Load ();
193
var url = service.GetServiceURL ();
195
if (service is WebServiceDiscoveryResultWCF)
196
comboModel.Active = 0;
198
comboModel.Active = 1;
200
UpdateService (service, url);
202
tbxReferenceURL.Text = url;
203
tbxReferenceName.Text = item.Name;
204
tbxNamespace.Text = item.Project.DefaultNamespace;
186
210
/// <summary>Execute the event when any of the buttons on the action panel has been clicked</summary>
206
230
/// <param name="e">An EventArgs object that contains the event data.</param>
207
231
private void Browser_GoButtonClicked (object sender, EventArgs e)
235
case DialogState.Create:
236
case DialogState.CreateConfig:
237
ChangeState (DialogState.Create);
240
case DialogState.Modify:
241
case DialogState.ModifyConfig:
242
ChangeState (DialogState.Modify);
246
throw new InvalidOperationException ();
209
249
if (browser != null)
210
browser.LoadUrl(tbxReferenceURL.Text);
250
browser.LoadUrl (tbxReferenceURL.Text);
212
252
UpdateLocation ();
362
401
if (service == null) {
363
402
this.IsWebService = false;
364
403
this.selectedService = null;
367
405
// Set the Default Namespace and Reference
368
406
this.tbxNamespace.Text = this.DefaultNamespace;
370
string name = this.DefaultReferenceName;
372
var items = WebReferencesService.GetWebReferenceItems (project);
373
if (items.Any (it => it.Name == name)) {
375
while (items.Any (it => it.Name == name + "_" + num))
377
name = name + "_" + num;
408
if (project != null) {
409
string name = this.DefaultReferenceName;
411
var items = WebReferencesService.GetWebReferenceItems (project);
412
if (items.Any (it => it.Name == name)) {
414
while (items.Any (it => it.Name == name + "_" + num))
416
name = name + "_" + num;
418
this.tbxReferenceName.Text = name;
379
this.tbxReferenceName.Text = name;
381
421
this.IsWebService = true;
382
422
this.selectedService = service;
384
424
if (docLabel != null) {
385
425
docLabel.Wrap = false;
386
426
text.Append (service.GetDescriptionMarkup ());
417
467
serviceUrl = null;
418
468
ThreadPool.QueueUserWorkItem(new WaitCallback(QueryService), this.tbxReferenceURL.Text);
471
protected void OnBtnConfigClicked (object sender, EventArgs e)
474
case DialogState.Create:
475
ChangeState (DialogState.CreateConfig);
477
case DialogState.Modify:
478
ChangeState (DialogState.ModifyConfig);
481
throw new InvalidOperationException ();
485
void ChangeState (DialogState newState)
487
bool hasConfig = comboModel.Active == 0;
490
case DialogState.Create:
491
btnBack.Visible = false;
492
btnConfig.Visible = true;
493
btnConfig.Sensitive = isWebService && hasConfig;
494
btnOK.Visible = true;
495
btnOK.Sensitive = isWebService;
496
tlbNavigate.Visible = WebBrowserService.CanGetWebBrowser;
497
tbxReferenceName.Sensitive = isWebService;
498
comboModel.Sensitive = true;
501
case DialogState.CreateConfig:
502
btnBack.Visible = true;
503
btnBack.Sensitive = true;
504
btnConfig.Visible = false;
505
btnOK.Visible = true;
506
btnOK.Sensitive = true;
507
tlbNavigate.Visible = false;
508
tbxReferenceName.Sensitive = false;
509
comboModel.Sensitive = false;
512
case DialogState.Modify:
513
btnBack.Visible = false;
514
btnConfig.Visible = true;
515
btnConfig.Sensitive = isWebService && hasConfig;
516
btnOK.Visible = true;
517
btnOK.Sensitive = isWebService;
518
tlbNavigate.Visible = WebBrowserService.CanGetWebBrowser;
519
tbxReferenceName.Sensitive = false;
520
comboModel.Sensitive = false;
523
case DialogState.ModifyConfig:
524
btnBack.Visible = false;
525
btnConfig.Visible = false;
526
btnOK.Visible = true;
527
btnOK.Sensitive = true;
528
tlbNavigate.Visible = false;
529
tbxReferenceName.Sensitive = false;
530
comboModel.Sensitive = false;
534
throw new InvalidOperationException ();
537
if (wcfConfig != null)
540
if (state == newState)
543
if (state != DialogState.Uninitialized)
544
frmBrowser.Forall (c => frmBrowser.Remove (c));
547
browserWidget = null;
556
case DialogState.Create:
557
case DialogState.Modify:
558
if (WebBrowserService.CanGetWebBrowser) {
559
browser = WebBrowserService.GetWebBrowser ();
560
browserWidget = (Widget) browser;
561
browser.LocationChanged += Browser_LocationChanged;
562
browser.NetStart += Browser_StartLoading;
563
browser.NetStop += Browser_StopLoading;
564
frmBrowser.Add (browserWidget);
565
browser.LoadUrl (tbxReferenceURL.Text);
566
browserWidget.Show ();
568
docLabel = new Label ();
574
sw = new ScrolledWindow ();
575
sw.ShadowType = ShadowType.In;
576
sw.AddWithViewport (docLabel);
583
case DialogState.ModifyConfig:
584
case DialogState.CreateConfig:
588
sw = new ScrolledWindow ();
589
sw.ShadowType = ShadowType.In;
591
wcfConfig = new WCFConfigWidget (wcfOptions);
592
sw.AddWithViewport (wcfConfig);
598
throw new InvalidOperationException ();
602
protected void OnBtnBackClicked (object sender, EventArgs e)
605
case DialogState.CreateConfig:
606
ChangeState (DialogState.Create);
608
case DialogState.ModifyConfig:
609
ChangeState (DialogState.Modify);
612
throw new InvalidOperationException ();
422
618
class AskCredentials: GuiSyncObject, ICredentials