using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using GZTW.AyaNova.BLL; using Infragistics.Win; using log4net; using System.Text; namespace AyaNova { /// /// Summary description for MemoReaderForm. /// public class MemoReaderForm : System.Windows.Forms.Form { // Create a logger for use in this class //case 1039 private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private System.Windows.Forms.CheckBox ckIsDirty; private System.Windows.Forms.ErrorProvider ErrorProvider; private System.Windows.Forms.Panel panelLeft; private Infragistics.Win.UltraWinToolbars.UltraToolbarsManager tbManager; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _MemoReaderForm_Toolbars_Dock_Area_Left; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _MemoReaderForm_Toolbars_Dock_Area_Right; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _MemoReaderForm_Toolbars_Dock_Area_Top; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _MemoReaderForm_Toolbars_Dock_Area_Bottom; private Infragistics.Win.UltraWinEditors.UltraTextEditor edMessage; private Infragistics.Win.UltraWinEditors.UltraTextEditor edHeader; private System.ComponentModel.IContainer components; public MemoReaderForm() { // // Required for Windows Form Designer support // InitializeComponent(); } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.components = new System.ComponentModel.Container(); Infragistics.Win.Appearance appearance1 = new Infragistics.Win.Appearance(); Infragistics.Win.UltraWinToolbars.UltraToolbar ultraToolbar1 = new Infragistics.Win.UltraWinToolbars.UltraToolbar("MemoReaderToolbar"); Infragistics.Win.UltraWinToolbars.PopupMenuTool popupMenuTool1 = new Infragistics.Win.UltraWinToolbars.PopupMenuTool("LT:UI.Toolbar.Print"); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool1 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:Memo.Label.Command.Reply"); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool2 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:Memo.Label.Command.Forward"); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool3 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Delete"); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool4 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:Memo.Label.Command.Reply"); Infragistics.Win.Appearance appearance2 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance3 = new Infragistics.Win.Appearance(); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool5 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:Memo.Label.Command.Forward"); Infragistics.Win.Appearance appearance4 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance5 = new Infragistics.Win.Appearance(); Infragistics.Win.UltraWinToolbars.ButtonTool buttonTool6 = new Infragistics.Win.UltraWinToolbars.ButtonTool("LT:UI.Command.Delete"); Infragistics.Win.Appearance appearance6 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance7 = new Infragistics.Win.Appearance(); Infragistics.Win.UltraWinToolbars.PopupMenuTool popupMenuTool2 = new Infragistics.Win.UltraWinToolbars.PopupMenuTool("LT:UI.Toolbar.Print"); Infragistics.Win.Appearance appearance8 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance9 = new Infragistics.Win.Appearance(); Infragistics.Win.UltraWinToolbars.ListTool listTool1 = new Infragistics.Win.UltraWinToolbars.ListTool("REPORTLIST"); Infragistics.Win.UltraWinToolbars.ListTool listTool2 = new Infragistics.Win.UltraWinToolbars.ListTool("REPORTLIST"); this.ckIsDirty = new System.Windows.Forms.CheckBox(); this.panelLeft = new System.Windows.Forms.Panel(); this.edHeader = new Infragistics.Win.UltraWinEditors.UltraTextEditor(); this.edMessage = new Infragistics.Win.UltraWinEditors.UltraTextEditor(); this.ErrorProvider = new System.Windows.Forms.ErrorProvider(this.components); this._MemoReaderForm_Toolbars_Dock_Area_Left = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this.tbManager = new Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(this.components); this._MemoReaderForm_Toolbars_Dock_Area_Right = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this._MemoReaderForm_Toolbars_Dock_Area_Top = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this._MemoReaderForm_Toolbars_Dock_Area_Bottom = new Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea(); this.panelLeft.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.edHeader)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.edMessage)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tbManager)).BeginInit(); this.SuspendLayout(); // // ckIsDirty // this.ckIsDirty.Location = new System.Drawing.Point(-336, 28); this.ckIsDirty.Name = "ckIsDirty"; this.ckIsDirty.Size = new System.Drawing.Size(196, 27); this.ckIsDirty.TabIndex = 5; // // panelLeft // this.panelLeft.Controls.Add(this.edHeader); this.panelLeft.Controls.Add(this.edMessage); this.panelLeft.Dock = System.Windows.Forms.DockStyle.Fill; this.panelLeft.Location = new System.Drawing.Point(0, 43); this.panelLeft.Name = "panelLeft"; this.panelLeft.Size = new System.Drawing.Size(294, 214); this.panelLeft.TabIndex = 96; // // edHeader // this.edHeader.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.edHeader.BorderStyle = Infragistics.Win.UIElementBorderStyle.None; this.edHeader.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.edHeader.Location = new System.Drawing.Point(10, 18); this.edHeader.Multiline = true; this.edHeader.Name = "edHeader"; this.edHeader.ReadOnly = true; this.edHeader.Scrollbars = System.Windows.Forms.ScrollBars.Vertical; this.edHeader.Size = new System.Drawing.Size(275, 74); this.edHeader.TabIndex = 148; // // edMessage // this.edMessage.AlwaysInEditMode = true; this.edMessage.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); appearance1.BackColor = System.Drawing.SystemColors.Window; appearance1.ForeColor = System.Drawing.SystemColors.WindowText; this.edMessage.Appearance = appearance1; this.edMessage.BackColor = System.Drawing.SystemColors.Window; this.edMessage.BorderStyle = Infragistics.Win.UIElementBorderStyle.None; this.edMessage.Location = new System.Drawing.Point(10, 92); this.edMessage.Multiline = true; this.edMessage.Name = "edMessage"; this.edMessage.ReadOnly = true; this.edMessage.Scrollbars = System.Windows.Forms.ScrollBars.Vertical; this.edMessage.Size = new System.Drawing.Size(275, 65); this.edMessage.TabIndex = 93; // // ErrorProvider // this.ErrorProvider.ContainerControl = this; // // _MemoReaderForm_Toolbars_Dock_Area_Left // this._MemoReaderForm_Toolbars_Dock_Area_Left.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._MemoReaderForm_Toolbars_Dock_Area_Left.BackColor = System.Drawing.SystemColors.Control; this._MemoReaderForm_Toolbars_Dock_Area_Left.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Left; this._MemoReaderForm_Toolbars_Dock_Area_Left.ForeColor = System.Drawing.SystemColors.ControlText; this._MemoReaderForm_Toolbars_Dock_Area_Left.Location = new System.Drawing.Point(0, 43); this._MemoReaderForm_Toolbars_Dock_Area_Left.Name = "_MemoReaderForm_Toolbars_Dock_Area_Left"; this._MemoReaderForm_Toolbars_Dock_Area_Left.Size = new System.Drawing.Size(0, 214); this._MemoReaderForm_Toolbars_Dock_Area_Left.ToolbarsManager = this.tbManager; // // tbManager // this.tbManager.DesignerFlags = 1; this.tbManager.DockWithinContainer = this; this.tbManager.DockWithinContainerBaseType = typeof(System.Windows.Forms.Form); this.tbManager.ShowFullMenusDelay = 500; ultraToolbar1.DockedColumn = 0; ultraToolbar1.DockedRow = 0; ultraToolbar1.NonInheritedTools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] { popupMenuTool1, buttonTool1, buttonTool2, buttonTool3}); this.tbManager.Toolbars.AddRange(new Infragistics.Win.UltraWinToolbars.UltraToolbar[] { ultraToolbar1}); this.tbManager.ToolbarSettings.AllowCustomize = Infragistics.Win.DefaultableBoolean.False; this.tbManager.ToolbarSettings.AllowFloating = Infragistics.Win.DefaultableBoolean.False; this.tbManager.ToolbarSettings.AllowHiding = Infragistics.Win.DefaultableBoolean.False; appearance2.Image = global::AyaNova.Resource1.MemoRepliedTo32; buttonTool4.SharedPropsInternal.AppearancesLarge.Appearance = appearance2; appearance3.Image = global::AyaNova.Resource1.MemoRepliedTo16; buttonTool4.SharedPropsInternal.AppearancesSmall.Appearance = appearance3; buttonTool4.SharedPropsInternal.Caption = "LT:Memo.Label.Command.Reply"; appearance4.Image = global::AyaNova.Resource1.MemoForwarded32; buttonTool5.SharedPropsInternal.AppearancesLarge.Appearance = appearance4; appearance5.Image = global::AyaNova.Resource1.MemoForwarded16; buttonTool5.SharedPropsInternal.AppearancesSmall.Appearance = appearance5; buttonTool5.SharedPropsInternal.Caption = "LT:Memo.Label.Command.Forward"; appearance6.Image = global::AyaNova.Resource1.Delete32; buttonTool6.SharedPropsInternal.AppearancesLarge.Appearance = appearance6; appearance7.Image = global::AyaNova.Resource1.Delete16; buttonTool6.SharedPropsInternal.AppearancesSmall.Appearance = appearance7; buttonTool6.SharedPropsInternal.Caption = "LT:UI.Command.Delete"; popupMenuTool2.Settings.ToolDisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.ImageAndText; appearance8.Image = global::AyaNova.Resource1.Print32; popupMenuTool2.SharedPropsInternal.AppearancesLarge.Appearance = appearance8; appearance9.Image = global::AyaNova.Resource1.Print16; popupMenuTool2.SharedPropsInternal.AppearancesSmall.Appearance = appearance9; popupMenuTool2.SharedPropsInternal.Caption = "LT:UI.Toolbar.Print"; popupMenuTool2.SharedPropsInternal.DisplayStyle = Infragistics.Win.UltraWinToolbars.ToolDisplayStyle.ImageOnlyOnToolbars; popupMenuTool2.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] { listTool1}); listTool2.DisplayCheckmark = false; listTool2.SharedPropsInternal.Caption = "REPORTLIST"; this.tbManager.Tools.AddRange(new Infragistics.Win.UltraWinToolbars.ToolBase[] { buttonTool4, buttonTool5, buttonTool6, popupMenuTool2, listTool2}); this.tbManager.UseLargeImagesOnToolbar = true; this.tbManager.ToolClick += new Infragistics.Win.UltraWinToolbars.ToolClickEventHandler(this.tbManager_ToolClick); // // _MemoReaderForm_Toolbars_Dock_Area_Right // this._MemoReaderForm_Toolbars_Dock_Area_Right.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._MemoReaderForm_Toolbars_Dock_Area_Right.BackColor = System.Drawing.SystemColors.Control; this._MemoReaderForm_Toolbars_Dock_Area_Right.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Right; this._MemoReaderForm_Toolbars_Dock_Area_Right.ForeColor = System.Drawing.SystemColors.ControlText; this._MemoReaderForm_Toolbars_Dock_Area_Right.Location = new System.Drawing.Point(294, 43); this._MemoReaderForm_Toolbars_Dock_Area_Right.Name = "_MemoReaderForm_Toolbars_Dock_Area_Right"; this._MemoReaderForm_Toolbars_Dock_Area_Right.Size = new System.Drawing.Size(0, 214); this._MemoReaderForm_Toolbars_Dock_Area_Right.ToolbarsManager = this.tbManager; // // _MemoReaderForm_Toolbars_Dock_Area_Top // this._MemoReaderForm_Toolbars_Dock_Area_Top.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._MemoReaderForm_Toolbars_Dock_Area_Top.BackColor = System.Drawing.SystemColors.Control; this._MemoReaderForm_Toolbars_Dock_Area_Top.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Top; this._MemoReaderForm_Toolbars_Dock_Area_Top.ForeColor = System.Drawing.SystemColors.ControlText; this._MemoReaderForm_Toolbars_Dock_Area_Top.Location = new System.Drawing.Point(0, 0); this._MemoReaderForm_Toolbars_Dock_Area_Top.Name = "_MemoReaderForm_Toolbars_Dock_Area_Top"; this._MemoReaderForm_Toolbars_Dock_Area_Top.Size = new System.Drawing.Size(294, 43); this._MemoReaderForm_Toolbars_Dock_Area_Top.ToolbarsManager = this.tbManager; // // _MemoReaderForm_Toolbars_Dock_Area_Bottom // this._MemoReaderForm_Toolbars_Dock_Area_Bottom.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping; this._MemoReaderForm_Toolbars_Dock_Area_Bottom.BackColor = System.Drawing.SystemColors.Control; this._MemoReaderForm_Toolbars_Dock_Area_Bottom.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Bottom; this._MemoReaderForm_Toolbars_Dock_Area_Bottom.ForeColor = System.Drawing.SystemColors.ControlText; this._MemoReaderForm_Toolbars_Dock_Area_Bottom.Location = new System.Drawing.Point(0, 257); this._MemoReaderForm_Toolbars_Dock_Area_Bottom.Name = "_MemoReaderForm_Toolbars_Dock_Area_Bottom"; this._MemoReaderForm_Toolbars_Dock_Area_Bottom.Size = new System.Drawing.Size(294, 0); this._MemoReaderForm_Toolbars_Dock_Area_Bottom.ToolbarsManager = this.tbManager; // // MemoReaderForm // this.AutoScaleBaseSize = new System.Drawing.Size(6, 15); this.ClientSize = new System.Drawing.Size(294, 257); this.Controls.Add(this.panelLeft); this.Controls.Add(this.ckIsDirty); this.Controls.Add(this._MemoReaderForm_Toolbars_Dock_Area_Left); this.Controls.Add(this._MemoReaderForm_Toolbars_Dock_Area_Right); this.Controls.Add(this._MemoReaderForm_Toolbars_Dock_Area_Bottom); this.Controls.Add(this._MemoReaderForm_Toolbars_Dock_Area_Top); this.MinimumSize = new System.Drawing.Size(306, 294); this.Name = "MemoReaderForm"; this.ShowInTaskbar = false; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show; this.Closing += new System.ComponentModel.CancelEventHandler(this.MemoReaderForm_Closing); this.Load += new System.EventHandler(this.MemoReaderForm_Load); this.panelLeft.ResumeLayout(false); this.panelLeft.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.edHeader)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.edMessage)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tbManager)).EndInit(); this.ResumeLayout(false); } #endregion // __ _ _ ___ ____ __ __ __ __ __ ___ ___ // / _)( )( )/ __)(_ _)/ \( \/ ) / _)/ \( \( _) // ( (_ )()( \__ \ )( ( () )) ( ( (_( () )) ) )) _) // \__) \__/ (___/ (__) \__/(_/\/\_) \__)\__/(___/(___) // #region Form Load / Close //variable to hold user form settings //UIUserFormSetting mFormSetting; /// /// Prepare the form /// /// /// private void MemoReaderForm_Load(object sender, System.EventArgs e) { //case 1039 //log.Debug("MemoReaderForm_Load"); Cursor.Current = Cursors.WaitCursor; this.Visible=false; this.Icon = Resource1.Memo16icon; //See if user has any rights to be here... //(this is done here to ensure that no matter what happens if a user has no rights they can't get here //useful in case we miss a way of getting to a Memo edit screen from elsewhere in the program) if(AyaBizUtils.Right("Object.Memo")< (int)SecurityLevelTypes.ReadOnly)//Less than read only instead of NoAccess to catch records where it's zero instead of 1 { //Inform them of their wicked ways and boot them out of here... MessageBox.Show(string.Format( Util.LocaleText.GetLocalizedText("Error.Security.NotAuthorizedToRetrieve"), Util.LocaleText.GetLocalizedText("O.Memo"))); this.Close(); return; } DisplayMemo(); Util.LoadFormCustomization("MemoReader", this, tbManager, false); Util.PluginInsertMenu(tbManager, new Util.PluginMenuOptionData(true, RootObjectTypes.Memo, mMemo, null));//case 941 if (AyaBizUtils.Right("Object.Report") < (int)SecurityLevelTypes.ReadOnly) { tbManager.Tools["LT:UI.Toolbar.Print"].SharedProps.Visible = false; }//LT:UI.Toolbar.Print else { tbManager.Tools["LT:UI.Toolbar.Print"].SharedProps.Visible = true; Util.ReportFillList(this.tbManager.Tools["REPORTLIST"], MemoList.ReportKey, MemoList.DetailedReportKey); } Util.LocalizeHelperInsertMenu(tbManager, this); //case 1810 Util.Localize(this); Cursor.Current = Cursors.Default; this.Visible=true; } /// /// Save form layout and grid layout for next time /// /// /// private void MemoReaderForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) { //case 1039 //log.Debug("MemoReaderForm_Closing"); Util.SaveFormCustomization("MemoReader", this, tbManager, false); } #endregion #region Display /// /// Fill in the form fields with the memo /// data /// private void DisplayMemo() { this.edHeader.Text=mMemo.Header; //Message this.edMessage.Text=mMemo.Message; //Since the user is about to view it, flag it as viewed if(mMemo.Viewed==false) { Memo.FlagMessageRead(mMemo.ID); } } #endregion #region Toolbar menu items /// /// Respond to a click on a toolbar menu item /// /// /// private void tbManager_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { //case 1039 //if(log.IsDebugEnabled) //case 1039 //log.Debug("ToolClick: "+e.Tool.Key); switch (e.Tool.Key) { case "LT:Memo.Label.Command.Reply": // ButtonTool { MemoComposerForm mcf=new MemoComposerForm(); mcf.MemoToEdit=mMemo.ReplyForward(false); mcf.Visible=false; mcf.ShowDialog(); if(mcf.ChangesMade) Memo.FlagMessageReplied(mMemo.ID); this.Close(); } break; case "LT:Memo.Label.Command.Forward": // ButtonTool { MemoComposerForm mcf=new MemoComposerForm(); mcf.MemoToEdit=mMemo.ReplyForward(true); mcf.Visible=false; mcf.ShowDialog(); if(mcf.ChangesMade) Memo.FlagMessageReplied(mMemo.ID); this.Close(); } break; case "LT:UI.Command.Delete": // ButtonTool Memo.DeleteItem(mMemo.ID); mbChangesMade = true;//case 1880 this.Close(); break; case "REPORTLIST": { if (Util.ReportHandleToolClickIsSummary(e.Tool)) Util.ReportHandleToolClick(e.Tool, MemoList.ReportKey, MemoList.GetListForSingleItem(mMemo.ID)); //else //{ // Util.ReportHandleToolClick(e.Tool, MemoListDetailed.ReportKey, // MemoListDetailed.GetListForSingleItem(mMemo.ID)); //} Util.ReportFillList(this.tbManager.Tools["REPORTLIST"], MemoList.ReportKey, MemoList.DetailedReportKey); break; } } } #endregion Toolbar menu items #region Global vars / props private GZTW.AyaNova.BLL.MemoFetcher mMemo; /// /// Memo record to display /// set by caller /// public GZTW.AyaNova.BLL.MemoFetcher MemoToRead { set { mMemo=value; } } //Used to signal to main form that there are changes //which could affect it if true private bool mbChangesMade = false; public bool ChangesMade { get { return mbChangesMade; } } #endregion } }