Page.Validate() is called when CausesValidation=true
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / PagerSettings.cs
index 2913fcf63cf0e101d311aaea0cceb2fe1d6ada4f..ddecbd27ede17ec350bdfdf1f2edcd48505b5a64 100644 (file)
@@ -55,7 +55,7 @@ namespace System.Web.UI.WebControls
                [NotifyParentPropertyAttribute (true)]\r
                [UrlPropertyAttribute]\r
                [DefaultValueAttribute ("")]\r
-               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]\r
+               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]\r
                public string FirstPageImageUrl {\r
                        get {\r
                                object ob = ViewState ["FirstPageImageUrl"];\r
@@ -64,6 +64,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["FirstPageImageUrl"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -78,6 +79,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["FirstPageText"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -85,7 +87,7 @@ namespace System.Web.UI.WebControls
                [NotifyParentPropertyAttribute (true)]\r
                [UrlPropertyAttribute]\r
                [DefaultValueAttribute ("")]\r
-               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]\r
+               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]\r
                public string LastPageImageUrl {\r
                        get {\r
                                object ob = ViewState ["LastPageImageUrl"];\r
@@ -94,6 +96,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["LastPageImageUrl"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -108,6 +111,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["LastPageText"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -122,6 +126,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["Mode"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -129,7 +134,7 @@ namespace System.Web.UI.WebControls
                [NotifyParentPropertyAttribute (true)]\r
                [UrlPropertyAttribute]\r
                [DefaultValueAttribute ("")]\r
-               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]\r
+               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]\r
                public string NextPageImageUrl {\r
                        get {\r
                                object ob = ViewState ["NextPageImageUrl"];\r
@@ -138,6 +143,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["NextPageImageUrl"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
 \r
@@ -152,6 +158,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["NextPageText"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -166,6 +173,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["PageButtonCount"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -187,7 +195,7 @@ namespace System.Web.UI.WebControls
                [NotifyParentPropertyAttribute (true)]\r
                [UrlPropertyAttribute]\r
                [DefaultValueAttribute ("")]\r
-               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]\r
+               [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]\r
                public string PreviousPageImageUrl {\r
                        get {\r
                                object ob = ViewState ["PreviousPageImageUrl"];\r
@@ -196,6 +204,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["PreviousPageImageUrl"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -210,6 +219,7 @@ namespace System.Web.UI.WebControls
                        }\r
                        set {\r
                                ViewState ["PreviousPageText"] = value;\r
+                               RaisePropertyChanged ();\r
                        }\r
                }\r
        \r
@@ -226,7 +236,15 @@ namespace System.Web.UI.WebControls
                                ViewState ["Visible"] = value;\r
                        }\r
                }\r
-       \r
+\r
+               public event EventHandler PropertyChanged;\r
+\r
+               void RaisePropertyChanged ()\r
+               {\r
+                       if (PropertyChanged != null)\r
+                               PropertyChanged (this, EventArgs.Empty);\r
+               }\r
+\r
                public override string ToString ()\r
                {\r
                        return string.Empty;\r
@@ -273,8 +291,11 @@ namespace System.Web.UI.WebControls
                        }\r
                        else if (Mode == PagerButtons.Numeric || Mode == PagerButtons.NumericFirstLast)\r
                        {\r
-                               int first = currentPage / PageButtonCount;\r
-                               int last = first + PageButtonCount;\r
+                               int pbc = PageButtonCount;
+                               int cp = currentPage + 1;
+                               int pbp = pbc <= cp ? cp / pbc : 0;
+                               int first = cp < pbc ? 0 : (cp + (pbp % pbc) - (pbc + pbp)) + 1;
+                               int last = first + pbc;\r
                                if (last >= pageCount) last = pageCount;\r
                                \r
                                if (first > 0) {\r