void onSettingsGet(object sender, GetSettingsXmlCompletedEventArgs args)
        {
            if (args.Error != null)
            {
                // Create a default viewer application
                BuilderApplication.Instance.TitleText = ESRI.ArcGIS.Mapping.Builder.Resources.Strings.ArcGISViewerForMicrosoftSilverlight;
                loadAllExtensions();
                return;
            }
            BuilderApplication.InitFromXml(args.SettingsXml);

            EventHandler <EventArgs> onAgolInitialized = null;

            onAgolInitialized = (o, e) =>
            {
                ArcGISOnlineEnvironment.ArcGISOnline.Initialized -= onAgolInitialized;

                // Mark Builder as initialized.  Delay for half a second to allow bindings to update.
                DispatcherTimer timer = new DispatcherTimer()
                {
                    Interval = TimeSpan.FromSeconds(0.5)
                };
                timer.Tick += (s, a) =>
                {
                    timer.Stop();
                    BuilderApplication.Instance.IsInitialized = true;
                };
                timer.Start();
            };
            ArcGISOnlineEnvironment.ArcGISOnline.Initialized += onAgolInitialized;
            ESRI.ArcGIS.Mapping.Controls.ArcGISOnline.ArcGISOnlineEnvironment.LoadConfig(BuilderApplication.Instance.ArcGISOnlineSharing, BuilderApplication.Instance.ArcGISOnlineSecure, BuilderApplication.Instance.ArcGISOnlineProxy);

            loadAllExtensions();
        }
        public override void Execute(object parameter)
        {
            BuilderApplication ba = BuilderApplication.Instance;

            if (ba != null)
            {
                BuilderApplication.Instance.WindowManager.HideAllWindows();
            }

            if (View.Instance != null)
            {
                View.Instance.WindowManager.HideAllWindows();
            }

            if (ba.SettingsPageVisibility == Visibility.Collapsed)
            {
                // Save whether the user can from builder screen or catalog screen for later
                isPrevPageTheBuilderScreen = BuilderApplication.Instance.BuilderScreenVisibility == Visibility.Visible;

                ba.BuilderScreenVisibility = Visibility.Collapsed;
                ba.CatalogScreenVisibility = Visibility.Collapsed;
                ba.SettingsPageVisibility  = Visibility.Visible;
            }
            else
            {
                ba.SettingsPageVisibility = Visibility.Collapsed;
                if (isPrevPageTheBuilderScreen)
                {
                    ba.CatalogScreenVisibility = Visibility.Collapsed;
                    ba.BuilderScreenVisibility = Visibility.Visible;
                }
                else
                {
                    if (ViewerApplicationControl.Instance != null)
                    {
                        ViewerApplicationControl.Instance.ViewerApplication = null;
                    }
                    ba.CatalogScreenVisibility = Visibility.Visible;
                    ba.BuilderScreenVisibility = Visibility.Collapsed;
                }
            }
        }
        void MainPage_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "CurrentSite")
            {
                BuilderApplication app = (BuilderApplication)sender;
                if (app.CurrentSite != null && !string.IsNullOrEmpty(app.CurrentSite.Name))
                {
                    Title.Blocks.Clear();
                    Run r = new Run()
                    {
                        Text = string.Format(Strings.ArcGISApplicationBuilder, app.CurrentSite.Name)
                    };
                    Paragraph p = new Paragraph();
                    p.Inlines.Add(r);
                    Title.Blocks.Add(p);

                    if (!string.IsNullOrEmpty(app.CurrentSite.Url))
                    {
                        Title.Hyperlink(app.CurrentSite.Name, app.CurrentSite.Url);
                    }
                }
            }
        }
        public string ResolveUrl(string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                return(url);
            }
            BuilderApplication instance = BuilderApplication.Instance;
            Site currentSite            = instance.CurrentSite;

            if (currentSite == null) // not editing a site
            {
                if (instance.Templates == null)
                {
                    return(url);
                }

                Template defaultTemplate = instance.Templates.FirstOrDefault <Template>(t => t.IsDefault);
                if (defaultTemplate == null && instance.Templates.Count > 0)
                {
                    defaultTemplate = instance.Templates[0];
                }

                if (defaultTemplate != null)
                {
                    return(string.Format("{0}/{1}", defaultTemplate.BaseUrl.TrimEnd('/'), url.TrimStart('/')));
                }
            }
            else
            {
                if (currentSite.Url != null)
                {
                    return(string.Format("{0}/{1}", currentSite.Url.TrimEnd('/'), url.TrimStart('/')));
                }
            }

            return(url);
        }
 static BuilderApplication()
 {
     Instance = new BuilderApplication();
 }
Exemple #6
0
 static BuilderApplication()
 {
     Instance = new BuilderApplication();
 }