Previous Next Contents

Changes up to 1.4g at 15th July 2000

Class.TR – adds ‘Expanded’ property to allow application to track and reset how the nodes of a tree are opened. Boolean vector matching the number of items in the tree.

Class.FM – implements minimum size on the form. This works well when we are in ‘show contents while dragging’ mode – it would still be good if APL implemented this at the interpreter level! Logged as ‘good idea’ by Dyadic. Note that it MUST NOT touch the message if the proposed new size is OK. If it sets it to the value it already has, maximise is prevented!

Class.SUB – onFocus behaviour removed. It had the bad side-effect that clicking in a specific field of a subform in a region always kicked the focus to the first editable field. Behaviour was incorrectly copied from main form which only does this on creation.

TreeView – added to the list of controls which are fair targets as the place to set focus to when the form is first shown.

Class.VSB/HSB – both work OK in ‘full drag’ mode now – the managed objects are moved as you drag the bars around. A bit flickery – it would be good to have the option to turn this off and use a conventional splitter even when the user has set ‘show contents while dragging’. See MS Outlook-2000 which behaves like this! Suggested to Dyadic 20th Jan by email.

Class.LV – adds ‘Selection’ to be compatible with the old LS. Same rules apply – do not use both the ‘Selection’ and ‘Indices’ on the same object.

Class.HSB/VSB/TCTL – ensure that the resized object is in ‘Coord’ ‘Pixel’ before we get its current position/size. Otherwise charts (CH and PS) behave badly on splitting. It would be good if the chart could sense the ‘splitting’ and only redraw once at the end! It just about keeps up on a 400MHz PII machine!

Class.PS – flips mouse cursor to vertical arrows over editable series. Generates a ‘CDOVER’ event here (as per CDSTART) so the application can reject and not have the cursor changed. Adds ‘SetSeries’ function to allow the series to be updated on the fly.

Class.LV – ImageIndex added as a new ‘Runtime’ property so that it can be quickly changed without a rebuild of the whole table (in report view). Intended for use where the image shows the state of the data in that row, cf Outlook.

Class.TCTL – sets ‘ShowCaptions’ 0 on creation (may get updated in Refresh) which cures an odd problem with repositioning other controls on first creation.

Class.LV,TR – drag-drop support added. New events allow full control over which items can be dragged off, and which target items accept drag-drop. Drop-highlighting is managed automatically, and the default is to accept the dropped object. The sample dialogue ‘drag’ in #.QA is a fairly complete test, with selective drag between two trees and two listviews.

Class.HSB.VSB – new property ‘Hidden’ added. this is remarkably useful, as it means you can make a splitter whose sole purpose in life is to constrain other splitters! See the split example in #.QA to see what I mean. Also you can move them under program control which can be handy in switching form details on and off. Survive being told to move other spitters – quite futile actually as they move themselves!

Class.TCTL – Reposition beefed up so it copes with moving splitters (even hidden ones) about. Look hard at MS Outlook (hide/show the toolbar) to see why this is necessary!

Class.AN – redone to be splitter-friendly! Was leaving its recess behind!

Class.FM – new ‘TopLevel’ property added. This allows forms made from actions on other forms to be true free-flying forms which can be obscured by the logical parent. Note that you must use CPro.Wait rather than ŒDQ '.' to launch the application as this clears any pending updates before entering the DeQueue. Otherwise the Causeway refresh queues can become stranded outside the DeQueue and the refresh mechanism will appear to stall.

#.CPro.GroupMember – new service function (see drag-drop handlers). Returns a boolean result to detect if a control is a member of a group or list of groups.

Class.VSB/HSB – add position as user property ‘Where’ so application can set/track it with a variable. Main use is in restoring the splitters back in the right place on reloading the application, having saved the previous set in the Registry on exit.

Class.FM – ‘Topform’ works correctly for tabbed subforms as well as MDI children.

Class.MRU – now offers the alternative of using the Registry rather than an INI file section. New ‘Storage’ property changes the interpretation of the specification from INI file name to Registry path, relative to HKEY_CURRENT_USER.

CPro.Zap – resets _ctl to 0 as otherwise some new object could try and be a child of a zapped form! Hopefully solves a strange problem at Adapta.

Designer.Drill – locals edit box was killed by locals named ‘value’ for example. Bizarre Dyalog behaviour – you must ŒWC 'Edit' ('Text' old) ... here.

#.Class.PlaceButtons – now left-aligns Radio and Combo groups 12 pixels in from the left edge regardless of the available width. They are still vertically centred and spread as before. The 12-pixel offset is reduced if things get very crowded! Both radios and checks now add a space at each end of all the labels to get a slightly bigger gap between the button and the label.

#.Class.TO – splits tips into multiple lines at ‘;’ characters.

#.Class.TO – supports standard CPro menu definitions as a menu property for use by buttons with the ‘dropdown’ style.

#.Class.LV – new ‘Confirm’ event when user presses <enter>. Really could be doubled on ItemDblClick but we cannot queue this.

#.Class.SUB – adds ‘Visible’ to allow easy toggling of alternative subforms. This allows fast switching of alternatives, e.g. for something like Outlook where you can switch the ‘preview’ pane in and out from the toolbar.

#.Class.PS – bug in ‘Refresh’ was causing ‘1’ (i.e. the page number) to echo to the session when viewing multipage charts! Fixed.

#.Class.PS – new ‘CDXY’ event gives the (x,y) location of the mouse when it is over a region bounded by chart co-ordinates. Allows the application to use the same tracking style as PostScrp.View has.

#.Class.SA – now supports ‘Visible’ property so you can show/hide it and have any managed controls automatically adjust to the new available space.

#.Class.NOSE – allows application to modify the file-name by assigning it to ¾ as the application might want to force the correct extension on the first SaveAs of a new file.

Win.Fbx – was supposed to strip TRAILING blanks from the file path, but actually compressed all blanks which made paths like ‘Program Files’ fail to work. Fixed.

Class.PS – RMM event added. This is effectively ‘onBeforeMenu’ so if you catch it then REJECT it the standard menu is suppressed. It just passes on the normal mouse message – use the (x,y) values with PostScrp.FindSeries or PostScrp.FindHotspot if you want a specific menu for headings etc.

CPro.Substitute – tolerates dynamic functions in expressions in either the event-action table or data expressions. See QA.dfn for some fairly mad examples designed to break the logic.

======================== Released to Web as 1.4g ===================


Continue to: Changes up to 1.4f at 16th January 2000
© Copyright Causeway Graphical Systems Ltd 2000