diff options
author | Jackson Harper <jackson@novell.com> | 2005-08-27 02:27:06 +0400 |
---|---|---|
committer | Jackson Harper <jackson@novell.com> | 2005-08-27 02:27:06 +0400 |
commit | f21c03b531f2cfe53e366f97558797ddbb78a10b (patch) | |
tree | 48257d61c722a27a07003a4d17289c9a6878e41c /mcs/class/System.Web/System.Web.UI.HtmlControls/HtmlInputButton.cs | |
parent | d9faabbc78794f58945af20489d0d19515707365 (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.cs | 129 |
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); } + } + } + +} + |