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]

Reply via email to