C# Disciples

my life in Avalon ….

: Jasema :

Jasema V2 ……….. Finally it’s here !!!

Introduction

Jasema is a tool to create WPF Path Geometry in an easy user friendly way. The motivation for Jasema came to me when I was creating Paths manually by hand. All those numbers and letters to form the geometry that I wanted was making me feel dizzy. So I decided to create a new baby, Jasema.

Jasema is a plugin for XamlPadX v3. You can also install Jasema as a stand alone application. With Jasema you can draw paths by click on the drawing surface provided and it will create the according geometry for you. Using Jasema is very straight forward, you plot the points that you wish and then drag the points around to form the path. Jasema provides loads of useful features to help you building paths quickly and easily such as Helper Lines, Auto Close Path and many others (for more information on these features read below).

Why the name Jasema?

Well “Jas” are the first 3 letters of my daughter’s name - Jasmine
“Ema” is the name of my wife….
concatenate them …. string toolName = “Jas”+”ema”;
There you have it “Jasema”Jasema v1 was more like a prototype, just to see how the WPF community would react to such a too. Feedback was good so I decided to start working on version 2. Along the way Karl Agius joined me and created the Undo and Redo feature.
After loads of ideas and feedback, Team Jasema did it… Welcome Jasema v2!!!!!!!

Jasema v2

New Features

Edit Points using drag drop

You can now edit points by dragging them around the drawing surface.

Edit Points Manually

If you want greater precision, you can also edit points by specifying their coordinates.

Draw curves

Each line that you draw has 2 control points that you can use to curve a line.

Infinite Undo and Redo

“The Ctrl+Z saved me….” Now Jasema supports multiple levels of Undo and Redo.
[Some notes about this can be found here]

Numbers Display

You can turn on this marker to have more guidance on which controller is attached to which points. This can be very handy when you have loads of points flying around.

Helper Lines

The helper lines are dashed lines that link all points together. This can be useful when you want to create a curve with a specific angle.

Close Path

This feature lets you close a path automatically instead of you having to play around to close the path.

Zoom In/Out

You can zoom in/out so that you can get up close and personal with your work…

Preview Page

Once ready from editing you can choose to preview the path that you created, without any widgets to get in the way.

Dockable Tool Bars

The toolbars on the side are dockable; you can undock them and drag them anywhere you want, thanks to Docky.

Team Jasema

marlon

C# Disciple aka Marlon Grech

>> Marlon is a .Net addict. He speaks C#. Well I guess you know already this and more since you are on Marlon’s blog :D
Visit AvalonControlsLibrary for more WPF stuff from Marlon

karl

Amaranth aka Karl Agius

>> Karl likes to mess around with wierd code and wierder frameworks. Sometimes he blogs at http://karlagius.wordpress.com. When he is not coding or blogging, he is usually up to no good.

Downloads

Windows installer

Download from: http://cid-96f8d49aa44c79c1.skydrive.live.com/self.aspx/Public/JasemaSetup.zip

This installer will deploy Jasema v2 to your hard drive. If XamlPadX 3 is installed, Jasema v2 will also register as a plugin for it (it will apear in the list of plugins for XamlPadX, then you have to explicitly select it to be loaded).
To run Jasema v2, you will need to have the .Net Framework 3.5 installed.

Sources

Download from: http://cid-96f8d49aa44c79c1.skydrive.live.com/self.aspx/Public/Jasema.rar

This package contains the source code for Jasema v2. To build this application, you will need Visual Studio 2008, and PostSharp. (In order to compile the code you need to install PostSharp otherwise the Undo feature will not work)

Future Improvements

Live Preview while Dragging points
Visual Undo Stack
Multi Layers for supporting multiple paths

Please send suggestions for new Features so that together we build a better Jasema :D

Any questions, and comments are, as usual, welcome.

GO JASEMA GO!!!
kick it on DotNetKicks.com

7 Comments »

  1. [...] Posted February 1, 2008 This article describes the undo feature implementation for Jasema 2 using the PostSharp framework.  For a simple introduction, this is my article about AOP using [...]

    Pingback by Implementing the Undo feature for Jasema « The Simple Part | February 1, 2008

  2. [...] : Jasema : [...]

    Pingback by Jasema v2 Released « C# Disciples | February 2, 2008

  3. [...] : Jasema : [...]

    Pingback by Jasema V2 coming up soon… « C# Disciples | February 2, 2008

  4. Nice progress since the first version. This can actually become something very usefull, Thanks a lot for this. There are 2 features that would make it A LOT more usefull, I believe:
    1. Copy an already existing Path string into the little editor.
    2. If it were possible to somehow view different paths stacked on top of each other (so you can look at an image made up of multiple paths), but I guess you’r already on that one.

    Comment by Bragi | February 18, 2008

  5. Oh, oh and a snap feature.

    Comment by Bragi | February 18, 2008

  6. Hi

    Thanks for the comments… I am working on the multiple paths already…. the other suggestions that you submitted are quite interesting … I will look into them! Thanks a lot

    Comment by marlongrech | February 18, 2008

  7. Marlon, Excellent work.

    Thanks.

    Comment by DAM-I | July 18, 2008

Leave a comment