This article was brought to you by the guys from VDF-GUIdance.
For more DataFlex targeted articles see http://www.vdf-guidance.com

What's New in QuizMaster Manager


(All dates are in military date format yyyy-mm-dd)

2009-01-21


{ .. }
  • Start Center was added where the user can select among the most important program functions. The start dialog was scrapped in favor of the new Start Center. The Start Center also contains an Online "What's New" section. Below the What's New section there's a Groucho Marx section, with famous quotes and dialogs. These two sections was removed from the About dialog. In addition to the mouse - the Start Center can also be navigated with the Tab and Shift+Tab keys. The logo in the top righ-hand corner can be clicked to navigate to the Visual DataFlex web site.
  • The What's New is an Online resource that collects a html page over the Internet to display the latest news in the StartCenter. If no internet connection is available, the html news file will be read from the harddisk. So each time an internet connection is available the news file will get saved to the harddisk. To check if there's an internet connection is available the cPing class is used - courtesy of Allan Kim Eriksen.
  • The properties on the Program's Property panel regarding the previously used start dialog was removed. The background image settings were moved to the first tab-page.
  • A bug was fixed on the properties dialog - where if you swapped the General tab-page to not be the first - recompiled - made a change and hit the Apply button, the logic for the menu, toolbar and status bar checkboxes were not correct. Hans van de Laar reported the bug and also provided a solution - Thank you.
  • The Window menu was changed in such a way that each activated view that has been changed - and thus needs to be saved - is marked with an asteriskafter the name.
  • An embedded browser was added  to display internet link content and help video clips within the application. * * The Program Preference's panel contains a new comboform where the user can select to use an external browser program instead. (Though this will be much slower).
  • Each html link has been saved to a database which make them very easy to edit/update if necessary. A new view was added for this purpose. See the Tools menu - Internet Hyper Links.
  • The video help clips were updated. The new clips uses zooming effects. It means that the file size can be smaller while the part that is in focus always is readable as well as 'crystal' clear. Very efficient and nice new feature of Camtasia Studio version 6 that was used for the video clips. The buttons to start the clips on the Preference's panel were removed and can be found in the Help menu.
  • The video clips that are displayed in the internal browser object are flash movies - and resides on a web server named Screencast. So the help menu contains http links to that server.  This is a service that is provided by the same company that makes Camtasia Studio.
  • The video clips are still included and gets installed into subfolders of the project's Help folder. To use the disk video clips instead of the online versions - all you need to do is to edit the links with the 'Edit Hyper Links' view - and enter the full path to QMM's Help folder. Or you can even drag & drop files onto the Hyper Links view.
  • Links were added for installation of Acrobat Reader and Adobe Flash plug-ins for Internet Explorer in the Help menu.
  • The usage of the Refresh message to change the size of the Question view and the language of Quiz Builder has been scrapped in favor of a dedicated DoChangeLanguage message. It makes the interface cleaner. The refresh message was also send to often which gave some unwanted side-effects. The DoChangeLanguage also fixes a bug where if the view was in zoom mode, it wouldn't resize properly.
  • The html help has been updated and improved. An example of an internet link in the help document is provided. If clicked an internet page is displayed in the help program.
{ .. }
  • The help is now available from the Help menu as a PDF document as well. The HelpMaker's 'PDF Manual Designer' and 'PDF Merger' was used to create this PDF document. In the Designer you format a template and then 'pour' the help project file into that template with a Merger program. Once the template is done the PDF is created with a few clicks. HelpMaker is the program that is used to create the html (.chm) Help file. The internet link in the PDF document also works just as in the html Help file.
  • The source for the help project is now also included in the installation program for the full source version. Also all html code and images for the Start Center is located under the Help folder.
  • It is now possible to initialize the folder browser with a path, just like an Open/Save dialog. This is done with the BrowseDialog function. Previously the vSHBrowseForFolder function of the vWin32fh.pkg was used to display a dialog to select a folder from. However, it lacked the ability to set an initial path - meaning that the folder dialog would always start by showing all available drives on the computer. This function is used when a backup is going to be restored in the dbMaintenance.dg. The folder dialog now opens pointing at QuzMaster's Data folder, where backups are usually contained in sub-folders. * Important! The BrowseDialog function relies on a callback dll that resides in QMM's programs folder - named 'BrowseFolder.dll'. You _must_ deploy that .dll if you are going to use the BrowseDialog function. Courtesy of David Martinko and Wil van Antwerpen.
  • Fixed a bug where the language selection group in QuizBuilder was displayed even if only one language had been selected from the property panel, after the program was re-started.
  • New icons for all search buttons, prompt, save, tools, about, help and for the program itself - as well as new splash and about images were created. And of course a set of new icons for the new browser object. And I'm sure some more icons that I've forgotten about...
  • The usage of the class Textbox to display 32-bits bitmaps has been scrapped in favor of using the cvBitmapContainer class - courtesy of Wil van Antwerpen. This makes the 32-bits bitmaps look OK even if the machine running the application is set to only 16-bits colors depth.
  • New Groucho quotes and a variant of the Marx Brother's dialog "Chip Soup" called "The Marxist Theory of Computer Repair" was added.

