Previous Next Contents

Changes up to 1.4 at 10th October 1999

VSB,HSB – converted to use new ‘Splitter’ object.

TCTL,TO – Support for new ToolControl and ToolButton objects.

CPro.Group – duck out if we try to look for a parent object which is not there. Can happen on a stand-alone toolcontrol in test mode.

CPro.Accel – tolerates blanks in accelerator strings. Adds ‘togglekeys as a global to allow Germans to use ‘STRG’ instead of ‘CTRL’ etc.

Class.RGN – adds ‘TopForm’ to allow application to get the preferred tab to the front. Class.TSF – reports back to its region when a tab is selected so that the region can maintain the ‘Topform’ property correctly.

CPro.Post – fails quietly if you post to a non-existent object.

Designer.MatchSeln – undo works correctly when a selection of several objects is changed using the align tools. Designer now only saves the undo buffer once at the start of the entire operation.

CPro.Refresh – argument syntax changed to make it clear what is a forced refresh. Otherwise CPro.Wake was effectively forcing the refresh which had bad side effects.

CPro.MakeAsleep – makes form without showing it or refreshing any controls. Useful as a means of making ‘heavy’ dialogues in advance while the user expects a delay.

#.Class.FM.Show – runs PostCreate even if the form is set to “stay hidden”.

#.Class.TCTL.onUserResize – adds support for new User property ‘Newline’ which allows the application to monitor/set the state of each toolbar. Would be nice to support ‘Index’ as a user property also, but currently Runtime only as there are no events to tell us it changed! Use GetIndex to check it.

#.CPro.Accel – logs all accelerators in global table. This allows applications to make a rapid check if an accelerator is already used (custom menu defns etc).

#.CPro.ListAccelerators fm – returns a vector of accelerator keys (in standard format SHIFT+CTRL+D) to allow for checking or review. “fm” may be null, in which case all current accelerators are listed.

{fm} #.CPro.IsAccelFree ‘Ctrl+X’ – returns a boolean scalar indicating if that keycode in in use by the application. If {fm} is omitted, all forms are checked. Either the text form or the numeric keycode may be passed as argument.

{fm} #.CPro.RunAccel key – simulates the user pressing the given key combination, either as ‘Ctrl+Space’ or 32 0. Returns a shy boolean which is 1 if the key combination was logged in the table of currently used keys. If {fm} is omitted, the first hit in the table is run; applications must not rely on this!

CPro.ActionHandler – If the handler function returns 0 this is an implicit rejection of the event. Allows syntax like ¾„onKey ¾ in a keystroke handler, or ¾„2¬#.Win.Ync 'Save changes to ...' on the CL event.

Class.RGN – a few more workarounds for the problem that when you scroll things around in a co-ordinate system, rounding gets a hold and the region shifts under you by the odd pixel. Now it twitches a little, but at least it always resets itself back to where it was supposed to be!

Class.SB – simple statusbar can now hide and show itself on demand (new runtime property ‘Visible’) and also automatically adjusts the positions of any other objects mentioned in the groups in its ‘Controls’ property. Similar to the TCTL and the splitter bars.

Designer.SetActive – allows bulk update of properties common to all selected objects. Use with care – it is possible to remove styles by selecting a collection of objects with incompatible style lists! However it is so useful to be able to set ‘Caption at side’ etc. that this is left open.

Designer.Patch – only applies ‘snap to grid’ to the property (posn/size) which you have changed. In the case of size, only snaps the dimension you changed (important for things like HSEP which can easily get snapped to zero thickness otherwise)

Designer.PCopyMe – copy and paste of properties now allowed. Use the right- button menu on any object to ‘clipboard’ any subset of non-default properties. These may be pasted into a single object from its own RBM, or if several objects are selected, use the Edit submenu from the form to paste the (valid) properties into all of them.

Extended support for class-specific functions – property types ‘string’ and ‘stringlist’ (and their synonyms) can invoke a specific service function from the ‘drilldown’ button shown at the right of the edit field in the designer. Simply set the property as “myprop : string ‘foo’ “ – this will run foo (passing it the string, and expecting a string result) from the ‘...’ button for string types. For stringlist, expect and return a vector of text vectors. The shipped ‘AC’ class illustrates the effect for the ‘Accelerator’ property which can now be entered by simply pressing the appropriate key combination.

Designer – adds support for the ‘menu’ key in Windows95. All properties are now shown on the right-mouse menu, which now allows you to work on full-screen forms with the property-watcher rolled up most of the time. It also records its rolled-up state so next time you design something it comes back as it was.

CAL – simple support for the Calendar object. Uses the same ordinal date as in the Date class, with the optional adjustment for Excel dates.

CPro.Build – runs the code from Initialise as it is easy to forget to run this if you have moved Causeway (for example) into ŒSE. Now you can just relocate the namespaces, set ŒSE.Designer.‘causeway and Build.

Splitters – ‘Controls’ property now a “Stringlist” which it should have been all along. Compatibility code in ‘Create’ to handle existing splitters – redesign and resave any forms with these ASAP to bypass this. The property will appear in the Property Watcher as Expression,’left’,’right’ – overtype with left,right without the quotes.

Class.TR.onItemUp – ŒIO behaviour updated – propagation of selection was not working correctly in ŒIO=1 any more. Probably a long-standing Dyalog bug in the way index-origin interacts with ŒNQ which they have fixed.

CAL – updated with Attach and Active included. Requires DSS of 7th October or later to run without error.

Picture-strip editor – simple bitmap editing tool to assist in creating the artwork for imagelists (tree and listcontrols) and tool buttons.

========= Release to Web site 10th October 1999 ===========

Continue to: Changes up to 1.3g at 18th Feb 1999
© Copyright Causeway Graphical Systems Ltd 2000