/// ------------------------------------------------------------------------------------ /// <summary> /// Default Constructor /// </summary> /// ------------------------------------------------------------------------------------ public FwLabel() { m_innerFwTextBox = new InnerFwTextBox(); m_innerFwTextBox.ReadOnlyView = true; Padding = new Padding(1, 2, 1, 1); Controls.Add(m_innerFwTextBox); // This causes us to get a notification when the string gets changed, // so we can fire our TextChanged event. m_sda = m_innerFwTextBox.DataAccess; m_sda.AddNotification(this); m_innerFwTextBox.AdjustStringHeight = false; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Default Constructor /// </summary> /// ------------------------------------------------------------------------------------ public FwTextBox() { m_innerFwTextBox = new InnerFwTextBox(); if (Application.RenderWithVisualStyles) DoubleBuffered = true; HasBorder = true; Padding = Application.RenderWithVisualStyles ? new Padding(2) : new Padding(1, 2, 1, 1); m_innerFwTextBox.Dock = DockStyle.Fill; Controls.Add(m_innerFwTextBox); // This causes us to get a notification when the string gets changed, // so we can fire our TextChanged event. m_sda = m_innerFwTextBox.DataAccess; m_sda.AddNotification(this); m_innerFwTextBox.LostFocus += OnInnerTextBoxLostFocus; m_innerFwTextBox.GotFocus += m_innerFwTextBox_GotFocus; m_innerFwTextBox.MouseEnter += m_innerFwTextBox_MouseEnter; m_innerFwTextBox.MouseLeave += m_innerFwTextBox_MouseLeave; // This makes it, by default if the container's initialization doesn't change it, // the same default size as a standard text box. Size = new Size(100, 22); // And, if not changed, it's background color is white. BackColor = SystemColors.Window; // Since the TE team put a limit on the text height based on the control's Font, // we want a default font size that is big enough never to limit things. Font = new Font(Font.Name, 100.0f); // We don't want to auto scale because that messes up selections. You can see this // by commenting this line. If FwFindReplaceDlg.AutoScaleMode is set to Font the test // SIL.FieldWorks.FwCoreDlgs.FwFindReplaceDlgTests.ApplyWS_ToSelectedString will // fail because it didn't make a range selection. AutoScaleMode = AutoScaleMode.None; }
/// <summary> /// Executes in two distinct scenarios. /// /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <param name="disposing"></param> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the bug. /// /// If subclasses override this method, they should call the base implementation. /// </remarks> protected override void Dispose(bool disposing) { Debug.WriteLineIf(!disposing, "****************** Missing Dispose() call for " + GetType().Name + " ******************"); // Must not be run more than once. if (IsDisposed) return; // m_sda COM object block removed due to crash in Finializer thread LT-6124 if (disposing) { // Dispose managed resources here. if (m_sda != null) m_sda.RemoveNotification(this); if (m_innerFwTextBox != null) { Controls.Remove(m_innerFwTextBox); m_innerFwTextBox.LostFocus -= OnInnerTextBoxLostFocus; m_innerFwTextBox.GotFocus -= m_innerFwTextBox_GotFocus; m_innerFwTextBox.MouseEnter -= m_innerFwTextBox_MouseEnter; m_innerFwTextBox.MouseLeave -= m_innerFwTextBox_MouseLeave; m_innerFwTextBox.Dispose(); } } // Dispose unmanaged resources here, whether disposing is true or false. m_innerFwTextBox = null; m_sda = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Construct one. Must be part of an InnerFwTextBox. /// </summary> /// ------------------------------------------------------------------------------------ internal TextBoxVc(InnerFwTextBox innerTextBox) { m_innerTextBox = innerTextBox; }
/// <summary> /// Executes in two distinct scenarios. /// /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <param name="disposing"></param> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the bug. /// /// If subclasses override this method, they should call the base implementation. /// </remarks> protected override void Dispose(bool disposing) { Debug.WriteLineIf(!disposing, "****************** Missing Dispose() call for " + GetType().Name + " ******************"); // Must not be run more than once. if (IsDisposed) return; if (disposing) { // Dispose managed resources here. } // Dispose unmanaged resources here, whether disposing is true or false. m_innerFwTextBox = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Initializes a new instance of the <see cref="TextBoxEditingHelper"/> class. /// </summary> /// <param name="innerFwTextBox">The inner fw text box.</param> /// ------------------------------------------------------------------------------------ public TextBoxEditingHelper(InnerFwTextBox innerFwTextBox) : base(innerFwTextBox) { m_innerFwTextBox = innerFwTextBox; }
/// ------------------------------------------------------------------------------------ /// <summary> /// Default Constructor /// </summary> /// ------------------------------------------------------------------------------------ public FwTextBox() { HasBorder = true; Padding = Application.RenderWithVisualStyles ? new Padding(2) : new Padding(1, 2, 1, 1); m_innerFwTextBox = new InnerFwTextBox(); m_innerFwTextBox.Dock = DockStyle.Fill; this.Controls.Add(m_innerFwTextBox); // This causes us to get a notification when the string gets changed, // so we can fire our TextChanged event. m_sda = m_innerFwTextBox.DataAccess; m_sda.AddNotification(this); m_innerFwTextBox.LostFocus += new EventHandler(OnInnerTextBoxLostFocus); m_innerFwTextBox.GotFocus += new EventHandler(m_innerFwTextBox_GotFocus); m_innerFwTextBox.MouseEnter += new EventHandler(m_innerFwTextBox_MouseEnter); m_innerFwTextBox.MouseLeave += new EventHandler(m_innerFwTextBox_MouseLeave); // This makes it, by default if the container's initialization doesn't change it, // the same default size as a standard text box. this.Size = new Size(100,22); // And, if not changed, it's background color is white. this.BackColor = SystemColors.Window; // Since the TE team put a limit on the text height based on the control's Font, // we want a default font size that is big enough never to limit things. this.Font = new Font(Font.Name, 100.0f); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Executes in two distinct scenarios. /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false /// to release only unmanaged resources.</param> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the bug. /// If subclasses override this method, they should call the base implementation. /// </remarks> /// ------------------------------------------------------------------------------------ protected override void Dispose(bool disposing) { // Must not be run more than once. if (IsDisposed) return; if (disposing) { // Dispose managed resources here. if (m_sda != null) m_sda.RemoveNotification(this); // m_innerFwTextBox is part of Controls collection and will be disposed there. } // Dispose unmanaged resources here, whether disposing is true or false. m_innerFwTextBox = null; m_sda = null; base.Dispose(disposing); }
/// ------------------------------------------------------------------------------------ /// <summary> /// Executes in two distinct scenarios. /// 1. If disposing is true, the method has been called directly /// or indirectly by a user's code via the Dispose method. /// Both managed and unmanaged resources can be disposed. /// 2. If disposing is false, the method has been called by the /// runtime from inside the finalizer and you should not reference (access) /// other managed objects, as they already have been garbage collected. /// Only unmanaged resources can be disposed. /// </summary> /// <param name="disposing">true to release both managed and unmanaged resources; false /// to release only unmanaged resources.</param> /// <remarks> /// If any exceptions are thrown, that is fine. /// If the method is being done in a finalizer, it will be ignored. /// If it is thrown by client code calling Dispose, /// it needs to be handled by fixing the bug. /// If subclasses override this method, they should call the base implementation. /// </remarks> /// ------------------------------------------------------------------------------------ protected override void Dispose(bool disposing) { System.Diagnostics.Debug.WriteLineIf(!disposing, "****************** Missing Dispose() call for " + GetType().Name + " ******************"); // Must not be run more than once. if (IsDisposed) return; if (disposing) { // Dispose managed resources here. if (m_sda != null) m_sda.RemoveNotification(this); // m_innerFwTextBox is part of Controls collection and will be disposed there. } // Dispose unmanaged resources here, whether disposing is true or false. m_innerFwTextBox = null; m_sda = null; base.Dispose(disposing); }