Пример #1
0
        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);
            }
        }
Пример #2
0
        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++;
            }
        }
Пример #3
0
        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");
                }
            }
        }
Пример #4
0
        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());
            }
        }
Пример #5
0
        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);
        }
Пример #6
0
        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");
            }
        }
Пример #7
0
        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);
         }
     }
 }
Пример #9
0
 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());
         }
     }
 }
Пример #10
0
        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;
        }
Пример #11
0
        public ToolbarSettings GetSettings()
        {
            ToolbarSettings setts;

            try
            {
                setts = m_UserSettsSrv.ReadSettings <ToolbarSettings>(Settings.Default.SettingsStoreName);
            }
            catch
            {
                setts = new ToolbarSettings()
                {
                    SpecificationFile = ToolbarsDefaultSpecFilePath
                };
            }

            return(setts);
        }
Пример #12
0
        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);
 }
Пример #14
0
 public void SaveToolBarSettings(ToolbarSettings settings)
 {
 }
Пример #15
0
 public ToolbarSettings LoadToolBarSettings()
 {
     return(ToolbarSettings.CreateDefault());
 }
Пример #16
0
 public void SaveSettings(ToolbarSettings setts)
 {
     m_UserSettsSrv.StoreSettings(setts,
                                  Path.Combine(Locations.AppDirectoryPath, Settings.Default.XToolbarSettingsFile));
 }
Пример #17
0
 public void SaveSettings(ToolbarSettings setts)
 {
     m_UserSettsSrv.StoreSettings(setts, Settings.Default.SettingsStoreName);
 }