B2012-350 added call to save the text before it processes a tab change

B2012-347 fixed problem with doing a find text after doing a spell check
B2012-350 needed to add a count check for the list of tab items
This commit is contained in:
John Jenko 2012-12-06 03:32:50 +00:00
parent 5302c8a95f
commit 4d0346f0f8
3 changed files with 16 additions and 4 deletions

View File

@ -293,6 +293,7 @@ namespace Volian.Controls.Library
{ {
if (_Initalizing) return; if (_Initalizing) return;
EditItem topEditItem = MyEditItem; EditItem topEditItem = MyEditItem;
MyEditItem.SaveContents();
FormatData fmtdata = CurItemInfo.ActiveFormat.PlantFormat.FormatData; FormatData fmtdata = CurItemInfo.ActiveFormat.PlantFormat.FormatData;
string msgBox = null; string msgBox = null;
if (cbChgAll.Checked) if (cbChgAll.Checked)

View File

@ -594,6 +594,7 @@ namespace Volian.Controls.Library
this.SelectionChanged -= new EventHandler(StepRTB_SelectionChanged); this.SelectionChanged -= new EventHandler(StepRTB_SelectionChanged);
this.ContextMenuStripChanged -= new EventHandler(StepRTB_ContextMenuStripChanged); this.ContextMenuStripChanged -= new EventHandler(StepRTB_ContextMenuStripChanged);
this.RTBSelectionChanged -= new StepRTBEvent(StepRTB_RTBSelectionChanged); this.RTBSelectionChanged -= new StepRTBEvent(StepRTB_RTBSelectionChanged);
this.HandleCreated -= new EventHandler(StepRTB_HandleCreated);
this.HandleDestroyed -= new EventHandler(StepRTB_HandleDestroyed); this.HandleDestroyed -= new EventHandler(StepRTB_HandleDestroyed);
_EventHandlersForKeyPress = _EventHandlersForKeyPress - 1; _EventHandlersForKeyPress = _EventHandlersForKeyPress - 1;
} }
@ -619,9 +620,15 @@ namespace Volian.Controls.Library
this.SelectionChanged +=new EventHandler(StepRTB_SelectionChanged); this.SelectionChanged +=new EventHandler(StepRTB_SelectionChanged);
this.ContextMenuStripChanged += new EventHandler(StepRTB_ContextMenuStripChanged); this.ContextMenuStripChanged += new EventHandler(StepRTB_ContextMenuStripChanged);
this.RTBSelectionChanged += new StepRTBEvent(StepRTB_RTBSelectionChanged); this.RTBSelectionChanged += new StepRTBEvent(StepRTB_RTBSelectionChanged);
this.HandleCreated += new EventHandler(StepRTB_HandleCreated);
this.HandleDestroyed += new EventHandler(StepRTB_HandleDestroyed); this.HandleDestroyed += new EventHandler(StepRTB_HandleDestroyed);
_EventHandlersForKeyPress = _EventHandlersForKeyPress+1; _EventHandlersForKeyPress = _EventHandlersForKeyPress+1;
} }
private int _HandleCount = 0;
void StepRTB_HandleCreated(object sender, EventArgs e)
{
_HandleCount++;
}
// When a border style is changed, the richtextbox's handle is 'destroyed', so that the handleDestroyed // When a border style is changed, the richtextbox's handle is 'destroyed', so that the handleDestroyed
// event is done. This was causing the event handlers to be removed (RemoveEventHandler) so that the // event is done. This was causing the event handlers to be removed (RemoveEventHandler) so that the
// keypress event handler was not run. The following was added so that the keypress event is restored // keypress event handler was not run. The following was added so that the keypress event is restored
@ -640,8 +647,12 @@ namespace Volian.Controls.Library
} }
void StepRTB_HandleDestroyed(object sender, EventArgs e) void StepRTB_HandleDestroyed(object sender, EventArgs e)
{ {
Closed = true; if (_HandleCount == 0)
RemoveEventHandlers(); {
Closed = true;
RemoveEventHandlers();
}
_HandleCount--;
} }
void StepRTB_RTBSelectionChanged(object sender, EventArgs args) void StepRTB_RTBSelectionChanged(object sender, EventArgs args)
{ {

View File

@ -824,7 +824,7 @@ namespace Volian.Controls.Library
// if doing the insert substep button, check for substeps already there and if so must match type. // if doing the insert substep button, check for substeps already there and if so must match type.
if (btn.Name == "btnInsSubstep") if (btn.Name == "btnInsSubstep")
{ {
if (MyItemInfo.Steps != null) if (MyItemInfo.Steps != null && MyItemInfo.Steps.Count > 0)
{ {
ItemInfo ichld = MyItemInfo.Steps[0]; ItemInfo ichld = MyItemInfo.Steps[0];
btn.Click -= new System.EventHandler(btnInsStep_Click); btn.Click -= new System.EventHandler(btnInsStep_Click);
@ -843,7 +843,7 @@ namespace Volian.Controls.Library
bool addit = true; bool addit = true;
StepData sd = MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList[sdr.Index]; StepData sd = MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList[sdr.Index];
int hlsSubType = -1; // if on hls, use this to set default on substep menu to first child int hlsSubType = -1; // if on hls, use this to set default on substep menu to first child
if (MyItemInfo.IsHigh && MyItemInfo.Steps != null) if (MyItemInfo.IsHigh && MyItemInfo.Steps != null && MyItemInfo.Steps.Count > 0)
{ {
hlsSubType = (int)MyItemInfo.Steps[0].MyContent.Type - 20000; hlsSubType = (int)MyItemInfo.Steps[0].MyContent.Type - 20000;
} }