Following the recent major update (ver 1.4), we follow with a second which, amongst other things, improves on the newly added drag/drop and the long standing copy/paste routines.
This updates mostly effects the EsGRID control (now version 2.4), but with some minor alterations to ExGRID (now version 1.5) to keep in line with those changes.
Please see the EsGRID 'history.txt' file in particular for a list of changes etc. This update can break code designed for the recently updated 1.4 version, but not serious ones.
A brief summary of what has changed :
- Have reworked the delete, copy/paste, drag/drop routines massively which, if dealing with a large range of cells, were very slow and inefficient. The routines now use very little of PB's string library and use direct API for clipboard access and OLE drops.
- Drags with a 'move' action will result (if successful) in the original cells being deleted regardless of whether the drop occurs on the source control or otherwise. This was not the case in the previous version. Of course this does not happen if the drop was cancelled for any reason (e.g. through a cellcallback function).
- #egrid_ClipboardOrDragDrop (and ExGRID_CLIPBOARDORDRAGDROP) cellcallback messages have been altered slightly to give more info on drops with the addition of a couple of extra fields in the cellinfo structures.
- Potential drop targets (assuming they are one of our grids) will now automatically scroll even if the drag source is in another process.
- When cells are pasted, the target range of cells is now automatically selected (and highlighted) on completion of the operation. This matches what happens when cells are dropped onto a grid.
- Added the facility for preventing all 'cell updated' notifications from being sent. This can speed up the paste, delete and drop actions significantly if dealing with large grids.
There is another limitation regarding the number of characters which will be copied from individual cells. See the manuals for that.
There are a couple of other changes as well.
Those who purchased the full Grid Controls Package can download from the usual place.
Those who purchased just the EsGRID control (or the original egrid control) then please contact us and the latest version of EsGRID will be e-mailed. This applies no matter how long ago the original purchase as per the terms of lifetime updates.
Regards.
===============
27th Jan 2014.
Major update to our grid controls package. More specifically, upgrades to EsGRID (version 2.3) and ExGRID (version 1.4). The tBOX property box control has not been upgraded.
Purebasic 5.21LTS onwards.
We have added a much requested feature, namely drag / drop... and fixed some bugs!
We can now drag the text from the currently selected range of cells and drop onto any control/window enabled for drops (e.g. those enabled with the Purebasic EnableTextDrop() function or an Excel sheet etc.) We can also drop the text dragged from any suitable control (not just our grids) onto a suitably enabled grid. For example, select a range of cells from Excel and drag them onto one of our grids.
This has required quite an upheaval of the EsGRID code base in particular, so please regard the 1.4 version of the Grid Controls Package as a 'test' version. There will be some bugs which remain for sure.
Please see the relevant 'history.txt' files for a good summary of the changes made to the various APIs etc. No old code should break as a result of these changes (bugs withstanding of course!) The various user manuals have been updated. In particular, each manual has a page given over to drag / drop which are well worth reading.
A brief summary of our drag / drop :
- Client apps have full control over drag / drop operations via cellcallback functions (as usual)
- If dropping onto any window/control other than the original EsGRID, then the drop defaults to a copy. The dragged cells in the original grid are left untouched. We did this to mimick the way Excel handles such drags etc.
- If dragging between grids in the same process, then the drop target will automatically scroll as the cursor drags over it. This can be extended to include non-grid drag sources (in the same process as the drop though).
- If dragging between grids in the same process, then the drop range will conform exactly to the drag range. For example, if a single row of 10 cells are dragged by clicking into the 3rd cell from the left, then when dropped onto a grid from the same process, the cells will be dropped so that the cell beneath the drop cursor is the 3rd cell from the left.
- It goes without saying that you can drag and drop to the same grid!
Those who purchased the full Grid Controls Package can download from the usual place.
Those who purchased just the EsGRID control (or the original egrid control) then please contact us and the latest version of EsGRID will be e-mailed. This applies no matter how long ago the original purchase as per the terms of lifetime updates.
Regards.
**EDIT : oh yes, modified ExGRID so that it can now be used in a PB splitter gadget.
=====
Hi,
am fed up switching between different threads for EsGRID and ExGRID etc. when all of the grid controls come in a single package anyhow and so have started this one to replace the individual forum threads.
I will post a note in the threads concerned.
Anyhow, the latest update is as follows...