You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by hu...@apache.org on 2005/07/08 14:51:04 UTC
svn commit: r209749 - in /struts/sandbox/trunk/overdrive/Nexus:
Core/Core.csproj Extras/Extras.csproj Test/Test.csproj
Web/BaseGridPage.aspx.cs Web/NexusDataGrid.cs Web/Web.csproj
Author: husted
Date: Fri Jul 8 05:51:03 2005
New Revision: 209749
URL: http://svn.apache.org/viewcvs?rev=209749&view=rev
Log:
OVR-19
* Add NexusDataGrid to provide for mouse-rollovers and other special UI effects.
Added:
struts/sandbox/trunk/overdrive/Nexus/Web/NexusDataGrid.cs
Modified:
struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj
struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj
struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj
struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs
struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj
Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj?rev=209749&r1=209748&r2=209749&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj Fri Jul 8 05:51:03 2005
@@ -29,7 +29,7 @@
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
- DocumentationFile = "Agility.Core"
+ DocumentationFile = "Nexus.Core.xml"
DebugSymbols = "true"
FileAlignment = "4096"
IncrementalBuild = "false"
Modified: struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj?rev=209749&r1=209748&r2=209749&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj Fri Jul 8 05:51:03 2005
@@ -29,7 +29,7 @@
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
- DocumentationFile = ""
+ DocumentationFile = "Nexus.Extras.xml"
DebugSymbols = "true"
FileAlignment = "4096"
IncrementalBuild = "false"
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj?rev=209749&r1=209748&r2=209749&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj Fri Jul 8 05:51:03 2005
@@ -29,7 +29,7 @@
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
- DocumentationFile = "Nexus.Test"
+ DocumentationFile = "Nexus.Test.xml"
DebugSymbols = "true"
FileAlignment = "4096"
IncrementalBuild = "false"
Modified: struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs?rev=209749&r1=209748&r2=209749&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs Fri Jul 8 05:51:03 2005
@@ -231,7 +231,7 @@
/// <summary>
/// Render the list as a DataGrid.
/// </summary>
- protected DataGrid list_report;
+ protected NexusDataGrid list_report;
/// <summary>
/// Invoke display for adding a new entry.
Added: struts/sandbox/trunk/overdrive/Nexus/Web/NexusDataGrid.cs
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/NexusDataGrid.cs?rev=209749&view=auto
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/NexusDataGrid.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/NexusDataGrid.cs Fri Jul 8 05:51:03 2005
@@ -0,0 +1,130 @@
+using System;
+using System.ComponentModel;
+using System.Drawing;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace Nexus.Web
+{
+ public class NexusDataGrid : DataGrid
+ {
+ #region Public Properties
+
+ [Bindable (true), Category ("Appearance"), TypeConverter (typeof (WebColorConverter)),
+ Description ("Specifies the color a row is highlighted when the mouse is over it.")]
+ public Color RowHighlightColor
+ {
+ get
+ {
+ object o = ViewState ["RowHighlightColor"];
+ if (o == null)
+ return Color.Empty;
+ else
+ return (Color) o;
+ }
+ set { ViewState ["RowHighlightColor"] = value; }
+ }
+
+ [DefaultValue (""),
+ Description ("Specifies the CommandName used in the server-side DataGrid event when the row is clicked.")]
+ public string RowClickEventCommandName
+ {
+ get
+ {
+ object o = ViewState ["RowClickEventCommandName"];
+ if (o == null)
+ return string.Empty;
+ else
+ return (string) o;
+ }
+ set { ViewState ["RowClickEventCommandName"] = value; }
+ }
+
+ [DefaultValue (true),
+ Description ("Indicates whether or not rows are highlighted/clickable.")]
+ public bool RowSelectionEnabled
+ {
+ get
+ {
+ object o = ViewState ["RowSelectionEnabled"];
+ if (o == null)
+ return true;
+ else
+ return (bool) o;
+ }
+ set { ViewState ["RowSelectionEnabled"] = value; }
+ }
+
+ #endregion
+
+ #region Overridden DataGrid Methods
+
+ protected override DataGridItem CreateItem (int itemIndex, int dataSourceIndex, ListItemType itemType)
+ {
+ // Create the NexusDataGridItem
+ NexusDataGridItem item = new NexusDataGridItem (itemIndex, dataSourceIndex, itemType);
+
+ // Set the client-side onmouseover and onmouseout if RowSelectionEnabled == true
+ if (RowSelectionEnabled && itemType != ListItemType.Header && itemType != ListItemType.Footer
+ && itemType != ListItemType.Pager)
+ {
+ item.Attributes ["onmouseover"] = "javascript:nexusDG_changeBackColor(this, true);";
+ item.Attributes ["onmouseout"] = "javascript:nexusDG_changeBackColor(this, false);";
+ }
+
+ // return the NexusDataGridItem
+ return item;
+ }
+
+ protected override void OnPreRender (EventArgs e)
+ {
+ base.OnPreRender (e);
+
+ if (!RowSelectionEnabled) return; // exit if not RowSelectionEnabled == true
+
+ // add the client-side script to change the background color
+ const string SCRIPT_KEY = "nexusDGscript";
+ const string SCRIPT = @"<script language=""JavaScript"">
+<!--
+var lastColorUsed;
+function nexusDG_changeBackColor(row, highlight)
+{{
+ if (row.className!=""EditItemStyle"")
+ {{
+ if (highlight)
+ {{
+ lastClassUsed = row.className;
+ row.className = ""HighlightedItemStyle"";
+ }}
+ else
+ row.className = lastClassUsed;
+ }}
+}}
+// -->
+</script>";
+
+ if (RowHighlightColor != Color.Empty && !Page.IsClientScriptBlockRegistered (SCRIPT_KEY))
+ Page.RegisterClientScriptBlock (SCRIPT_KEY, SCRIPT);
+ }
+
+ #endregion
+ }
+
+ public class NexusDataGridItem : DataGridItem, IPostBackEventHandler
+ {
+ public NexusDataGridItem (int itemIndex, int dataSetIndex, ListItemType itemType) : base (itemIndex, dataSetIndex, itemType)
+ {
+ }
+
+ #region IPostBackEventHandler Members
+
+ public void RaisePostBackEvent (string eventArgument)
+ {
+ CommandEventArgs commandArgs = new CommandEventArgs (eventArgument, null);
+ DataGridCommandEventArgs args = new DataGridCommandEventArgs (this, this, commandArgs);
+ base.RaiseBubbleEvent (this, args);
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Modified: struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj
URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj?rev=209749&r1=209748&r2=209749&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj Fri Jul 8 05:51:03 2005
@@ -29,7 +29,7 @@
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
- DocumentationFile = "Nexus.Web"
+ DocumentationFile = "Nexus.Web.xml"
DebugSymbols = "true"
FileAlignment = "4096"
IncrementalBuild = "false"
@@ -163,6 +163,11 @@
<File
RelPath = "Messages.resx"
BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "NexusDataGrid.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
/>
<File
RelPath = "Web.config"
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org