Updates and Enhancements in Visual DataFlex 17.0

 
Visual DataFlex 17.0
 
Stephen W. Meeley
Data Access Worldwide
 
Visual DataFlex 2012
 
Visual DataFlex 2012 will have two releases
Visual DataFlex 17.0
Visual DataFlex 17.1
 
DISD 2012 Sessions
Visual DataFlex 17.0 – this session
Data Dictionaries In-Depth, Part 1 – 11:15 am
Data Dictionaries In-Depth, Part 2 – 1:00 pm
Consuming Web Services – Saturday, 11:15 am
Visual DataFlex 2012 Web Development – Saturday, 1:00 pm
 
We have a lot to show, so let’s get started…
 
Summary of Visual DataFlex 17.0
 
Font Improvements
Longer Table and Column Names
Studio Improvements
Workspace Dashboard
To Do panel
Multi-file search
Find all Occurrences in editor
Lots of fixes and behavioral tweaks
Video Walkthroughs
Easier to Use Client Web Services
Easier Date Entry
Entering / Exiting Events
Fixes and Improvements
Documentation
 
DD: Cascade Delete Validation
DD: Pre and Post Find Events
DD: Better Refresh Event
DD: Full DD support for text field
DEOs
DD: Better handling of
header/detail views
DD: Null Parent Support
DD: DD Remember
DD: Committed Record feature
DD: Local DD Relationships
DD: Better Alias Table Support
 
Longer Table and Column Names
 
Maximum Table Name (logical name) has been increased from 8 to 31 characters
Employe1
 can now be called 
EmployeeOvertimeHours
Maximum Column names have been increased from 15 to 32 characters
Employee.InsurancePrvdr
 can now be 
EmployeeInsuranceProvider
This applies to all backend databases including the embedded database
This change is fully backwards compatible
No changes required in the Table format
Names are still stored in Filelist and .fd files
If you need compatibility with old versions, just keep the name lengths at
their old shorter limit
The new size limits were created to maintain maximum backwards
compatibility
 
This has been at the top of developers wish list for a long time
 
Studio Enhancements
 
Automatic “Todo” support
A menu item and a hot key (Ctrl+T) adds a “// Todo:” to your code.
 You just need to add the todo text
A “To Do Items” panel lists all outstanding todo items
Clicking on todo item will load that file and jump to that line
Better Multi-File Search support
Match whole words
Find in files can be accessed from the editor’s context menu
It is now easier to add search paths (libraries, etc.)
 
General Entry Improvements
 
New Entering / Exiting Messages sent to containers
OnExitArea
 and 
OnEnterArea
These are sent to the container of the control being entered or exited
They are delegated up to all containers within the view/scope
They are sent after navigation is complete (a notification, not a verification)
 
Improved Masked date data entry
If year is not entered, current year is used
3/2 is changed to 3/2/2012
Works with mm/dd/yy and dd/mm/yy formats
No changes required in your application
 
Video Walkthroughs
 
We are working on a series of video walkthroughs and how-tos that will
demonstrate a number of the basic features and capabilities of Visual DataFlex
 
These will be short and well suited for hosting sites such as You Tube
 
We want these to:
Show prospective developers the powers of Visual DataFlex and demonstrate how
quickly a sophisticated data entry applications can be built
Provide these as tutorials for new programmers
 
Workspace Dashboard
 
Designed to provide guidance to new users, useful
information to existing users and improve usability
for all users
Based on the same concepts as the Start Center, but
with increased emphasis on prompting 
actions
instead of prompting 
reading
 
1P = 1Kw, 
so let’s just take a look…
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
8
 
Things to keep in mind about the
Workspace Dashboard…
 
The Workspace Dashboard in 17.0 is the start of
yet another incremental improvement process
We will learn things from how our partners demo the
product to improve the new user experience
We will learn things from how you use the dashboard
to improve its functionality for developers
There will be a natural iterative progression of how
the Dashboard interacts with other areas of the
Studio
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
9
 
Understanding Fonts and DPI
Awareness
 
The goal is that developers
 want their
applications to “look good” 
all the time
Visually professional and consistent within the
application 
and
 across applications
Must 
s
cale
 across different fonts and sizes (because
this changes with the host operating system)
Must scale
 across different DPI settings (because
users can change this and the default is different on
high-resolution displays)
 
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
10
 
