Hi vytautas!
vytautas> What is planned for Prima-1.18? -
>> Nothing really, maximum some bugfixes. Any ideas?
Well that is quite an impressive wish list. I definitely can't promise
that I'll be implementing everything, but I'm pretty sure I will do
some.
vytautas> "insert->" allows to insert a list of widgets, i would like to
vytautas> insert a hierarchy of widgets. This could be implemented by
vytautas> assigning a list of widgets to a "widgets" property. If this is
vytautas> already possible, could i get an example?
Widget::insert(), for one, can insert more than one widget in a single
call ( just pass to it a list of widget profiles in an array ), but can't
do hierarchy. I think that this 'widgets' property would be a clean
way to implement tree-wise insertion, and cheap to implement too. I'll look
into it.
vytautas> Extending functionality of list and outline.
vytautas> Selected elements of list could be draged in between other
vytautas> elements(like in a playlist of many audio players).
That, I think, is not a generic functionality. There is a design problem
here, because some List ( and Outline ) classes can be backed up not by
real data (array of text lines, for example), but a function of some kind.
That way, one can implement for example a list widget with numbers from
1 to 1e12 without actually allocating memory for the items. Thus, drag-
relocation of items is not straighforward for these ( although it is
for the data-backed lists). Hence, instead of actually writing relocation
procedure, it would be necessary to define a new notification, for example,
onMoveItems. Looks feasible, but not first priority.
vytautas> Cntrl+click
vytautas> would select a single item and shift+click would select a range
vytautas> of items from the last selected(like in many file managers).
Multiple selection in Lists exists, but is not turned by default - there
are ::multiSelect and ::extendedSelect properties. The range
selection is not implemented, but I think can be done in one way or
another. I'm thinking of ::rangeSelect property, 1 by default.
vytautas> Multiple selection in outlines.
This is a bit complicated issue. First, outline items are not represented by
integer indexes, but by a measure-less node scalar. Second, the fact that
outline items expand and collapse, makes multi selection management
complicated. Feasible, but still complicated.
vytautas> DragDrop DragOver and EndDrag as i see it.
vytautas> EndDrag - for dragging between widgets mouseup should have
vytautas> additional parameter - a reference to widget where the mouse was
vytautas> pressed. DragOver - a separate case of mouseover where
vytautas> get_mouse_state is "something". DragDrop - mousedown with
vytautas> checking some flags like in Outlines.pm.a
I've been long thinking about proper implemntation of the
platform-supported drag-n-drop, but never actually met a demand for
it. I'm also curious about getting into the DND guts, but never had
enough motivation. I hope I find it ( along with free time :) to hack
into it.
vytautas> After sorting a list is scrolled to show the focused item. There
vytautas> could be a scrollaftersort property enabling to choose a
vytautas> scrollaftersorting mode something like 1 -> show the top 2 ->
vytautas> dont scroll 3 -> scroll to show focused item
I'm afraid I'm not getting it - do you refer to the sort() action of the
DetailedList ?
Anyway, thank you for the input. The fact that there is none, often than
not, makes me concentrate on things other than Prima.
-- Thanks again, Dmitry Karasik --- catpipe Systems ApS *BSD solutions, consulting, development www.catpipe.net +45 7021 0050Received on Sun 06 Mar 2005 - 20:57:05 CET
This archive was generated by hypermail 2.2.0 : Sat 19 Mar 2011 - 18:35:05 CET