using System; using System.ComponentModel; using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.Drawing; using VEPROMS.CSLA.Library; using Volian.Controls.Library; namespace Volian.Controls.Library { public partial class StepTabPanel : DevComponents.DotNetBar.PanelDockContainer { #region Private Fields private DisplayTabControl _MyDisplayTabControl; private StepTabRibbon _MyStepTabRibbon; public StepTabRibbon MyStepTabRibbon { get { return _MyStepTabRibbon; } set { _MyStepTabRibbon = value; } } private StepPanel _MyStepPanel; private DisplayTabItem _MyDisplayTabItem; #endregion #region Properties /// /// Container /// public DisplayTabControl MyDisplayTabControl { get { return _MyDisplayTabControl; } //set { _MyDisplayTabControl = value; } } /// /// StepPanel contained in this control. /// public Volian.Controls.Library.StepPanel MyStepPanel { get { return _MyStepPanel; } //set { _MyStepPanel = value; } } /// /// related DisplayTabItem /// public DisplayTabItem MyDisplayTabItem { get { return _MyDisplayTabItem; } set { _MyDisplayTabItem = value; } } /// /// Currently Selected ItemInfo /// public ItemInfo SelectedItemInfo { get { return _MyStepPanel.SelectedItemInfo; } set { _MyStepPanel.SelectedItemInfo = value; } } /// /// Currently Selected StepItem /// public StepItem SelectedStepItem { //get { return _MyStepPanel._LookupStepItems[_MyStepPanel.SelectedItemInfo.ItemID]; } get { return _MyStepPanel.SelectedStepItem; } } /// /// Procedure ItemInfo /// public ItemInfo MyProcedureItemInfo { get { return _MyStepPanel.MyProcedureItemInfo; } set { _MyStepPanel.MyProcedureItemInfo = value; } } private String _SearchString; public String SearchString { get { return _SearchString; } set { _SearchString = value; FindSearchString(); } } public void FindSearchString() { SelectedStepItem.MyStepRTB.Find(SearchString); } #endregion #region Contructors public StepTabPanel(DisplayTabControl myDisplayTabControl) { _MyDisplayTabControl = myDisplayTabControl; InitializeComponent(); SetupStepTabPanel(); SetupStepPanel(); SetupStepTabRibbon(); } #endregion #region Private Methods - Setup /// /// Setup StepTabRibbon /// private void SetupStepTabRibbon() { _MyStepTabRibbon = new StepTabRibbon(); _MyStepTabRibbon.Dock = System.Windows.Forms.DockStyle.Top; _MyStepTabRibbon.Location = new System.Drawing.Point(0, 0); _MyStepTabRibbon.Name = "displayTabRibbon1"; //_MyTabRibbon.MyDisplayRTB = null; _MyStepTabRibbon.MyStepItem = null; this.Controls.Add(_MyStepTabRibbon); _MyStepTabRibbon.Expanded = _MyDisplayTabControl.RibbonExpanded; } /// /// Setup this within control /// private void SetupStepTabPanel() { Dock = System.Windows.Forms.DockStyle.Fill; this.Enter += new EventHandler(StepTabPanel_Enter); } /// /// Setup StepPanel /// private void SetupStepPanel() { //this.Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0))); _MyStepPanel = new Volian.Controls.Library.StepPanel(this.components); this.Controls.Add(_MyStepPanel); // // _MyPanel // _MyStepPanel.AutoScroll = true; _MyStepPanel.Dock = System.Windows.Forms.DockStyle.Fill; _MyStepPanel.LinkClicked +=new Volian.Controls.Library.StepPanelLinkEvent(_MyStepPanel_LinkClicked); _MyStepPanel.LinkActiveChanged += new Volian.Controls.Library.StepPanelLinkEvent(_MyStepPanel_LinkActiveChanged); _MyStepPanel.LinkInsertTran += new StepPanelLinkEvent(_MyStepPanel_LinkInsertTran); _MyStepPanel.LinkInsertRO += new StepPanelLinkEvent(_MyStepPanel_LinkInsertRO); _MyStepPanel.LinkModifyTran += new StepPanelLinkEvent(_MyStepPanel_LinkModifyTran); _MyStepPanel.LinkModifyRO += new StepPanelLinkEvent(_MyStepPanel_LinkModifyRO); _MyStepPanel.ItemClick +=new Volian.Controls.Library.StepPanelEvent(_MyStepPanel_ItemClick); _MyStepPanel.AttachmentClicked += new Volian.Controls.Library.StepPanelAttachmentEvent(_MyStepPanel_AttachmentClicked); _MyStepPanel.ItemSelectedChanged += new ItemSelectedChangedEvent(_MyStepPanel_ItemSelectedChanged); _MyStepPanel.ModeChange += new Volian.Controls.Library.StepPanelModeChangeEvent(_MyStepPanel_ModeChange); } #endregion #region Event Handlers private bool _ShowingItem = false; public bool ShowingItem { get { return _ShowingItem; } set { _ShowingItem = value; } } /// /// Occurs when the user clicks on a StepTabPanel /// /// /// private void StepTabPanel_Enter(object sender, EventArgs e) { if (_ShowingItem) return; _ShowingItem = true; //if (ItemSelected != null) _MyStepPanel.ItemShow(); _ShowingItem = false; } /// /// Occurs when the cursor moves onto or off of a link /// /// /// void _MyStepPanel_LinkActiveChanged(object sender, StepPanelLinkEventArgs args) { _MyDisplayTabControl.OnLinkActiveChanged(sender, args); } /// /// Occurs when the user chooses to add a transition /// /// /// void _MyStepPanel_LinkInsertTran(object sender, StepPanelLinkEventArgs args) { _MyDisplayTabControl.OnLinkInsertTran(sender, args); } /// /// Occurs when the user chooses to add an RO /// /// /// void _MyStepPanel_LinkInsertRO(object sender, StepPanelLinkEventArgs args) { _MyDisplayTabControl.OnLinkInsertRO(sender, args); } /// /// Occurs when the user chosses to modify a transition /// /// /// void _MyStepPanel_LinkModifyTran(object sender, StepPanelLinkEventArgs args) { _MyDisplayTabControl.OnLinkModifyTran(sender, args); } /// /// Occurs when the user chooses to Modify an RO /// /// /// void _MyStepPanel_LinkModifyRO(object sender, StepPanelLinkEventArgs args) { _MyDisplayTabControl.OnLinkModifyRO(sender, args); } /// /// Occurs when the Selected Item changes /// /// /// void _MyStepPanel_ItemSelectedChanged(object sender, ItemSelectedChangedEventArgs args) { //_MyTabRibbon.MyDisplayRTB = args.MyDisplayItem.MyDisplayRTB; _MyStepTabRibbon.MyStepItem = args.MyStepItem; _MyDisplayTabControl.OnItemSelectedChanged(sender, args); } // Occurs when the Mode Changes void _MyStepPanel_ModeChange(object sender, StepRTBModeChangeEventArgs args) { _MyDisplayTabControl.OnModeChange(sender, args); } /// /// Occurs when the user clicks on the Attachment Expander /// /// /// void _MyStepPanel_AttachmentClicked(object sender, StepPanelAttachmentEventArgs args) { _MyDisplayTabControl.OpenItem(args.MyStepItem.MyItemInfo); } /// /// Occurs when the user clicks on the tab next to an item /// /// /// void _MyStepPanel_ItemClick(object sender, StepPanelEventArgs args) { _MyDisplayTabControl.OnItemClick(sender, args); } /// /// Occurs when the user clicks on an item /// /// /// void _MyStepPanel_LinkClicked(object sender, StepPanelLinkEventArgs args) { if (args.MyLinkText.LinkInfoText.IndexOf("Transition") > -1) _MyDisplayTabControl.OpenItem(args.MyLinkText.MyTranToItemInfo); else Console.WriteLine("Bring Up roeditor"); //TODO: Need to bring up roeditor or infopanel } #endregion } }