/// <summary> /// Initializes this map viewer and constructs the user interface based on the /// given AppLayout document /// </summary> /// <param name="layout"></param> /// <param name="provider"></param> public void Initialize(AppLayout layout, MgMapViewerProvider provider) { this.Text = layout.Title; if (!string.IsNullOrEmpty(layout.Language)) { try { var ci = CultureInfo.GetCultureInfo(layout.Language); System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture = ci; SetLanguage(ci); } catch (Exception ex) { MessageBox.Show(ex.Message, Strings.SetLanguage); } } _menuInvoker = new MgMenuItemComponentInvoker(); _toolInvoker = new MgToolButtonComponentInvoker(); ValidateMapNames(layout); InitializeComponentSet(layout); InitializeMenu(layout.Menu); InitializeToolbar(layout.Toolbar); InitializeContextMenu(layout.ContextMenu); InitializeTaskPaneMenu(layout.TaskPane.TaskMenu); _layout = layout; if (!string.IsNullOrEmpty(_layout.Icon) && System.IO.File.Exists(_layout.Icon)) { this.Icon = new System.Drawing.Icon(_layout.Icon); } SetInfoPaneWidth(_layout.InfoPane.Width); SetInfoPaneVisible(_layout.InfoPane.IsVisible); if (_layout.InfoPane.IsVisible) { SetLegendVisbility(_layout.InfoPane.Legend.Visible); legend.ShowTooltips = _layout.InfoPane.Legend.ShowTooltips; if (_layout.InfoPane.Legend.ThemeCompressionLimit.HasValue) legend.ThemeCompressionLimit = _layout.InfoPane.Legend.ThemeCompressionLimit.Value; SetPropertyPaneVisbility(_layout.InfoPane.PropertyPane.Visible); } SetTaskPaneWidth(_layout.TaskPane.Width); if (!string.IsNullOrEmpty(_layout.TaskPane.InitialComponentID)) { var cmp = GetComponent(_layout.TaskPane.InitialComponentID) as MgViewerComponent; if (cmp != null) taskPane.SetInitialComponent(cmp); else MessageBox.Show(string.Format(Strings.WarnInitialTaskComponentNotFound, _layout.TaskPane.InitialComponentID)); } _provider = provider; mapViewer.PropertyChanged += new PropertyChangedEventHandler(OnMapViewerPropertyChanged); }
/// <summary> /// Initializes this map viewer and constructs the user interface based on the /// given AppLayout document /// </summary> /// <param name="layout"></param> /// <param name="provider"></param> public void Initialize(AppLayout layout, MgMapViewerProvider provider) { this.Text = layout.Title; if (!string.IsNullOrEmpty(layout.Language)) { try { var ci = CultureInfo.GetCultureInfo(layout.Language); System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture = ci; SetLanguage(ci); } catch (Exception ex) { MessageBox.Show(ex.Message, Strings.SetLanguage); } } _menuInvoker = new MgMenuItemComponentInvoker(); _toolInvoker = new MgToolButtonComponentInvoker(); ValidateMapNames(layout); InitializeComponentSet(layout); InitializeMenu(layout.Menu); InitializeToolbar(layout.Toolbar); InitializeContextMenu(layout.ContextMenu); InitializeTaskPaneMenu(layout.TaskPane.TaskMenu); _layout = layout; if (!string.IsNullOrEmpty(_layout.Icon) && System.IO.File.Exists(_layout.Icon)) { this.Icon = new System.Drawing.Icon(_layout.Icon); } SetInfoPaneWidth(_layout.InfoPane.Width); SetInfoPaneVisible(_layout.InfoPane.IsVisible); if (_layout.InfoPane.IsVisible) { SetLegendVisbility(_layout.InfoPane.Legend.Visible); legend.ShowTooltips = _layout.InfoPane.Legend.ShowTooltips; if (_layout.InfoPane.Legend.ThemeCompressionLimit.HasValue) { legend.ThemeCompressionLimit = _layout.InfoPane.Legend.ThemeCompressionLimit.Value; } SetPropertyPaneVisbility(_layout.InfoPane.PropertyPane.Visible); } SetTaskPaneWidth(_layout.TaskPane.Width); if (!string.IsNullOrEmpty(_layout.TaskPane.InitialComponentID)) { var cmp = GetComponent(_layout.TaskPane.InitialComponentID) as MgViewerComponent; if (cmp != null) { taskPane.SetInitialComponent(cmp); } else { MessageBox.Show(string.Format(Strings.WarnInitialTaskComponentNotFound, _layout.TaskPane.InitialComponentID)); } } _provider = provider; mapViewer.PropertyChanged += new PropertyChangedEventHandler(OnMapViewerPropertyChanged); }