Updates and Enhancements in Visual DataFlex 17.0
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.
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
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 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
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 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