Understanding Fonts and DPI
Awareness
 
Using the Windows system font makes
applications look like they “belong” - regardless
of the platform
Designing for DPI “awareness” is the key to
making the application look good across any DPI
display setting
Challenges in dealing with these two areas are
not unique to Visual DataFlex (more on this later)
Problem: Our current interface doesn’t do this…
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
11
 
Fonts in Visual DataFlex Today
 
Visual DataFlex uses a default font defined as a typeface
and height preference; MS Sans Serif 12 (essentially 7
point)
Windows XP uses Tahoma 12-ish (essentially 8 point) as it’s
system font and Windows 7 and Vista use Segoe UI 15
(essentially 9 point)
Native controls use our default font and are not DPI aware
COM objects use whatever the provider chooses (most
likely the Windows system font) and often are DPI aware
So, applications have mixed-font and mixed-scaling
appearance
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
12
 
The Solution!
 
Provide a font size interface that is scalable. The
standard way to do this is to use points as a metric (1
point is 1/72 of a logical inch)
Provide a way for your applications to use the default
Windows system font and the default point size
That should do it!
When you don't use any custom fonts or sizes, it just
works (without any changes on your part)
Where you are using custom font settings, specifically
where you've Set FontSize or Physcial_FontSize, you want
to change your code to use Set FontPointHeight
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
13
 
Visual DataFlex 17.0 Specifics
 
Add FontPointHeight property
Use Windows System Font as global font
Provide support in the Studio
Document how to use fonts
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
14
 
Add a FontPointHeight Property
 
Sets the height of an object in points. We will only set the
height and allow Windows to calculate the width
This would not change the FontSize interface or the
Physical_FontSize interface. If you don’t use these new
properties and use the old ones, nothing changes
Using FontPointHeight is the suggested mechanism for
getting and setting font heights
The advantages of FontPointHeight are:
It’s a real known sensible unit, which everyone else uses
The same metric (1/72 logical inch) is applied to all fonts
It scales with different resolutions and DPI
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
15
 
Use the Windows System Font
 
Support an option to just use the Windows system
defaults, which will be used to set the Typeface and Height
automatically
This basic change (which relies on the change to using
points) improves both the font and high DPI behaviors
Interface to determine which method is used and font
specifics
Get / Set pbUseWindowsFont to True|False
Get WindowsTypeFace to sVar
Get WindowsFontPointHeight to iVar
pbUseWindowsFont is an Application object property
Easily set in the Studio on a project-by-project basis
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
16
 
Studio Changes
 
Proper modeling of visual components and properties
Promote the recommended property use (which are
exposed)
The Studio can model components using the new style
(Windows system font) or in legacy mode
Add an option to the manifest to support the disabling
of DPI Virtualization, which allows you to determine
how this behaves on a project level
The default is Disabled
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
17
 
Properly Document How to Use Fonts
 
Whenever possible just use the Windows System Font
Don’t set fonts unless you need to
Use FontPointHeight when setting font height. Do not use
FontSize or Physical_FontSize
Set fonts in the controls and not their containers
If you want the control to resize based on the font, use the
Font interface (e.g., FontWeight). If you want the control to
stay the same size, use the Form_Font interface (e.g.,
Form_FontWeight)
If you want your application to scale well, always use dialog
units and avoid using GUI units (e.g., GuiSize, GuiLocation)
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
18
 
Background: High-DPI Issues
 
Manufacturers are shipping lots of high-resolution displays
The traditional default setting of 96 DPI can no longer be assumed
 
There is more to designing for DPI Awareness than just font sizes
Clipped UI elements or text
Incorrect font size
Incorrect layout
Blurred UI elements
Pixilated text
Input issues
Partial rendering of full-screen applications
Incorrect use of effective resolution
 
Note: the list above is from the MSDN article “
Writing High-DPI Win32
Applications
 This is a great article
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
19
 
The font stuff looks really cool, but what in
the world should I do about all this?
 
Start with a quick test!
Use the Visual Modeler in combination with the ToDo system.
Be aware that sizes will change
Run under different operating systems and different DPI
settings
Virtual machines make this so much easier!
Realize that newer platforms (Windows 7 and Vista) are
better than older (XP) – there isn’t much you can do if you
don’t like the way the platform handles scaling
Let’s do this…
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
20
 
