<html>
<head>
<title>Ultimate ToolBox Change History</title>
<style>
BODY, P, H1, H2, H3, H4, H5, H6, LI, TD, TH, DD, DT
{
font-family: Verdana, Helvetica, Arial, sans-serif;
font-size: 10pt;
color: black;
}
BODY
{
background-color: #ffffff;
color: #000000;
}
LI,UL,OL
{
list-style-image: none;
}
H1, H2, H3, H4, H5, TH
{
font-weight: bold;
}
H2, H3, H4, H5
{
color: #009999;
}
H1
{
font-size: 16pt;
color: #007777;
}
H2
{
font-size: 13pt;
}
H3
{
font-family: Arial, sans-serif;
font-size: 11pt;
}
H4
{
font-size: 10pt;
margin-bottom: 2px;
}
H5
{
font-size: 9pt;
margin-bottom: 2px;
}
H6
{
color: #626262;
font-size: 65%;
font-weight: normal;
}
CODE
{
color: #1111BB;
font-family: "Courier New", Courier, mono;
font-weight: bold;
}</style>
</head>
<body lang=EN-US>
<span id="intelliTXT">
<h1><strong>Ultimate Grid Change History</strong></h1>
<h2>Version 7.2 (Update 01)</h2>
<h3>Changes and fixes as discussed by The Code Project
community</h3>
<p>The major source file changes referenced in this update should all be annotated
with 'v7.2 - update 01' in comments. Changes include: </p>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Fixes for proper pen selection for the <b>
<font COLOR="#1111BB" face="Courier New" size="2">CUGCheckBoxType</font></b><font SIZE="3" COLOR="#008000" face="Courier New">
</font>celltype as suggested by Brett R. and charshep. This corrects the
'disabled' look of the checkboxes. Files affected:<p>
UGCBType.cpp</li>
</ul>
<ul>
<li>Code added to <b><font face="Courier New" color="#1111BB">CUGTopHdg::ToolTipNeedText</font></b> and
<b><font color="#1111BB" face="Courier New">CUGSideHdg::ToolTipNeedText</font></b>
to ensure that multiline tooltips are available for top and side headings -
reported by kassinen. Files affected:<br>
<br>
ugsidehd.cpp<br>
UGTopHdg.cpp<br>
</li>
<li>Modification to <b><font face="Courier New" color="#1111BB">
CUGCtrl::CopySelected</font></b> to allow copy without clearing selections -
Jerry Evans. Files affected:<br>
<br>
ugctrl.cpp<br>
<br>
</li>
<li>Changes to <b><font face="Courier New" color="#1111BB">
CUGGrid::OnMouseMove</font></b> remove a while(1) loop / message pump
sequence - this gets rid of unwanted CPU usage. This change should be
monitored. Original code commented out - suggested by lazymiken. Files
affected:<br>
<br>
UGGrid.cpp<br>
<br>
</li>
<li>Change to <b><font face="Courier New" color="#1111BB">
CUGCell::SetFormatClass</font></b> now allows reset of format class if NULL
<b><font face="Courier New" color="#1111BB">CugCellFormat</font></b> class
pointer passed in. Submitted by mgampi. Files affected:<br>
<br>
UGCell.cpp<br>
<br>
</li>
<li>Access specifier for the first section of the <b>
<font face="Courier New" color="#1111BB">CUGExpandType</font></b> cell type
changed from private to protected to allow derived classes access. Submitted
by mhorowit. Files affected:<br>
<br>
UGCTExpand.h<br>
<br>
</li>
<li>Added <b><font face="Courier New" color="#1111BB">DetachGrid</font></b>
method to <b><font face="Courier New" color="#1111BB">CUGCtrl</font></b> to
allow quick replacement of one grid with another on a dialog control.
Submited by Timothy W. Okrey. Files affected:<br>
<br>
ugctrl.h<br>
ugctrl.cpp<br>
<br>
</li>
<li>Change to <b><font face="Courier New" color="#1111BB">
CUGCTDateTimePicker::OnLClicked</font></b> and <b>
<font face="Courier New" color="#1111BB">OnKeyDown</font></b> to prevent
showing calendar for read only cells. Submitted by mhorowit. (Note: Other
celltypes could be checked regarding this behavior as well as updated
drawing for disabled button). Files affected:<br>
<br>
UGCTdtp.cpp<br>
<br>
</li>
<li>Change to <b><font face="Courier New" color="#1111BB">
CUGCtrl::GetCellIndirect</font></b> - a call to OnGetCell was using column
translation inappropriately. Submitted by JohnBarnes2858. Files affected:<br>
<br>
ugctrl.cpp<br>
<br>
</li>
<li>Change to <b><font color="#1111BB" face="Courier New">
UGXPThemes::GetThemeRect</font></b> checks for inclusion of vssym32.h to
avoid redefining constant - resolves conflict for VS2008 compilation. TD.
Files affected:<br>
<br>
ugxpthemes.cpp<br>
<br>
</li>
</ul>
<h2><strong>Ultimate Grid 7.2</strong></h2>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
An update to the XML classes (courtesy user kvt)
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Addition of AllExamples and AllDemos projects.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Various fix ups to the existing <code>CUGDatasource </code>based classes for
Unicode and VS2005 support </li>
</ul>
<h2>Ultimate Grid 7.0/7.1</h2>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Full support for VC++ 2005 compilation (with 0 warnings)
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Support for XP themes
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Drop Down Grid Cell Type
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
A powerful new Grid cell type allowing you to add Master Detail
functionality to the grid
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
XML Import/Export Functionality - Define the Grid layout, defaults and data
using XML
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Autofit Column Cell Type - Automatically increase the row height to show the
entire text string
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Improved ADO Datasource - Sorting and additional improvements have been made
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Excel XP look and feel - Configure Ultimate Grid 2005 to have an Office
XP-like look and feel
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Backwards compatible with Ultimate Grid 97 and Ultimate Grid 6.1. So you
don't have to worry about any upgrading issues.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Common MFC customer suggestions added - We've listened to the developers
using the old version and done what you wanted
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Enhanced Numeric Support </li>
</ul>
<h2>Ultimate Grid 6.0</h2>
<h4>Cell-types:</h4>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
New drop-down grid celltype, providing functionality to display another
Ultimate Grid within a popup window
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
New auto-fit celltype, providing ability for cells to adjust its column and
row size in order for the text to be fully displayed.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
All celltypes were improved to respect the <code>ReadOnly </code>flag
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
All celltypes were improved to function properly with <code>BestFit </code>
function
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The droplist celltype will now properly display when opened with keyboard
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The multi-font celltype will now properly draw when center or right
alignments are selected.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
A <code>CUGCellType::DrawBackground</code> virtual function was added. This
function takes care of drawing the background area of the cells. All
standard celltypes were modified to use this function whenever required.
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
By default the <code>DrawBackground </code>function uses the <code>
FillRect </code>(with a brush) function to fill-in specified rect. This
change provides the grid with a better support for 256 color
environments. </li>
</ul>
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGCellType::GetBestSize </code>virtual function will now be
called with a size parameter initialized to current cells height and width.
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
This information is used by cells with a bitmap to properly calculate
width of the bitmap image. </li>
</ul>
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGCellType::DrawText </code>will now unselect the font object
selected. </li>
</ul>
<h4>Data-sources:</h4>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
New XML parser class was added to provide functionality to load and save XML
documents. The XML format supported is compatible with XML files used by the
MS Excel XP.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
An <code>IsOpen </code>virtual function was added to the <code>CUGDataSource
</code></li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Improved on the ADO datasource
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Implemented sorting functionality
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Implemented <code>IsOpen </code>function to check if a connection is
currently open </li>
</ul>
</li>
</ul>
<h4>CUGCell:</h4>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Numbers are stored as numbers now
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
For display purposes the numbers are formatted using clients local
settings
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
During edit the numeric value is shown without formatting
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The formatting of numbers can be disabled using <code>
UGCELL_DONOT_LOCALIZE </code>cells property flag. Set through <code>
CUGCell::SetPropertyFlags</code>.
</li>
</ul>
</li>
</ul>
<h4>CUGCtrl:</h4>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The BestFit function will now send <code>CUGCellType::OnChangedCellWidth</code>
and <code>CUGCtrl::OnColSized </code>notifications
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>OnSheetSetup </code>will now allow users to setup all of the
sheets properly, including side heading width.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGCtrl::AdjustComponentSizes </code>and <code>CUGCtrl::Moved</code>
will not redraw the grid when paint mode is disabled. The <code>
AdjustComponentSizes</code> will perform all sizing calculations, but will
not redraw any of the grids components.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGCtrl::OnPaint</code> and <code>SetPaintMode (TRUE) </code>will
call <code>AdjustComponentSizes </code>instead of <code>RedrawAll </code>
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGCtrl::OnPaint</code> will not pre-paint the entire grid view
area with a button face-color, now this function will only draw the bottom
right area that is not covered by the scrollbars or any other grids
component
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Added new notification <code>CUGCtrl::OnSelectionChanged</code>, which is
called by the multiselect class to inform the user that selection has
changed.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Added a <code>CUGCtrl::EnableScrollOnParialCells</code> function which
control how grid behaves when user drags mouse over partially visible cells
(bottom or right side of the grid area), by default we will treat this area
as outside of the grid and we will scroll using current ballistics settings.
The benefit of this flag is that it is now possible to prevent the grid from
taking any action when the mouse is over this (gray) area.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGCtrl::BestFit</code> and <code>CUGCtrl::FitToWindow</code>
functions are now virtual
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Added <code>CUGCtrl::AddFontIndirect </code>function that allows users to
add <code>CFont </code>objects to the grids font list by passing a <code>
LOGFONT </code>object
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGCtrl::OnKillFocus </code>will now provide pointer to the new
window along with the section that lost focus. </li>
</ul>
<h4>CUGGrid:</h4>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Added <code>TempDisableFocusRect </code>and <code>PaintDrawHintsNow </code>
functions to allow for even quicker redraw
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>CUGGrid::OnPaint</code> determines what are the cells that should
be updated (if a rect is invalidated), and redraws only the required cells
plus the current cell. </li>
</ul>
<h4>CUGTab:</h4>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Added a <code>CUGTab::GetTabLabel </code>function to allow retrieval of a
tab label string </li>
</ul>
<h4>Miscellaneous:</h4>
<ul style="list-style-image: none">
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
Tooltips will now work on heading cells
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The <code>m_paintMode </code>flag is now set to <code>FALSE </code>when the
grid is created, this will prevent repainting until the grid creation/setup
is completed.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The multiselect class will now report number of groups properly.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The multiselection will now clear when user selects a block of cells
(dragging, or SHIFT-click) and clicks on the last selected cell.
</li>
<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
The Ultimate Grid will properly compile now when <code>UG_ENABLE_PRINTING
</code>is not defined</span></li>
</ul>
</body>
</html>