Version History |
Version 2018.10.210.196 [October 14, 2018] |
July 8, 2016:
Classes | Sometimes the control would not be refreshed correctly after a window resize. This is hopefully fixed now. |
May 10, 2016:
Template/Classes | In some cases an "Unknown Identifier" error was thrown on the PTB:lpMsImgLib global variable. Some modifications to try to catch why this is happening. |
Classes | Regression: XPTheme themes no longer worked. Fixed. |
Classes | Regression: Drop Buttons would cause a GPF. Fixed. |
February 22, 2016:
Classes | There was no method to set the currently selected Drop Combo item. Added SelectComboItem. |
November 17, 2015:
Classes | Item IDs from DropButtons were not working correctly. Fixed. |
Classes | SetItemEnabled in DropButtonClass did not work correctly. Fixed. |
Installer | Installer is now dual code signed. |
March 17, 2015:
Classes | In some circumstances the menu text was hidden. Fixed |
Classes | MDI buttons on maximized MDI windows do not work properly. This has been found to be a bug in the Clarion runtime library in both Clarion 9.1 and 10-Beta. |
Version 2.1.186 [February 24, 2015] |
July 14, 2014:
Classes | PTB:ShowScrollBar caused "Calling function as a procedure" warning. Fixed. |
July 2, 2014:
Classes | Horizontal scrollbar could show up at the bottom of Powertoolbar controls in Clarion 9.1. build 11014 or newer. Fixed. |
Version 2.1.181 [January 28, 2014] |
January 28, 2014:
Installer | Installer is now Clarion 9.1 compatible. |
November 16, 2013:
Classes | Drop down arrows were not drawn or usable on drop down combo controls. Fixed. |
August 6, 2013:
Template | Code generation for Drop Down Buttons could be wrong if there were multiple Drop Down Buttons on the same window. Fixed. |
Version 2.1.175 [May 19, 2013] |
May 19, 2013:
Product | Files from XPTheme are now included with PowerToolbar and installed along with it. This includes: templates\xptheme.tpl libsrc\xptheme.clw libsrc\xptheme.inc libsrc\xpthemeBoxes.clw libsrc\xpthemedc.clw libsrc\xpthemedc.inc libsrc\xpthemeDrops.clw libsrc\xpthemeEntries.clw libsrc\xpthemeeq.inc libsrc\xpthemeListboxTakePaint.clw libsrc\xpthemelistcolumns.clw libsrc\xpthemeLists.clw libsrc\xpthemeRadios.clw libsrc\xpthemeSheets.clw libsrc\xpthemeSpins.clw libsrc\xptheme_group_ending.clw In Clarion 6 and older those files will be in %ROOT%\3rdParty but in Clarion 7 and newer they will be in accessory\template\win and accessory\libsrc\win. |
June 29, 2012:
Documentation | Updated documentation for the Toolbar template. |
June 29, 2012:
Classes | The "Delay .INIT" could cause problems if embedded code had been added to call methods in the PowerToolbar class and that code was now executed before the .INIT. A check has been added that will throw an error message if that happens and halt the program. It will indicate the program name and the method being called. In hand coded projects, you must now set the SELF.InitCalled property to TRUE right after the call to AppToolbar.Init() in the derived POToolbarClass.Init method. This is currently done by the templates to generate code like this: Toolbar1.Init PROCEDURE() ! Start of "Init Method Data section" ! End of "Init Method Data section" Code ! Start of "Init Method After Code statement" ! End of "Init Method After Code statement" AppToolbar.Init(Toolbar1) SELF.InitCalled = True To avoid problems, please use one of the embeds that are executed after the INIT method is called. See: The "Open Window Event Handler" embeds are the ones created around the call to the PowerToolbar.Init method. The name of this embed changes depending on if the "Delay Toolbar.Init" option is checked on the "Advanced" tab on the PowerToolbar control template, but the code will always be correctly placed before or after the call to the PowerToolbar.Init method. You can also use the "Init Method | After Parent Call" embed. It is generated inside the derived INIT method. |
Version 2.0.165 [June 20, 2011] |
June 26, 2012:
Classes | A Message() had been accidentally left inside the DropDownMenu method of the DropButtonClass. Fixed. |
Version 2.0.163 [June 19, 2011] |
March 27, 2012:
Classes | GetItemID method did not return correct results for DropComboButton if no ItemID was specified. Fixed. Returns 1 based index of the selected item in the list. |
December 14, 2011:
Template | Delay Initialization was set to true for windows other than the application frame. Fixed. |
Classes | SetText method did not select the item in a Drop Combo control, it just set the text. Fixed. |
November 1, 2011:
Classes | Under some circumstances windows were not removed from the window list. Seems to be tied mostly to windows with toolbar caption. Fixed. |
Classes | 10th item in Windows list menu should show "More windows..." which opens a window with a list of all open windows. Instead it was listing the 10th open window. Fixed. |
Classes | Some debug code was still left in some methods. Fixed. |
October 28, 2011:
Classes | Window list was not being created correctly. Text was missing from the window list items and the active window was not indicated. Fixed. Note that menus on MDI windows are NOT supported, neither merged or non-merged. Sent to beta testers. |
July 26, 2011:
Template | Added option to delay initialization of the PowerToolbar classes to prevent duplicate menus. |
June 2, 2011:
Classes | SetBandHidden and GetBandHidden were not implemented in the Global class. Fixed. |
Template | Added SetBandHidden and GetBandHidden to the export section of the template. |
Documents | Added documentation about SetBandHidden, GetBandHidden, SaveBandVisible and RestoreBandVisible. |
Version 2.0.151 BETA [May 4, 2011] |
May 4, 2011:
Installer | Installer built for Clarion 8.0 |
March 4, 2011:
Classes | Further refinements for the Visible vs. Hidden options. bUserHidden has been taken out of use as it does not serve any purpose any more. |
March 3, 2011:
Classes | Added SetBandHidden and GetBandHidden. Those methods are designed to remove a band and hide it. The band will not show up in the band customize menu and cannot be made visible with SetBandVisible. SetBandVisible only hides the band and does not remove it from the cusomize menu. Use SetBandHidden to remove and bands from the user for example based on user access privileges. |
Classes | If a Clarion dropdown list or dropdown combo was used as a control in the toolbar it would not receive EVENT:NewSelection. Fixed. |
Classes | Added SaveBandVisible(String pINIFileName, String pProcedureName) and RestoreBandVisible(String pINIFileName, String pProcedureName). Those methods take a INI filename and a Procedure name and save the status of each band to the specified INI file, like this: [Main] |
PowerToolbar20000_Hidden=0
PowerToolbar20000_Visible=1
PowerToolbar1000_Hidden=0
PowerToolbar1000_Visible=1
PowerToolbar1001_Hidden=0
PowerToolbar1001_Visible=1
PowerToolbar1002_Hidden=0
PowerToolbar1002_Visible=1
PowerToolbar1003_Hidden=0
PowerToolbar1003_Visible=1
PowerToolbar1004_Hidden=0
PowerToolbar1004_Visible=1
PowerToolbar1005_Hidden=0
PowerToolbar1005_Visible=1
Call the RestoreBandVisible in ThisWindow.Init, after the Powertoolbar is initialized, around priority around 8300)
Make sure that you call it before any calls to SetBandHidden!
Call the SaveBandVisible in ThisWindow.Kill, around priority 7500.
The RestoreBandVisible refreshes the toolbar so it is completely redrawn. Example
Toolbar1.RestoreBandVisible(INIMgr.Filename, 'Main')
Toolbar1.SaveBandVisible(INIMgr.Filename, 'Main')
February 14, 2011:
Templates | Modification to global and procedure templates to allow font name and size to be specified by variables. Use ! and variablename to use a variable, for example !Glo:FontName or !Glo:FontSize. |
Classes | Added omit-able parameter to SetFont that specifies the character set to use in all texts created by PowerToolbar. |
Templates | Added option to global and procedure templates to specify character set. It can be either a numeric value, a CHARSET: constant or a variable preceded with an exclamation mark (for example !Loc:CharSet) |
Build | Our build process now includes building a test multi-DLL application to make sure that classes are exported correctly. This will prevent problems with "unresolved external" methods if the template is not updated if new methods are added. This involves no changes to the deployed product. |
Install | The installer was set to accept Clarion 5.5 as a supported Clarion version. PowerToolbar is NOT compatible with Clarion 5.5, only Clarion 6.0 and later. |
February 5, 2011:
Classes | Menu theming was unreliable and could cause various corruptions in the menus. This was particularly noticeable on Vista and Windows 7. Fixed. |
January 10, 2011:
Template | Template would throw "Unknown Variable '%EnableRunTimeTranslator'" in Legacy apps. Fixed. |
Version 2.0.140 [December 21, 2010] |
August 3, 2010:
Classes | If a band was hidden and the option to customize bands was turned on, the band would still show up in the drop down menu and the customize window. Fixed. |
June 21, 2010:
Templates | Added a condition field to the Menu tab so the menu override can be conditional. For PowerToolbar to theme the menu, the condition must be true. If no condition is specified, no IF/END statement is generated. |
Templates | Added several embeds into the Init method to make customizing the initialization easier. |
Version 2.0.134 [March 15, 2010] |
March 3, 2010:
Classes | End shadow width (Office 2003 theme) could not be changed. Added SetEndShadowWidth and GetEndShadowWidth methods and EndShadowWidth property which now can be used to control the width of the end shadow. Default is set to 8 in the constructor, same as it was originally. |
December 7, 2009:
Classes | Regression: Separators in Drop Button items still did not work correctly. In testing. |
December 1, 2009:
Classes | Separators in Drop Button items did not work correctly. Fixed. |
November 30, 2009:
Classes | Items in Drop Button menu could not be enable/disabled. Fixed |
Classes | Added SetItemEnabled method to enable/disable items in Drop Button menu. |
Classes | Mimic buttons did not mimic icons when the mimiced button changed. Fixed. |
Classes | Mimic buttons did not mimic disable/enable state when the mimiced button changed. Fixed. |
Classes | Mimic buttons did not mimic hide/unhide state when the mimiced button changed. Fixed. Note that for this to work the mimic control must have the "Show/Hide" checked in the "Mimic" section of the template. |
Classes | Mimic buttons did not mimic tooltips when the mimiced button changed. Fixed. |
November 7, 2009:
Classes | Added new CalculateMenuHotkeyW (protected) method to calculate the width of the hotkey text. |
Classes | Still an issue with the hotkeys not being drawn correctly. Fixed. |
November 6, 2009:
Classes | Hotkey text was not drawn correctly on hovering on menus with submenus. Fixed. |
October 26, 2009:
Templates | If multiple procedure that used PowerToolbar MDI extension were in the same source module, the ID file would only be included once since the Include() statement was generated with ",ONCE" attribute. Fixed. |
October 22, 2009:
Classes | GetItemID on DropButtons would always return the last entry. Fixed. |
October 12, 2009:
Classes/Templ. | DropButton items now support icons in both classes and templates. |
September 18, 2009:
Classes | DropButton menus with separators would not work correctly and would return the wrong ItemID based on the selected menu item. Fixed. |
July 15, 2009:
Classes | Focus was moved from the control with focus if a button in the toolbar was clicked. Fixed. Note: Concern for issues this might cause elsewhere but tests have not shown any side effects so far. |
June 1, 2009:
Classes | The GetItemID would not return the correct ItemID on Drop Buttons. Fixed. |
Version 2.0.112 [April 15, 2009] |
March 9, 2009:
Template | Template did not use runtime translations. Fixed - thanks to Bo Schmitz. |
Classes | When running using Windows Classic style, the toolbar would attempt to theme Clarion controls with mixed results. Fixed - Clarion controls are no longer themed when using Windows Classic style. |
January 5, 2009:
Classes | Clarion controls in toolbars were not themed. Fixed. |
Classes | Clarion controls in toolbars on dockable windows were not moved into the toolbar band. This is a limitation that has to be fixed in code. Remove the DOCK and DOCKED attributes from the window (uncheck everything in the Dock group on the Extra tab in the window properties) and then set the docking options using PROP:DOCK and PROP:DOCKED in ThisWindow.Init, priority 8110. This fixes the problem |
January 1, 2009:
The application would GPF when it was closing if the "Add functionality to the Frame" extension was added to the frame and the "Enable Tray Icon" was checked. Generated code for the .INIT method moved down from priority 8000 to 1 in %AfterWindowOpening embed. Fixed.
Version 2.0.105 [December 29, 2008] |
All code and documentation modified from PowerOffice AS to Icetips Creative, Inc.
Bug tracking set up at http://icetips.fogbugz.com
Added link to bug tracking to Global template
Updated link to website to point to www.icetips.com
Added ITRun32.dll to install
Version information added to global template
Added documentation for new methods, such as AddClarionControl, DelayRefresh, GetActiveTab, GetMenuStyle, InitControl, IsClosing, SetActiveTab, SetFocus and SetMenuStyle
Previous beta changes are all implemented in public release - see below:
1.0 BETA 7 - not released publicly before
New: Support for merging MDI menus.
New: After-action embeds for dropbutton and dropitem actions
Changed: Template prompts for menu overrides now only shows on appframe and windows without MDI attribute
Changed: Since band customize button has no function, it is now default off
Fixed: Bug with MDI buttons and hidden windows
Fixed: Button didn't hover if mouse was over it on when unhidden
Fixed: Alt key didn't trigger menu keyboard mode
Fixed: RadioButtons separated by another control type would still act as one group of radios
Fixed: Submenus was overdrawn by parent menu border
Fixed: Hidden/Disabled menus didn't become hidden/disabled on window open
Fixed: Default color setting would generate gray toolbars even when XP-Theme was present
Fixed: Icons wasn't reloaded after calls to SetIconHeight/Width
Fixed: Menu opened at wrong position when appframe had layout set to right-to-left
Fixed: Disabled menu items with hotkey is drawn incorrectly in Win 2000 style.
1.0 BETA 6
New: MimicButton can now mimic visibillity
New: Up/Down-buttons in Customize window
New: 'After Action'-embed
New: 'After Accepted'-embed for controls
New: Global setting for toolbar style, color, font and tooltip
New: Option to let menustyle follow toolbar
New: Option for adding separators in front and/or after buttons and clarion controls
New: Option for 'Prompt' on ClaironControls
New: Option to not auto-resize toolbar height
New methods: IsClosing, SetActiveTab, GetActiveTab
Changed: Prototype for FixColor has changed to support Color:None
Changed: Added 5 pixels to the width of menu buttons
Changed: Menu separators is now purely handled by API
Changed: Text-controls draw text one pixel lower
Changed: Header band does not draw border when Windows Theme colors isn't active
Changed: Flags for AddMimicButton() has changed
Changed: DropButton and SplitButton now handles items with '-' in the text field as separators
Changed: Clarion-contol now use the design-time width of the clarion control
Changed: 'Allow Right-click customize' is now default off
Fixed: Hide/Disable bug for Clarion-control type
Fixed: If last item before Window-list was toggle, each window-item would become toggled to
Fixed: GPF on Windows 2000 when hovering tabs
Fixed: DropCombo and Entry control would grab focus on window open
Fixed: Width calculation of Tabs
Fixed: Wrong symbol was tested in the template and could produce compile errors with DropItem-actions
Fixed: FixedWidth on Clarion-control didn't work
Fixed: Id-file could contain wrong IDs
Fixed: If FixedWidth was set on a TextControl, the height would be set too
Fixed: Clarion-controls didn't get EVENT:Newselection
Fixed: Clarion-controls got reversed tab-order
Fixed: DropCombo and Entry didn't properly refresh on SetVisible
Fixed: Global class wasn't threadsafe and some code was executed in the wrong thread
Fixed: Menus didn't support enabled/disabled
Fixed: Menus didn't support hide/unhide
1.0 BETA 5
Change: Text-control now support icon and font settings
Change: Prototype for AddBand got a new optional BandType argument
Change: Menu now has separate style setting
New methods: SetMenuStyle, GetMenuStyle
New method: AddClarionControl
New method: DelayRefresh
New method: SetFocus
New method: DeleteItem for deleting Drop or Combo items
New: Iconnames in the form of FileName.exe[1] and FileName.dll[n] is now supported
New: ProcessButton and Clarion-control
New: Header band
New: Tabs band
Fixed: GPF when restoring MDI-child or resizing AppFrame
Fixed: AppFrame toolbar draws background on init before adding controls to avoid bleed through
Fixed: Balloon tooltip mode didn't work
Fixed: Ampersand was removed from tooltip text
Fixed: Menu hotkey would always open first menu if a MDI-child was open
Fixed: Entry-control now accepts Tab and Enter keys
Fixed: Mimiced buttons now check state on window open
Fixed: Band width was wrong when a mimiced button changed to wider text
Fixed: SetTooltipMode ddin't work after toolbar init
Fixed: Icons after STD:WindowList could appear on wrong item
Fixed: Icons on menu items with subitems didn't appear
Fixed: Toggle items wasn't handled properly
Fixed: GPF on menu close
1.0 BETA 4
Added: Call to Update before mimic is executed
Change: AppFrame toolbar is now subclassed instead of the control. Resizing should be more stable.
Change: Init was renamed to InitControl, and a new Init method was added
Change: Parent Init-call is now called after template generated init code
Fixed: Calculate method was called about 10 times every resize.
Fixed: AppFrame toolbar 'jumping' on window open and resize
1.0 BETA 3
Fixed: Resize refresh issues (hopefully)
Fixed: Customize-list could become empty
1.0 BETA 2
Fixed: GPF when using PowerXP-Colors or Office2003-style on non-XP Windows
Added: Option to ignore band in right-click customize menu
Added: Option to limit size of DropCombo droplist and automatic scrollbar
Added methods: GetControlBandID, UncheckAll, Set/GetBandShowText, Set/GetBandIconsAbove, IsControlInBand, SetMaxComboItems
Added: 'Refresh IDs' button in MDI-template
Fixed: balloon tooltip mode is now working
Added: embed-button for items in template
1.0 BETA 1
First beta version