Fix problem with Item Selected. Fixes problem so that Item selected stays selected even if it is not active.
Also, makes DSOFramer properly select the related tab when it becomes active.
This commit is contained in:
parent
f6bb58d4d4
commit
ee9acb929d
@ -16,6 +16,7 @@ namespace Volian.Controls.Library
|
||||
private DisplayTabControl _MyTabControl;
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
private AxDSOFramer.AxFramerControl _MyDSOFramer;
|
||||
private TransPanel _MyTransPanel;
|
||||
private static int _Count = 0;
|
||||
private DocumentInfo _MyDocument;
|
||||
private int _MyCount;
|
||||
@ -67,10 +68,21 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
_Count++;
|
||||
_MyCount = _Count;
|
||||
this._MyTransPanel = new TransPanel();
|
||||
this._MyDSOFramer = new AxDSOFramer.AxFramerControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this._MyDSOFramer)).BeginInit();
|
||||
this.Controls.Add(this._MyDSOFramer);
|
||||
this.Controls.Add(this._MyTransPanel);
|
||||
this.components.Add(this._MyDSOFramer);
|
||||
this.components.Add(this._MyTransPanel);
|
||||
this._MyTransPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this._MyTransPanel.Font = new System.Drawing.Font("Tahoma", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this._MyTransPanel.ForeColor = System.Drawing.Color.Brown;
|
||||
//this._MyTransPanel.Location = new System.Drawing.Point(0, 0);
|
||||
//this._MyTransPanel.Name = "transPanel1";
|
||||
//this._MyTransPanel.Size = new System.Drawing.Size(370, 423);
|
||||
//this._MyTransPanel.TabIndex = 1;
|
||||
this._MyTransPanel.Click += new EventHandler(_MyTransPanel_Click);
|
||||
this._MyDSOFramer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
//System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WordDSOTab));
|
||||
//this._DSOFramer.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("_FC.OcxState")));
|
||||
@ -82,7 +94,17 @@ namespace Volian.Controls.Library
|
||||
// this._MyDSOFramer.FrameHookPolicy = DSOFramer.dsoFrameHookPolicy.dsoResetNow;
|
||||
this._MyDSOFramer.BeforeDocumentClosed += new AxDSOFramer._DFramerCtlEvents_BeforeDocumentClosedEventHandler(_MyDSOFramer_BeforeDocumentClosed);
|
||||
this._MyDSOFramer.OnSaveCompleted += new AxDSOFramer._DFramerCtlEvents_OnSaveCompletedEventHandler(_MyDSOFramer_OnSaveCompleted);
|
||||
//this._MyDSOFramer.OnActivationChange += new AxDSOFramer._DFramerCtlEvents_OnActivationChangeEventHandler(_MyDSOFramer_OnActivationChange);
|
||||
this.Enter += new EventHandler(DSOTabPanel_Enter);
|
||||
this.Leave += new EventHandler(DSOTabPanel_Leave);
|
||||
}
|
||||
void DSOTabPanel_Leave(object sender, EventArgs e)
|
||||
{
|
||||
_MyTransPanel.BringToFront();
|
||||
}
|
||||
void _MyTransPanel_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Select();
|
||||
}
|
||||
void _MyDSOFramer_OnSaveCompleted(object sender, AxDSOFramer._DFramerCtlEvents_OnSaveCompletedEvent e)
|
||||
{
|
||||
@ -101,6 +123,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
void DSOTabPanel_Enter(object sender, EventArgs e)
|
||||
{
|
||||
_MyTransPanel.SendToBack();
|
||||
try
|
||||
{
|
||||
_MyDSOFramer.EventsEnabled = true;
|
||||
|
@ -433,8 +433,8 @@ namespace Volian.Controls.Library
|
||||
this.BackColorChanged += new EventHandler(vlnCSLARTB_BackColorChanged);
|
||||
//_DisplayRTB.Enter += new EventHandler(_DisplayRTB_Enter);
|
||||
//_DisplayRTB.Leave += new EventHandler(_DisplayRTB_Leave);
|
||||
_DisplayRTB.GotFocus += new EventHandler(_DisplayRTB_GotFocus);
|
||||
_DisplayRTB.LostFocus += new EventHandler(_DisplayRTB_LostFocus);
|
||||
//_DisplayRTB.GotFocus += new EventHandler(_DisplayRTB_GotFocus);
|
||||
//_DisplayRTB.LostFocus += new EventHandler(_DisplayRTB_LostFocus);
|
||||
_DisplayRTB.MouseClick += new MouseEventHandler(_DisplayRTB_MouseClick);
|
||||
if (item != null)
|
||||
{
|
||||
@ -541,16 +541,16 @@ namespace Volian.Controls.Library
|
||||
// _Panel._ItemSelected = _MyItem;
|
||||
// _Panel.OnItemSelectedChanged(sender, new DisplayPanelEventArgs(this, null));
|
||||
//}
|
||||
void _DisplayRTB_LostFocus(object sender, EventArgs e)
|
||||
{
|
||||
_Panel._ItemSelected = null;
|
||||
_Panel.OnItemSelectedChanged(sender, null);
|
||||
}
|
||||
void _DisplayRTB_GotFocus(object sender, EventArgs e)
|
||||
{
|
||||
_Panel._ItemSelected = _MyItem;
|
||||
_Panel.OnItemSelectedChanged(sender, new DisplayPanelEventArgs(this, null));
|
||||
}
|
||||
//void _DisplayRTB_LostFocus(object sender, EventArgs e)
|
||||
//{
|
||||
// //_Panel.ItemSelected = null;
|
||||
// //_Panel.OnItemSelectedChanged(sender, null);
|
||||
//}
|
||||
//void _DisplayRTB_GotFocus(object sender, EventArgs e)
|
||||
//{
|
||||
// _Panel.ItemSelected = _MyItem;
|
||||
// //_Panel.OnItemSelectedChanged(sender, new DisplayPanelEventArgs(this, null));
|
||||
//}
|
||||
//void _DisplayRTB_Leave(object sender, EventArgs e)
|
||||
//{
|
||||
// _Panel._ItemSelected = null;
|
||||
@ -938,7 +938,7 @@ namespace Volian.Controls.Library
|
||||
_Moving = false;
|
||||
BottomMost.AdjustLocation();
|
||||
}
|
||||
void _DisplayRTB_LinkGoTo(object sender, System.Windows.Forms.LinkClickedEventArgs e)
|
||||
private void _DisplayRTB_LinkGoTo(object sender, System.Windows.Forms.LinkClickedEventArgs e)
|
||||
{
|
||||
_MyLog.DebugFormat("_DisplayRTB_LinkGoTo " + e.LinkText);
|
||||
_Panel.OnLinkClicked(sender, new DisplayLinkEventArgs(this, e));
|
||||
@ -947,14 +947,15 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
_Panel.OnItemClick(this, new DisplayPanelEventArgs(this, e));
|
||||
}
|
||||
private void veRichTextBoxText_Enter(object sender, EventArgs e)
|
||||
private void _DisplayRTB_Enter(object sender, EventArgs e)
|
||||
{
|
||||
_DisplayRTB.BackColor = _Panel.ActiveColor;
|
||||
}
|
||||
private void veRichTextBoxText_Leave(object sender, EventArgs e)
|
||||
{
|
||||
_DisplayRTB.BackColor = _Panel.InactiveColor;
|
||||
_Panel.DisplayRTB = _DisplayRTB;
|
||||
_Panel.ItemSelected = _MyItem;
|
||||
}
|
||||
//private void veRichTextBoxText_Leave(object sender, EventArgs e)
|
||||
//{
|
||||
|
||||
//}
|
||||
|
||||
private void _DisplayRTB_LinkModifyTran(object sender, LinkClickedEventArgs e)
|
||||
{
|
||||
|
@ -61,9 +61,8 @@ namespace Volian.Controls.Library
|
||||
this._DisplayRTB.TabIndex = 2;
|
||||
this._DisplayRTB.Text = "";
|
||||
this._DisplayRTB.VwMode = VEPROMS.CSLA.Library.E_ViewMode.Edit;
|
||||
this._DisplayRTB.Enter += new System.EventHandler(this.veRichTextBoxText_Enter);
|
||||
this._DisplayRTB.Enter += new System.EventHandler(this._DisplayRTB_Enter);
|
||||
this._DisplayRTB.LinkGoTo += new Volian.Controls.Library.DisplayRTBLinkEvent(this._DisplayRTB_LinkGoTo);
|
||||
this._DisplayRTB.Leave += new System.EventHandler(this.veRichTextBoxText_Leave);
|
||||
this._DisplayRTB.HeightChanged += new Volian.Controls.Library.DisplayRTBEvent(this.veRichTextBoxText_HeightChanged);
|
||||
this._DisplayRTB.LinkModifyTran += new Volian.Controls.Library.DisplayRTBLinkEvent(this._DisplayRTB_LinkModifyTran);
|
||||
//
|
||||
|
@ -156,11 +156,28 @@ namespace Volian.Controls.Library
|
||||
ExpandAsNeeded(item);
|
||||
ItemLookup[id].ItemSelect();
|
||||
}
|
||||
private ItemInfo _LastItemSelected;
|
||||
internal ItemInfo LastItemSelected
|
||||
private DisplayRTB _DisplayRTB = null;
|
||||
public DisplayRTB DisplayRTB
|
||||
{
|
||||
get { return _LastItemSelected; }
|
||||
get { return _DisplayRTB; }
|
||||
set
|
||||
{
|
||||
if (_DisplayRTB == value) return; // Same - No Change
|
||||
if (_DisplayRTB != null)
|
||||
{
|
||||
_DisplayRTB.BackColor = InactiveColor;
|
||||
_DisplayRTB.SaveText(); // Save any changes to the text
|
||||
}
|
||||
_DisplayRTB = value;
|
||||
_DisplayRTB.BackColor = ActiveColor;
|
||||
}
|
||||
}
|
||||
|
||||
//private ItemInfo _LastItemSelected;
|
||||
//internal ItemInfo LastItemSelected
|
||||
//{
|
||||
// get { return _LastItemSelected; }
|
||||
//}
|
||||
internal ItemInfo _ItemSelected;
|
||||
public ItemInfo ItemSelected
|
||||
{
|
||||
@ -168,12 +185,12 @@ namespace Volian.Controls.Library
|
||||
set
|
||||
{
|
||||
_ItemSelected = value;
|
||||
if (value == null)
|
||||
{
|
||||
OnItemSelectedChanged(this, null);
|
||||
return;
|
||||
}
|
||||
_LastItemSelected = value;
|
||||
//if (value == null)
|
||||
//{
|
||||
// OnItemSelectedChanged(this, null);
|
||||
// return;
|
||||
//}
|
||||
//_LastItemSelected = value;
|
||||
int id = value.ItemID;
|
||||
ExpandAsNeeded(value);
|
||||
ItemLookup[id].ItemSelect();
|
||||
@ -182,12 +199,12 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
public DisplayItem DisplayItemSelected
|
||||
{
|
||||
get { return (_ItemSelected != null)?ItemLookup[_ItemSelected.ItemID]:null; }
|
||||
get { return (_ItemSelected != null) ? ItemLookup[_ItemSelected.ItemID] : null; }
|
||||
}
|
||||
public void ItemShow()
|
||||
{
|
||||
if (_LastItemSelected != null)
|
||||
ItemLookup[_LastItemSelected.ItemID].ItemShow();
|
||||
if (_ItemSelected != null)
|
||||
ItemLookup[_ItemSelected.ItemID].ItemShow();
|
||||
}
|
||||
private int _Scrolling = 0; // Volian Property Snippet
|
||||
public int Scrolling
|
||||
|
@ -15,6 +15,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
if (_DisplayRTB != null) _DisplayRTB.SaveText();
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
|
@ -173,7 +173,7 @@ namespace Volian.Controls.Library
|
||||
this.LinkClicked += new LinkClickedEventHandler(onLinkClicked);
|
||||
this.KeyPress += new KeyPressEventHandler(onKeyPress);
|
||||
this.KeyDown += new KeyEventHandler(onKeyDown);
|
||||
this.Leave += new EventHandler(DisplayRTB_Leave);
|
||||
//this.Leave += new EventHandler(DisplayRTB_Leave);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -201,7 +201,7 @@ namespace Volian.Controls.Library
|
||||
this.LinkClicked += new LinkClickedEventHandler(onLinkClicked);
|
||||
this.KeyPress += new KeyPressEventHandler(onKeyPress);
|
||||
this.KeyDown += new KeyEventHandler(onKeyDown);
|
||||
this.Leave += new EventHandler(DisplayRTB_Leave);
|
||||
//this.Leave += new EventHandler(DisplayRTB_Leave);
|
||||
}
|
||||
#endregion
|
||||
#region ApplicationSupport
|
||||
@ -377,15 +377,19 @@ namespace Volian.Controls.Library
|
||||
_LinkClickedEventArgs = args;
|
||||
if (LinkModifyTran != null) LinkModifyTran(sender, args);
|
||||
}
|
||||
void DisplayRTB_Leave(object sender, EventArgs e)
|
||||
{
|
||||
// Save returns true if text was not changed or if change was saved successfully.
|
||||
if (ReadOnly) return;
|
||||
// if selecting another rtb, save. If selecting the info panel don't because
|
||||
// we're still on a valid item.??
|
||||
//void DisplayRTB_Leave(object sender, EventArgs e)
|
||||
//{
|
||||
// // Save returns true if text was not changed or if change was saved successfully.
|
||||
// if (ReadOnly) return;
|
||||
// // if selecting another rtb, save. If selecting the info panel don't because
|
||||
// // we're still on a valid item.??
|
||||
|
||||
// RHM?? why commented out. bool success = _origVlnText.Save((RichTextBox)this);
|
||||
// RHM?? why commented out.if (!success) Console.WriteLine("Failed to save text: {0}", this.Text);
|
||||
//}
|
||||
public void SaveText()
|
||||
{
|
||||
if (ReadOnly) return;
|
||||
bool success = _origVlnText.Save((RichTextBox)this);
|
||||
if (!success) Console.WriteLine("Failed to save text: {0}", this.Text);
|
||||
}
|
||||
private Point _savcurpos;
|
||||
private void onLinkClicked(object sender, System.Windows.Forms.LinkClickedEventArgs e)
|
||||
|
Loading…
x
Reference in New Issue
Block a user