On 21 Jan, Lars Clausen wrote: > A freaky idea: Transitive selection. Either just select everything you > can transitively get to via connections, or select any object connected to > the selected objects. Mmm, could be nice. Maybe ctrl-click or something. > Nice with the align-menuitems. Maybe some align size items? To largest, > smallest and average size, horizontally and vertically. Size:ing is a more difficult thing in Dia. A lot of objects control and limit their size, all the user can do is move movable handles. Some (like the uml class) calculates size based ONLY on the objects properties. >>> After that, in approximate order of importance: >>> Arrow heads on ordinary lines. >> This should be very easy. Almost all needed code is written. Needs a >> arrow-select widget. > > Hmm. We might be getting a lot of select widgets: Color, line width, > arrows, line style... Or maybe line style should be an option on line > width? Yeah, but once they are done all objects can easily use them. > An arrow select widget could have these choices: > > | | V ^ V > | | | | | > | V V V | > > A pop-up option box could then allow more control over arrow head styles. Well, i rather though it would be just a pop-up selection of arrow types, and then the line objects has two of these, one for each end. >>> Shift-drag to restrict movement (horizontal/vertical lines, square >>> boxes, circles etc). >> Hmmm... Would need adding a new parameter to the move_handle method in >> Object (like 'flags'). Then you would need to modify all objects >> you're interested in to use this. Maybe put some reusable code in >> element.c and connection.c. > > It'll be very object-dependent what will actually happen. Yes of course. thats why you'd have to add it to an object method. element.c is a base-class for box-like objects and connection.c is a base-class for line-like objects. Many objects derive from these to save you from typing a lot of stuff. >>> Options for the various tools should be settable like in Gimp, by >>> double-clicking the tool box widget. >> They are. > > They are? I can only get the options dialog by double-clicking the actual > object, not the widget in the tool box. It is problematic that I have to > set left-justify separately on each block of text I make. Ooops i missunderstood. Sorry. >>> Splines. >> They exist in the back-end of the program. Just not tested very much >> or used in any object yet. Check out draw_bezier() in app/render_gdk.c. > > Then I'll try adding a standard widget for that. Just for starters. Try it out. >>> A limit on the width of a text 'box', with word wrap. E.g. if you drag >>> the text 'cursor' at the start, you indicate a width. >> Hmmmm.. > > You can look at <URL:http://shasta.cs.uiuc.edu/~lrclause/hastyassault.ps> > for one thing I'm currently using Xfig for, and that would benefit a lot > from a limited-width tex box. Hmm, i don't see this as exactly the work dia is most usable for, but i see your point. >>> When having created an object, it shouldn't switch back to the pointer >>> tool. >> It was like this earlier, but i changed it. I'll probably change it >> back as it's starting to irritate me. > > That was surprisingly easy to fix. I fixed it in cvs. Did you mean that? I just commented out the tool_reset() call. >>> Transparent boxes. >> Fully transparent boxes are easy. Semi-transparent (alpha) are >> impossible due to the architecture and the exporting to PS. > > The fully-transparent boxes are the most important. I don't like having to > move things up and down all the time. Yeah, this is easy. Maybe should be added as an boolean flag in the standard box object. >>> More formats to export to. >> What formats? > > Hmmm... pdf? gif? fim? Well, it's not so important. Maybe conversion from > xfig format is more important. Yeah, i'm not good at file-formats. pdf is ~ postscript. I got a wish for exporting to WMF (windows meta files) yesterday. > The more I think about it, the more it makes sense to have different > keybindings for text entry. Yeah. > That must be enough for now. I'll be trying to add a few of the things > I've mentioned now, rather than just rattle off new ideas. Go ahead! > BTW, it is remarkably stable for such a low version number. Very soon, I > might not go back to Xfig ever again. Well, i tend to make rather stable stuff. Dunno why. / Alex
