The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > Developer > Omni Frameworks
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Omni Software ... (reposted in correct forum) Thread Tools Search this Thread Display Modes

I'm a software developer (C++, Unix background) and I'm starting to explore the capabilities of carbon, cocoa and the xcode IDE.

I've just been exploring the OmniPlan application as I thought it might be useful for me --- I really need a scheduling tool that allows me to allocate instructors to courses, that presents a complete yearly plan. OmniPlan seems to do many cool things, but this is a bit out of its scope. However, I really like the way OmniPlan looks: the calendar view with cool blobs for tasks over durations (which can be resized and moved directly), and changes in the viewing range (day, week, month, quarter, etc).

So my question is how was it built: carbon or cocoa (in fact, which should one use, it seems that carbon gives more control for more work but is older). What frameworks and/or graphical widgets are available to make the lozenge shaped blobs?

I just had a tour of the standard widget sets (for both carbon and cocoa), and I've come to the unfortunate conclusion that I'll have to build my own from quartz 2D. Is this correct.


-- dave
Hi Dave,

OmniPlan is 99% Cocoa. The gantt and resource views are both subclasses of an abstract superclass which we call OPDateScalableView, which handles all the date calculations and scale changes for the horizontal axis. The subclasses contain lists of 'blob' objects for the tasks and the code for manipulating them is all there, with calls back to the superclass methods to translate date to X-position or X-position to date.

The 'blob' objects themselves do their own drawing, and use a mixture of Cocoa's NSBezierPath class (for most of the drawing) and Quartz 2D (for the gradient fill effects).

So yes, these views are all custom and don't use any standard widgets.

I would personally suggest using Cocoa for most new development. You can get all the control you would want via Cocoa, all that you need Carbon for is if there are esoteric pieces where there isn't Cocoa API. (I.e. Carbon is more complete, but generally requires more work and for most types of apps is entirely avoidable.)

Hope this helps!

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
Thread Thread Starter Forum Replies Last Post
Correct process to switch from MobileMe to Omni sync server? mdfw OmniFocus Syncing 2 2011-10-21 10:47 AM
Omni qualitative analysis software? JimG Omni Lounge 9 2011-03-10 11:55 AM
Software update speeds Omni Mixalis OmniFocus Syncing 1 2008-09-16 08:39 AM

All times are GMT -8. The time now is 05:09 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2022, vBulletin Solutions, Inc.