Next: have my own
Up: How do I
Previous: compare two different
This is done using the Command Menu `Cut & Paste' button, which
implements what we call `structure editing'.
This is editing which conceptually crosses an item boundary, such as
deleting multiple items, cutting several items from one location and
inserting them elsewhere, and so forth.
The mechanics are simple. First, bring up the structure editing menu
by clicking on the `Cut & paste ...' button, which will bring up a
window menu which looks like figure 3.12.

: Cut & Paste menu window
Select the beginning and end of the area you want to copy or cut out
(by clicking at the beginning and ending item using the left mouse
button) and select either `Cut Region' or `Copy Region'. Thereafter,
select the position where you want to paste the block and use either
the `Paste after' or `Paste Before' in the Cut & Paste menu.
There is one additional field of interest in the menu: the field
beginning with Paste:. By clicking on this line, you toggle
through a series of options as to how the structure editing will
behave. For the most part, structure editing tries to share objects as
much as possible. However, if you truly want a copy that you can edit
without affecting the source, you can change this line (by clicking on
it to toggle) so that you can do so. The default option is to share
the leaf items but copy inner items object-wise (option 1 below).
These options are:
- share leafs, copy detailed: means that the leaf objects (the
visible ones) are shared in both the source composition and the
destination where you paste it. It doesn't, however, copy the
parts of the visible objects which are not visible (i.e.
attribute values which aren't seen).
- share leafs, copy whole objects: again, this means that leaf
objects will be shared between the source and destination.
Objects that are not shared but copied are copied as a whole,
including eventual invisible attributes and links.
- share all, copy detailed: means to always avoid copying when
possible and instead actually use the same object. However, if
the destination structure differs from the source structure so
that some source object would need to be changed, then that
object is copied rather than shared. Copying that must
occur is detailed, i.e. only visible items are copied.
- share all, copy whole objects: means the same as option 3,
except that also the invisible items are copied when copying
occurs.
- share none, copy detailed: means that the source is copied
into an entirely new object structure and only the visible
items are copied.
- share none, copy whole objects: means that the source is
copied into an entirely new object and that all parts of the
source object are copied --- visible or not.
Caveats:
- Cut & Paste operates only on complete items, so it makes no
difference where you click in the item. If you wish to use
only part of an item in the move, first split the paragraph
(using ctrl-j) and proceed from there.
- Structure editing is difficult to automate, and as such may not
always behave in the way that you find most appropriate. We
have tried to match its behaviour with what we envision the
user would want, but such guesses are subjective. We would
appreciate descriptions of circumstances under which the
structure editing behaves in ways that are unexpected.
- By default, either pasting will share as many objects from the
source composition as possible. In other words, if you copy a
paragraph and paste it in another composition, it will be a
link to exactly the same component. However, this behaviour
can be changed by clicking on the line which begins `Paste:' as
outlined above. Clicking so that you choose the option
share none, ... will make a copy which you can then alter
without altering the source.
- It is unwise to use structure editing without understanding the
underlying structure of the composite object that you are
editing. Although read-order is preserved, since structure
editing does involve very specific structure in both the source
and destination, there may be side-effects that are predictable
but perhaps difficult to explain if you don't understand the
underlying database structure. For example, if you move a
block between very differently structured objects (such as a
document and a GPD), you can expect odd results. Of course,
you may want those odd results
- Finally, the structure editing is to be considered in beta
testing. It might be buggy.
Next: have my own
Up: How do I
Previous: compare two different
Martin Sjolin
Mon May 29 19:53:45 MET DST 1995