Migration - Font Specifics
 
You should search your source for code that explicitly sets fonts.
 
Get / Set Typeface
: if the typeface is “ms sans serif” you probably want to
remove it. Anything else, should be marked for testing.
Get/Set FontSize
: You want to get rid of this.  First try removing it as it
may be unnecessary. If you need to set a custom height, use
FontPointHeight instead.
Get/Set Physical_FontSize
: You want to get rid of this.  First try removing
it as it may be unnecessary. If you need to set a custom height, use
FontPointHeight instead.
Get/Set Form_FontSize
: see FontSize
Get/Set Form_Typeface
: see Typeface
Get/Set Form_PhysicalFontSize
: PhysicalFontSize
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
21
 
Migration - Other Considerations
 
GUI Settings
Most code dealing with GUI properties will fine
If using explicit settings (Set GUISize to 100 120) in place of dialog
settings (Set Size to 10 14) it may not scale well or look as good – pay
special attention
Bitmaps in Containers
Bitmaps in BitMapContainer, dbBitMap and Container3d should be
checked
Try using Bitmap_Stretched (easiest change but may not look optimal)
Arrange so smaller bitmaps still look purposeful (whitespace and
centering)
Set the size of the container to match the bitmap
Custom code to use different container and bitmaps at different DPIs
 
9/20/2024
 
DISD 2012 – Dallas, TX
 
22
 
Previous 17.0 Sessions
 
Data Dictionary Webinar Series
Part 1, November 15
th
, 2011
Part 2, November 17
th
, 2011
Focused  primarily on Long Table and Column Names and Data Dictionary changes 
 Lots  of
changes!
Progress Report
January 26
th
, 2012
DD Updates – including how we responded to your feedback
Date entry, entering and exiting events,  client web service improvements,  ToDo Items,  Find in Files
Beta Preview
February 8
th
, 2012
Workspace Dashboard & Font Improvements
All of these (and more) are available at www.dataaccess.com under 
Support &
Resources | Webinar Libraries
Slide Note
Embed
Share

Enhance your development experience with Visual DataFlex 17.0. Longer table and column names, studio improvements, and new features like automatic TODO support make coding easier. Enjoy improved workspace dashboard, multi-file search capabilities, and enhanced data dictionary functionalities. Upgrade now for a better programming experience.

  • Visual DataFlex
  • Development
  • Coding
  • Enhancements
  • Data Handling