2008-11-19


{ .. }
  • The Quiz Builder was improved. All controls were moved to the top of the panel. It is now possible to change the font size dynamically to make it easier to read the grid content. The Answers column can now easily be shown/hidden. Two preview buttons were added - one for Questions only and one for Questions and Answers. These two print options did already exist in the menu and tool bar system. The selection list is now seeded with the current grid record. So when it is popped up it will display the record that is currently pointed to in the grid and at the same column. If a question is selected via the selection list and it already exists in QuizBuilder, the info box that says that the question already exists is now displayed _after_ the selection list is closed. After a selection the newly added record will be highlighted by QuizBuilder. New sort option in right-click menu. The vertical scroll bar now works OK. The right mouse click menu was improved with new options.
  • More and better icons were added to the menus, so that all items now have an icon. Some icons were redesigned/improved. The descriptions/tool tips were also improved. The Edit and Print button was changed into SplitButtonPopup, this was a bug - they should have been this way from the start.
  • The Help menu was restructured and improved. Help video clips was added.
  • The 'Welcome Screen' was redesigned. It now has better and transparent images and four buttons instead of three. A Help button was added.
  • The Database Maintenance was improved visually with new and more instructive images. The first tab-page now also repair the data tables if needed. It used to re index tables only. When restoring a backup, are tables are deleted from disk prior restoring the backup data. This will ensure that saved quiz files will be the same after a database restore. Fixed a bug when restoring from a backup were the sysfile table next master id wasn't restored. It is now possible to remove all Questions and Answers for the second language only (they will be blanked out). Export/Import - You can now Export Questions to a file that can be imported on an other computer that has QuizMaster Manager installed.
  • Fixed a bug in Database Maintenance were the automatically constructed filename could result in an illegal filename.
  • Dialog navigation. All dialog navigation now starts on the first tab-page top-button. This makes it easier to navigate with the keyboard with Key Right Arrow to shift to the next tab-page. It is handy to get a better overview of what the dialog is doing.
  • The logic that sets the number of recent used files (MRU list) in the file menu was simplified. The logic formerly used two properties for the number of files to display - when really only one was needed. The logic was also moved out of the ghoApplication object to the ghoValueObject, which makes it cleaner.
  • Changed the logic for the Question view when a change is made between one and two languages. If one language the second question and answer are hidden (it always worked that way). But now all other controls below the 'Answer 2' is automatically moved up to fill the gap of the hidden fields and the view is automatically resized to fit the changed size. Also replaced radio buttons with comboform controls. They just seem to work better.
  • New skins - which are available from the Program Properties dialog.
  • Video clips were added to the Help menu and Property panel to demonstrate how to make more user configuration changes to menus/toolbars and how to set up to work with Tab-page groups.

Known issues


  • When changing the Button Caption for Tool bars (Program Preferences) and the icon size selected is larger than 32x32, it won't work to display text below icons correctly.
  • When Enable Groups has been turned ON for view tab pages and a design time property is changed, the question/messagebox about needing to re-start the application is displayed twice! This is a bug in CodeJock's TabWorkspace control when the ComEnableGroups is used. In fact what is happening is that the OnClick event is recursively called twice from the modal panel (program properties)! Data Access Corp. is aware of this problem.
  • Dialogs. When changing tab-page the image on the selected tab-page will, for a fraction of a second, display a black background. The images used are 32-bits (with Alpha channel enabled) that have their background set to transparent. It is the transparent part of the image that is shown as black, temporarily.
  • When a Quiz is Auto generated, the grid flickers when filling grid with data.
  • Page up and down in QuizBuilder doesn't work properly. It does scroll up and down, but the current item is not being set.
  • When some of the properties are changed for menus and toolbars, the application needs to be restarted for changes to take effect. You will get notified when this is the case. This is because of how some of the CodeJock properties were designed. They cannot be changed once an object is created.
  • If toolbars have been disbled and the position is changed from e.g. top to bottom - they won't line up on the same row when enabled again. This is because it is not possible to distinguish between a single disabled toolbar and if all toolbars have been disabled, so there is nothing to line up with when changing positions. Just select to position the toolbars at the same position again, after enabling them, and they will get lined up again on the same row.

2008-05-14


  • New buttons were added to the toolbar; Auto Generate Quiz, Move Row Up, Move Row Down, Mark Rows and Unmark Rows.
  • All buttons were removed from the QuizBuilder view.
  • All the new buttons as well as the Find buttons now shadows correctly depending on the state of the active view. So if a button can not be used, it is shadowed.
  • The auto generate Quiz panel was improved visually and the randomization process was corrected from a couple of flaws.
  • A new .avi movie was used for the randomization process. Update.avi can be found in the Programs folder.
  • Fixed a save bug in the QuizBuilder. If the cancel button was pressed in the Save As dialog, the save button was disabled - indicating that the Quiz was saved to disk when in fact it wasn't.

