Designing panels using pixels as measurement

Started by Sebastiaan Fisscher, September 17, 2018, 06:11:56 AM

Previous topic - Next topic

Sebastiaan Fisscher

Could it be possible to add the ability to design panels without line/column references but with pixels measurement tools?

Mike King

While its possible to use pixels when defining controls and thus would be possible to draw screen based on pixels, the original design of Nomads and in fact of PxPlus/ProvideX for graphical controls was to use a logical mapping of lines/columns to pixels.

When the product was first developed there was no scaling option with Windows.  We recognized this fact and thus provided a means to scale panels simply by choosing a different text plane font size.  This allows PxPlus applications to run on devices with different screen sizes and resolutions with the users simply having to select a different text plane font.  This scaling mechanism works not only within the Windows environment but is used within iNomads to allow you adapt to different browser platforms and templates.

Another thing to consider is that generally application designers want their application to use the same font as Windows does for consistency. This causes problems when you use pixel addressing when Windows changes its core fonts which they have done a few times (MS Sans Serif, Tahoma, Segoe,...)  :)

Currently you can draw/place controls with pixel resolution however these get saved as line and column coordinates (turn off the Nomads grid alignment and when placing using arrow keys hold the shift button down).  Assuming the user selects the same text plane font the rendering should be consistent.

In theory we could redesign Nomads to store all positions/sizes by pixels but this would require new panel libraries and new tools/utilities and you would lose the core scaling functionality within PxPlus for both Windows and iNomads rendering.

NOTE: Designing screens and expecting to be able to control by Pixel long term is going to prove challenging should you plan to run on the Internet.  Different browsers/platforms have different fonts and even different ways to display controls such as buttons and drop boxes resulting in different sized controls and text.  You should try to avoid designing screens where pixel level accuracy is critical as these will often be problematic should you migrate your application to the Internet.  (This is one reason you often see a lot of white/empty space on Web based application screen designs)
Mike King
President - BBSysco Consulting
eMail: mike.king@bbsysco.com