This commit is contained in:
Kathy Ruffing 2011-04-26 12:01:15 +00:00
parent 7ea8e04e41
commit 2ec5e1b8dc
2 changed files with 18 additions and 15 deletions

View File

@ -77,7 +77,7 @@ namespace Volian.Controls.Library
{ {
if (ItemClick != null) ItemClick(sender, args); if (ItemClick != null) ItemClick(sender, args);
} }
private bool ItemSelectionChangeShown = false; // This keeps OnItemSelectedChanged from being called twice when an item is selected. public bool ItemSelectionChangeShown = false; // This keeps OnItemSelectedChanged from being called twice when an item is selected.
/// <summary> /// <summary>
/// Occurs when the selected EditItem changes /// Occurs when the selected EditItem changes
/// </summary> /// </summary>
@ -349,19 +349,19 @@ namespace Volian.Controls.Library
get { return _SelectedItemInfo; } get { return _SelectedItemInfo; }
set set
{ {
//vlnStackTrace.ShowStack("SelectedItemInfo {0} => {1}",_SelectedItemInfo, value);
_SelectedItemInfo = value; _SelectedItemInfo = value;
int id = value.ItemID; ItemSelectionChangeShown = false; //OnItemSelectedChanged has not run yet.
ExpandAsNeeded(value); SelectedEditItem.ItemSelect();
// reset the entire step panel if the item isn't found. if (!ItemSelectionChangeShown) OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(SelectedEditItem));
if (!_LookupEditItems.ContainsKey(id)) Reset();
EditItem itm = _LookupEditItems[id];
ItemSelectionChangeShown = false;//OnItemSelectedChanged has not run yet.
itm.ItemSelect();
if (!ItemSelectionChangeShown) OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(itm));
//vlnStackTrace.ShowStack("_ItemSelected = {0}", _ItemSelected.ItemID);// Show StackTrace
} }
} }
public EditItem GetEditItem(ItemInfo itemInfo)
{
ExpandAsNeeded(itemInfo);
if (_SelectedItemInfo == null) _SelectedItemInfo = itemInfo;
if (!_LookupEditItems.ContainsKey(itemInfo.ItemID)) Reset();
return _LookupEditItems[itemInfo.ItemID];
}
private bool _DisplayItemChanging = false; private bool _DisplayItemChanging = false;
public bool DisplayItemChanging public bool DisplayItemChanging
{ {
@ -384,8 +384,6 @@ namespace Volian.Controls.Library
EditItem lastEI = _SelectedEditItem; EditItem lastEI = _SelectedEditItem;
if (value != null) value.SetActive(); // Set the active color if (value != null) value.SetActive(); // Set the active color
if (lastEI == value) return; // Same - No Change if (lastEI == value) return; // Same - No Change
//RHM ToDo: Why doesn't it have focus for copy Step/Paste
if (value != null) value.SetFocus();
if (lastEI != null && lastEI.BeingDisposed == false) if (lastEI != null && lastEI.BeingDisposed == false)
{ {

View File

@ -54,7 +54,12 @@ namespace Volian.Controls.Library
public ItemInfo SelectedItemInfo public ItemInfo SelectedItemInfo
{ {
get { return _MyStepPanel.SelectedItemInfo; } get { return _MyStepPanel.SelectedItemInfo; }
set { _MyStepPanel.SelectedItemInfo = value; } set
{
_MyStepPanel.SelectedEditItem = _MyStepPanel.GetEditItem(value);
_MyStepPanel.SelectedEditItem.ItemSelect();
if (!_MyStepPanel.ItemSelectionChangeShown) _MyStepPanel.OnItemSelectedChanged(this, new ItemSelectedChangedEventArgs(_MyStepPanel.SelectedEditItem));
}
} }
/// <summary> /// <summary>
/// Currently Selected EditItem /// Currently Selected EditItem