2008-05-08


  • The about dialog was changed to use several tab-pages with Rich-Text-Format (RTF) files that are linked into the application at compile time.
  • Internet Explorer links was introduced to get to the download sites for the source code (Vdf-Guidance) and to the Visual DataFlex site.
  • Transparent images (32-bit images with Alpha-channel) where used in bitmap files for the Program Preferences, Database Maintenance and Startup dialogs. It makes the bitmap images look much better when skinning the application. Note that the manifest file must be used to display the transparent images correctly. (QuizMasterManager.exe.manifest)
  • Some icons were replaced with better looking ones.
  • A Technical Help chapter (Programmer's Help) was added to the Help file.
  • The font used (or typeface) was changed to Tahoma.

2008-04-27


  • From RC2 of Vdf 12.1 it wasn't possible to change the toolbar icon size above 32x32. It now works as intended. All icon files used has multiple sizes. So for instance the FindFirst064D32.ico icon file that is used both in menus and the toolbar, consists of the following icon sizes; 16x16, 24x24, 32x32, 48x48 and 64x64. The right sized icon will automatically be used from the file when the size is changed. Thanks to Björn Thunvik for providing a solution on the newsgroups.
  • Several bugfixes were made and the code lifted to VDF 2008. This included adding a skinning object and the change of the Program Preferences dialog to select skins. The selection of skins is a bit different than the standard VDF 2008 example.
  • A technical part of the help file for programmers was added.

2007-12-17


Made a small fix for the Reindex.pkg package. It will now show better info when a table that is to be reindexed, is in use.

2007-12-14


  • Improved the cMRUFiles class to better display the first and last past of the path and filename. The API called is used to truncate the middle part of long text strings. The improvement is using the text_extent function to get the correct length of the path and filename. This length is passed on to the PathCompactPath API funcion.
  • Added a function for setting the size of the ModalPanel and dbModalPanel classes. This is an intermediate solution for VDF 12.1. It turns out that when a skin is used, each time a ModalPanel is popup'ed, it looses some pixels at the bottom. Thus, the panel is thrinking and thrinking for each time it is poped up. The two procedures Procedure Popup for ModalPanel and Procedure Popup for dbModalPanel, fixes the problem. (Thanks to Garret Mott)

2007-12-12


Implemented a selection of Tooltip Styles for menu and toolbars, on the Properties dialog - Menu and Toolbars - tabpage. A new field in the Settings table were added to hold the value for this selection - TooltipStyle.

2007-12-11


  • The CodeJock's Skin Framework has been properly subclassed - See the new cCJComSkinFramework.pkg. A lot of work was put into making the skin subclass as easy as possible to use. The CodeJock Skin control uses many object layers and all of this has been 'hidden' or isolated from the developer. Also; common VDF messages like Value, Item_Count et. al. were introduced to make the new subclass as easy to use as possible. See the 'Properties.dg' - 'Application Visual Style' tab-page - for examples on how to use the new class. The ComEnableThemeDialogTexture procedures mentioned below (2007-11-27) has now been moved into the cCJComSkinFramework.pkg.
  • The Reindex.pkg was updated. The verbose_state of the error_info_object is shut off before reindexing starts. This means that if a table is opened by another program the error number and row number in the program are _not_ showned. Also; if an error is encountered during reindexing, the loop will be terminated and a proper message will be displayed that there were problems during re-indexing. At the end of the reindexing procedure the verbose_state is reset to its original state.
  • How Tooltips are displayed have been improved in the Toolbar object. The style of the tooltips will now read the tooltip style from the selected skin. Thanks to Peter van Wijk.

2007-11-27


Even better skinning has been implemented. This is demonstrated with the QuizMaster Manager's 'Program Preferences and 'Database Maintenance' dialogs. By using the ComEnableThemeDialogTexture procedure for the TabPage, Group, Checkbox, RadioGroup and Radio classes, tabpages and controls placed on tabpages will get properly skinned/colored. Both db-aware and non-db-aware classes. (Thanks to Sonny Falk at DAC).

2007-11-24


On the 'Advanced' tab-page of the Program's Properties dialog there is a setting for the maximum number of MRU (Most Recent Used) files to be used on the 'File' Menu's 'Recent Files' item. However a bug in the cMRUFiles class didn't respect the setting. This bug has been fixed.

2007-11-07


  • Added INS/OVR status pane to the status panel. See end of QuizMenuToolbar.mn. Thanks to Russell McDougall.
  • The cMRUFiles class has been changed so that the middle part of the filename & path is truncated to ensure that the end of the string (i.e. the filename) is readable from the Most Recent Used filename list, from the File menu. The windoze PathCompactPath API function is used for this.

2007-11-06


  • The dbMaintenance.dg was changed so that there is a button under each image/tab_page. The image itself used to be a button object but this doesn't look good when skinning is used.
  • A compilation problem with the "About and SysInfo" library was fixed when using the Norwegian, Russian or Spanish languages. Thanks to Ola Eldoy.