static void SetupToolBar(ToolbarSettings settings, Context context) { foreach (var item in settings.ToolbarItems) { if (String.IsNullOrWhiteSpace(item.AutomationId) && !String.IsNullOrWhiteSpace(item.Text)) { item.AutomationId = item.Text; } } settings.ToolBar = new AToolBar(context); ToolbarExtensions.UpdateMenuItems( settings.ToolBar, settings.ToolbarItems, context, settings.TintColor, OnToolbarItemPropertyChanged, settings.MenuItemsCreated, settings.ToolbarItemsCreated ); void OnToolbarItemPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { settings.ToolBar.OnToolbarItemPropertyChanged(e, (ToolbarItem)sender, settings.ToolbarItems, context, settings.TintColor, OnToolbarItemPropertyChanged, settings.MenuItemsCreated, settings.ToolbarItemsCreated); } }
public void TextSetsCorrectlyWithNoTintColor() { List <ToolbarItem> sortedItems = new List <ToolbarItem>() { new ToolbarItem() { IsEnabled = true, Text = "a" }, new ToolbarItem() { IsEnabled = true, Text = "b" }, new ToolbarItem() { IsEnabled = true, Text = "c" }, }; var settings = new ToolbarSettings(sortedItems); SetupToolBar(settings, Context); int i = 0; foreach (var textView in settings.TextViews) { Assert.AreEqual(sortedItems[i].Text, textView.Text); i++; } }
private void SaveSettingChanges(ToolbarSettings toolbarSets, CustomToolbarInfo toolbarConf, bool isEditable, out bool isToolbarChanged) { isToolbarChanged = false; var oldToolbarSetts = m_SettsProvider.GetSettings(); if (!DeepCompare(toolbarSets, oldToolbarSetts)) { m_SettsProvider.SaveSettings(toolbarSets); } bool isReadOnly; var oldToolbarConf = m_ToolbarConfProvider .GetToolbar(out isReadOnly, oldToolbarSetts.SpecificationFile); isToolbarChanged = !DeepCompare(toolbarConf, oldToolbarConf); if (isToolbarChanged) { if (isEditable) { UpdateGroupIds(toolbarConf.Groups, oldToolbarConf.Groups); m_ToolbarConfProvider.SaveToolbar(toolbarConf, toolbarSets.SpecificationFile); } else { m_Logger.Log("Skipped saving of read-only toolbar settings"); } } }
public void ToolBarItemsColoredCorrectlyBasedOnEnabledDisabled() { try { List <ToolbarItem> sortedItems = new List <ToolbarItem>() { new ToolbarItem() { IsEnabled = true, Text = "a" }, new ToolbarItem() { IsEnabled = true, Text = "b" }, new ToolbarItem() { IsEnabled = true, Text = "c" }, }; var settings = new ToolbarSettings(sortedItems) { TintColor = Color.Red }; SetupToolBar(settings, Context); AToolBar aToolBar = settings.ToolBar; List <IMenuItem> menuItemsCreated = settings.MenuItemsCreated; Assert.IsTrue(menuItemsCreated[2].IsEnabled, "Initial state of menu Item is not enabled"); sortedItems[2].IsEnabled = false; Assert.IsTrue(menuItemsCreated[0].IsEnabled, "Menu Item 1 is incorrectly disabled"); Assert.IsTrue(menuItemsCreated[1].IsEnabled, "Menu Item 2 is incorrectly disabled"); Assert.IsFalse(menuItemsCreated[2].IsEnabled, "Menu Item 3 is incorrectly disabled"); var textViews = settings.TextViews.ToList(); Assert.AreEqual(3, textViews.Count, $"{textViews.Count} textviews retrieved which it should have been 3"); settings.Layout(); for (int i = 0; i < 3; i++) { global::Android.Graphics.Color androidColor; if (i != 2) { androidColor = Color.Red.ToAndroid(); } else { androidColor = Color.Red.MultiplyAlpha(0.302).ToAndroid(); } textViews[i].AssertContainsColor(androidColor); Assert.AreEqual(sortedItems[i].Text, textViews[i].Text); } } catch (Exception exc) { Assert.Fail(exc.ToString()); } }
public ToolbarSettings GetSettings() { ToolbarSettings setts; var settsFilePath = Path.Combine(Locations.AppDirectoryPath, Settings.Default.XToolbarSettingsFile); if (File.Exists(settsFilePath)) { try { setts = m_UserSettsSrv.ReadSettings <ToolbarSettings>(settsFilePath); } catch (Exception ex) { throw new UserException($"Failed to read settings file at {settsFilePath}. Remove file to clear settings", ex); } } else { setts = new ToolbarSettings() { SpecificationFile = ToolbarsDefaultSpecFilePath }; } return(setts); }
public void UpdateToolbarConfiguration(ToolbarSettings toolbarSets, CustomToolbarInfo toolbarConf, bool isEditable) { bool isToolbarChanged; SaveSettingChanges(toolbarSets, toolbarConf, isEditable, out isToolbarChanged); if (isToolbarChanged) { m_Msg.ShowInformation("Toolbar specification has changed. Please restart SOLIDWORKS"); } }
public CommandManagerVM(IToolbarConfigurationProvider confsProvider, ISettingsProvider settsProvider, IMessageService msgService) { m_ConfsProvider = confsProvider; m_SettsProvider = settsProvider; m_MsgService = msgService; m_Settings = m_SettsProvider.GetSettings(); LoadCommands(); }
public void SaveToolBarSettings(ToolbarSettings settings) { using (var key = OpenOptionsKey()) { if (settings != null) { key.SetValue(s_ToolbarSettings, Serializer <ToolbarSettings> .Serialize(settings)); } else { key.DeleteValue(s_ToolbarSettings); } } }
public static ToolbarSettings LoadToolBarSettings() { using (var key = OpenOptionsKey()) { var settings = (string)key.GetValue(s_ToolbarSettings); if (!string.IsNullOrEmpty(settings)) { return(Serializer <ToolbarSettings> .Deserialize(settings)); } else { return(ToolbarSettings.CreateDefault()); } } }
private void InitToolbars() { ToolbarSettings.Load(); mToolbarInitialized = false; foreach (var button in ToolbarSettings.Settings.Top.Buttons) { Action <ImageButton> callback; mButtonHandlers.TryGetValue(button.Function, out callback); var ibutton = new ImageButton(callback) { Image = mButtonImages[button.Function] }; var tooltip = button.Tooltip ?? ""; ibutton.MouseEnter += ib => mTooltipLabel.Text = tooltip; ibutton.MouseLeave += ib => mTooltipLabel.Text = ""; mTopToolbar.Buttons.Add(ibutton); } foreach (var button in ToolbarSettings.Settings.Left.Buttons) { Action <ImageButton> callback; mButtonHandlers.TryGetValue(button.Function, out callback); var ibutton = new ImageButton(callback) { Image = mButtonImages[button.Function] }; var tooltip = button.Tooltip ?? ""; ibutton.MouseEnter += ib => mTooltipLabel.Text = tooltip; ibutton.MouseLeave += ib => mTooltipLabel.Text = ""; mLeftToolbar.Buttons.Add(ibutton); } mTopToolbar.BorderOffsets = new Vector2(66.0f, 0.0f); mLeftToolbar.Orientation = ToolbarOrientation.Vertical; mStatusBar.BorderOffsets = new Vector2(66.0f, 0.0f); mStatusBar.Items.Add(mTooltipLabel); mTooltipLabel.Position = new Vector2(5, 5); mTooltipLabel.Size = new Vector2(float.MaxValue, 20.0f); mTooltipLabel.FontSize = 13.0f; }
public ToolbarSettings GetSettings() { ToolbarSettings setts; try { setts = m_UserSettsSrv.ReadSettings <ToolbarSettings>(Settings.Default.SettingsStoreName); } catch { setts = new ToolbarSettings() { SpecificationFile = ToolbarsDefaultSpecFilePath }; } return(setts); }
public void SecondaryToolbarItemsDontChangeColor() { List <ToolbarItem> sortedItems = new List <ToolbarItem>() { new ToolbarItem() { IsEnabled = true, Text = "a", Order = ToolbarItemOrder.Secondary }, }; var settings = new ToolbarSettings(sortedItems) { TintColor = Color.Red }; SetupToolBar(settings, Context); AToolBar aToolBar = settings.ToolBar; IMenuItem menuItem = settings.MenuItemsCreated.First(); MenuItemImpl menuItemImpl = (MenuItemImpl)menuItem; Assert.IsNotNull(menuItemImpl, "menuItem is not of type MenuItemImpl"); if (menuItemImpl.TitleFormatted is SpannableString tf) { var colorSpan = tf.GetSpans(0, tf.Length(), Java.Lang.Class.FromType(typeof(ForegroundColorSpan))) .OfType <ForegroundColorSpan>() .FirstOrDefault(); if (colorSpan != null) { Assert.AreNotEqual( colorSpan.ForegroundColor, (int)Color.Red.ToAndroid(), "Secondary Menu Item Incorrectly set to ForegroundColor"); } } }
public void SaveToolBarSettings(ToolbarSettings settings) { _generalOptionsDataAccess.SaveToolBarSettings(settings); }
public void SaveToolBarSettings(ToolbarSettings settings) { }
public ToolbarSettings LoadToolBarSettings() { return(ToolbarSettings.CreateDefault()); }
public void SaveSettings(ToolbarSettings setts) { m_UserSettsSrv.StoreSettings(setts, Path.Combine(Locations.AppDirectoryPath, Settings.Default.XToolbarSettingsFile)); }
public void SaveSettings(ToolbarSettings setts) { m_UserSettsSrv.StoreSettings(setts, Settings.Default.SettingsStoreName); }