View Issue Details

IDProjectCategoryView StatusLast Update
0003578ScribusStylespublic2016-12-12 18:29
Reportermkoren Assigned To 
Status feedbackResolutionopen 
PlatformanyOSanyOS Versionany
Product Version1.3.3 
Summary0003578: compound object styles
DescriptionI'd like to be able to define standard groups or configurations of objects which can be placed as a unit multiple places in a document--a layout style or compound object type if you will--providing a set structure but allowing content to be editable. One use of this would be creating complex frame borders using images, multiple lines, etc. (cf. 0001086) or placing arbitrary images behind or around text frames. This would allow arbitrary user extensions to the built-in border and fill options. It would also permit common structures involving multiple text and/or image frames and graphic elements to be replicated and modified easily throughout a document (I'd like to use it to define an annotated arrow type with linked text boxes above and below an arrow, among other things), and finally could reduce document size and complexity when using repeated elements by only defining the style once and reusing it for each instance.

This would differ from copying items from the scrapbook because compound types would be styles applied dynamically, so that editing the source affects all instances, and only selected aspects, such as content, would be editable individually. It would be similar to master pages, only for individual objects/groups on a page and allowing for editable content :) -- essentially a generalization of 0000185 but allowing a whole new class of applications. Used as a master page, this would allow something like 0003222 fairly easily.

The simplest form of this would be to make a collection of objects--could be in a separate canvas like for master page editing--have some way to specify which properties are to be editable and whether to lock the size or aspect ratio (of the compound object as a whole--for images' sake, for instance), give it a name and it appears as a placeable compound object style in some list. Place an instance of one, scale it if allowed, and the whole thing is scaled. Preferably you could separately specify for each object whether its contents and its other properties--colors and fill, for instance--could be modified. You could make objects--even single objects--with no properties modifiable if you want stock items that can be reused, like an icon for use inline in text that would automatically update everywhere if you redesigned the source object. (This concept is used in CAD programs, referred to as blocks or cells.)

A more advanced feature would be defining whether a given component object scales or not when the whole thing is scaled, defining a fixed reference point where it is to be anchored to the overall object if not (preserving actual distance from a corner, say, or proportional placement within the compound object perimeter). This would allow for a main text frame to have any size but have a heading frame which doesn't scale or a custom border defined from an image which maintains a constant width.

Additional thoughts:

-you should probably be able to specify an anchor point when defining the object, and possibly individually for each instance, that stays fixed in case the size of the source object is modified, as mentioned in 0003576
-it would be nice if the elements in a compound object could be on multiple layers so they could be viewed/edited selectively as usual and to take advantage of by-layer properties (0003555) and level adjustments (0003557) if implemented (e.g., text frames on a text layer, borders on a graphics layer, etc.). An "underlay" layer could be available as well to get the standard master page behavior, useful for non-editable objects.
-if a block contains more than one text frame, in and out link frames could be defined so that the block as a whole could be linked into a text chain as a unit with text flow involving only the frames specified, possibly with internal link structure between frames in the block. There could also be an option to link successively placed instances automatically (I think someone asked for this for master pages?), though these links should be breakable manually later like normal.
-compound object blocks should be nestable
-defined styles could live in a special section of the scrapbook or be integrated into the edit master pages interface
Additional Informationrelated to 0001086, 0003575, 0003222, 0000185

This would be one aspect of a more general stylable layout/structured relative placement framework that I'd like to see implemented and supported by the new file format, which I'm working on a proposal for. But I think this is a very useful place to start. :)
TagsNo tags attached.


related to 0003555 closed set default properties/styles by layer 
related to 0003708 feedback group-level inheritance of defaults and style definitions 
child of 0003812 acknowledged Metabug: Grouped objects 



2006-04-08 21:57

reporter   ~0009726

Linked text flow between blocks could work as described in the comments in 0000245, including having multiple in/out (first/last) frames using different named content (text) sequences to support multiple stories.


2006-04-21 18:51

administrator   ~0010262

mkoren, don't you think that this would become too complicated? Can we get this "cheaper" with less efforts on the user side (not to mention the developers)?


2006-05-02 16:13

reporter   ~0010789

Last edited: 2006-11-14 02:08

It's the only way I've thought of to achieve functionality that is otherwise not available--namely, creating consistent layouts that maintain desired characteristics when resized or otherwise altered overall. Like any more powerful functionality, it doesn't have to be used for cases when it's not necessary, but it would dramatically save time for those cases where it applies.

I think even the simplest case--fixed object styles that can be placed in multiple places that automatically track changes to the source--would be extremely useful. Think custom bullets as inline frames in lists, for instance. (This may be what's already meant by 'clones' in the roadmap?)

And isn't editable content in a fixed layout just what's already planned for master pages in 0000185? Just think of applying master pages to objects groups smaller than a page. That way you could build several similar master pages by incorporating common previously defined layout elements that are shared between them, for example.

See also my comments about the ability to use styles for layout and the simplification of the user interface by using a common framework in 0003735 (orig. 0003266) and 0003708. And as to the developers, what do you think of my post about user contribution through layout styles in 0003672?


2006-05-04 23:23

administrator   ~0010943

mkoren, to have a closer idea of what your rfe means in reality, would you mind listing all items you think will be useful/necessary to be available in such a feature? In this case, a mockup for a style manager tab would also be helpful. Just so we have an impression of the complexity we could expect on the user side (not to mention the developers).


2006-05-05 00:19

reporter   ~0010948

I was thinking a properties palette tab for sequences/compound objects, to control relative positioning options for the group (not needed for the simplest cases), plus improved handling in the outline of displaying group structure, would do the trick as far as the interface is concerned. I've been working on a mockup of this already to show the available options.

Saving a compound object as a style wouldn't require anything special from the style manager; creating or editing one would just bring up the normal properties dialog, as I imagine it should for all types of styles.

Issue History

Date Modified Username Field Change
2006-04-06 21:51 mkoren New Issue
2006-04-08 21:57 mkoren Note Added: 0009726
2006-04-20 21:00 mhanski Relationship added related to 0003555
2006-04-21 18:51 christoph_s Note Added: 0010262
2006-04-21 18:54 mhanski Status new => feedback
2006-05-02 16:13 mkoren Note Added: 0010789
2006-05-04 23:23 christoph_s Note Added: 0010943
2006-05-05 00:19 mkoren Note Added: 0010948
2006-05-13 16:53 christoph_s Relationship added child of 0003812
2006-11-13 02:20 mkoren Note Edited: 0010789
2006-11-14 02:08 mkoren Note Edited: 0010789
2016-12-12 18:29 Kunda Relationship added related to 0003708