Download presentation
Presentation is loading. Please wait.
1
Stephen W. Meeley Data Access Worldwide
Visual DataFlex 17.0 Stephen W. Meeley Data Access Worldwide
2
Visual DataFlex 2012 Visual DataFlex 2012 will have two releases
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… 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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) 11/21/2019 DISD 2012 – Dallas, TX
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… 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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) 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
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… 11/21/2019 DISD 2012 – Dallas, TX
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 11/21/2019 DISD 2012 – Dallas, TX
22
Migration - Other Considerations
GUI Settings Most code dealing with GUI properties will fine If using explicit settings (Set GUISize to ) 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 11/21/2019 DISD 2012 – Dallas, TX
23
Previous 17.0 Sessions Data Dictionary Webinar Series Progress Report
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 under Support & Resources | Webinar Libraries
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.