Upgrading to Visual WebGui v6.4 - Changes & Requirements
Categories: Upgrade
|
Tags: Developers, 1. Beginner, 2. Intermediate, 3. Advanced, v6.4 and Later
Revision:
1
Posted:
12/Jan/2010
Updated:
11/Dec/2010
Status:
Publish
Types: Article
|
This article is being worked on by Gizmox.
Overview
This article discusses the known changes (breaking or non-breaking) you might encounter while upgrading your application from an earlier version to version 6.4 of Visual WebGui, as well as any known specifics that this version requires and earlier versions did not.
Important noticeThe differences detailed in this article sum up all the differences we have found and documented here up to this point. Surely it does not document every possible difference. If you have encountered any difference between Visual WebGui v6.4 and v6.3 that is not detailed in this article, please post the details in the Visual WebGui forums and we will add a section about this change in this article here. General
- A new Windows Forms compatability configuration flag added for keeping Windows Forms capability on spacific controls where Visual WebGui has different implementation for the Web - VWG-3882
Application
- It is now possible to map applications as paths - VWG-2007
- It is now possible to map applications dynamically using IFormFactory - VWG-3207
- It is now possible to run specific forms in SSL - VWG-3300
- It is now possible to run specific forms in stateless mode - VWG-4842
Authentication
- It is now possible to have some of your forms un-authentication, while others are authenticated - VWG-2702
- Context level IsLogged on implemented where you can have different forms authentication with different credentials - VWG-5411
Context
- Browser's Presentation, PresentationEngine and PresentationCapabilities can now be determined via the Context - VWG-3736
Gateway
- It is now possible to send parameters via a gateway request - VWG-2508
MSBuild folder Controls General Docking and AnchoringIn Visual WebGui v6.4 we changed the Docking and Anchoring implementation to match the Windows Forms implementation like so: 1. When setting the value of the Anchor property of a control to any new value, the value of the Dock property of the control will be changed to the default None. 2. When setting the value of the Dock property of a control to any new value, the value of the Anchor property of the control will be changed to the default TopLeft.
Docking of controls changed to match Windows Forms
<WebGUI>
<PreReleaseDockFillCompatibility Mode="On"/>
</WebGUI>
Visual WebGui v6.4 (RC0) got us closer to the Windows Forms implementation of docking. This causes the serialization to use a different order of adding controls to containers and the desrialization to need to get that specific order also, for you to get the expected result. We have added a configuration element that allows you to force the system to work without the Windows Forms compatibility. This is the configuration element: Once added you will be able to use previously created applications as before.
Samples of use Forum threadsIssues Enter and Leave events implementedIn version 6.4 the Enter and Leave events were implemented for controls. This may be of concern for those that already attached event handlers to those events, as now in version 6.4 those events will start firing. RegisteredComponent- In previous versions you could use the Guid property on a Component to get its numeric ('double' type) unique identifier (also used in client-side).
Beginning with VWG v6.4 This property has changed to ID. - VWG-0903 The "RegisteredComponent" class is the base class of the "Component" class that is the base class of the "Control" class. - InvokeScript - Method implemented for the purpose of invoking generic JavaScript code. Script is not obscured before being executed. - VWG-4783
Control- BackColor default was changed to System.Drawing.Color.Control, but was white in earlier versions. - VWG-4507
- BorderColor should have a casting to Gizmox.WebGUI.Forms.BorderColor (example: New Gizmox.WebGUI.Forms.BorderColor(System.Drawing.Color.DarkCyan) ).
- BorderWidth
- In prior versions (before 6.4 ) the BorderWidth was a simple integer property. (Example: 10 + Control.BorderWidth was a correct syntax in pre 6.4 versions.)
- In version 6.4, the BorderWidth is a Class. (Example: Same expression as above needs to be written as 10 + Control.BorderWidth.All, or using any other BorderWidth property)
- Assignment to Control.BorderWidth should use casting to Gizmox.WebGUI.Forms.BorderWidth (example: Control.BorderWidth = new Gizmox.WebGUI.Forms.BorderWidth(2) )
- Enter / Leave - Events are now implemented - VWG-5304
- Focus - Programatically setting focus to controls is now supported. - VWG-4067
Forms
- Activated - The activated event now fires when form becomes the active form, not only when ShowDialog() is called as it did in earlier versions - VWG-2151
- PopUps - PopUp windows/forms are now implemented in Visual WebGui as floading DIVs. In earlier versions this was implemented as actual browser popup windows and would therefore sometimes be considered as un-safe popups in certain security settings of browsers - VWG-4094
Controls and classes specificsBindingNavigator
- PositionItem has changed type from ToolBarButton to BindingNavigatorLabel. To fix, change the type of the ToolBarButton assigned to BindingNavigator.PositionItem to be of type BindingNavigatorLabel, which inherits from ToolBarButton. Be sure to check Issue-7864 for more info.
CheckBoxIn pre VWG v6.4 versions the CheckState and Checked properties were not always synchronized in the Form designer serialized code. Beginning with VWG v6.4 the two properties are synchronized and if they have contradicting values as a result of a previous version bug, the results may be different than you would expect. As a result, it is recommended that if the CheckState property is not synchronized with the Checked property, the CheckState line should be deleted. CheckedListBox
- RadioButtons - This property is not used and is now hidden - VWG-2375
ColorComboBox
- The ColorComboBox is now obsolete and you should use ListBox control instead. - VWG-5390
DatabaseResourceHandleVersion 6.4 requires you to use the abstracted HostContext, HostRequest and HostResponse instead of HttpContext, HttpRequest and HttpResponse in earlier versions. See more in the article about the new abstraction. DataGridView- TotalItems = 1 is added by some previous version designers. This property doesn't exist in version 6.4, so just remove the line.
- RowEnter / RowLeave - Events now fire in CellSelect mode - VWG-4730
- RowTemplate.Height = 9 is added by previous versions designers (started in early 6.3.x and was discovered in a 6.4 preview release). In these same earlier versions, this setting was ignored by the rendering process, so this setting did not hurt your DataGridViews. In the most recent versions of 6.4, more precisely 6.4.0RC1, the rendering process now honors this setting. This means that if an old designer generated code, that includes this setting, is left alone, all your DataGridView row heights will be 9 instead of the default of 22. This setting should be removed from designer generated code, or set to a value that fits your application.
DataGridViewComboBoxColumn
- Value - When initializing a DataGridViewComboBoxCell with both a ValueMember and a DisplayMember and requesting the Value (property) of this cell, the value of the ValueMember is now returned. Version 6.3 and earlier returned DisplayMember. VWG-3032
DataGridViewTextBoxColumn- MaxInputLength = -1 is added by some previous version designer. This setting should be removed in 6.4.
DateTimePicker FCKEditor
- The FCKEditor.BasePath should be "../../../../../../FCKeditor/", while in earlier versions it was "../../../../../FCKeditor/" (one less ".." in 6.3)
- You must also remember to copy the contents of the fckeditor resource folder from a Catalog or CompanionKit of the same version of Visual WebGui you are using
FlowLayoutPanel- BorderStyle - Default BorderStyle has been changed to None - VWG-5188
- WrapContents - In versions prior to 6.4, the designer by default generated code with WrapContents = False, but runtime this setting was ignored and the version 6.3 FlowLayoutPanel still wrapped it contents. In version 6.4 this has changed in two ways. First, the designer now defaults to WrapContents = True and second, this setting is now honored runtime. For 6.3 code upgraded to 6.4, this means that your FlowLayoutPanel will include the old 6.3 setting of FlowLayoutPanel.WrapContents = False, and will not wrap it's contents. When upgrading, remove the FlowLayoutPanel.WrapContents = False setting from designer generated code.- VWG-3897
Form- Enabled - In version 6.4 setting the Enabled property goes down to all controls on the form, where in 6.3 in only applied to the form itself. - VWG-3639
- MinimumSize and MaximumSize properties were not honored in versions prior to 6.4, but are now honored. This can have side effects when rendering (or loading in designer) forms that had their Size property set outside of either boundaries, as the designer/rendering will automatically adjust the Size value to be within these boundaries. As a result, forms might open with different sizes than before if this is not handled.
HeaderedPanel
Header - The Header property is not visible in designer any more and must be set programatically. In earlier versions there was a duplicate control error when assigning control to this property via designer - VWG-4141
PanelType - This property is not visible any more as it is obsolete. - VWG-3696
Help / HelpDialog- In Version 6.4 and later, the HelpDialog needs to be registered in the Controls section of web.config with the below registration.
- Please note that the above line is for the VS2008 / NET3.5 version of the framework. If using VS2005 / NET2.0, replace the version with "2.0.5701.0" and for VS2010 / NET4.0 use "4.0.5701.0"
<Controls>
<Control Type="Gizmox.WebGUI.Forms.*,
Gizmox.WebGUI.Forms.Help, Version=3.0.5701.0, Culture=neutral, PublicKeyToken=null" />
</Controls>
Label
- Multiline Label now wraps it's text - VWG-5201
ListBox
- ImageMember - The ListBox now supports icons via ImageMember - VWG-5390
- KeyDow, KeyPress, KeyUp - These events are now supported on the ListBox control. - VWG-3647
LinkLabel- ForeColor / LinkColor - In Visual WebGui version 6.3 and earlier, the ForeColor property was incorrectly used to set the color of the link. In Version 6.4 (Beta3) and later, the LinkColor property is now used for the same purpose, and in accordance with Windows Forms.
- Image - Property now supported - VWG-4291
MenuItem
MenuClick - This event is obsolete and not used any more and has now been hidden. (MenuClick event fires in Visual WebGui on the control being right-clicked, not on the MenuItem itself) - VWG-4175
NumericUpDown- TextAlign - Property is now supported - VWG-3116
- ThousandSeperator - Property is now supported - VWG-3116VWG-4197
- UpDownAlign - in VWG v6.3.14 the default value is:
and in VWG v6.4 Beta2 the default value is:
Panel
- BorderStyle - Default BorderStyle has been changed to None - VWG-5188
TextBox
- The "Validated" and "Validating" events are not fired when TextBox focus is lost only when the text is changed, which is different from Windows Forms behavior. Please see this issue here for more info.
ToolBar- TextAlign is by default "Right" in pre 6.4 versions, but in 6.4 it defaults to "Underneath". This might need adjustments in 6.4.
- RightToLeft in pre 6.4 is set to either True or False. Usually safe to delete this property setting from your code, else this needs to be adjusted to RightToLeft.Yes, RightToLeft.No or RightToLeft.Inherit.
- Click event is for clicking on non-button areas of the Toolbar and in 6.4 only carries EventArgs (in pre-6.4 it had ToolBarItemEventArgs) - Use ToolBar.ButtonClick instead
- BackColor setting on ToolBar is honored in version 6.4, while in earlier versions setting it had no effect, it inherited the color from the active Theme.
TreeView- In pre 6.4 versions, TreeView by default loaded with all nodes expanded. Version 6.4 changes this behaviour to the Windows Forms behaviour of opening all nodes collapsed. If needed, call TreeView.ExpandAll() on Load.
- Removing TreeNode - Removing a TreeNode in designer now also removes all form level subnodes of that node - VWG-4780
Form DesignerBeginning with VWG v6.4 Beta2 Form designer produces different code in the InitializeComponent method of the edited Form, in comparison to previous versions.
We have made it so, that the designer will be able to successfully handle code that was serialized (generated) by Form designers of previous versions.
When you for example open an application created with for example VWG v6.3.x and load the design-view of a Form or UserControl, the code that was serialized by the v6.3.x Form designer will be read, and changes will be made by the new Form designer, adding VWG v6.4.x (or later) code. You should be aware that this v6.4.x (or later) code may not work properly if you then take it back to VWG v6.3.x.
Application Configuration Manager
Accessing the Application Configuration Manager was possible in two ways in version 6.3, but now only the bottom one is available in the sample below to read the absolute path of the UserData folder within the Resources folder.
- Gizmox.WebGUI.Server.Context.Config.GetDirectory("UserData")
- Gizmox.WebGUI.Common.Global.Context.Config.GetDirectory("UserData")
ReferencesArticlesIssue Tracker
About the author
Related Articles
|
Upgrade
|
|
|
This article shows how to be able to move your Visual WebGui projects between MS Visual Studio versions.
Tags:
Developers, Visual Studio, XML, 1. Beginner, 2. Intermediate, 3. Advanced, v6.3, v6.4 and Later
|
|
|
Tags:
Architects, CIOs, Developers, HTML, HTML5, XSLT, 1. Beginner, 2. Intermediate, 3. Advanced, AJAX, DHTML, HTML5, jQuery, Mobile Devices, v6.4 and Later
|
|
|
Tags:
Architects, CIOs, Developers, 1. Beginner, 2. Intermediate, 3. Advanced, Pre v6.3, v6.3, v6.4 and Later
|
|
|
Tags:
Architects, Developers, 1. Beginner, 2. Intermediate, 3. Advanced, v6.3, v6.4 and Later
|
|
|
Tags:
Developers, Visual Studio, 1. Beginner, 2. Intermediate, 3. Advanced, Pre v6.3, v6.3, v6.4 and Later
|
|
|
|