This commit is contained in:
Jsj
2008-05-16 18:13:12 +00:00
parent 8ba64060e2
commit af04fa6ef6
16 changed files with 1240 additions and 595 deletions

View File

@@ -122,7 +122,17 @@ namespace Volian.Controls.Library
//this._MyDSOFramer.OnActivationChange += new AxDSOFramer._DFramerCtlEvents_OnActivationChangeEventHandler(_MyDSOFramer_OnActivationChange);
this.Enter += new EventHandler(DSOTabPanel_Enter);
this.Leave += new EventHandler(DSOTabPanel_Leave);
//this.GotFocus += new EventHandler(DSOTabPanel_GotFocus);
//this.LostFocus += new EventHandler(DSOTabPanel_LostFocus);
}
//void DSOTabPanel_LostFocus(object sender, EventArgs e)
//{
// vlnStackTrace.ShowStack("DSOTabPanel_LostFocus {0} DocID {1} Index {2} {3}", _In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName);
//}
//void DSOTabPanel_GotFocus(object sender, EventArgs e)
//{
// vlnStackTrace.ShowStack("DSOTabPanel_GotFocus {0} DocID {1} Index {2} {3}", _In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName);
//}
#endregion
#region Event Handlers
/// <summary>
@@ -132,6 +142,7 @@ namespace Volian.Controls.Library
/// <param name="e"></param>
void DSOTabPanel_Leave(object sender, EventArgs e)
{
//vlnStackTrace.ShowStack("DSOTabPanel_Leave {0} DocID {1} Index {2} {3}", _In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName);
_MyTransparentPanel.BringToFront();
}
/// <summary>
@@ -161,6 +172,8 @@ namespace Volian.Controls.Library
{
try
{
this.Enter -= new EventHandler(DSOTabPanel_Enter);
this.Leave -= new EventHandler(DSOTabPanel_Leave);
SaveDirty();
}
catch (Exception ex)
@@ -168,6 +181,8 @@ namespace Volian.Controls.Library
_MyLog.Warn("Before Closing Document ", ex);
}
}
public static bool IgnoreEnter = false;
private bool _In_DSOTabPanel_Enter=false;
/// <summary>
/// When a Word document is selected make sure it's tab is activated and
/// the SelectedItem for the DisplayTabControl is updated.
@@ -176,6 +191,7 @@ namespace Volian.Controls.Library
/// <param name="e"></param>
void DSOTabPanel_Enter(object sender, EventArgs e)
{
if (IgnoreEnter) return;
_MyTransparentPanel.SendToBack();
try
{
@@ -186,8 +202,12 @@ namespace Volian.Controls.Library
{
if (_MyLog.IsErrorEnabled) _MyLog.ErrorFormat("DSOTabPage_Enter", ex);
}
_MyDisplayTabControl.OnItemSelectedChanged(this, null);
if (_In_DSOTabPanel_Enter) return;
vlnStackTrace.ShowStack("DSOTabPanel_Enter {0} DocID {1} Index {2} {3}",_In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName);
_In_DSOTabPanel_Enter = true;
_MyDisplayTabControl.OnItemSelectedChanged(this,new ItemSelectedChangedEventArgs(MyDisplayTabItem.MyItemInfo));
_MyDSOFramer.Focus();
_In_DSOTabPanel_Enter = false;
}
#endregion
#region Public Methods