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]