Commit Graph

17601 Commits

Author SHA1 Message Date
Stephan Aßmus
61b0e9e314 * added a little bit of tracing to object destruction, since there
seems to be a problem when quitting the app
* added Undo/Redo commands for numerous operations
	- (un)assigning VectorPaths to Shapes
	- adding new VectorPaths
	- removing VectorPaths
	- adding Shapes
	- transforming Shapes
	- adding Styles
	- changing Style color
* there was a mix up in classes inheriting from SimpleListView,
  RemoveItemList() gives a list of item pointers, not indices
* GradientControl sent the focus notification to the window instead
  of the set BHandler target
* StyleView takes care of transfering the current Style color or
  the focused gradient stop color to the CurrentColor object, so
  the current color of the SwatchGroup is synced
* small improvement to layout of SwatchGroup
* SwatchGroup no longer knows anything about a Style
* fixed syncing the global Selection to the listview selection
  at least for ShapeListView
* implemented cloning Shapes
  - added Transformer::Clone(VectorSource& source) to all Transformers
  - ShapeListView uses this when dropping shapes with shift pressed
* updated NOTES
* added Transformable::matrix_size, so that "6" isn't hardcoded
  everywhere (though it still is at most places)
* added listener interface to TransformBox, this is used by
  the new TransformObjectsCommand, as long as the TransformBox still
  exists, the command modifies the TransformBox transformation instead
  of messing with the objects itself
* fixed hotspot size in TransformBox by using the zoom level of
  the CanvasView
* TransformBox rotates/scales correctly around the visible pivot
* fixed TransformCommand toggling to transformation (the diff was bogus)
* Gradient doesn't trigger unnecessary notifications in SetColor()
* CanvasView doesn't eat keyboard events when the GradientControl or
  one of the ListViews has focus (is a hack currently...)
* fixed bug in PropertyListView when it calls the PropertyChanged()
  hook: because of the notification mechanism, the Properties might
  be toast after the hook returns
* moved all GetProperty() implementations from headers into .cpp files



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-12 15:46:01 +00:00
Bruno G. Albuquerque
994caa6f7a Revert this as it was actually a configuration eror.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-12 14:08:13 +00:00
Bruno G. Albuquerque
a3ac8bd9a7 Quick fix to get it compiling under ZETA. I hope I didn't break it for other platforms.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-12 13:58:54 +00:00
Jérôme Duval
17408188c5 SetValue now avoids itself switching off
also added an ASSERT to check the current radio button is still on after the switching off process
this fixes the weird behavior in the password window of the ScreenSaver prefapp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-12 11:27:04 +00:00
Jérôme Duval
3b77830fca improves font sensitiveness
code style cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-12 09:59:53 +00:00
Jérôme Duval
99e5e6e8d2 fix R5 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-12 09:58:23 +00:00
Stephan Aßmus
0e684ccfed * added a framework for affine transformations and manipulating them
- Transformable: the base class with a nice interface to agg::trans_affine
- ChannelTransform: inheriting from Transformable, keeping the affine
  parameters separate
- TransformBox: inheriting from ChannelTransform and Manipulator
- TransformShapesBox: transfering the TransformBox transformation onto
  multiple selected Shape objects
* Shape inherits from Transformable
* solved an important TODO in IconRenderer: a Gradient is now transformed
  along with a Shape
TODO: Undo/Redo for manipulating the transformation


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-11 17:25:37 +00:00
Axel Dörfler
ea3746798b Fixed build under Dano.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-11 09:43:51 +00:00
Jérôme Duval
e2d5e00981 applied a patch from barber for bug #661. Thanks! This fixes a weird behavior when using the menu
minor cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-10 22:12:40 +00:00
Stephan Aßmus
2205ee0914 * added GradientControl which can edit a Gradient
* filled out StyleView for configuring a Style
* added SetGradientCommand for undo/redo editing a
  Gradient
