/// ------------------------------------------------------------------------------------
        private void InitializeGrid()
        {
            _grid = new TextAnnotationEditorGrid(_project.TranscriptionFont, _project.FreeTranslationFont);

            _grid.TranscriptionFontChanged += font =>
            {
                _project.TranscriptionFont = font;
                _project.Save();
            };

            // SP-873: Translation font not saving
            _grid.TranslationFontChanged += font =>
            {
                _project.FreeTranslationFont = font;
                _project.Save();
            };

            L10NSharpExtender gridLocExtender = new L10NSharpExtender();

            gridLocExtender.LocalizationManagerId = "SayMore";
            gridLocExtender.SetLocalizingId(_grid, "TextAnnotationEditorGrid");
            gridLocExtender.EndInit();

            _grid.Dock = DockStyle.Fill;
            _splitter.Panel2.Controls.Add(_grid);
        }
Exemple #2
0
        /// ------------------------------------------------------------------------------------
        public void SetFileType(FileType fileType)
        {
            _fileType = fileType;

            Columns.Clear();

            foreach (var col in _fileType.GetFieldsShownInGrid())
            {
                if (string.IsNullOrEmpty(col.HeaderText))
                {
                    col.HeaderText = col.Name;
                }

                Columns.Add(col);
            }

            _locExtender.EndInit();

            if (!DesignMode && GridSettings != null)
            {
                GridSettings.InitializeGrid(this);
            }

            AutoResizeColumnHeadersHeight();
            ColumnHeadersHeight += 8;
        }
Exemple #3
0
        public void TestLocalizingALocalizableComponent()
        {
            // Setup test
            m_extender.BeginInit();             // Doesn't currently do anything, but for completeness...
            var locComponent = new MockLocalizableComponent();

            m_extender.SetLocalizingId(locComponent, "TestLocalizableComponent");

            // SUT
            m_extender.EndInit();

            // Verify English
            Assert.AreEqual("It's a crow", locComponent.GetLocalizedStringFromMock(locComponent.BirdButton, "TestItem.Bird.Crow"));
            Assert.AreEqual("It's not a crow", locComponent.GetLocalizedStringFromMock(locComponent.BirdButton, "TestItem.Bird.Raven"));
            Assert.AreEqual("It's a chicken", locComponent.GetLocalizedStringFromMock(locComponent.ChickenButton, "TestItem.Chicken.Rooster"));
            Assert.AreEqual("Fish-eating bird", locComponent.GetLocalizedStringFromMock(locComponent.BirdButton, "TestItem.Bird.Eagle"));

            // SUT2
            LocalizationManager.SetUILanguage("fr", true);

            // Verify French
            Assert.AreEqual("C'est un corbeau", locComponent.GetLocalizedStringFromMock(locComponent.BirdButton, "TestItem.Bird.Crow"));
            Assert.AreEqual("Ce n'est pas un corbeau", locComponent.GetLocalizedStringFromMock(locComponent.BirdButton, "TestItem.Bird.Raven"));
            Assert.AreEqual("C'est un poulet", locComponent.GetLocalizedStringFromMock(locComponent.ChickenButton, "TestItem.Chicken.Rooster"));
            Assert.AreEqual("Un oiseau qui mange des poissons", locComponent.GetLocalizedStringFromMock(locComponent.BirdButton, "TestItem.Bird.Eagle"));

            // SUT3 (I don't like doing multiple tests in one test method, but when I tried to make a different test
            //       I got some test interaction because of setup/teardown. That's easily avoidable by putting the new test here.)
            var result = m_extender.CanExtend(locComponent);

            // Verify
            Assert.IsTrue(result, "an ILocalizableComponent ought to be extendable by the L10NSharpExtender");
        }
        private void InitializeControls()
        {
            _grid = new BetterGrid
            {
                Dock = DockStyle.Top,
                RowHeadersVisible       = false,
                AllowUserToOrderColumns = false,
                AllowUserToResizeRows   = true,
                AutoSizeColumnsMode     = DataGridViewAutoSizeColumnsMode.None,
                Name        = "PersonContributionGrid",
                BorderStyle = BorderStyle.None,
                ColumnHeadersBorderStyle    = DataGridViewHeaderBorderStyle.None,
                ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
            };

            // look for saved settings
            var widths = Array.ConvertAll(Settings.Default.PersonContributionColumns.Split(new[] { ',' }), int.Parse).ToList();

            while (widths.Count < 4)
            {
                widths.Add(200);
            }

            // set the localizable column header text
            string[] headerText =
            {
                @"_L10N_:PeopleView.ContributionEditor.NameColumnTitle!Name",
                @"_L10N_:PeopleView.ContributionEditor.RoleColumnTitle!Role",
                @"_L10N_:PeopleView.ContributionEditor.DateColumnTitle!Date",
                @"_L10N_:PeopleView.ContributionEditor.CommentColumnTitle!Comments"
            };

            for (var i = 0; i < headerText.Length; i++)
            {
                _grid.Columns.Add(new DataGridViewTextBoxColumn {
                    Width = widths[i], SortMode = DataGridViewColumnSortMode.Automatic, ReadOnly = true, HeaderText = headerText[i]
                });
            }

            // set column header height to match the other grids
            _grid.AutoResizeColumnHeadersHeight();
            _grid.ColumnHeadersHeight += 8;

            // make it localizable
            L10NSharpExtender locExtender = new L10NSharpExtender();

            locExtender.LocalizationManagerId = "SayMore";
            locExtender.SetLocalizingId(_grid, "ContributionsEditorGrid");

            locExtender.EndInit();

            Controls.Add(_grid);

            _grid.ColumnWidthChanged += _grid_ColumnWidthChanged;

            Program.PersonDataChanged += Program_PersonDataChanged;
            Disposed += PersonContributionEditor_Disposed;
        }
