[SOLVED] Web portal conversion from Visual Web Gui to WiseJ

Answered Closed

Hi to all,

we are migrating our web portal, based on Visual Web GUI, to WiseJ and we haven’t encountered any big trouble except for some properties and enumerations. We would like to ask the following questions about this topic:

  • When the RibbonBar control will be available? This control is critical for us, and the lack of it is blocking our migration…
  • In Visual Web GUI we use the Gizmox.WebGUI.CommonUtils.GetStringMeasurements method to evaluate container dimensions. Does WiseJ provide an alternative method to do this?
  • The Visible property seems not to be available in the TreeNode control: will it be available in the future?
  • Can we use a control, i.e. the MonthCalendar, inside a ComboBox? Is there any code example about this?
  • Does the TextBox control fire an event like the EnterKeyDown event of VisualWebGUI? We haven’t found it yet, so we are currently intercepting the KeyDown event and testing if e.KeyCode = Keys.Enter… is there a smarter way to do this?

Thank you in advance for your time and your answers!


  • You must to post comments
Best Answer

Ciao Massimo,

Thank you for your follow up answer!

  • We can’t change the dropdown part of the combobox control. Our controls are all based on equivalent javascript widgets in wisej.js extending qooxdoo components. But we can certainly add a new extension control, probably named UserDropDownControl or similar, which will be a lot more consistent than overriding the combobox.
  • We will add the DropDownWidth property (logged as a task). It won’t be needed for the custom drop down since we can make the drop down popup adapt to the custom child control.
  • The TabPage has the ToolTipText property to be consistent with WinForms.
  • I don’t know why FirstDisplayedCell is read-only, will log a task to make it writable.
  • We have the ColumnHeadersHeight, in general we tried to adhere to WinForms classes.
  • Border widths and other style related settings are handled only by the theme engine. The code can set the border style enum (which is then applied as a state and rendered by the theme engine), colors and fonts. Other visual aspects are all themed. You can change parts of a theme in an app simply with a theme mixin file, which is basically a partial theme that overrides the current theme whatever it is. This technical doc (https://docs.wisej.com/theme-builder/) explains the structure of the theme system.
  • SelectedCells will be available at some point. At the moment we don’t handle cell selection, only row selection. We also have to add column selection.
  • Wisej can handle deep linking (https://wisej.com/examples) using the hash property of the URL. Navigation between pages occurs simply by making a page visible or assigning to Application.MainPage. Wisej also handles invisible forms (VWG closed the form when setting Visible to false).
  • You can find all the info regarding the client browser in Application.Browser. It exposes Size and ScreenSize, the difference is that Size is the current size of the browser, while ScreenSize is the physical size.
  • We also have the Screen class which exposes Bounds (equivalent to Browser.Size) and WorkingArea (I just spotted a bug for this one, it’s not static so not visible) which returns either the size of the current Application.Desktop or the ScreenSize of the browser.

I hope this helps.



  • You must to post comments
Great Answer

Hi Massimo,

To answer your questions:

  • The RibbonBar should be available in a usable form by the end of July. It will be uploaded as an extension with the source code.
  • VWG internally uses System.Drawing.Graphics::MeasureString after creating a temp Graphics object. We will also probably add a way for the server to ask the client to measure a string when it contains HTML (in which case it will be async). In any case, this will be logged as an enhancement and added.
  • Will add TreeNode.Visible. We followed WinForms specs where this property is no available but it makes sense to add it. Will log as an enhancement.
  • The MonthCalendar is not ready to be used yet. By using it in a combobox, do you mean like a custom drop down?
  • Let me know the use-case you need for EnterKeyDown and I should be able to help with that. With Wisej you can handle the keyboard also on the client side with a JavaScript component and fire custom events. Or you can use accelerators.



  • You must to post comments

It’s been some time since the question was answered. In the meantime, Wisej has advanced and is used in production by a number of organizations worldwide to realize huge line of business applications. Visual WebGUI code can be easily ported to Wisej and will benefit from its advantages on stability, performance, and extensions.

In order to get started, take a look at the following resources:


  • You must to post comments

Ciao Luca,

thank you for your answers. I give you the details you asked for:

  • According to the ComboBox, in VWG we often use it to show other controls, i.e. the MonthCalendar, when opening the drop down list, as you can see in the attached example. We do this by intercepting the GetCustomDropDown event.
  • We use EnterKeyDown to allow Users moving from field to field using Enter key instead of Tab, in order to ensure compatibility with WinForms applications.

I take this opportunity to ask some other questions:

  • In VWG we use the ComboBox DropDownWidth property: will it be available in Wisej?
  • Does the TabPage HeaderToolTip property exist?
  • About the DataGrid control:
    • Is there a method like FirstDisplayedCell (which is present but read-only) to set the first visible cell?
    • CaptionHeight and BorderWidth properties are not present: will they be available?
    • SelectedCells property is not present: will it be available?
  • In VWG we use Application.SetThreadBookmark to simulate page change: how can we do it in Wisej?
  • In VWG we use Screen.PrimaryScreen.WorkingArea.Width to evaluate the available area dimension: how can we do it in Wisej?

Thank you very much!

  • You must to post comments
Showing 4 results