Keyboard shortcut logic
This commit is contained in:
		@@ -435,6 +435,45 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
		{
 | 
							{
 | 
				
			||||||
			AddText(txt);
 | 
								AddText(txt);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private void ToggleCase()
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								char type = 'l';
 | 
				
			||||||
 | 
								// do not change case on linked text
 | 
				
			||||||
 | 
								RangeStatus rs = FindRangeStatus();
 | 
				
			||||||
 | 
								string tmp = null;
 | 
				
			||||||
 | 
								if (rs != RangeStatus.NoContainedLinks)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									int start = SelectionStart;
 | 
				
			||||||
 | 
									int ostart = SelectionStart;
 | 
				
			||||||
 | 
									int end = SelectionStart + SelectionLength;
 | 
				
			||||||
 | 
									bool processed = false;
 | 
				
			||||||
 | 
									while (!processed && start <= end)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										foreach (LinkLocation ll in LinkLocations)
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											if (ll.Start >= start && ll.End <= end)
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												processed = true;
 | 
				
			||||||
 | 
												if (start < ll.Start)
 | 
				
			||||||
 | 
												{
 | 
				
			||||||
 | 
													SelectionStart = start;
 | 
				
			||||||
 | 
													SelectionLength = ll.Start - start;
 | 
				
			||||||
 | 
												}
 | 
				
			||||||
 | 
												start = ll.End + 1;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								string ostring = SelectedText;
 | 
				
			||||||
 | 
								if ((char.IsUpper(ostring, 0) && char.IsUpper(ostring, 1)) ||
 | 
				
			||||||
 | 
									(char.IsLower(ostring, 0) && char.IsUpper(ostring, 1))) type = 'l'; // lower case
 | 
				
			||||||
 | 
								else if ((char.IsUpper(ostring, 0) && char.IsLower(ostring, 1))) type = 'U'; // upper case
 | 
				
			||||||
 | 
								else type = 'T'; // Title case
 | 
				
			||||||
 | 
								SetSelectedCase(type);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		public void SetSelectedCase(char type)
 | 
							public void SetSelectedCase(char type)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			// do not change case on linked text
 | 
								// do not change case on linked text
 | 
				
			||||||
@@ -1153,6 +1192,55 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
		#region KeyboardHandling
 | 
							#region KeyboardHandling
 | 
				
			||||||
		void StepRTB_KeyUp(object sender, KeyEventArgs e)
 | 
							void StepRTB_KeyUp(object sender, KeyEventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
								if (e.Control)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (e.Alt)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										switch (e.KeyCode)
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											case Keys.M:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.btnAnnots_Click(sender, e);
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											default:
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									if (e.Shift)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										switch (e.KeyCode)
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											case Keys.F:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ShortCutContextMenu("InsFigure");
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											case Keys.T:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ShortCutContextMenu("InsTable");
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											case Keys.N:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ShortCutContextMenu("InsNote");
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											case Keys.C:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ShortCutContextMenu("InsCaution");
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											case Keys.S:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ShortCutContextMenu("InsSubStps");
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											case Keys.H:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ShortCutContextMenu("InsHLS");
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
											case Keys.R:
 | 
				
			||||||
 | 
												this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ShortCutContextMenu("InsRNO");
 | 
				
			||||||
 | 
												e.Handled = true;
 | 
				
			||||||
 | 
												break;
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			if (!e.Shift) return;
 | 
								if (!e.Shift) return;
 | 
				
			||||||
			switch (e.KeyCode)
 | 
								switch (e.KeyCode)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
@@ -1167,6 +1255,10 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
					if (e.Control) // Hardspace - Ctrl+Shift+Space
 | 
										if (e.Control) // Hardspace - Ctrl+Shift+Space
 | 
				
			||||||
						InsertSymbol(@"\u160?");
 | 
											InsertSymbol(@"\u160?");
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
 | 
									case Keys.F3: // shift F3
 | 
				
			||||||
 | 
										e.Handled = true;
 | 
				
			||||||
 | 
										ToggleCase(); // toggle through Upper, Lower, and Title case
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
				default:
 | 
									default:
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -1202,6 +1294,11 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
						StepRTB_HomeEndPressed(e);
 | 
											StepRTB_HomeEndPressed(e);
 | 
				
			||||||
						e.Handled = true;
 | 
											e.Handled = true;
 | 
				
			||||||
						break;
 | 
											break;
 | 
				
			||||||
 | 
										case Keys.Enter:
 | 
				
			||||||
 | 
											//Console.WriteLine("Ctrl+Enter -  Page Break");
 | 
				
			||||||
 | 
											this.MyStepItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.btnInsPgBrk_Click(sender, e);
 | 
				
			||||||
 | 
											e.Handled = true;
 | 
				
			||||||
 | 
											break;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			switch (e.KeyCode)
 | 
								switch (e.KeyCode)
 | 
				
			||||||
@@ -1363,6 +1460,14 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
					// comment on _OverWrite
 | 
										// comment on _OverWrite
 | 
				
			||||||
					e.Handled = true;
 | 
										e.Handled = true;
 | 
				
			||||||
					break;
 | 
										break;
 | 
				
			||||||
 | 
									case Keys.F6:
 | 
				
			||||||
 | 
										e.Handled = true;
 | 
				
			||||||
 | 
										SendKeys.Send("%H{ESC}");
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									case Keys.Tab:
 | 
				
			||||||
 | 
										e.SuppressKeyPress = true;
 | 
				
			||||||
 | 
										e.Handled = true;
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		private void StepRTB_HomeEndPressed(KeyEventArgs keyargs)
 | 
							private void StepRTB_HomeEndPressed(KeyEventArgs keyargs)
 | 
				
			||||||
@@ -2067,6 +2172,12 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			DebugPrint(where, ": {0} {1} '{2}'", SelectionStart, SelectionLength, SelectedText);
 | 
								DebugPrint(where, ": {0} {1} '{2}'", SelectionStart, SelectionLength, SelectedText);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		#endregion
 | 
							#endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private void StepRTB_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if ((e.KeyCode == Keys.Tab) && (!e.Alt && !e.Control))
 | 
				
			||||||
 | 
									e.IsInputKey = true;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	public partial class StepRTBModeChangeEventArgs : EventArgs
 | 
						public partial class StepRTBModeChangeEventArgs : EventArgs
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,6 +29,10 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
		private void InitializeComponent()
 | 
							private void InitializeComponent()
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			this.SuspendLayout();
 | 
								this.SuspendLayout();
 | 
				
			||||||
 | 
								// 
 | 
				
			||||||
 | 
								// StepRTB
 | 
				
			||||||
 | 
								// 
 | 
				
			||||||
 | 
								this.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.StepRTB_PreviewKeyDown);
 | 
				
			||||||
			this.ResumeLayout(false);
 | 
								this.ResumeLayout(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,6 +45,8 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
		private ItemInfo MyItemInfo
 | 
							private ItemInfo MyItemInfo
 | 
				
			||||||
		{ get { return _MyStepRTB.MyItemInfo; } }
 | 
							{ get { return _MyStepRTB.MyItemInfo; } }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private DevComponents.DotNetBar.ButtonItem _DefaultContextMenu;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		private int _MyLastFormatID = -1;
 | 
							private int _MyLastFormatID = -1;
 | 
				
			||||||
		private StepRTB _MyStepRTB;
 | 
							private StepRTB _MyStepRTB;
 | 
				
			||||||
		public StepRTB MyStepRTB
 | 
							public StepRTB MyStepRTB
 | 
				
			||||||
@@ -60,10 +62,12 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
					{
 | 
										{
 | 
				
			||||||
						case E_FieldToEdit.StepText:
 | 
											case E_FieldToEdit.StepText:
 | 
				
			||||||
							_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit);
 | 
												_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit);
 | 
				
			||||||
 | 
												_DefaultContextMenu = btnCMRtfEdit;
 | 
				
			||||||
							break;
 | 
												break;
 | 
				
			||||||
						case E_FieldToEdit.Text:
 | 
											case E_FieldToEdit.Text:
 | 
				
			||||||
						case E_FieldToEdit.Number:
 | 
											case E_FieldToEdit.Number:
 | 
				
			||||||
							_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit3);
 | 
												_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit3);
 | 
				
			||||||
 | 
												_DefaultContextMenu = btnCMRtfEdit3;
 | 
				
			||||||
							break;
 | 
												break;
 | 
				
			||||||
						default:
 | 
											default:
 | 
				
			||||||
							break;
 | 
												break;
 | 
				
			||||||
@@ -93,12 +97,13 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
						BuildSymbolGallery(sl, galleryContainerSymbolsCM);
 | 
											BuildSymbolGallery(sl, galleryContainerSymbolsCM);
 | 
				
			||||||
						BuildSymbolGallery(sl, galleryContainerSymbolsCM3);
 | 
											BuildSymbolGallery(sl, galleryContainerSymbolsCM3);
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
					SetButtonAndMenuEnabling();
 | 
										SetButtonAndMenuEnabling(true);
 | 
				
			||||||
					
 | 
										
 | 
				
			||||||
					_MyLastFormatID = MyItemInfo.ActiveFormat.FormatID;
 | 
										_MyLastFormatID = MyItemInfo.ActiveFormat.FormatID;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		private void BuildSymbolGallery(SymbolList sl, DevComponents.DotNetBar.GalleryContainer gc)
 | 
							private void BuildSymbolGallery(SymbolList sl, DevComponents.DotNetBar.GalleryContainer gc)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			foreach (Symbol sym in sl)
 | 
								foreach (Symbol sym in sl)
 | 
				
			||||||
@@ -126,7 +131,7 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		void _MyStepRTB_ModeChange(object sender, StepRTBModeChangeEventArgs args)
 | 
							void _MyStepRTB_ModeChange(object sender, StepRTBModeChangeEventArgs args)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			SetButtonAndMenuEnabling();
 | 
								SetButtonAndMenuEnabling(true);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		#endregion
 | 
							#endregion
 | 
				
			||||||
		#region Constructor
 | 
							#region Constructor
 | 
				
			||||||
@@ -169,8 +174,8 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		void MyStepRTB_SelectionChanged(object sender, EventArgs e)
 | 
							void MyStepRTB_SelectionChanged(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			//Console.WriteLine(string.Format("StepTabRibbon: In MyStepRTB_SelectionChanged, Selected Text = {0}",MyStepRTB.SelectedText));
 | 
								//Console.WriteLine(string.Format("StepTabRibbon: In MyStepRTB_SelectionChanged, Selected Text = {0}", MyStepRTB.SelectedText));
 | 
				
			||||||
			SetButtonAndMenuEnabling();
 | 
								SetButtonAndMenuEnabling(false);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		void btnInsStep_Click(object sender, EventArgs e)
 | 
							void btnInsStep_Click(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -260,7 +265,7 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			btnDelelete.Enabled = btnDelStep.Enabled = setting;
 | 
								btnDelelete.Enabled = btnDelStep.Enabled = setting;
 | 
				
			||||||
			btnInsAftH.Enabled = btnInsBefH.Enabled = setting;
 | 
								btnInsAftH.Enabled = btnInsBefH.Enabled = setting;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		private void SetButtonAndMenuEnabling()
 | 
							private void SetButtonAndMenuEnabling(bool docontextmenus)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			if (_MyStepRTB.FieldToEdit != E_FieldToEdit.StepText)
 | 
								if (_MyStepRTB.FieldToEdit != E_FieldToEdit.StepText)
 | 
				
			||||||
				return; // No need to change menu that does not get used
 | 
									return; // No need to change menu that does not get used
 | 
				
			||||||
@@ -306,9 +311,9 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
				btnCMEditTran.Enabled = false;
 | 
									btnCMEditTran.Enabled = false;
 | 
				
			||||||
				btnCMEditRO.Enabled = false;
 | 
									btnCMEditRO.Enabled = false;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			SetStepButtonAndMenuEnabling();
 | 
								SetStepButtonAndMenuEnabling(docontextmenus);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		private void SetStepButtonAndMenuEnabling()
 | 
							private void SetStepButtonAndMenuEnabling(bool docontextmenus)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			btnInsPgBrk.Checked = false;
 | 
								btnInsPgBrk.Checked = false;
 | 
				
			||||||
			// see if manual page break - only available on HLS
 | 
								// see if manual page break - only available on HLS
 | 
				
			||||||
@@ -360,17 +365,28 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			btnInsTable.SubItems.Clear();
 | 
								btnInsTable.SubItems.Clear();
 | 
				
			||||||
			btnInsSubstep.SubItems.Clear();
 | 
								btnInsSubstep.SubItems.Clear();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (docontextmenus)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									btnCMInsHLS.SubItems.Clear();
 | 
				
			||||||
 | 
									btnCMInsCaution.SubItems.Clear();
 | 
				
			||||||
 | 
									btnCMInsNote.SubItems.Clear();
 | 
				
			||||||
 | 
									btnCMInsFigure.SubItems.Clear();
 | 
				
			||||||
 | 
									btnCMInsTable.SubItems.Clear();
 | 
				
			||||||
 | 
									btnCMInsSubStps.SubItems.Clear();
 | 
				
			||||||
 | 
									btnCMInsRNO.SubItems.Clear();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			// if (rno is enabled, set the tag:
 | 
								// if (rno is enabled, set the tag:
 | 
				
			||||||
			if (btnInsRNO.Enabled)
 | 
								if (btnInsRNO.Enabled)
 | 
				
			||||||
				btnInsRNO.Tag = string.Format("{0} {1}", (int)E_FromTypes.RNOs, MyStepItem.MyItemInfo.ActiveFormat.PlantFormat.FormatData.GetIndexFromType("RNOType"));
 | 
									btnInsRNO.Tag = string.Format("{0} {1}", (int)E_FromTypes.RNOs, MyStepItem.MyItemInfo.ActiveFormat.PlantFormat.FormatData.GetIndexFromType("RNOType"));
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			// add subitems depending on whether parent type is enabled:
 | 
								// add subitems depending on whether parent type is enabled:
 | 
				
			||||||
			if (btnInsHLS.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.HLS, sd, btnInsHLS, 0);
 | 
								if (btnInsHLS.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.HLS, sd, btnInsHLS, 0, btnCMInsHLS, docontextmenus);
 | 
				
			||||||
			if (btnInsCaut.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Caution, sd, btnInsCaut, (int)E_FromType.Caution);
 | 
								if (btnInsCaut.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Caution, sd, btnInsCaut, (int)E_FromType.Caution, btnCMInsCaution, docontextmenus);
 | 
				
			||||||
			if (btnInsNote.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Note, sd, btnInsNote, (int)E_FromType.Note);
 | 
								if (btnInsNote.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Note, sd, btnInsNote, (int)E_FromType.Note, btnCMInsNote, docontextmenus);
 | 
				
			||||||
			if (btnInsFig.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Fig, sd, btnInsFig, (int)E_FromType.Table);
 | 
								if (btnInsFig.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Fig, sd, btnInsFig, (int)E_FromType.Table, btnCMInsFigure, docontextmenus);
 | 
				
			||||||
			if (btnInsTable.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Table, sd, btnInsTable, (int)E_FromType.Table);
 | 
								if (btnInsTable.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Table, sd, btnInsTable, (int)E_FromType.Table, btnCMInsTable, docontextmenus);
 | 
				
			||||||
			if (btnInsSubstep.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Substep, sd, btnInsSubstep, (int)E_FromType.Step);
 | 
								if (btnInsSubstep.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Substep, sd, btnInsSubstep, (int)E_FromType.Step, btnCMInsSubStps, docontextmenus);
 | 
				
			||||||
 | 
								if (btnInsRNO.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.RNO, sd, btnInsRNO, 0, btnCMInsRNO, docontextmenus);
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			btnInsTrans.Enabled = btnCMTransition.Enabled = btnInsRO.Enabled = btnCMRO.Enabled = true;
 | 
								btnInsTrans.Enabled = btnCMTransition.Enabled = btnInsRO.Enabled = btnCMRO.Enabled = true;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -382,7 +398,8 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
		/// <param name="sdc">StepData: find subtypes related to this</param>
 | 
							/// <param name="sdc">StepData: find subtypes related to this</param>
 | 
				
			||||||
		/// <param name="selType">StepData: this should be selected button</param>
 | 
							/// <param name="selType">StepData: this should be selected button</param>
 | 
				
			||||||
		/// <param name="btn">DevComponents.DotNetBar.ButtonItem: if items in the gallery, add gallery to this button</param>
 | 
							/// <param name="btn">DevComponents.DotNetBar.ButtonItem: if items in the gallery, add gallery to this button</param>
 | 
				
			||||||
		private void GalleryForSubTypes(StepData sdc, StepData selType, DevComponents.DotNetBar.ButtonItem btn, int fromtype)
 | 
							/// <param name="cmbtn">DevComponents.DotNetBar.ButtonItem: if items in the gallery, add btns to context menu</param>
 | 
				
			||||||
 | 
							private void GalleryForSubTypes(StepData sdc, StepData selType, DevComponents.DotNetBar.ButtonItem btn, int fromtype, DevComponents.DotNetBar.ButtonItem cmbtn, bool docontextmenus)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			int cursel = -1;
 | 
								int cursel = -1;
 | 
				
			||||||
			// The first argument (boolean) in StepGetLevelTypes provides the option to get a complete list of step types
 | 
								// The first argument (boolean) in StepGetLevelTypes provides the option to get a complete list of step types
 | 
				
			||||||
@@ -392,6 +409,7 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			List<StepDataRetval> sdl = MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepGetLevelTypes(getall, sdc, ref cursel, selType.Type, MyItemInfo);
 | 
								List<StepDataRetval> sdl = MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepGetLevelTypes(getall, sdc, ref cursel, selType.Type, MyItemInfo);
 | 
				
			||||||
			if (sdl != null && sdl.Count > 0)
 | 
								if (sdl != null && sdl.Count > 0)
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
 | 
									Char kt = 'A'; // start with letter A for KeyTips
 | 
				
			||||||
				foreach (StepDataRetval sdr in sdl)
 | 
									foreach (StepDataRetval sdr in sdl)
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					bool addit = true;
 | 
										bool addit = true;
 | 
				
			||||||
@@ -414,22 +432,59 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
						bi.Text = sdr.Name;
 | 
											bi.Text = sdr.Name;
 | 
				
			||||||
						bi.Tag = string.Format("{0} {1}", fromtype, sdr.Index);			// index of type to insert it when button is clicked
 | 
											bi.Tag = string.Format("{0} {1}", fromtype, sdr.Index);			// index of type to insert it when button is clicked
 | 
				
			||||||
						bi.Checked = (sd.Type == selType.Type);
 | 
											bi.Checked = (sd.Type == selType.Type);
 | 
				
			||||||
 | 
											if (docontextmenus)
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												DevComponents.DotNetBar.ButtonItem cmbi = new DevComponents.DotNetBar.ButtonItem("cmbtn" + sd.Type, sd.Type);
 | 
				
			||||||
 | 
												cmbi.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.TextOnlyAlways;
 | 
				
			||||||
 | 
												cmbi.Text = sdr.Name;
 | 
				
			||||||
 | 
												cmbi.Tag = string.Format("{0} {1}", fromtype, sdr.Index);			// index of type to insert it when button is clicked
 | 
				
			||||||
 | 
												cmbi.Checked = (sd.Type == selType.Type);
 | 
				
			||||||
 | 
												cmbi.Click += new System.EventHandler(btnInsStep_Click);
 | 
				
			||||||
 | 
												cmbtn.SubItems.Add(cmbi);
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
						if (MyItemInfo.IsHigh && hlsSubType != -1 && sdr.Index == hlsSubType) bi.Checked = true;
 | 
											if (MyItemInfo.IsHigh && hlsSubType != -1 && sdr.Index == hlsSubType) bi.Checked = true;
 | 
				
			||||||
						bi.Click += new System.EventHandler(btnInsStep_Click);
 | 
											bi.Click += new System.EventHandler(btnInsStep_Click);
 | 
				
			||||||
 | 
											// Assign only A-Z to the KeyTips in the list (i.e. assign only the first 24 in the list)
 | 
				
			||||||
 | 
											// Note that KeyTips logic support only single characters at this level (can't have 'AA' for example)
 | 
				
			||||||
 | 
											if (kt != '0')
 | 
				
			||||||
 | 
											{
 | 
				
			||||||
 | 
												bi.KeyTips = kt.ToString();
 | 
				
			||||||
 | 
												if (kt == 'Z')
 | 
				
			||||||
 | 
													kt = '0';
 | 
				
			||||||
 | 
												else
 | 
				
			||||||
 | 
													kt++;
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
						btn.SubItems.Add(bi);
 | 
											btn.SubItems.Add(bi);
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				// if only 1, be sure event exists on button to insert item & if more than 1 remove event because
 | 
									// if only 1, be sure event exists on button to insert item & if more than 1 remove event because
 | 
				
			||||||
				// we want the drop down to appear.
 | 
									// we want the drop down to appear.
 | 
				
			||||||
 | 
									if (btn.Name != "btnInsRNO")
 | 
				
			||||||
					btn.Click -= new System.EventHandler(btnInsStep_Click);
 | 
										btn.Click -= new System.EventHandler(btnInsStep_Click);
 | 
				
			||||||
 | 
									if (docontextmenus)
 | 
				
			||||||
 | 
										cmbtn.Click -= new System.EventHandler(btnInsStep_Click);
 | 
				
			||||||
				if (btn.SubItems.Count == 1)
 | 
									if (btn.SubItems.Count == 1)
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					btn.SubItems.Clear();
 | 
										btn.SubItems.Clear();
 | 
				
			||||||
 | 
										if (btn.Name != "btnInsRNO")
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
						btn.Tag = string.Format("{0} {1}", fromtype, sdc.Index);
 | 
											btn.Tag = string.Format("{0} {1}", fromtype, sdc.Index);
 | 
				
			||||||
						btn.Click += new System.EventHandler(btnInsStep_Click);
 | 
											btn.Click += new System.EventHandler(btnInsStep_Click);
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				//else
 | 
										if (docontextmenus)
 | 
				
			||||||
				//    btn.Click -= new System.EventHandler(btnInsStep_Click);
 | 
										{
 | 
				
			||||||
 | 
											cmbtn.SubItems.Clear();
 | 
				
			||||||
 | 
											DevComponents.DotNetBar.ButtonItem cmbi = new DevComponents.DotNetBar.ButtonItem("cmbtn" + sdc.Type, sdc.Type);
 | 
				
			||||||
 | 
											cmbi.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.TextOnlyAlways;
 | 
				
			||||||
 | 
											cmbi.Text = btn.Text;
 | 
				
			||||||
 | 
											if (btn.Name == "btnInsRNO")
 | 
				
			||||||
 | 
												cmbi.Tag = btn.Tag;
 | 
				
			||||||
 | 
											else
 | 
				
			||||||
 | 
												cmbi.Tag = string.Format("{0} {1}", fromtype, sdc.Index);			// index of type to insert it when button is clicked
 | 
				
			||||||
 | 
											cmbi.Click += new System.EventHandler(btnInsStep_Click);
 | 
				
			||||||
 | 
											cmbtn.SubItems.Add(cmbi);
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		#endregion
 | 
							#endregion
 | 
				
			||||||
@@ -439,8 +494,9 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			DevComponents.DotNetBar.ButtonItem b = (DevComponents.DotNetBar.ButtonItem)sender;
 | 
								DevComponents.DotNetBar.ButtonItem b = (DevComponents.DotNetBar.ButtonItem)sender;
 | 
				
			||||||
			_MyStepRTB.InsertSymbol(Convert.ToInt32(b.Tag));
 | 
								_MyStepRTB.InsertSymbol(Convert.ToInt32(b.Tag));
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		private void btnInsPgBrk_Click(object sender, EventArgs e)
 | 
							public void btnInsPgBrk_Click(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 | 
								rtabInsert.Select();
 | 
				
			||||||
			if (MyItemInfo.IsProcedure || MyItemInfo.IsSection) return;
 | 
								if (MyItemInfo.IsProcedure || MyItemInfo.IsSection) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// toggle manual page break
 | 
								// toggle manual page break
 | 
				
			||||||
@@ -707,9 +763,6 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		private void btnBookmarks_Click(object sender, EventArgs e)
 | 
							private void btnBookmarks_Click(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			//_RibbonControl.KeyTipsEnabled = true;
 | 
					 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			//SendKeys.Send("{F10}");
 | 
					 | 
				
			||||||
			StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("Bookmarks");
 | 
								StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("Bookmarks");
 | 
				
			||||||
			MyStepItem.MyStepPanel.OnTabDisplay(sender, args);
 | 
								MyStepItem.MyStepPanel.OnTabDisplay(sender, args);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -726,7 +779,7 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			MyStepItem.MyStepPanel.OnTabDisplay(sender, args);
 | 
								MyStepItem.MyStepPanel.OnTabDisplay(sender, args);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		private void btnAnnots_Click(object sender, EventArgs e)
 | 
							public void btnAnnots_Click(object sender, EventArgs e)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("Annots");
 | 
								StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("Annots");
 | 
				
			||||||
			MyStepItem.MyStepPanel.OnTabDisplay(sender, args);
 | 
								MyStepItem.MyStepPanel.OnTabDisplay(sender, args);
 | 
				
			||||||
@@ -769,6 +822,56 @@ namespace Volian.Controls.Library
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private void btnCMIns_PopupClose(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								_ContextMenuBar.SetContextMenuEx(_MyStepRTB, _DefaultContextMenu);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public void ShortCutContextMenu(string menuName)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								bool displayMenu = true;
 | 
				
			||||||
 | 
								switch (menuName)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									case "InsHLS":
 | 
				
			||||||
 | 
									_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMInsHLS);
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									case "InsRNO":
 | 
				
			||||||
 | 
										_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMInsRNO);
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									case "InsSubStps":
 | 
				
			||||||
 | 
										_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMInsSubStps);
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									case "InsCaution":
 | 
				
			||||||
 | 
										_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMInsCaution);
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									case "InsNote":
 | 
				
			||||||
 | 
										_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMInsNote);
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									case "InsTable":
 | 
				
			||||||
 | 
										_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMInsTable);
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									case "InsFigure":
 | 
				
			||||||
 | 
										_ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMInsFigure);
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
									default:
 | 
				
			||||||
 | 
										displayMenu = false;
 | 
				
			||||||
 | 
										break;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								if (displayMenu)
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									SendKeys.Send("+{F10}{DOWN}"); // Display Context menu
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private void btnSpell_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MessageBox.Show("Functionality not available.", "Spell Check");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private void btnFindRplDlg_Click(object sender, EventArgs e)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								MessageBox.Show("Functionality not available.", "Find/Replace");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
public enum E_FieldToEdit { StepText, Text, Number };
 | 
					public enum E_FieldToEdit { StepText, Text, Number };
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
									
									
									
										generated
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user