* Style::SetGradient() doesn't assume ownership
  of the Gradient passed in anymore


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-10 21:36:46 +00:00
Jérôme Duval
67bdea52ce hope no one minds with this Dano-like version of BMessage::PrintToStream()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-10 20:00:07 +00:00
Jérôme Duval
11235ae729 "class" is added by BArchivable::Archive(), no need to duplicate
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-10 17:38:12 +00:00
Ithamar R. Adema
9e17884040 More work on DriveSetup. Will now show all recognized disks/partitions in hierarchical format.
It still looks aweful, partly because of BColumnListView drawing.
Please note that the partition-order is wrong, due to funky sorting in BColumnListView. This will be fixed tommorow :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-10 00:53:57 +00:00
Ithamar R. Adema
d3eab0eb78 * Fix typo in declaration of BStringColumn.
(Args were declared: width,maxWidth,minWidth while the last 2 ones were the other way around)




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-09 22:04:16 +00:00
Ithamar R. Adema
a4706a8cea Some initial work on using the BDiskDevice APIs in DriveSetup.
Early stages, so not usable yet. WIP!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-09 20:16:11 +00:00
Ithamar R. Adema
f9d5f90ecc Added missing ColumnTypes.cpp/.h to sourcetree, and added it to the build.
This should make our BColumnListView completely usable.
(ColumnTypes files were taken from imkit SVN)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-09 17:09:25 +00:00
Ithamar R. Adema
357cdc7d1a * Add session handling module and related modules to the image, so we can build working CD
images of Haiku.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-09 11:29:44 +00:00
Stephan Aßmus
85623bad05 * relayout of the GUI, you can start to take it serious :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-09 10:21:18 +00:00
Stephan Aßmus
8b97f0dcaf * editing the color of a style works now
* added current color swatch view
* clicking current color will open the color picker panel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-09 07:56:17 +00:00
Jérôme Duval
3a543720c4 archives with BControl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-08 13:26:55 +00:00
Stephan Aßmus
4215c452a4 * implemented MoveTransformersCommand (so Transformers can be
drag sorted now)
* implemented RemoveTransformersCommand
* implemented StyleListView (I promise, this is the last list view :-)
* implemented adding new styles via the Style menu
* implemented selecting the Style of the currently selected Shape


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-08 13:04:05 +00:00
Jérôme Duval
9fcdf0e92c MenuItem::Archive uses BArchivable::Archive
inverted the enable state when initing the BMenu


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-08 12:56:18 +00:00
Stephan Aßmus
d4d2597fef * small cleanup in VectorPath
* cache the agg converted path in Shape on multiple
  calls to VertexSource (rendering multiple icons after
  a single change)
* added VertexSource::ApproximationScale() which is used
  to retrieve a suitable approximation scale for the
  whole Transformer pipeline
* added a couple more properties to Contour and Stroke


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-08 09:29:25 +00:00
Jérôme Duval
9b224ec82e add item frames to BMenu archive
add class names to BMenuItem archives


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-08 00:38:31 +00:00
Stefano Ceccherini
8cc767ee45 call BView::Archive() first, pass deep when needed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 20:23:00 +00:00
Stefano Ceccherini
056abb9e93 partially reverted to an old version, should fix strange problems with menufields
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 19:45:23 +00:00
Stefano Ceccherini
931aebe962 Deleting replicants now works
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 19:16:50 +00:00
Stephan Aßmus
05fd381837 * implemented more fine grained listener support in VectorPath
(this separates the notification for shape changes versus other
   properties and improves the performance)
* added affine properties to AffineTransformer (for testing only,
  will need to be implemented more carefully)
* added Width property to ContourTransformer
* changed the way how it is determined that paths need to stay
  open for the StrokeConverter, now it works correctly with
  sub-paths


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 17:33:14 +00:00
Jérôme Duval
bbcfef1f6c archive deep when needed, restore menu items
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 16:01:37 +00:00
Jérôme Duval
f1cc26391b archives menu items in menu archive
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 15:51:40 +00:00
Jérôme Duval
8703696801 input_server saves its settings on change, sending itself a 'Save' request message
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-07 15:38:53 +00:00
Jérôme Duval
fc6956ac0c fix some little bugs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-06 20:03:44 +00:00
Jérôme Duval
c8bb68e11b when drawing a line, we check if the line is only one point, to even draw a line
this fixes bug #709, but it's not quite good in my opinion (Stephan, please could you review?)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-06 18:58:47 +00:00
Jérôme Duval
77f879871f added back previous copyright notices, they were mysteriously replaced by our own copyright notice
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-06 08:56:18 +00:00
Stephan Aßmus
e2a31283dd many improvements and bug fixes:
* added VertexSource::SetLast() used by PathSource
  to call agg::path_storage::close_polygon(). The
  StrokeTransformer avoids this of course. Affine
  and PerspectiveTransformer forward this to their source.
