History log of /haiku/src/apps/icon-o-matic/generic/gui/ListViews.h
Revision Date Author Comments
# f99596f4 23-Dec-2023 John Scipione <jscipione@gmail.com>

Icon-O-Matic: Fix crashes while auto-scrolling

This fixes crashes that happen when scrolling list views in Icon-O-Matic
triggered by the BListView auto-scroll feature reintroduced in hrev57439.

Take out the auto-scrolling code from Icon-O-Matic, call BListView's
MouseMoved() instead since BListView's can scroll now. The BListView auto-
scroll feature has been updated to work with draggable multi-select.

ScrollTo(index) method has been moved from Icon-O-matic to BListView and
is used to scroll to an index instead of a selection since the selection
doesn't change while you are dragging.

Override BListItem's DrawItem() method to prevent it from drawing. I've
hijacked DrawItem()'s complete param to mean even or odd instead.

Everybody draws the same background PathListView.cpp and StyleListView.cpp
now push the frame over and draw text using SimpleListView parent class
DrawItem() instead of repeating the drawing code.

InitiateDrag got moved from the abstract DragSortableListView class to the
SimpleListView implementation class.

The following color constants have been added:
rgb_color kDropIndicatorColor = make_color(255, 65, 54, 255);
rgb_color kDragFrameColor = make_color(17, 17, 17, 255);

First one is the red drop target indicator line. It has been changed to
clrs.cc red which is the same as B_FAILURE_COLOR, but I didn't want to use
that InterfaceDef constant as it doesn't indicate failure in this case,
it's just a slightly different red.

Second one is the drag selection outline, it has been changed from pure
black to clrs.cc black which is a shade lighter than pure black.

Fixes #18707

Change-Id: Ib0b375d7d5641d458a6ce004a6dfeac551636698
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7215
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# be84a3d6 23-Dec-2023 John Scipione <jscipione@gmail.com>

Icon-O-Matic: Minor changes and style fixes to list views

Not 100% style changes but the functional changes are very minor.
This is to create a clean base on which to make my other changes.

Remove commented out code. Remove LIB_LAYOUT.

Replace calls to _SetDropAnticipationRect with assignment to fDropRect,
make all methods protected. Rename _SetDropAnticipationRect to
InvalidateDropRect and remove _'s from methods.

Some extra NULL checks are included in ShapeListView and it has been
de-indented.

omit .0 where it doesn't matter.
rename r to rect
tab style on classes
use SetHighUIColor/SetLowUIColor where appropriate

Change-Id: Ife514452dc6ea5d5cd75ccba2fd13d46d69bcffc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7214
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 4b0dffe5 21-Aug-2023 Zardshard <0azrune6@zard.anonaddy.com>

Icon-O-Matic: Make list items copy/pastable

Also:
* make transformers draggable
* clean up archiving code

Partially addresses #18400

Change-Id: Ibc384a1919e1330113a5e2857da16284181a834e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6869
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# f0eab45b 05-May-2012 Stephan Aßmus <superstippi@gmx.de>

Made it easier for derived classes to handle the drop message.


# 0e1ba39f 29-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* merged Icon-O-Matic from Ingos layout branch into trunk (r18134:18685)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18686 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bab183a2 04-Jul-2006 Stephan Aßmus <superstippi@gmx.de>

* Transformers have Name() now
* added TransformerFactory to instantiate the various types via the GUI
* added Transformer menu to main window
* added TransformerListView that shows the Transformers applied to the
selected Shape
* implemented more powerful listener interface for Shape, used by
TransformerListView


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18027 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cfda5dd7 30-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

* work in progress on GUI classes
- added IconView which just uses an IconRenderer to display a preview
of the icon at a certain size
- PathListView and ShapeListView (very much work in progress)
* actually had the gamma correction applied in the wrong direction...
now the anti-aliasing looks as smooth as planned
* added SetName() and Name() to Shape and VectorPath... will be in a
common base class later on


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17988 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 128277c9 13-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

the first steps towards Icon-O-Matic
* added a framework with many classes that I think will be useful
* currently, the StateView and Manipulator interface are used to
allow editing a single VectorPath object, nothing more... the
CommandStack framework is also used to support Undo/Redo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17822 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f0eab45bd7b122505da1707e3ec834b2b36308ce 05-May-2012 Stephan Aßmus <superstippi@gmx.de>

Made it easier for derived classes to handle the drop message.


# 0e1ba39f0440e200e30b6a648e70c3e8683dc5f7 29-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* merged Icon-O-Matic from Ingos layout branch into trunk (r18134:18685)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18686 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bab183a27305174861a27a136599b863d22318c7 04-Jul-2006 Stephan Aßmus <superstippi@gmx.de>

* Transformers have Name() now
* added TransformerFactory to instantiate the various types via the GUI
* added Transformer menu to main window
* added TransformerListView that shows the Transformers applied to the
selected Shape
* implemented more powerful listener interface for Shape, used by
TransformerListView


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18027 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cfda5dd75bf4c1cae5b1aa808f37b59da114be26 30-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

* work in progress on GUI classes
- added IconView which just uses an IconRenderer to display a preview
of the icon at a certain size
- PathListView and ShapeListView (very much work in progress)
* actually had the gamma correction applied in the wrong direction...
now the anti-aliasing looks as smooth as planned
* added SetName() and Name() to Shape and VectorPath... will be in a
common base class later on


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17988 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 128277c969aa806add78941cd2972754c37a1572 13-Jun-2006 Stephan Aßmus <superstippi@gmx.de>

the first steps towards Icon-O-Matic
* added a framework with many classes that I think will be useful
* currently, the StateView and Manipulator interface are used to
allow editing a single VectorPath object, nothing more... the
CommandStack framework is also used to support Undo/Redo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17822 a95241bf-73f2-0310-859d-f6bbb57e9c96