Author: husted
Date: Mon Sep 19 07:20:41 2005
New Revision: 290166
URL: http://svn.apache.org/viewcvs?rev=290166&view=rev
Log:
OVR-21
+ ViewControl: Add additional forms for Read and ReadExecute. Extend docs for
Page_Reset. Rename NullIfEmpty to NullOnEmpty for legibility.
+ GridControl: Add Page_Reset method to reset indexes if paging. Remove labels
from ResetControls. Add GetMessages to auto-populate controls.
Modified:
struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Core.dll
struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Core.pdb
struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Extras.dll
struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Extras.pdb
struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Test.dll
struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Test.pdb
struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs
struts/sandbox/trunk/overdrive/Nexus/Web/IViewControl.cs
struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Core.dll
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Core.dll?rev=290166&r1=290165&r2=290166&view=diff
==============================================================================
Binary files - no diff available.
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Core.pdb
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Core.pdb?rev=290166&r1=290165&r2=290166&view=diff
==============================================================================
Binary files - no diff available.
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Extras.dll
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Extras.dll?rev=290166&r1=290165&r2=290166&view=diff
==============================================================================
Binary files - no diff available.
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Extras.pdb
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Extras.pdb?rev=290166&r1=290165&r2=290166&view=diff
==============================================================================
Binary files - no diff available.
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Test.dll
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Test.dll?rev=290166&r1=290165&r2=290166&view=diff
==============================================================================
Binary files - no diff available.
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Test.pdb
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/bin/Debug/Nexus.Test.pdb?rev=290166&r1=290165&r2=290166&view=diff
==============================================================================
Binary files - no diff available.
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=290166&r1=290165&r2=290166&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/GridControl.ascx.cs Mon Sep 19
07:20:41 2005
@@ -225,8 +225,9 @@
Grid.DataSource = list;
}
- public virtual void DataBind()
+ public override void DataBind()
{
+ base.DataBind();
Grid.DataBind();
}
@@ -312,41 +313,46 @@
private void ReadGridControls(ControlCollection controls,
IDictionary dictionary, string[] keys, bool nullIfEmpty)
{
- int i = 0;
+ int i = -1;
foreach (Control t in controls)
{
+ i++;
string key = keys[i];
if (IsTextBox(t))
{
TextBox x = (TextBox) t;
- string value = (nullIfEmpty) ?
NullIfEmpty(x.Text) : x.Text;
+ string value = (nullIfEmpty) ?
NullOnEmpty(x.Text) : x.Text;
dictionary.Add(key, value);
+ continue;
}
if (IsLabel(t))
{
Label x = (Label) t;
- string value = (nullIfEmpty) ?
NullIfEmpty(x.Text) : x.Text;
+ string value = (nullIfEmpty) ?
NullOnEmpty(x.Text) : x.Text;
dictionary.Add(key, value);
+ continue;
}
if (IsListControl(t))
{
ListControl x = (ListControl) t;
- string value = (nullIfEmpty) ?
NullIfEmpty(x.SelectedValue) : x.SelectedValue;
+ string value = (nullIfEmpty) ?
NullOnEmpty(x.SelectedValue) : x.SelectedValue;
dictionary.Add(key, value);
+ continue;
}
if (IsCheckBox(t))
{
CheckBox x = (CheckBox) t;
string value = (x.Checked) ? key : null;
dictionary.Add(key, value);
+ continue;
}
if (IsRadioButton(t))
{
RadioButton x = (RadioButton) t;
string value = (x.Checked) ? key : null;
dictionary.Add(key, value);
+ continue;
}
- i++;
}
}
@@ -421,7 +427,7 @@
public virtual IViewHelper ExecuteList(IDictionary criteria)
{
- IViewHelper helper = ReadExecute(ListCommand);
+ IViewHelper helper = ReadExecute(ListCommand, criteria);
bool okay = helper.IsNominal;
if (okay) BindGrid(helper); // DoBindGrid = helper;
return helper;
@@ -464,6 +470,19 @@
return okay;
}
+ public virtual bool Open(IDictionary criteria)
+ {
+ Page_Reset();
+ list_Criteria = criteria;
+ return Open();
+ }
+
+ public void Reset(IDictionary criteria)
+ {
+ list_ResetIndex();
+ Open(criteria);
+ }
+
protected virtual void list_Item(string commandName, int index)
{
switch (commandName)
@@ -617,9 +636,20 @@
#endregion
- public void list_Item_Click(int index)
+ public virtual void list_Item_Click(int index)
+ {
+ // Override to provide implementation
+ }
+
+ /// <summary>
+ /// Reset state for this control, including any ViewState
attributes
+ /// and the page indexes (@see(list_ResetIndex)),
+ /// usually on a new Open event or on a Quit event,
+ /// </summary>
+ public override void Page_Reset()
{
- //
+ list_ResetIndex();
+ base.Page_Reset();
}
private void Page_Load(object sender, EventArgs e)
Modified: struts/sandbox/trunk/overdrive/Nexus/Web/IViewControl.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/IViewControl.cs?rev=290166&r1=290165&r2=290166&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/IViewControl.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/IViewControl.cs Mon Sep 19
07:20:41 2005
@@ -25,6 +25,9 @@
IViewHelper ExecuteBind(ControlCollection controls, string
command);
IViewHelper ExecuteBind(string command);
+ void ReadExecute(IViewHelper helper, bool nullIfEmpty);
+ void ReadExecute(IViewHelper helper);
+
IViewHelper Read(string command, bool nullIfEmpty);
IViewHelper Read(string command);
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=290166&r1=290165&r2=290166&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/ViewControl.ascx.cs Mon Sep 19
07:20:41 2005
@@ -40,7 +40,7 @@
#region String utilities
- protected string NullIfEmpty(string input)
+ protected string NullOnEmpty(string input)
{
return (string.Empty.Equals(input)) ? null : input;
}
@@ -98,25 +98,47 @@
#region Control utilities
/// <summary>
- /// Return true if control is a Label.
+ /// Return true if control is a button.
/// </summary>
/// <param name="control">Control to test.</param>
- /// <returns>True if control is a Label</returns>
+ /// <returns>True if control is a Button</returns>
///
- protected bool IsLabel(Control control)
+ protected bool IsButton(Control control)
{
- return (typeof (Label).Equals(control.GetType()));
+ return (typeof (Button).Equals(control.GetType()));
}
/// <summary>
- /// Return true if control is a TextBox.
+ /// Return true if control is a Checkbox.
+ /// </summary>
+ /// <param name="control">Control to test.</param>
+ /// <returns>True if control is a Checkbox</returns>
+ ///
+ protected bool IsCheckBox(Control control)
+ {
+ return (typeof (CheckBox).Equals(control.GetType()));
+ }
+
+ /// <summary>
+ /// Return true if control is a HyperLink.
/// </summary>
/// <param name="control">Control to test.</param>
/// <returns>True if control is a TextBox</returns>
///
- protected bool IsTextBox(Control control)
+ protected bool IsHyperLink(Control control)
{
- return (typeof (TextBox).Equals(control.GetType()));
+ return (typeof (HyperLink).Equals(control.GetType()));
+ }
+
+ /// <summary>
+ /// Return true if control is a Label.
+ /// </summary>
+ /// <param name="control">Control to test.</param>
+ /// <returns>True if control is a Label</returns>
+ ///
+ protected bool IsLabel(Control control)
+ {
+ return (typeof (Label).Equals(control.GetType()));
}
/// <summary>
@@ -138,25 +160,25 @@
}
/// <summary>
- /// Return true if control is a Checkbox.
+ /// Return true if control is a RadioButton.
/// </summary>
/// <param name="control">Control to test.</param>
- /// <returns>True if control is a Checkbox</returns>
+ /// <returns>True if control is a RadioButton</returns>
///
- protected bool IsCheckBox(Control control)
+ protected bool IsRadioButton(Control control)
{
- return (typeof (CheckBox).Equals(control.GetType()));
+ return (typeof (RadioButton).Equals(control.GetType()));
}
/// <summary>
- /// Return true if control is a RadioButton.
+ /// Return true if control is a TextBox.
/// </summary>
/// <param name="control">Control to test.</param>
- /// <returns>True if control is a RadioButton</returns>
+ /// <returns>True if control is a TextBox</returns>
///
- protected bool IsRadioButton(Control control)
+ protected bool IsTextBox(Control control)
{
- return (typeof (RadioButton).Equals(control.GetType()));
+ return (typeof (TextBox).Equals(control.GetType()));
}
/// <summary>
@@ -191,11 +213,6 @@
ControlCollection controls = this.Controls;
foreach (Control control in controls)
{
- if (IsLabel(control))
- {
- Label x = (Label) control;
- x.Text = String.Empty;
- }
if (IsTextBox(control))
{
TextBox x = (TextBox) control;
@@ -303,27 +320,27 @@
return trimmed;
}
- private void ReadControls(ControlCollection controls,
IDictionary dictionary, string prefix, string list_suffix, bool nullIfEmpty)
+ private void ReadControls(ControlCollection controls,
IDictionary dictionary, string prefix, string list_suffix, bool nullOnEmpty)
{
foreach (Control t in controls)
{
if (IsTextBox(t))
{
TextBox x = (TextBox) t;
- string value = (nullIfEmpty) ?
NullIfEmpty(x.Text) : x.Text;
+ string value = (nullOnEmpty) ?
NullOnEmpty(x.Text) : x.Text;
dictionary.Add(ToColumn(x.ID, prefix),
value);
}
if (IsLabel(t))
{
Label x = (Label) t;
- string value = (nullIfEmpty) ?
NullIfEmpty(x.Text) : x.Text;
+ string value = (nullOnEmpty) ?
NullOnEmpty(x.Text) : x.Text;
dictionary.Add(ToColumn(x.ID, prefix),
value);
}
if (IsListControl(t))
{
ListControl x = (ListControl) t;
string root = RootId(x.ID, prefix,
list_suffix);
- string value = (nullIfEmpty) ?
NullIfEmpty(x.SelectedValue) : x.SelectedValue;
+ string value = (nullOnEmpty) ?
NullOnEmpty(x.SelectedValue) : x.SelectedValue;
dictionary.Add(root, value);
}
if (IsCheckBox(t))
@@ -343,16 +360,37 @@
}
}
- public IViewHelper Read(ControlCollection controls, string
command, bool nullIfEmpty)
+ public void Read(ControlCollection controls, IDictionary
dictionary, bool nullIfEmpty)
+ {
+ ReadControls(controls, dictionary, null, ListSuffix,
nullIfEmpty);
+ }
+
+ public void ReadExecute(ControlCollection controls, IViewHelper
helper, bool nullIfEmpty)
+ {
+ Read(this.Controls, helper.Criteria, nullIfEmpty);
+ helper.Execute();
+ }
+
+ public void ReadExecute(IViewHelper helper, bool nullIfEmpty)
+ {
+ ReadExecute(this.Controls, helper, nullIfEmpty);
+ }
+
+ public void ReadExecute(IViewHelper helper)
+ {
+ ReadExecute(helper, true);
+ }
+
+ public IViewHelper Read(ControlCollection controls, string
command, bool nullOnEmpty)
{
IViewHelper helper = GetHelperFor(command);
- ReadControls(controls, helper.Criteria, null,
ListSuffix, nullIfEmpty);
+ ReadControls(controls, helper.Criteria, null,
ListSuffix, nullOnEmpty);
return helper;
}
- public IViewHelper Read(string command, bool nullIfEmpty)
+ public IViewHelper Read(string command, bool nullOnEmpty)
{
- return Read(this.Controls, command, nullIfEmpty);
+ return Read(this.Controls, command, nullOnEmpty);
}
public IViewHelper Read(string command)
@@ -360,9 +398,9 @@
return Read(this.Controls, command, true);
}
- public IViewHelper ReadExecute(ControlCollection collection,
string command, bool nullIfEmpty)
+ public IViewHelper ReadExecute(ControlCollection collection,
string command, bool nullOnEmpty)
{
- IViewHelper helper = Read(collection, command,
nullIfEmpty);
+ IViewHelper helper = Read(collection, command,
nullOnEmpty);
helper.Execute();
return helper;
}
@@ -403,6 +441,38 @@
return helper;
}
+ private static string TITLE = "_title";
+ private static string LINK = "_link";
+
+ public virtual void GetMessages(ControlCollection controls)
+ {
+ foreach (Control t in controls)
+ {
+ if (IsButton(t))
+ {
+ Button x = (Button) t;
+ x.Text = GetMessage(x.ID);
+ }
+ if (IsHyperLink(t))
+ {
+ HyperLink x = (HyperLink) t;
+ x.Text = GetMessage(x.ID + TITLE);
+ x.NavigateUrl = GetMessage(x.ID + LINK);
+ continue;
+ }
+ if (IsLabel(t))
+ {
+ Label x = (Label) t;
+ x.Text = GetMessage(x.ID);
+ }
+ }
+ }
+
+ public virtual void GetMessages()
+ {
+ GetMessages(Controls);
+ }
+
#endregion
#region ListControl methods
@@ -494,8 +564,20 @@
}
/// <summary>
- /// Reset controls to default state, usually after a Quit or
Save event.
+ /// Reset state for this control, including any ViewState
attributes,
+ /// usually on a new Open event or on a Quit event.
/// </summary>
+ /// <remarks><p>
+ /// Subclasses can override to clear any attributes manages
through ViewState,
+ /// and to retain any default values that should survive a
reset.
+ /// If overridden, the best practice is to call base.Page_Reset
+ /// rather than call ResetControls directly.
+ /// </p><p>
+ /// Usually, Page_Reset should *not* be called on a Save event,
+ /// since the state at Save might be needed by another
component.
+ /// The typical idiom is to call Page_Reset when an Open method
is passed new parameters
+ /// or on a Quit event.
+ /// </p></remarks>
public virtual void Page_Reset()
{
ResetControls();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]