Changeset 7610


Ignore:
Timestamp:
02/23/19 12:06:17 (8 weeks ago)
Author:
rohit_tandon
Message:

-> Alignment of comment box with the phrase is fixed by handling control in strip instead of ContentView?.

Location:
trunk/Obi/Obi/ProjectView
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Obi/Obi/ProjectView/ContentView.cs

    r7609 r7610  
    5252        private Color m_ColorBackgroundBeforeFlicker; 
    5353        private Color m_ColorBackgroundAfterFlicker; 
    54         private EditableLabel m_EditableLabel; 
    5554 
    5655        /// <summary> 
     
    31663165            if ( verticalScrollToolStripContainer1 != null && !verticalScrollToolStripContainer1.CanScrollDown && mStripsPanel.Location.Y + mStripsPanel.Height > mHScrollBar.Location.Y ) 
    31673166                 UpdateVerticalScrolPanelButtons () ; 
     3167            //if (this.ActiveStrip != null && this.ActiveStrip.IsCommentEditLabelActive) 
     3168            //{ 
     3169            //    this.ActiveStrip.AlignCommentEditLabel(); 
     3170            //} 
    31683171            } 
    31693172 
     
    41194122        protected override bool ProcessCmdKey ( ref Message msg, Keys key ) 
    41204123            { 
    4121                 if (this.Controls.Contains(m_EditableLabel)) 
     4124                if (this.ActiveStrip.IsCommentEditLabelActive) 
     4125                { 
    41224126                    return false; 
     4127                } 
    41234128                if (mProjectView.ObiForm.Settings.Project_OptimizeMemory &&  ShouldSkipKeyDueToMemoryOverload(key)) return true; 
    41244129            if (CanUseKeys && 
     
    55985603                UpdateVerticalScrolPanelButtons(); 
    55995604            } 
     5605            if (this.ActiveStrip != null && this.ActiveStrip.IsCommentEditLabelActive) 
     5606            { 
     5607                this.ActiveStrip.AlignCommentEditLabel(); 
     5608            } 
    56005609            } 
    56015610             
     
    56145623        private void ProjectView_SelectionChanged ( object sender, EventArgs e ) 
    56155624            { 
    5616                 if (this.Controls.Contains(m_EditableLabel)) 
    5617                 { 
    5618                     m_EditableLabel.AddComment -= new EventHandler(EditableLabel_AddNote); 
    5619                     m_EditableLabel.CloseComment -= new EventHandler(EditLabel_CloseAddNote); 
    5620                     this.Controls.Remove(m_EditableLabel); 
     5625                if (this.ActiveStrip.IsCommentEditLabelActive) 
     5626                { 
     5627                    this.ActiveStrip.RemoveEditLabelControlForAddingComment(); 
    56215628                } 
    56225629            if (mProjectView.GetSelectedPhraseSection == null) 
     
    59825989        public bool ShowEditLabelToAddComment() 
    59835990        { 
    5984             EditableLabel editLabel = new EditableLabel(mProjectView.Selection.Node as EmptyNode); 
    5985             this.Controls.Add(editLabel); 
    5986             m_EditableLabel = editLabel; 
    5987             Block tempBlock = FindBlock(mProjectView.Selection.Node as EmptyNode); 
    5988             editLabel.Show(); 
    5989             editLabel.Editable = true; 
    5990             if ((verticalScrollToolStripContainer1.Location.X - tempBlock.Location.X) >= m_EditableLabel.Size.Width) 
    5991             { 
    5992                 editLabel.Location = new Point(tempBlock.Location.X, tempBlock.Location.Y); 
    5993             } 
    5994             else 
    5995             { 
    5996                 int tempVal = m_EditableLabel.Size.Width - (verticalScrollToolStripContainer1.Location.X - tempBlock.Location.X); 
    5997                 editLabel.Location = new Point(tempBlock.Location.X - tempVal, tempBlock.Location.Y); 
    5998             } 
    5999             editLabel.BringToFront(); 
    6000             editLabel.AddComment += new EventHandler(EditableLabel_AddNote); 
    6001             editLabel.CloseComment +=new EventHandler(EditLabel_CloseAddNote); 
    6002             return true; 
     5991            if (mProjectView.Selection.Node is EmptyNode && mProjectView.IsBlockSelected) 
     5992            { 
     5993                ActiveStrip.ShowEditLabelToAddComment(); 
     5994 
     5995                return true; 
     5996            } 
     5997            return false; 
    60035998        } 
    60045999 
     
    61066101            mProjectView.AssignRoleToMarkedContinuousNodes(); 
    61076102        } 
    6108         private void EditableLabel_AddNote(object sender, EventArgs e) 
    6109         { 
    6110             Block tempBlock = FindBlock(mProjectView.Selection.Node as EmptyNode); 
    6111             if (tempBlock != null) 
    6112             { 
    6113                 tempBlock.UpdateLabelsText(); 
    6114                 m_EditableLabel.AddComment -= new EventHandler(EditableLabel_AddNote); 
    6115                 m_EditableLabel.CloseComment -= new EventHandler(EditLabel_CloseAddNote); 
    6116                 this.Controls.Remove(m_EditableLabel); 
    6117  
    6118             } 
    6119         } 
    6120  
    6121         private void EditLabel_CloseAddNote(object sender, EventArgs e) 
    6122         { 
    6123             m_EditableLabel.AddComment -= new EventHandler(EditableLabel_AddNote); 
    6124             m_EditableLabel.CloseComment -= new EventHandler(EditLabel_CloseAddNote); 
    6125             this.Controls.Remove(m_EditableLabel); 
    6126         } 
     6103       
    61276104 
    61286105        public void ResetColorAfterColorFlickering() 
  • trunk/Obi/Obi/ProjectView/Strip.cs

    r7229 r7610  
    2626        private Block m_PrevRecBlock; // Stores previous recording Block. It is used for removing color of previous recording phrase. 
    2727        private const int m_BaseScreenResolution = 768; //@ScreenResolution 
     28        private EditableLabel m_EditableLabel; 
     29        private EmptyNode m_SelectedNodeToAddComment; 
     30        private double m_TimeOfCursor; 
    2831        /// <summary> 
    2932        /// This constructor is used by the designer. 
     
    17981801            if (mContentView != null )  mContentView.SizeChanged -= new EventHandler(Resize_View); 
    17991802        } 
    1800  
     1803        public bool IsCommentEditLabelActive 
     1804        { 
     1805            get 
     1806            { 
     1807                return this.Controls.Contains(m_EditableLabel); 
     1808            } 
     1809        } 
     1810        public void ShowEditLabelToAddComment() 
     1811        { 
     1812            if (mContentView.Selection is AudioSelection) 
     1813            { 
     1814                m_TimeOfCursor = ((AudioSelection)mContentView.Selection).AudioRange.CursorTime;                 
     1815            } 
     1816            EditableLabel editLabel = new EditableLabel(mContentView.Selection.Node as EmptyNode); 
     1817            this.Controls.Add(editLabel); 
     1818            m_EditableLabel = editLabel; 
     1819            m_SelectedNodeToAddComment = mContentView.Selection.Node as EmptyNode; 
     1820            editLabel.Show(); 
     1821            editLabel.Editable = true; 
     1822            AlignCommentEditLabel(); 
     1823            editLabel.BringToFront(); 
     1824            editLabel.AddComment += new EventHandler(EditableLabel_AddComment); 
     1825            editLabel.CloseComment += new EventHandler(EditLabel_CloseAddComment); 
     1826        } 
     1827 
     1828        private void EditableLabel_AddComment(object sender, EventArgs e) 
     1829        { 
     1830            Block tempBlock = FindBlock(m_SelectedNodeToAddComment); 
     1831            if (tempBlock != null) 
     1832            { 
     1833                tempBlock.UpdateLabelsText(); 
     1834                RemoveEditLabelControlForAddingComment(); 
     1835 
     1836            } 
     1837        } 
     1838 
     1839        private void EditLabel_CloseAddComment(object sender, EventArgs e) 
     1840        { 
     1841            RemoveEditLabelControlForAddingComment(); 
     1842        } 
     1843 
     1844        public void RemoveEditLabelControlForAddingComment() 
     1845        { 
     1846            m_EditableLabel.AddComment -= new EventHandler(EditableLabel_AddComment); 
     1847            m_EditableLabel.CloseComment -= new EventHandler(EditLabel_CloseAddComment); 
     1848            this.Controls.Remove(m_EditableLabel); 
     1849 
     1850            if (m_TimeOfCursor != 0 && m_SelectedNodeToAddComment is PhraseNode) 
     1851            { 
     1852                mContentView.Selection = new AudioSelection((PhraseNode)m_SelectedNodeToAddComment, mContentView, 
     1853                    new AudioRange(m_TimeOfCursor)); 
     1854            } 
     1855            else 
     1856            { 
     1857                mContentView.Selection = new NodeSelection(m_SelectedNodeToAddComment, mContentView); 
     1858            } 
     1859            m_TimeOfCursor = 0; 
     1860        } 
     1861        public void AlignCommentEditLabel() 
     1862        { 
     1863 
     1864            Block tempBlock = FindBlock(m_SelectedNodeToAddComment); 
     1865            if ((this.Size.Width - tempBlock.Location.X) >= m_EditableLabel.Size.Width) 
     1866            { 
     1867                m_EditableLabel.Location = new Point(tempBlock.Location.X, tempBlock.Location.Y); 
     1868            } 
     1869            else 
     1870            { 
     1871                int tempVal = (this.Size.Width - m_EditableLabel.Size.Width); 
     1872                m_EditableLabel.Location = new Point(tempVal, tempBlock.Location.Y); 
     1873            } 
     1874        } 
    18011875    } 
    18021876} 
Note: See TracChangeset for help on using the changeset viewer.