GetCurrentLayout() public method

public GetCurrentLayout ( ) : Layout
return Bloom.Book.Layout
Example #1
0
        public void UpdateDisplay()
        {
            try
            {
                _updatingDisplay = true;

                _contentLanguagesDropdown.DropDownItems.Clear();
                foreach (var l in _model.ContentLanguages)
                {
                    ToolStripMenuItem item = (ToolStripMenuItem)_contentLanguagesDropdown.DropDownItems.Add(l.ToString());
                    item.Tag             = l;
                    item.Enabled         = !l.Locked;
                    item.Checked         = l.Selected;
                    item.CheckOnClick    = true;
                    item.CheckedChanged += new EventHandler(OnContentLanguageDropdownItem_CheckedChanged);
                }

                _layoutChoices.DropDownItems.Clear();
                var layout        = _model.GetCurrentLayout();
                var layoutChoices = _model.GetLayoutChoices();
                foreach (var l in layoutChoices)
                {
                    var text = LocalizationManager.GetDynamicString("Bloom", "LayoutChoices." + l.ToString(), l.ToString());
                    ToolStripMenuItem item = (ToolStripMenuItem)_layoutChoices.DropDownItems.Add(text);
                    item.Tag = l;
                    //we don't allow the split options here
                    if (l.ElementDistribution == Book.Layout.ElementDistributionChoices.SplitAcrossPages)
                    {
                        item.Enabled     = false;
                        item.ToolTipText = LocalizationManager.GetString("EditTab.layoutInPublishTabOnlyNotice", "This option is only available in the Publish tab.");
                    }
                    item.Text   = text;
                    item.Click += new EventHandler(OnPaperSizeAndOrientationMenuClick);
                }

                if (layoutChoices.Count() < 2)
                {
                    ToolStripMenuItem item = (ToolStripMenuItem)_layoutChoices.DropDownItems.Add(LocalizationManager.GetString("EditTab.noOtherLayouts", "There are no other layout options for this template.", "Show in the layout chooser dropdown of the edit tab, if there was only a single layout choice"));
                    item.Tag     = null;
                    item.Enabled = false;
                }

                _layoutChoices.Text = LocalizationManager.GetDynamicString("Bloom", "LayoutChoices." + layout, layout.ToString());

                switch (_model.NumberOfDisplayedLanguages)
                {
                case 1:
                    _contentLanguagesDropdown.Text = LocalizationManager.GetString("EditTab.monolingual", "One Language", "Shown in edit tab multilingualism chooser, for monolingual mode, one language per page");
                    break;

                case 2:
                    _contentLanguagesDropdown.Text = LocalizationManager.GetString("EditTab.bilingual", "Two Languages", "Shown in edit tab multilingualism chooser, for bilingual mode, 2 languages per page");
                    break;

                case 3:
                    _contentLanguagesDropdown.Text = LocalizationManager.GetString("EditTab.trilingual", "Three Languages", "Shown in edit tab multilingualism chooser, for trilingual mode, 3 languages per page");
                    break;
                }

                //I'm surprised that L10NSharp (in aug 2014) doesn't automatically make tooltips localizable, but this is how I got it to work
                _layoutChoices.ToolTipText = LocalizationManager.GetString("EditTab.PageSizeAndOrientation.Tooltip",
                                                                           //_layoutChoices.ToolTipText); doesn't work because the scanner needs literals
                                                                           "Choose a page size and orientation");
            }
            catch (Exception error)
            {
                Palaso.Reporting.ErrorReport.NotifyUserOfProblem(error, "There was a problem updating the edit display.");
            }
            finally
            {
                _updatingDisplay = false;
            }
        }