Commit Graph

1510 Commits

Author SHA1 Message Date
Stephan Aßmus
4fac07a088 * started work on saving program settins, window frame is
remembered for now
* fixed some annoying bugs:
- the snapping prevented some of the proximity checks from
  working while editing a path or using the transform box,
  now the Manipulators themself are responsible for mouse
  snapping and can do so at the time it works best for them
- pressing the Esc key while using the transform box did
  reset the transformation, but didn't exit the transform
  mode (return to path editing)
* improved layout of some views when the window is resized



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-12 22:24:39 +00:00
Ryan Leavengood
76d115d893 Several ShowImage changes:
- Changed the hotkey for the zoom to be = instead of + so that no shifting is necessary.
- Fixed the bitmap alignment code to solve some problems when zooming.
- Removed all references to alignment in the view since the image was already always centered. This greatly simplified the bitmap alignment.
- Removed the redundant fScaleX and fScaleY members of the view since they were always the same as fZoom.
- Removed all code related to having a border in the view.
- Fixed a bug where the type of file would disappear in the status area when zooming (this fix is a little hackish.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-11 09:10:09 +00:00
Jérôme Duval
1fb778c8e7 fix warnings no newline at end of file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-10 21:47:21 +00:00
Stephan Aßmus
4288fdd07e created icon
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-08 04:47:13 +00:00
Axel Dörfler
bae87c9140 Added a new type for the vector icon format 'VICN' or B_VECTOR_ICON_TYPE.
It's hopefully now used everywhere instead of B_RAW_TYPE where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-07 02:46:25 +00:00
Axel Dörfler
73b7614aa0 DiskProbe now correctly monitors vector icon changes in the header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-07 00:43:19 +00:00
Axel Dörfler
088a32925d Make use of the new vector_icon type in rc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-06 12:26:54 +00:00
Stephan Aßmus
c2c1e4c725 * added scroll view around canvas in Haiku version
* used new layout features in StyleView for Haiku version


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-06 00:24:07 +00:00
Axel Dörfler
3081be7808 Made the icon slider a bit larger so that it looks nicer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 18:59:48 +00:00
Axel Dörfler
e9ba57e495 The slider now has a fixed size, and will be hidden in case the icon could not
be rendered.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 11:23:24 +00:00
Axel Dörfler
5b7505f51b Added a slider for scaling the vector icon in 8 pixel steps.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 19:17:20 +00:00
Axel Dörfler
250cc422be Obviously, the R5 icon code has problems when converting to 32 bit (crashes here) :-/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 19:16:37 +00:00
Axel Dörfler
bca3f1efbf Added support for the vector icons to FileTypes and DiskProbe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 15:13:31 +00:00
Stephan Aßmus
d632afd30e * new vector icons I created in the past months
for applications, I kept the R5 icon around and the
vector icon is only used when compiling for Haiku,
for the mimetypes, I removed the R5 icon, as I don't
think they are used outside the Haiku build

naturally, I'm open for comments



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 09:47:18 +00:00
Stephan Aßmus
f12a404e88 * small simplification
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 09:40:48 +00:00
Stephan Aßmus
6e3b3b09d3 * improvements to saving/loading, biggest flaw was that appending an icon
changed the save entry_ref to the appended file, instead of keeping it
* added cleaning up styles (removing duplicates) after importing from SVG
* compile fixes for rgb_color ==/!= rgb_color
* added Style::operator==(const Style& other)
* improved debug output when listeners are still attached
  to a VectorPath upon destruction



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 09:40:22 +00:00
Stefano Ceccherini
cb732f77f1 added Lucasz to the list of contributors, for his work on BPicture
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-30 21:23:35 +00:00
Axel Dörfler
2d6123a6ea * Time view was broken
* The view wasn't updated on changes... (you shouldn't develop such an application
  on a desktop computer)