Exemple #5
0
        /// ------------------------------------------------------------------------------------
        protected void AddColumns()
        {
            var col = NewTextBoxColumn("colField");

            col.HeaderText   = @"_L10N_:CommonToMultipleViews.FieldsAndValuesGrid.ColumnHeadings.Field!Field";
            col.Width        = 125;
            col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            Columns.Add(col);

            col              = NewTextBoxColumn("colValue");
            col.HeaderText   = @"_L10N_:CommonToMultipleViews.FieldsAndValuesGrid.ColumnHeadings.Value!Value";
            col.Width        = 175;
            col.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            Columns.Add(col);

            _locExtender.EndInit();
        }
        /// <remarks>SP-874: Not able to open L10NSharp with Alt-Shift-click</remarks>
        private void InitializeGrid()
        {
            // misc. column header settings
            _contributorsControl.Grid.BorderStyle = BorderStyle.None;
            _contributorsControl.Grid.ColumnHeadersBorderStyle    = DataGridViewHeaderBorderStyle.None;
            _contributorsControl.Grid.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;

            // set the localizable column header text
            string[] headerText =
            {
                @"_L10N_:SessionsView.ContributorsEditor.NameColumnTitle!Name",
                @"_L10N_:SessionsView.ContributorsEditor.RoleColumnTitle!Role",
                @"_L10N_:SessionsView.ContributorsEditor.DateColumnTitle!Date",
                @"_L10N_:SessionsView.ContributorsEditor.CommentColumnTitle!Comments"
            };

            for (var i = 0; i < headerText.Length; i++)
            {
                _contributorsControl.SetColumnHeaderText(i, headerText[i]);

                // this is needed to match the visual behavior of the other grids
                _contributorsControl.Grid.Columns[i].SortMode = DataGridViewColumnSortMode.Automatic;
            }

            // set column header height to match the other grids
            _contributorsControl.Grid.AutoResizeColumnHeadersHeight();
            _contributorsControl.Grid.ColumnHeadersHeight += 8;

            // make it localizable
            L10NSharpExtender locExtender = new L10NSharpExtender();

            locExtender.LocalizationManagerId = "SayMore";
            _contributorsControl.SetLocalizationExtender(locExtender);

            locExtender.EndInit();
        }