Author: husted Date: Sun Oct 2 12:45:52 2005 New Revision: 293150 URL: http://svn.apache.org/viewcvs?rev=293150&view=rev Log: OVR-21 * Extend API to better utilize Event handlers.
Added: struts/sandbox/trunk/overdrive/Nexus/Core/Helpers/FindArgs.cs Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCatalog.cs struts/sandbox/trunk/overdrive/Nexus/Core/Nexus.Core.xml struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx.cs struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj (original) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj Sun Oct 2 12:45:52 2005 @@ -169,6 +169,11 @@ BuildAction = "Compile" /> <File + RelPath = "Helpers\FindArgs.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "Helpers\IViewHelper.cs" SubType = "Code" BuildAction = "Compile" Added: struts/sandbox/trunk/overdrive/Nexus/Core/Helpers/FindArgs.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Helpers/FindArgs.cs?rev=293150&view=auto ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Helpers/FindArgs.cs (added) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Helpers/FindArgs.cs Sun Oct 2 12:45:52 2005 @@ -0,0 +1,63 @@ +using System; +using System.Collections; + +namespace WQD.Core.Controls +{ + /// <summary> + /// Provide an EventArgs type to interace with FindControls + /// that can be read or bound via an IDictionary object. + /// </summary> + /// + public class FindArgs : EventArgs + { + /// <summary> + /// A reference to the original arguments for an event, if any. + /// </summary> + /// + public EventArgs OldArgs; + + /// <summary> + /// Expose our dictionary instance. + /// </summary> + /// + public IDictionary Criteria; + + /// <summary> + /// Create this instance using the given dictionary. + /// </summary> + /// + public FindArgs(IDictionary criteria) + { + Criteria = criteria; + OldArgs = new EventArgs(); + } + + /// <summary> + /// Create a new instance with empty fields. + /// </summary> + /// + public FindArgs() + { + Criteria = new Hashtable(); + OldArgs = new EventArgs(); + } + + /// <summary> + /// Create a new instance, setting the old event arguments. + /// </summary> + /// <param name="oldArgs">Old Event arguments</param> + /// + public FindArgs(EventArgs oldArgs) + { + this.OldArgs = oldArgs; + Criteria = new Hashtable(); + } + + public FindArgs(EventArgs e, IDictionary c) + { + OldArgs = e; + Criteria = c; + } + + } +} \ No newline at end of file Modified: struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCatalog.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCatalog.cs?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCatalog.cs (original) +++ struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCatalog.cs Sun Oct 2 12:45:52 2005 @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +using System; using System.Collections; using Agility.Core; using Nexus.Core.Helpers; Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Nexus.Core.xml URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Nexus.Core.xml?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Nexus.Core.xml (original) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Nexus.Core.xml Sun Oct 2 12:45:52 2005 @@ -990,7 +990,7 @@ </summary> <param name="command">Command ID</param> <returns>IRequestCommand instance for name</returns> - <exception cref="!:Exception"> + <exception cref="T:System.Exception"> Throws Exception if name is null, name is not in catalog, or if instance for name is not a IRequestCommand @@ -1628,6 +1628,44 @@ <summary> Token for Entry Item command name. </summary> + </member> + <member name="T:WQD.Core.Controls.FindArgs"> + <summary> + Provide an EventArgs type to interace with FindControls + that can be read or bound via an IDictionary object. + </summary> + + </member> + <member name="F:WQD.Core.Controls.FindArgs.OldArgs"> + <summary> + A reference to the original arguments for an event, if any. + </summary> + + </member> + <member name="F:WQD.Core.Controls.FindArgs.Criteria"> + <summary> + Expose our dictionary instance. + </summary> + + </member> + <member name="M:WQD.Core.Controls.FindArgs.#ctor(System.Collections.IDictionary)"> + <summary> + Create this instance using the given dictionary. + </summary> + + </member> + <member name="M:WQD.Core.Controls.FindArgs.#ctor"> + <summary> + Create a new instance with empty fields. + </summary> + + </member> + <member name="M:WQD.Core.Controls.FindArgs.#ctor(System.EventArgs)"> + <summary> + Create a new instance, setting the old event arguments. + </summary> + <param name="oldArgs">Old Event arguments</param> + </member> </members> </doc> Modified: struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx Sun Oct 2 12:45:52 2005 @@ -1 +1 @@ -<%@ Control Language="c#" AutoEventWireup="false" Codebehind="FindControl.ascx.cs" Inherits="WQD.Web.Controls.FindControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%> +<%@ Control Language="c#" AutoEventWireup="false" Codebehind="FindControl.ascx.cs" Inherits="Nexus.Web.FindControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%> Modified: struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx.cs?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx.cs (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/FindControl.ascx.cs Sun Oct 2 12:45:52 2005 @@ -1,9 +1,10 @@ using System; using System.Collections; using Nexus.Core.Helpers; -using Nexus.Web.Controls; +using Nexus.Web; +using WQD.Core.Controls; -namespace WQD.Web.Controls +namespace Nexus.Web { /// <summary> @@ -15,19 +16,18 @@ /// </p></remarks> public class FindControl : ViewControl { - /// <summary> /// Provide a field for the FindCommand property. /// </summary> private string _FindCommand; - + /// <summary> /// Provide the command that will populate the data-entry controls. /// </summary> public string FindCommand { - get {return _FindCommand;} - set {_FindCommand = value;} + get { return _FindCommand; } + set { _FindCommand = value; } } /// <summary> @@ -49,6 +49,27 @@ } /// <summary> + /// Signal that input is ready to submit. + /// </summary> + /// + public event EventHandler View_Find; + + /// <summary> + /// Fire Click event when input is ready to submit. + /// </summary> + /// <param name="sender">Source of event [find Button]</param> + /// <param name="e">Runtime parameters</param> + /// + protected void find_Click(object sender, EventArgs e) + { + if (View_Find != null) + { + FindArgs a = new FindArgs(e, Criteria); + View_Find(sender, a); + } + } + + /// <summary> /// Prepare controls for data entry. /// </summary> /// <remarks><p> @@ -60,18 +81,25 @@ /// public virtual void Open() { - if (IsPostBack) return; IViewHelper helper = ExecuteBind(FindCommand); if (!helper.IsNominal) Page_Error = helper; } + public virtual void Open(IDictionary criteria) + { + IViewHelper helper = GetHelperFor(FindCommand); + helper.Read(criteria, true); + ExecuteBind(helper); + if (!helper.IsNominal) Page_Error = helper; + } + /// <summary> - /// Wire the event handlers and set defaults. + /// Handle the page Load event. /// </summary> - /// <param name="sender">Source</param> + /// <param name="sender">Event source</param> /// <param name="e">Runtime parameters</param> /// - private void Page_Load(object sender, System.EventArgs e) + private void Page_Load(object sender, EventArgs e) { // Put user code to initialize the page here } @@ -83,7 +111,7 @@ /// </summary> /// <param name="e">Runtime parameters</param> /// - override protected void OnInit(EventArgs e) + protected override void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. @@ -91,7 +119,7 @@ InitializeComponent(); base.OnInit(e); } - + /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. @@ -99,8 +127,9 @@ /// private void InitializeComponent() { - this.Load += new System.EventHandler(this.Page_Load); + this.Load += new EventHandler(this.Page_Load); } + #endregion } -} +} \ No newline at end of file Modified: struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx Sun Oct 2 12:45:52 2005 @@ -1 +1 @@ -<%@ Control Language="c#" AutoEventWireup="false" Codebehind="GridControl.ascx.cs" Inherits="Nexus.Web.Controls.GridControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %> +<%@ Control Language="c#" AutoEventWireup="false" Codebehind="GridControl.ascx.cs" Inherits="Nexus.Web.GridControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %> Modified: struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs Sun Oct 2 12:45:52 2005 @@ -5,7 +5,7 @@ using Nexus.Core; using Nexus.Core.Helpers; -namespace Nexus.Web.Controls +namespace Nexus.Web { public class GridControl : ViewControl { Modified: struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx Sun Oct 2 12:45:52 2005 @@ -1 +1 @@ -<%@ Control Language="c#" AutoEventWireup="false" Codebehind="ViewControl.ascx.cs" Inherits="Nexus.Web.Controls.ViewControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %> +<%@ Control Language="c#" AutoEventWireup="false" Codebehind="ViewControl.ascx.cs" Inherits="Nexus.Web.ViewControl" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %> Modified: struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs?rev=293150&r1=293149&r2=293150&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs Sun Oct 2 12:45:52 2005 @@ -6,7 +6,7 @@ using Nexus.Core.Helpers; using UserControl = Spring.Web.UI.UserControl; -namespace Nexus.Web.Controls +namespace Nexus.Web { /// <summary> /// Base class for view controls (sub forms). --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]