* enlarged the polling interval to 2 seconds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-29 17:49:27 +00:00
Axel Dörfler
d493e69527 Wrote a small application to show the power status in a window, replicant, or the
Deskbar tray. Currently only works under BeOS, and has rather ugly graphics; Haiku
doesn't have an APM kernel interface yet, and I was too lazy to make any nice
icons/drawings :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-29 17:28:52 +00:00
Axel Dörfler
1f8b22ef22 Fixed some more application signatures and version info, and made them all consistent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-22 16:09:50 +00:00
Axel Dörfler
37ec4f04fe * Cleanup of signatures and version infos - this is part of a fix to bug #909.
I've done all preferences apps for now, and some related.
* Some other related cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-22 14:55:44 +00:00
Axel Dörfler
463c8198b8 Fixed warning for Dano & Haiku builds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-16 11:47:49 +00:00
Axel Dörfler
bdfed6c06f While I couldn't reproduce bug #657 myself, this should fix it.
TTeamMenuItem::AttachedToWindow() calls BView::SetFont() which entered the debugger
if the menu was visible at the time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-12 12:48:16 +00:00
Axel Dörfler
c5b560408b Removed unneeded second calculator from the repository.
Accidently, this also fixes bug #867.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-07 12:46:38 +00:00
Axel Dörfler
646182be71 * When specifying invalid arguments, an error message is now printed. This fixes bug #714.
* Removed some useless information.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-27 18:00:35 +00:00
Jérôme Duval
03f56b4655 fix build with gcc4 because of libstdc++
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-21 12:31:46 +00:00
Marcus Overhagen
3ec18e87d6 various GCC 4 build fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 15:08:41 +00:00
Stephan Aßmus
5fa040e3b9 * some clean up for style guide conformance
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-14 18:08:15 +00:00
Stephan Aßmus
59deaf10bc various changes to improve integration of vector icons
* Deskbar uses 32 bit icons now
* vector icons are now correctly converted to B_CMAP8 bitmaps
  if no B_CMAP8 icon is available
* small fixes in Tracker (window mode menu)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-11 10:52:01 +00:00
Stephan Aßmus
f4bd80a2dc * when loading an icon via drag&drop, the file will be remembered
for saving later
* added "Clean Up" feature to "Path" menu
* added "Freeze Transformation" to "Shape" menu (will apply the
  current shape transformation onto the path and reset the shape
  transformation to identity)
* small cleanup in ShapeListView
* implemented zooming in CanvasView
* added context menu while editing a path
* implemented undo/redo for transforming points
  (press T or use context menu)
* added "Split Points" feature (path editing context menu), it will
  make two points from one control point