* TransformerItems watch their transformers for notifications
* made VectorPath an IconObject
* VectorPath no longer uses close_polygon() when converting
  to agg::path_storage to allow open strokes
* added IconObjectListView which inherits from
  PropertyListView and allows to edit the properties of the
  last selected object from one of the other list views
* fixed a couple bugs when adopting properties:
  - removed the Property* in the PropertyEditorView base
  class, and made GetProperty() virtual, as the base class
  pointer was not maintained and superfluous
  - delete the old PropertyObject in PropertyListView::SetTo
  when adopting the properties instead of the object whose
  properties were adopted...
* added SetPropertiesCommand to allow Undo/Redo on changes
  of properties
* Style is also an IconObject now (TODO: yet another list view
  for styles... :-)
* Style watches its Gradient for notifications and builds and
  caches the color array now
* removed generating the color array for each scanline in
  IconRenderer, so the performance is improved a lot
* Shape watches its Transformers for notifications in order
  to trigger rerendering
* StrokeTransformers adds a bunch of properties like stroke
  width, cap and join mode
* StateView keyboard filter no longer steals keydown events
  from BTextViews
* PropertyItemViews resize with the parent
* refined the interface for PropertyListView for easier
  tracking of the changed properties in derived classes
* added HasPendingNotifications() to Observable, so that
  IconObjects can track changes more easily when adopting
  a PropertyObject
* the name is now part of any IconObject


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 23:51:34 +00:00
Stefano Ceccherini
b92418a82c Check for NULL text, otherwise strlen() can crash. Might even fix bug 677
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 19:50:08 +00:00
Axel Dörfler
2384e64025 "addattr" now also recognizes "raw" as a type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 14:45:42 +00:00
Axel Dörfler
79b25dd765 Added support for pattern matching of attribute/index names (via glob()).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 14:22:48 +00:00
Jérôme Duval
38f9b78d6c seems I was wrong here : no overflow happens since the comparison is done on the fly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 13:09:44 +00:00
Axel Dörfler
2273494e3a * Now sets the error handler to NULL to hide errors from stderr.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 13:07:34 +00:00
Jérôme Duval
63e9b45d9d tentative fix for B_OP_ADD
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 12:56:25 +00:00
Axel Dörfler
fcdd9a92b7 * Added option -f that allows you to read the attribute data from a file.
* No longer exits with error in case you specified "--help" or "-h".
* Now accepts typecodes in "'ABCD'" format as well.
* Can now also be built for BeOS compatible targets.
* Improved parameter check.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 11:54:56 +00:00
Stephan Aßmus
a744b2c60e * Style is now responsible for generating and caching
the gradient color array, it observs the gradient for
  this purpose
* introduced IconObject class that combines Observable,
  Referenceable and Selectable interfaces and adds an
  interface for retrieving a PropertyObject that represents
  the object in question
* Shape and Style inherit from IconObject now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 11:14:08 +00:00
Stephan Aßmus
64d80db621 added extensive "PropertyObject" framework
* Property is an abstract class for representing some property with
  an interface for setting/getting the value and cloning
  the property and such stuff
* PropertyObject holds a bunch of different Properties
* various specific Property classes represent floats, integers,
  colors, booleans, options and so on
* PropertyListView can edit the different properties in a
  given PropertyObject by using individual property editor views

The plan is to be able to convert some random object (for example
a selected Shape or Transformer, Style or whatever) into a
PropertyObject for being edited in the PropertyListView like it is
done in WonderBrush...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-05 02:09:43 +00:00
Jérôme Duval
a6d3f8a9da update to make-3.81
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 16:11:56 +00:00
Jérôme Duval
ffd2b5ff2a fix the jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 15:18:04 +00:00
Axel Dörfler
2c319d3f5b No reason to include sys/file.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 15:15:25 +00:00
Axel Dörfler
25df160753 The sed configure script doesn't fit the sources: mkstemp.c tests for HAVE_FCNTL_H bug
configure doesn't care.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 15:14:23 +00:00
Jérôme Duval
246c41d223 fix the jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 14:47:43 +00:00
Stephan Aßmus
bab183a273 * 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
2006-07-04 14:16:03 +00:00