private void OnMouseClick(object sender, DomMouseEventArgs e)
        {
            if (!m_blocksDisplayBrowser.Window.Selection.IsCollapsed)
            {
                return;
            }

            GeckoElement geckoElement;

            if (GeckoUtilities.ParseDomEventTargetAsGeckoElement(e.Target, out geckoElement))
            {
                var geckoDivElement = geckoElement as GeckoDivElement;

                while (geckoDivElement != null && !geckoDivElement.ClassName.Contains("block scripture"))
                {
                    geckoDivElement = geckoDivElement.Parent as GeckoDivElement;
                }
                if (geckoDivElement == null)
                {
                    return;
                }

                int       blockIndexInBook;
                GeckoNode blockIndexInBookAttr = geckoDivElement.Attributes["data-block-index-in-book"];
                if (blockIndexInBookAttr == null || !Int32.TryParse(blockIndexInBookAttr.NodeValue, out blockIndexInBook))
                {
                    return;
                }
                m_viewModel.CurrentBlockIndexInBook = blockIndexInBook;
            }
        }
Example #2
0
        private void HandleClick(object sender, DomMouseEventArgs e)
        {
            GeckoElement geckoElement;

            if (m_blocksDisplayBrowser.Visible && GeckoUtilities.ParseDomEventTargetAsGeckoElement(e.Target, out geckoElement))
            {
                int splitId;
                if (IsElementSelect(geckoElement))
                {
                    m_lblInvalidSplitLocation.Visible = false;
                }
                else if (IsElementSplitLine(geckoElement, out splitId))
                {
                    m_splitLocations.Remove(m_splitLocations.Single(s => s.Id == splitId));
                    SetHtml();
                    m_btnOk.Enabled = m_splitLocations.Any();
                    m_lblInvalidSplitLocation.Visible = false;
                }
                else if (DetermineSplitLocation(geckoElement))
                {
                    SetHtml();
                    m_btnOk.Enabled = true;
                    m_lblInvalidSplitLocation.Visible = false;
                }
                else
                {
                    m_lblInvalidSplitLocation.Visible = true;
                }
            }
            else
            {
                m_lblInvalidSplitLocation.Visible = true;
            }
        }