* improved selecting path points with selection rect
* improved SVG import for zuMis BeOS icons (more precise scale)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-10 22:31:09 +00:00
Marcus Overhagen
7933c6db2c cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-10 18:41:20 +00:00
Axel Dörfler
3b57441c75 Added text input filters for "To:", "CC:", and "BCC:" fields that filter an eventual
leading "mailto:" from any insertions (like from a clipboard pasting).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-04 21:07:46 +00:00
Axel Dörfler
309c11a716 * Added text input filter functionality.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-04 21:06:33 +00:00
Axel Dörfler
1f2d7e39bf Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-04 20:32:07 +00:00
Axel Dörfler
324e3770e6 Fixed build under Dano.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 17:00:09 +00:00
Stephan Aßmus
0e1ba39f04 * 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
2006-08-29 10:20:40 +00:00
Marcus Overhagen
a1353af753 added a bunch of mime types
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-27 20:29:34 +00:00
Marcus Overhagen
dbd8be9a85 makefile to ease development, please dont remove
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-27 20:29:08 +00:00
Stephan Aßmus
100fd931d7 build Magnify for the app_server test environment also
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 13:57:31 +00:00
Stephan Aßmus
4c25eb4d04 * delete -> delete[]
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 13:56:41 +00:00
Stephan Aßmus
67ca1dc6aa * don't remember what this was for, I think it elliminates flickering,
because the SeekSlider knows if the knob position actually changed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-26 13:55:18 +00:00
Niels Sascha Reedijk
f83bebcdde Save the settings of the find window when reopening it (just like R5's terminal)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-24 18:32:33 +00:00
Jérôme Duval
c7eaf4b4cf fix for bug #747
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-23 08:54:39 +00:00
Niels Sascha Reedijk
f95dbf8906 Implement Find in Terminal. This is almost identical to R5's Terminal, except that it doesn't look for regexps. Code tested by me. Thanks to jburton for helping me out and reviewing the patch.
This resolves bug #199.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-22 09:33:01 +00:00
Stefano Ceccherini
83333816a2 adding back Terminal.cpp as it's obviously needed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-17 08:41:53 +00:00
Stefano Ceccherini
16f6901c0b Removed old and unused files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-17 08:08:49 +00:00
Jérôme Duval
f96cab8aa3 tentative at fixing bug #733, unable to test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-16 10:24:00 +00:00
Axel Dörfler
a5210ab17d Imported files from OT-current:
* ExpandoMenuBar.cpp 1.18
* CalendarMenuItem.cpp 1.6
* WindowMenu.cpp 1.3
* TimeView.cpp 1.14
* StatusView.cpp 1.18
* BarWindow.cpp 1.8


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-11 13:24:57 +00:00
DarkWyrm
8809a51076 Another in the series of small usability tweaks:
Added a needed ellipsis to the About item
Increased the space between the "select current folder" button and the Cancel button in the Destination file panel to prevent accidental clicking


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-07 20:52:09 +00:00
DarkWyrm
6091ae51b0 Removed the unnecessary "Error setting up nodes" error message and reworded the most common error (missing video input) to make it more helpful to the user
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-07 20:29:56 +00:00
DarkWyrm
eef409055a Fixed the R5 StyledEdit build -- removed B_BAD_DATA as it was defined in Errors.h, unbeknownst to me
Added Alt+W shortcuts to the Find and Replace windows in StyledEdit
Fixed the Escape key shortcut hack


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-07 18:24:18 +00:00
DarkWyrm
464b524b93 Window size is now saved into preferences. This resolves bug #42
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-07 13:57:30 +00:00
DarkWyrm
2583a5828f Fix build under R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-03 15:01:38 +00:00
Axel Dörfler
c2db32a1d1 * No longer compacts newlines in HTML messages - usually, the typical newline tags
are missing from these mails, anyway.
* The decimal entity resolution (Ӓ) did not work correctly in HTML mails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-18 19:55:21 +00:00
Ithamar R. Adema
89f088e0da More (minor) GCC 4 fixes.....
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-14 21:02:30 +00:00
Ithamar R. Adema
23e6780695 Lots 'n lots of STL fixes to make it compiling for GCC 4+
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-14 20:51:34 +00:00
Stephan Aßmus
976ba53424 * don't loose sync of the current color in case
gradient stop changes color for some reason


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-13 12:51:07 +00:00
Bruno G. Albuquerque
96c52f75e4 Another small fix for Dano/ZETA compilation. Why is it Haiku does not seem
to need stdio.h for printf/fprintf?
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-13 11:05:15 +00:00
Jérôme Duval
956881506f fix some warnings
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-12 18:24:12 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
Stephan Aßmus
9b4fa889fd * the path list view shows check boxes now when a shape is selected,
the marked paths are used in the shape
* a new path is auto-selected
* deselecting a shape still sends the selection message
* PathSource does not call agg::path_storage::start_new_path() for
  each subpath... a move_to() is sufficient and makes sure the
  subpaths are rendered even :-)
* updated NOTES
* moved IconView into gui subfolder


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-04 00:04:50 +00:00
Stephan Aßmus
8815fed657 * MultipleManipulatorState invalidates the area of an
added or removed Manipulator
* added a menu bar to the MainWindow
* undo/redo work from the menu now
* one can add a new path object
* the selected path will get focus for being manipulated
  (will be moved elsewhere later on...)
TODO: allow to connect paths to shapes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-02 09:56:06 +00:00
François Revol
466805c501 Fix off-by-one window resizing (I really thought it was correct)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-01 22:08:03 +00:00
Stephan Aßmus
2ce8d31d09 * added MoveShapesCommand and RemoveShapesCommand
* ShapeContainerListener also gets the index at which a Shape was added
* ShapeListView allows to drag-sort the shapes
* ShapeListView allows to remove shapes (untested)

* IconRenderer is independent of StyleManager now, the
  order of shapes is now correct
* disabled clipping for now, since clear() ignores it (clearing will
  be changed for a checker background anyways)
* added copy constructor to Shape (needs to clone the Transformers yet)

* Selectable optionally knows the global Selection, so that one
  could use Selectable::SetSelected() and it would add itself to
  the selection (not yet used)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-01 12:42:52 +00:00
