Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackson Harper <jackson@novell.com>2005-08-27 02:27:06 +0400
committerJackson Harper <jackson@novell.com>2005-08-27 02:27:06 +0400
commitf21c03b531f2cfe53e366f97558797ddbb78a10b (patch)
tree48257d61c722a27a07003a4d17289c9a6878e41c /mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs
parentd9faabbc78794f58945af20489d0d19515707365 (diff)
2005-07-18 Jackson Harper <jackson@ximian.com>
* HtmlInputHiddenTest.cs: New test. 2005-07-14 Jackson Harper <jackson@ximian.com> * HtmlInputButton.cs: New tests for HtmlInputButton. 2005-07-14 Jackson Harper <jackson@ximian.com> * HtmlButtonTest.cs: New tests for HtmlButton. 2005-08-08 Jackson Harper <jackson@ximian.com> * PagedDataSourceTest.cs: Tests for creating enumerators when paging is not enabled. 2005-08-05 Jackson Harper <jackson@ximian.com> * PagedDataSourceTest.cs: Tests for PageCount. 2005-08-02 Jackson Harper <jackson@ximian.com> * BoundColumnTest.cs: Start of tests for the BoundColumn class. 2005-08-01 Jackson Harper <jackson@ximian.com> * TableStyleTest.cs: Check that items copied set the styles flags. 2005-08-01 Jackson Harper <jackson@ximian.com> * PagedDataSourceTest.cs: Test the enumerators a little. 2005-07-28 Jackson Harper <jackson@ximian.com> * EditCommandColumnTest.cs: Make the DataGridTest nested so my top secret DataGrid tests will still compile. 2005-07-25 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: More tests for the pager. 2005-07-22 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Basic test for InitializePager. 2005-07-21 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Test the order the events are invoked in when creating the control hierarchy. 2005-07-21 Jackson Harper <jackson@ximian.com> * PagedDataSourceTest.cs: Test to see what happens when we get a non ITypedList. 2005-07-20 Jackson Harper <jackson@ximian.com> 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Make sure we get back a proper columns collection. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: The columns collection cached from the CreateColumnSet is stored in the view state. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Test generating column names with/without enabling useDataSource. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Check the properties of newly created BoundColumns. 2005-07-19 Jackson Harper <jackson@ximian.com> * PagedDataSource.cs: New unit test for GetItemProperties. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: New tests for creating column sets. 2005-07-19 Jackson Harper <jackson@ximian.com> * CheckBoxListTest.cs: New tests for FindControl. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: New test for viewstate saving. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Bubble tests for Page command. Tests for bad Page command bubble event args. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Select can also be bubbled. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: Tests for the BubbleEvent. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGridTest.cs: New tests. Just does properties and events for the most part. 2005-07-15 Jackson Harper <jackson@ximian.com> * CheckBoxListTest.cs: New tests for FindControl. 2005-07-15 Jackson Harper <jackson@ximian.com> * WebControlTest.cs: New test to make sure NamingContainers are honoured when rendering client ids. 2005-07-15 Jackson Harper <jackson@ximian.com> * CheckBoxListTest.cs: More tests for the IRepeatInfoUser stuff and for rendering. 2005-07-14 Jackson Harper <jackson@ximian.com> * CheckBoxListTest.cs: Rendering tests. 2005-07-14 Jackson Harper <jackson@ximian.com> * CheckBoxListTest.cs: Fix the exception types thrown for bad enums. Mark as NotWorking as this doesn't work with the old CheckBoxList class anymore. 2005-07-14 Jackson Harper <jackson@ximian.com> * CheckBoxListTest.cs: Add some rendering tests. These aren't fully working yet so they are in the NotWorking category. 2005-07-14 Jackson Harper <jackson@ximian.com> * CheckBoxListTest.cs: This has the potential to be a beautiful test. 2005-07-14 Jackson Harper <jackson@ximian.com> * ListControlTest.cs: New test for the viewstate and item selection. 2005-07-13 Jackson Harper <jackson@ximian.com> * ListControlTest.cs: New tests for the ListControl. 2005-07-13 Jackson Harper <jackson@ximian.com> * ListBoxTest.cs: Exception is thrown (by ListControl). Dont run the BadBorderStyle test as this fails in ListControls. 2005-07-12 Jackson Harper <jackson@ximian.com> * ListBoxTest.cs: Some simple tests for the ListBox control. 2005-07-08 Jackson Harper <jackson@ximian.com> * LiteralTest.cs: new test. * MonthCalendarEventArgsTest.cs: new test. 2005-07-08 Jackson Harper <jackson@ximian.com> * AdCreatedEventArgsTest.cs: Added test. 2005-07-08 Jackson Harper <jackson@ximian.com> * ToolbarDataAttributeTest.cs: New test. 2005-07-07 Jackson Harper <jackson@ximian.com> * PropertyConverterTest.cs: New tests. 2005-08-15 Jackson Harper <jackson@ximian.com> * CacheItemPriority.cs: * CacheItemRemovedCallback.cs: * CacheItemRemovedReason.cs: New implementations. 2005-08-26 Jackson Harper <jackson@ximian.com> * HttpResponseStream.cs: Use GetBuffer so the memory isn't duplicated. 2005-08-26 Jackson Harper <jackson@ximian.com> * HttpResponse.cs: Send the cached headers if this is a cached response. Save the headers, date header, and page data. Fix a typo. * HttpResponseStream.cs: Add new accesor to get a byte [] of the page data. 2005-08-15 Jackson Harper <jackson@ximian.com> * ApplicationShutdownReason.cs: make build 2005-07-18 Jackson Harper <jackson@ximian.com> * HtmlInputHidden.cs: Use Events Add/Remove. Add DefaultEvent attribute. 2005-07-15 Jackson Harper <jackson@ximian.com> * HtmlInputImage.cs: Use Events Add/Remove. Remove uneeded constant. Update fetching from viewstate code to use new convenience method. 2005-07-15 Jackson Harper <jackson@ximian.com> * HtmlInputButton.cs: Add DefaultEventAttribute. 2005-07-14 Jackson Harper <jackson@ximian.com> * HtmlInputButton.cs: Use Events Add/Remove. Remove Causesvalidation string constant. Use new method for accessing ViewState data. Don't remove value from the view state if it is the default. 2005-07-14 Jackson Harper <jackson@ximian.com> * HtmlButton.cs: Use Events Add/Remove. Remove Causesvalidation string constant. Use new method for accessing ViewState data. Don't remove value from the view state if it is the default. 2005-07-14 Jackson Harper <jackson@ximian.com> * HtmlInputControl.cs: Use ClientID for input controls name. 2005-07-07 Jackson Harper <jackson@ximian.com> * HtmlInputImage.cs: New implementation. 2005-07-07 Jackson Harper <jackson@ximian.com> * HtmlInputHidden.cs: New implementation. 2005-07-07 Jackson Harper <jackson@ximian.com> * HtmlAnchor.cs: Call base OnPreRender from override. 2005-07-07 Jackson Harper <jackson@ximian.com> * HtmlInputButton.cs: New implementation. 2005-07-06 Jackson Harper <jackson@ximian.com> * HtmlButton.cs: New implementation. 2005-07-13 Jackson Harper <jackson@ximian.com> * PropertyConverter.cs: No public constructors. 2005-07-08 Jackson Harper <jackson@ximian.com> * ToolbarDataAttribute.cs: New implementation. 2005-07-07 Jackson Harper <jackson@ximian.com> * PropertyConverter.cs: New implementation. 2005-08-25 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Disable the pager row if there no paging enabled or available. 2005-08-25 Jackson Harper <jackson@ximian.com> * DataGrid.cs: The number of pages set in the pager is specified by PageButtonCount. 2005-08-22 Jackson Harper <jackson@ximian.com> * DataGrid.cs (CreateControlHierarchy): Clear out the old pager after creating the controls. (InitializeNumericPager): Now that the pager actually renders properly I can see that I was computing it incorrectly. 2005-08-22 Jackson Harper <jackson@ximian.com> * DataGrid.cs (RenderTable): Make sure the new table gets the correct style. (CreateColumnSet): Clear the data source columnbs before adding new ones regardless of whether or not a property descriptor was found. (InitializePager): pager_cell needs to be a member so it isn't created more then once per a render. (InitializeNumericPager): Compute start and end more correctly. - Link commands are 1 indexed. (CreateControlHierarchy): Clear the table before we begin rendering. - Revert patch that made adding the pagers conditional. This is incorrect, the pagers are always added. Only their visibility is affected by the pager style. - Save the entire count in the viewstate, not just the rendered count. So when paging is enabled the pager's count isn't broken by postback. 2005-08-17 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Only create one pager and add it to both the top and bottom of the grid, this way all the id numbers stay the same and we save a bunch of cycles. 2005-08-17 Jackson Harper <jackson@ximian.com> * DataGrid.cs: The top and bottom pagers are always created. Just the visibility is changed by the PagerStyle::Position. 2005-08-15 Jackson Harper <jackson@ximian.com> * EditCommandColumn.cs: Use a normal LinkButton. 2005-08-12 Jackson Harper <jackson@ximian.com> * TableRow.cs: No AutoID for TableRows. 2005-08-12 Jackson Harper <jackson@ximian.com> * DataGrid.cs (CreateRenderColumns): If we aren't using data binding grab the rendercols from the data source columns. (LoadViewState): Restore the bound columns when reloading the viewstate. (InitializeNumericPager): Create elipsised pagers. (CreateItem): Don't set the item's ID. (CreateItem): Add the control to the table before it is databound so that it's value is saved in the viewstate. (CreateControlHierarchy): Create a fake data source when not using databinding. Don't add controls to the table as they are added in CreateItem now. (PrepareControlHierarchy): Make footers and header non visible if they aren't enabled. 2005-08-12 Jackson Harper <jackson@ximian.com> * BoundColumn.cs: Set the controls text instead of adding a literal control. So it is saved in the controls viewstate. 2005-08-11 Jackson Harper <jackson@ximian.com> * CheckBoxList.cs: Set the tabindex on the checkbox control and don't render it on the main table (Setting it to zero causes it to not be rendered). Also use the invariant culture on the id. 2005-08-10 Jackson Harper <jackson@ximian.com> * PagedDataSource.cs: Respect paging with all data source types. 2005-08-08 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Apply the styles to each item type. 2005-08-08 Jackson Harper <jackson@ximian.com> * PagedDataSource.cs: If paging is not enabled keep enumerating to the end of the list. 2005-08-05 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Don't make the current page index a link in the pager. 2005-08-05 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Honour PagerPosition. 2005-08-05 Jackson Harper <jackson@ximian.com> * PagedDataSource.cs: Round PageCount properly. 2005-08-04 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Add a new space control for each link. Also make the link's text 1 indexed. Don't add the space after the last item. 2005-08-03 Jackson Harper <jackson@ximian.com> * BoundColumn.cs: Respek for the thisExpr when data binding. 2005-08-03 Jackson Harper <jackson@ximian.com> * ButtonColumn.cs: Partial implementation. 2005-08-03 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Merge the table style with the render table. Some initial work on the numeric pager. Remove some debugging code. 2005-08-03 Jackson Harper <jackson@ximian.com> * BoundColumn.cs: Implement Initialize and InitializeCell. When Data is formated it uses the DataFormatString that was set at the time Initialize was called (or null if initialize was never called). 2005-08-01 Jackson Harper <jackson@ximian.com> * TableStyle.cs: Copy style bit when copying from another style. 2005-08-01 Jackson Harper <jackson@ximian.com> * PagedDataSource.cs: Implement missing properties, use yield for the Enumerator methods. Only allow the enums to return one page at a time. 2005-07-25 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Set the command name and args on the link buttons. 2005-07-25 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Lots o implementation. 2005-07-25 Jackson Harper <jackson@ximian.com> * BoundColumn.cs: Partial implementation to get the DataGrid tests passing again. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Store the data source created columns in a DataGridColumnCollection. This way they can be put in the view state more easily, and accessed without casting. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Save the data source created column set in the view state. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGrid.cs: column names are cached and only regenerated if useDataSource is set to true. Otherwise they are just fetched from the last set that was generated from the source. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Assign some properties of newly created BoundColumns. 2005-07-20 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Add some of the collections. Implement column creation. 2005-07-20 Jackson Harper <jackson@ximian.com> * PagedDataSource.cs: Implement GetItemProperties, this is needed for the datagrid. 2005-07-19 Jackson Harper <jackson@ximian.com> * ListControl.cs: Use Events Add/RemoveHandler. Don't create a viewstate object if all the viewstate stuff is null. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Implement style properties and viewstate saving/loading/tracking. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGrid.cs: Implement bubble event. 2005-07-19 Jackson Harper <jackson@ximian.com> * DataGrid.cs: New implementation. Just properties and events for now. 2005-07-18 Jackson Harper <jackson@ximian.com> * CheckBoxList.cs: Implement LoadPostBackData. Also register checkboxes for postback if they are checked so we can find out when they are unchecked. Copy the AutoPostBack variable to the to be rendered checkbox when rendering. 2005-07-15 Jackson Harper <jackson@ximian.com> * CheckBoxList.cs: Use the index as the ID, the rest of the id is built by being in the NamingContainer. 2005-07-15 Jackson Harper <jackson@ximian.com> * ListControl.cs: Use enum instead of string. Saves a lookup. 2005-07-15 Jackson Harper <jackson@ximian.com> * CheckBoxList.cs: FindControl always returns 'this' according to my probing. 2005-07-15 Jackson Harper <jackson@ximian.com> * CheckBoxList.cs: New impl. 2005-07-15 Jackson Harper <jackson@ximian.com> * WebControl.cs: Use the ClientID when rendering a controls ID attribute so that naming containers are honoured. 2005-07-15 Jackson Harper <jackson@ximian.com> * ListControl.cs: use the state manager interface for tracking the viewstate. 2005-07-15 Jackson Harper <jackson@ximian.com> * ListControl.cs: Simplify comparison. 2005-07-15 Jackson Harper <jackson@ximian.com> * ListControl.cs: * Repeater.cs: Use new utility class for resolving data sources. 2005-07-15 Jackson Harper <jackson@ximian.com> * ListControl.cs: Add attributes so the sub items get parsed properly. Remove old unneeded code for resolving lists. 2005-07-15 Jackson Harper <jackson@ximian.com> * ListControl.cs: Use the DataSourceHelper so DataMembers are resolved properly. 2005-07-14 Jackson Harper <jackson@ximian.com> * ListControl.cs: Use DataBinder.Eval for data binding. This is more code-reuse-arific. Also use the IStateManager interface for loading data instead of the old internal method. 2005-07-14 Jackson Harper <jackson@ximian.com> * ListControl.cs: Initial implementation of Databinding. Make sure that the ListItemCollection is created when we load its ViewState. 2005-07-14 Jackson Harper <jackson@ximian.com> * ListControl.cs: Fix typo. 2005-07-14 Jackson Harper <jackson@ximian.com> * ListControl.cs: New Implementation. Lacks databinding support. 2005-07-13 Jackson Harper <jackson@ximian.com> * ListBox.cs: Some parameter checking. 2005-07-13 Jackson Harper <jackson@ximian.com> * ListBox.cs: Use invariant culture when doing a ToString, set value to the item's value, not to its Text. 2005-07-12 Jackson Harper <jackson@ximian.com> * ListBox.cs: Even track default values in the viewstate. Call base's RenderContents. 2005-07-12 Jackson Harper <jackson@ximian.com> * ListBox.cs: New impl. 2005-07-08 Jackson Harper <jackson@ximian.com> * Literal.cs: New implentation. * MonthChangedEventArgs.cs: new * MonthChangedEventHandler.cs: new 2005-07-08 Jackson Harper <jackson@ximian.com> * AdCreatedeventArgs.cs: New implementation. svn path=/trunk/mcs/; revision=48920
Diffstat (limited to 'mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs')
-rw-r--r--mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs129
1 files changed, 129 insertions, 0 deletions
diff --git a/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs b/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs
new file mode 100644
index 00000000000..35f874bbbec
--- /dev/null
+++ b/mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs
@@ -0,0 +1,129 @@
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//
+// System.Web.UI.HtmlControls.HtmlInputButton.cs
+//
+// Authors:
+// Jackson Harper (jackson@ximian.com)
+//
+// (C) 2005 Novell, Inc.
+
+
+using System;
+using System.ComponentModel;
+
+namespace System.Web.UI.HtmlControls {
+
+ [DefaultEventAttribute ("ServerClick")]
+ public class HtmlInputButton : HtmlInputControl, IPostBackEventHandler {
+
+ private static readonly object ServerClickEvent = new object();
+
+ public HtmlInputButton () : this ("button")
+ {
+ }
+
+ public HtmlInputButton (string type) : base (type)
+ {
+ }
+
+ [DefaultValue(true)]
+#if NET_2_0
+ public virtual
+#else
+ public
+#endif
+ bool CausesValidation {
+ get {
+ return ViewState.GetBool ("CausesValidation", true);
+ }
+ set {
+ ViewState ["CausesValidation"] = value;
+ }
+ }
+
+#if NET_2_0
+ [DefaultValue ("")]
+ [MonoTODO]
+ public string ValidationGroup
+ {
+ get {
+ throw new NotImplementedException ();
+ }
+ set {
+ throw new NotImplementedException ();
+ }
+ }
+#endif
+
+#if NET_2_0
+ [MonoTODO]
+ protected virtual void RaisePostBackEvent (string eventArgument)
+ {
+ throw new NotImplementedException ();
+ }
+#endif
+
+ void IPostBackEventHandler.RaisePostBackEvent (string eventArgument)
+ {
+ if (CausesValidation)
+ Page.Validate ();
+ OnServerClick (EventArgs.Empty);
+ }
+
+#if NET_2_0
+ protected internal
+#else
+ protected
+#endif
+ override void OnPreRender (EventArgs e)
+ {
+ base.OnPreRender (e);
+ if (Events [ServerClickEvent] != null)
+ Page.RequiresPostBackScript ();
+ }
+
+ protected virtual void OnServerClick (EventArgs e)
+ {
+ EventHandler server_click = (EventHandler) Events [ServerClickEvent];
+ if (server_click != null)
+ server_click (this, e);
+ }
+
+ protected override void RenderAttributes (HtmlTextWriter writer)
+ {
+ if (CausesValidation && Page != null && Page.AreValidatorsUplevel ()) {
+ ClientScriptManager csm = new ClientScriptManager (Page);
+ writer.WriteAttribute ("onclick", csm.GetClientValidationEvent ());
+ writer.WriteAttribute ("language", "javascript");
+ }
+
+ base.RenderAttributes (writer);
+ }
+
+ public event EventHandler ServerClick {
+ add { Events.AddHandler (ServerClickEvent, value); }
+ remove { Events.RemoveHandler (ServerClickEvent, value); }
+ }
+ }
+
+}
+