|
|
Version 2.43 - September 22, 2005
Release notesProf-UIS 2.43 is an intermediate release which is available for registered users. The evaluation version is available on your request. We added many new features and components including compound properties for the property grid, tabbed toolbars, CExtGridCellDateTime , CExtSliderWnd and CExtCheckListWnd classes, and much more. We also enhanced the functionality of the existing components and made using some features easier. The full list of new features, improvements, changes and bug fixes is given below. Traditionally we illustrate new features by publishing new sample applications and Prof-UIS 2.43 is not an exception: You will certainly be pleased with CompoundProperties and TabbedBars samples. We also published a new article Prof-UIS Property Grid, which explains not only the property grid architecture but also provides a step-by-step tutorial on how to use it. It is the last intermediate release before Prof-UIS 2.50 (the next major release). What’s New- The property grid control now supports compound properties (the
CExtPropertyValueCompound and CExtPropertyGridCellCompound classes). A compound property can contain a number of nested properties and any nested item in its turn can be a compound property. Any sub property is reset independently from the parent property. This feature coupled with the capability to display and edit properties of several objects simultaneously allows you to easily and quickly manage objects of any complexity. - Added a CompoundProperties sample application which demonstrates new features of the Prof-UIS property grid control including compound properties and new grid cell types for editing attributes of fonts, colors and rectangles.
- Added new tabbed toolbars (the
CExtTabbedToolControlBar class). The Flat, One Note and Whidbey tabs are also supported (the CExtTabbedToolControlBarFlat , CExtTabbedToolControlBarOneNote and CExtTabbedToolControlBarWhidbey classes). - Added a TabbedBarssample application which demonstrates new tabbed toolbars (switching tab control position on-the-fly, both for all tabbed toolbars and resizable control bars inside dynamic tabbed bar containers; using docking algorithms for resizable control bars regardless of the currently applied GUI theme; custom-drawn captions and separators for resizable control bars; on-the-fly rendering a custom background for the entire application (a hurricane background)).
- Added a
CExtGridCellDateTime class, which implements the date and time cell. This cell displays hours, minutes, seconds and a time designator in its time part and day, month and year in its date part. You can use different modes of the cell (e.g., by displaying only date, only time or date and time together). With the Drop Down button you can invoke the embedded pop-update picker for selecting dates in a handy way. - Added a
CExtSliderWnd class, which implements the slider control. - Added a
CExtCheckListWnd class, which provides the functionality of the Windows list box and additionally each item in the list has a check box. - All control bars and tab windows now support an advanced tooltip window with a drop shadow. This option is universally controlled by the
CExtControlBar::g_bUseAdvancedToolTips global boolean variable. You can also get a particular tooltip window implementation for these controls by overriding the CExtControlBar::OnAdvancedPopupMenuTipWndGet() , CExtControlBar::OnAdvancedPopupMenuTipWndDisplay() , CExtTabWnd::OnAdvancedPopupMenuTipWndGet() and CExtTabWnd::OnAdvancedPopupMenuTipWndDisplay() methods. The CExtPopupMenuTipWnd::e_tip_style_t enumeration describes available types of the advanced tooltips. - The pop-up color menu is improved by allowing you to specify appropriate dimensions for the matrix of color cells. The structure
CExtPopupColorMenuWnd::COLORREF_TABLE_ENTRY now is a class. The CExtPopupColorMenuWnd class is enriched with new handy properties and methods including m_sizeColorItemCell , m_sizeColorItemSpaces , AddColor() , RemoveAllColors() , SetColorsInRow() , SetColors8x5() , and SetColors8x2() . - Added a new menu flag
TPMX_PALETTE_TB_BKGND that allows you to draw the background of palette menus like that in floating toolbars. - The tab window for resizable control bars stacked in a tabbed group can now be optionally put at the top. This feature is controlled by the
CExtControlBar::g_bTabsAtTop flag. - Added
CExtButton::m_bQuickActivationEnabled and CExtButton::m_bQuickActivationSeparatedDropDown flags. The first enables/disables keyboard accelerators for pushbutton, check box and radio button windows. The latter specifies whether a shortcut command for drop-down buttons fires the command for the left part or invokes the pop-up menu associated with the right part of the button. - Enhanced the boolean and check box cells by adding the following properties and methods:
CExtGridCellBool::g_strTextTrue , CExtGridCellBool::g_strTextFalse , CExtGridCellCheckBox::GetTextMode() , and CExtGridCellCheckBox::SetTextMode() . - Added several handy cell classes including
CExtGridCellFontFaceName , CExtGridCellUpDownColorPart , CExtGridCellUpDownFontWeight , CExtGridCellUpDownRectPart , and CExtGridCellDropListComboBox . - Added a new parameter
nIndexStart to the CExtGridCellComboBox::FindString and CExtGridCellComboBox::FindStringExact methods. It is a zero-based index of the item from which the search starts. When the bottom of the list box is reached, the search resumes from the top of the list box back to the item specified by nIndexStart . If nIndexStart is -1, the search starts from the beginning from the beginning of the list. - Added a new parameter
bCaseSensitive to the CExtGridCellComboBox::FindString method, with which you can indicate that the comparison is case sensitive if bCaseSensitive is true or not otherwise. - When the enumeration mode is turned on (
SetEnumMode(true) ) for the CExtGridCellComboBox cell, the user now cannot input any character that does not match the first characters of the strings contained in the list box. - Added several parameters to the
CExtGridCell::OnCalcCheckSize() that provide additional information about the cell. - Added
OnInplaceControlDateTimeInputVerify() and OnInplaceControlDateTimeInputComplete() methods to the CExtGridCell class, which indicate the date time value in the in-place date time control has been changed and finally selected correspondingly. - Added
OnGridCellInplaceControlDateTimeInputVerify() and OnGridCellInplaceControlDateTimeInputComplete() methods to the CExtGridWnd class, which indicate the date time value in the in-place date time control has been changed and finally selected correspondingly. - Added
SetCursor() and GetCursor() methods to the CExtGridCellEx class, which allow you to set and get a hover cursor. - Added a new
CExtGridCellColor::e_Mode_t::eNone constant which indicates that the color cell has no text. - Added a
CExtGIE template class which is used as a decorator for the cell in-place control classes. - Added a new
IsModified() virtual method to the following classes: CExtPropertyItem , CExtPropertyCategory , CExtPropertyValue , CExtPropertyValueCompound , and CExtPropertyValueMixed . - Added a new
Reset() virtual method to the following classes: CExtPropertyItem , CExtPropertyCategory , CExtPropertyValue , CExtPropertyValueCompound , and CExtPropertyValueMixed . - Added two new handy
CExtPropertyItem::ItemGetByName() overloaded versions. - The
CExtPropertyItem class and classes derived from it now feature a set of new methods for managing compound properties: CExtPropertyItem::BuildCompoundTextDefault() , CExtPropertyItem::BuildCompoundTextActive() , CExtPropertyValue::BuildCompoundTextDefault() , CExtPropertyValue::BuildCompoundTextActive() , CExtPropertyValueCompound::BuildCompoundTextDefault() , and CExtPropertyValueCompound::BuildCompoundTextActive() . - To synchronize compound properties, the following methods were added to the property grid control and tree grid window:
CExtPropertyGridCtrl::OnPgcSynchronizeCompoundValue() , CExtPropertyGridWnd::OnPgwSynchronizeCompoundValue() , CExtPropertyGridWnd::OnPgwSynchronizeCompoundValueChildren() , and CExtPropertyGridWnd::OnPgwSynchronizeCompoundValueParentPath() . - The
CExtTabFlatWnd::OnFlatTabWndGetItemColors() and CExtTabFlatWnd::OnFlatTabWndGetMarginColors() methods are now public. - Added two new handy
CExtTabPageContainerWnd::GetSafeTabWindow() overloaded versions, which provide access to the tab window inside the tab page container control. - Added a new
CExtTabWnd::OnTabWndGetParentSizingMargin() virtual method. It affects the tab window behavior when MFC’s internal WM_SIZEPARENT message sent by the CWnd::RepositionBars() method is processed. - The
CExtTabWnd now features new handy methods GetRectTabItemsArea() , GetRectTabNearBorderArea() , GetRectBtnUp() , GetRectBtnDown() , GetRectBtnScrollHome() , GetRectBtnScrollEnd() , GetRectBtnHelp() , GetRectBtnClose() , and GetRectBtnTabList() . - The tab windows are now able to inherit their background style from their parent windows.
m_bRenderConsistentPageBackground property was added to the CExtTabPageContainerFlatWnd , CExtTabPageContainerWhidbeyWnd , and CExtTabPageContainerOneNoteWnd classes. The m_bRenderGradientInheritance property was added to the CExtTabPageContainerOneNoteWnd class. - Added
CExtPageContainerWnd::OnPageContainerItemExpanding() and CExtPageContainerWnd::OnPageContainerItemExpanded() methods, which allow you to catch easily the page expand/collapse events in the tab page container control. - The
CExtBarButton::OnHover() method features a new bSuspendTips parameter, which indicates whether the toolbar button tooltip is enabled. - Added a new article Prof-UIS Property Grid, which explains not only the property grid architecture but also provides a step-by-step tutorial on how to use it.
- Prof-UIS is now localized to Croatian and Serbian. Many thanks to Bahrudin and Dusan!
Bug Fixes- Fixed the
CExtWS template and now you can override the WM_PAINT and WM_ERASEBKGND messages in the CExtResizableDialog derived classes through the message map. - Fixed a bug in the grid cell up-down button, when the value was not incremented after the user clicked up-down buttons in the active in-place edit control.
- Fixed a bug with annoying beeping when typing
VK_ENTER in the in-place edit window for menu items. - Fixed a bug in the
CExtButton , CExtCheckBox and CExtRadioButton controls when the shortcut activation failed to work. - Fixed a bug in the check box cell used in the property grid control when the indeterminate state was painted incorrectly.
- Fixed a bug in the up-down cell used in the property grid when double clicks were processed incorrectly.
|