Axel Dörfler
c6408ada23 Fixed build under Dano.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-07-01 09:58:48 +00:00
Stephan Aßmus
cfda5dd75b * 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
2006-06-30 21:39:18 +00:00
Ingo Weinhold
2c38311d40 * Fixed libbe_test build for install-test-apps. A few changes are not
in my branch, but in the main trunk. That should do no harm though.
* Made LayoutTest1 build for libbe_test and added it to the
  install-test-apps target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-30 13:48:36 +00:00
Jérôme Duval
85c0a1f718 always init numbers[i], suggested by Stippi, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-30 09:07:05 +00:00
Jérôme Duval
bc96eab5bd a new terminal is now launched in TermWindow
we now search for a Terminal index : we use scripting to ask every Terminal its window title, and from this computes a free index
this fixes bug #699


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-29 21:15:40 +00:00
Axel Dörfler
d48519fa80 Can now be built for BeOS targets as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-27 11:44:24 +00:00
Stephan Aßmus
e57995449d beginning to check up on gui components:
* added a group of controls to access and manipulate colors (incomplete)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-23 23:14:12 +00:00
Stephan Aßmus
5ca1108776 * fixed off by one errors when calculating min size
* added setter for internal spacing 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-23 23:12:18 +00:00
Stephan Aßmus
31e2089106 * added a color picker panel
(heavily modified, but originally based on Colors! by Werner Freytag)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17915 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-23 22:09:53 +00:00
Stephan Aßmus
56aceca439 updates NOTES
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-22 00:46:51 +00:00
Stephan Aßmus
fd8b7ce55a one more small fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-22 00:30:39 +00:00
Stephan Aßmus
ce181bb0cd * fixed memory leaks and display bugs
* VectorPath objects were released one two many times
  by the Shape PathContainers (they don't acquire when
  a path is added, the Shape does that for them) the
  PathContainer of the Icon needs to release though, as
  it "owns" the paths
* put the Selection class used by PathManipulator into
  the PathManipulator namespace, since the compiler seemed
  to use the wrong destructor (the one from the generic
  Selection class)
* uses a better mechanism to track and render
  changed parts of icon


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-22 00:22:23 +00:00
Stephan Aßmus
f71eec5f41 added three more Transformer implementations:
* AffineTransformer - affine matrix transformation
* PerspectiveTransformer - perspective transformation
* ContourTransformer - extending the underlying VertexSource by a certain
  width (like "false bold" in text rendering)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 15:21:26 +00:00
Stephan Aßmus
0199e126e2 implemented a cool vertex transformation pipeline:
* VertexSource virtualizes the AGG "VertexSource" interface
* Transformer is an interface for building pipelines of
  VertexSource objects, each taking the output of the previous
  object and transforming it in some way
* StrokeTransformer is currently the only implementation and
  converts a path into an outline stroke
* PathSource implements the VertexSource interface on top of
  a VectorPath which it converts into an agg::path_storage
  and into an agg::conv_curve<agg::path_storage> to get smooth
  bezier curves
* added VertexSource() to Shape class, which returns the last
  object of the transformation pipeline, it uses a PathSource
  for the root object
* changed IconRenderer to use the new polymorphic VertexSource
  pipeline


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 14:38:13 +00:00
Stephan Aßmus
0f50089d87 implemented gradient rendering
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 12:14:19 +00:00
Stephan Aßmus
f67876a0c5 some more "putting things together" for testing:
* add a VectorPath to Document->Icon()->Paths()
* add a Style to the global StyleManager
* actually add a Shape to the Document->Icon()->Shapes()
  which uses the style and the path from above

fleshing out of CanvasView:
* use an offscreen bitmap/view to avoid flickering
* use an IconRenderer to render the set Icon
* implement support for zooming

PathManipulator:
* use the conversion from/to Canvas space and View space
  in CanvasView (I would have liked to solve this in a
  more generic way, so that PathManipulator didn't have to
  know CanvasView, but I was not very creative...)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:43:19 +00:00
Stephan Aßmus
3f6acee003 actually render all the shapes... TODO: gradients
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:36:39 +00:00
Stephan Aßmus
667973ad58 added more useful colors and some patterns
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:34:37 +00:00
Stephan Aßmus
362cd293d6 added IndexOf()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:33:52 +00:00
Stephan Aßmus
781809a916 don't ignore the smoothing scale in Iterate()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 10:33:14 +00:00