Uploaded on Sep 20, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Visual DataFlex 17.0 Stephen W. Meeley Data Access Worldwide

  2. Visual DataFlex 2012 Visual DataFlex 2012 will have two releases Visual DataFlex 17.0 Visual DataFlex 17.1 DISD 2012 Sessions Visual DataFlex 17.0 this session Data Dictionaries In-Depth, Part 1 11:15 am Data Dictionaries In-Depth, Part 2 1:00 pm Consuming Web Services Saturday, 11:15 am Visual DataFlex 2012 Web Development Saturday, 1:00 pm We have a lot to show, so let s get started

  3. Summary of Visual DataFlex 17.0 Font Improvements Longer Table and Column Names Studio Improvements Workspace Dashboard To Do panel Multi-file search Find all Occurrences in editor Lots of fixes and behavioral tweaks Video Walkthroughs Easier to Use Client Web Services Easier Date Entry Entering / Exiting Events Fixes and Improvements Documentation DD: Cascade Delete Validation DD: Pre and Post Find Events DD: Better Refresh Event DD: Full DD support for text field DEOs DD: Better handling of header/detail views DD: Null Parent Support DD: DD Remember DD: Committed Record feature DD: Local DD Relationships DD: Better Alias Table Support

  4. Longer Table and Column Names Maximum Table Name (logical name) has been increased from 8 to 31 characters Employe1 can now be called EmployeeOvertimeHours Maximum Column names have been increased from 15 to 32 characters Employee.InsurancePrvdr can now be EmployeeInsuranceProvider This applies to all backend databases including the embedded database This change is fully backwards compatible No changes required in the Table format Names are still stored in Filelist and .fd files If you need compatibility with old versions, just keep the name lengths at their old shorter limit The new size limits were created to maintain maximum backwards compatibility This has been at the top of developers wish list for a long time

  5. Studio Enhancements Automatic Todo support A menu item and a hot key (Ctrl+T) adds a // Todo: to your code. You just need to add the todo text A To Do Items panel lists all outstanding todo items Clicking on todo item will load that file and jump to that line Better Multi-File Search support Match whole words Find in files can be accessed from the editor s context menu It is now easier to add search paths (libraries, etc.)

  6. General Entry Improvements New Entering / Exiting Messages sent to containers OnExitArea and OnEnterArea These are sent to the container of the control being entered or exited They are delegated up to all containers within the view/scope They are sent after navigation is complete (a notification, not a verification) Improved Masked date data entry If year is not entered, current year is used 3/2 is changed to 3/2/2012 Works with mm/dd/yy and dd/mm/yy formats No changes required in your application

  7. Video Walkthroughs We are working on a series of video walkthroughs and how-tos that will demonstrate a number of the basic features and capabilities of Visual DataFlex These will be short and well suited for hosting sites such as You Tube We want these to: Show prospective developers the powers of Visual DataFlex and demonstrate how quickly a sophisticated data entry applications can be built Provide these as tutorials for new programmers

  8. Workspace Dashboard Designed to provide guidance to new users, useful information to existing users and improve usability for all users Based on the same concepts as the Start Center, but with increased emphasis on prompting actions instead of prompting reading 1P = 1Kw, so let s just take a look 9/20/2024 DISD 2012 Dallas, TX 8

  9. Things to keep in mind about the Workspace Dashboard The Workspace Dashboard in 17.0 is the start of yet another incremental improvement process We will learn things from how our partners demo the product to improve the new user experience We will learn things from how you use the dashboard to improve its functionality for developers There will be a natural iterative progression of how the Dashboard interacts with other areas of the Studio 9/20/2024 DISD 2012 Dallas, TX 9

  10. Understanding Fonts and DPI Awareness The goal is that developers want their applications to look good all the time Visually professional and consistent within the application and across applications Must scale across different fonts and sizes (because this changes with the host operating system) Must scale across different DPI settings (because users can change this and the default is different on high-resolution displays) 9/20/2024 DISD 2012 Dallas, TX 10

  11. Understanding Fonts and DPI Awareness Using the Windows system font makes applications look like they belong - regardless of the platform Designing for DPI awareness is the key to making the application look good across any DPI display setting Challenges in dealing with these two areas are not unique to Visual DataFlex (more on this later) Problem: Our current interface doesn t do this 9/20/2024 DISD 2012 Dallas, TX 11

  12. Fonts in Visual DataFlex Today Visual DataFlex uses a default font defined as a typeface and height preference; MS Sans Serif 12 (essentially 7 point) Windows XP uses Tahoma 12-ish (essentially 8 point) as it s system font and Windows 7 and Vista use Segoe UI 15 (essentially 9 point) Native controls use our default font and are not DPI aware COM objects use whatever the provider chooses (most likely the Windows system font) and often are DPI aware So, applications have mixed-font and mixed-scaling appearance 9/20/2024 DISD 2012 Dallas, TX 12

  13. The Solution! Provide a font size interface that is scalable. The standard way to do this is to use points as a metric (1 point is 1/72 of a logical inch) Provide a way for your applications to use the default Windows system font and the default point size That should do it! When you don't use any custom fonts or sizes, it just works (without any changes on your part) Where you are using custom font settings, specifically where you've Set FontSize or Physcial_FontSize, you want to change your code to use Set FontPointHeight 9/20/2024 DISD 2012 Dallas, TX 13

  14. Visual DataFlex 17.0 Specifics Add FontPointHeight property Use Windows System Font as global font Provide support in the Studio Document how to use fonts 9/20/2024 DISD 2012 Dallas, TX 14

  15. Add a FontPointHeight Property Sets the height of an object in points. We will only set the height and allow Windows to calculate the width This would not change the FontSize interface or the Physical_FontSize interface. If you don t use these new properties and use the old ones, nothing changes Using FontPointHeight is the suggested mechanism for getting and setting font heights The advantages of FontPointHeight are: It s a real known sensible unit, which everyone else uses The same metric (1/72 logical inch) is applied to all fonts It scales with different resolutions and DPI 9/20/2024 DISD 2012 Dallas, TX 15

  16. Use the Windows System Font Support an option to just use the Windows system defaults, which will be used to set the Typeface and Height automatically This basic change (which relies on the change to using points) improves both the font and high DPI behaviors Interface to determine which method is used and font specifics Get / Set pbUseWindowsFont to True|False Get WindowsTypeFace to sVar Get WindowsFontPointHeight to iVar pbUseWindowsFont is an Application object property Easily set in the Studio on a project-by-project basis 9/20/2024 DISD 2012 Dallas, TX 16

  17. Studio Changes Proper modeling of visual components and properties Promote the recommended property use (which are exposed) The Studio can model components using the new style (Windows system font) or in legacy mode Add an option to the manifest to support the disabling of DPI Virtualization, which allows you to determine how this behaves on a project level The default is Disabled 9/20/2024 DISD 2012 Dallas, TX 17

  18. Properly Document How to Use Fonts Whenever possible just use the Windows System Font Don t set fonts unless you need to Use FontPointHeight when setting font height. Do not use FontSize or Physical_FontSize Set fonts in the controls and not their containers If you want the control to resize based on the font, use the Font interface (e.g., FontWeight). If you want the control to stay the same size, use the Form_Font interface (e.g., Form_FontWeight) If you want your application to scale well, always use dialog units and avoid using GUI units (e.g., GuiSize, GuiLocation) 9/20/2024 DISD 2012 Dallas, TX 18

  19. Background: High-DPI Issues Manufacturers are shipping lots of high-resolution displays The traditional default setting of 96 DPI can no longer be assumed There is more to designing for DPI Awareness than just font sizes Clipped UI elements or text Incorrect font size Incorrect layout Blurred UI elements Pixilated text Input issues Partial rendering of full-screen applications Incorrect use of effective resolution Note: the list above is from the MSDN article Writing High-DPI Win32 Applications This is a great article 9/20/2024 DISD 2012 Dallas, TX 19

  20. The font stuff looks really cool, but what in the world should I do about all this? Start with a quick test! Use the Visual Modeler in combination with the ToDo system. Be aware that sizes will change Run under different operating systems and different DPI settings Virtual machines make this so much easier! Realize that newer platforms (Windows 7 and Vista) are better than older (XP) there isn t much you can do if you don t like the way the platform handles scaling Let s do this 9/20/2024 DISD 2012 Dallas, TX 20

  21. Migration - Font Specifics You should search your source for code that explicitly sets fonts. Get / Set Typeface: if the typeface is ms sans serif you probably want to remove it. Anything else, should be marked for testing. Get/Set FontSize: You want to get rid of this. First try removing it as it may be unnecessary. If you need to set a custom height, use FontPointHeight instead. Get/Set Physical_FontSize: You want to get rid of this. First try removing it as it may be unnecessary. If you need to set a custom height, use FontPointHeight instead. Get/Set Form_FontSize: see FontSize Get/Set Form_Typeface: see Typeface Get/Set Form_PhysicalFontSize: PhysicalFontSize 9/20/2024 DISD 2012 Dallas, TX 21

  22. Migration - Other Considerations GUI Settings Most code dealing with GUI properties will fine If using explicit settings (Set GUISize to 100 120) in place of dialog settings (Set Size to 10 14) it may not scale well or look as good pay special attention Bitmaps in Containers Bitmaps in BitMapContainer, dbBitMap and Container3d should be checked Try using Bitmap_Stretched (easiest change but may not look optimal) Arrange so smaller bitmaps still look purposeful (whitespace and centering) Set the size of the container to match the bitmap Custom code to use different container and bitmaps at different DPIs 9/20/2024 DISD 2012 Dallas, TX 22

  23. Previous 17.0 Sessions Data Dictionary Webinar Series Part 1, November 15th, 2011 Part 2, November 17th, 2011 Focused primarily on Long Table and Column Names and Data Dictionary changes Lots of changes! Progress Report January 26th, 2012 DD Updates including how we responded to your feedback Date entry, entering and exiting events, client web service improvements, ToDo Items, Find in Files Beta Preview February 8th, 2012 Workspace Dashboard & Font Improvements All of these (and more) are available at www.dataaccess.com under Support & Resources | Webinar Libraries

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#