Einhugur C++ Framework for MacOS X
This project is a work in progress. This version is a technology preview concept version to see how users take it.
The aim of the project is to make it easier for C++ developer to make MacOS X Applications without having to resort to Objective C or restricting NIB files. The framework is for XCode 4.0 and compiles with GCC 3.3. (There is a bug in GCC 4 which messes with the Delegates model, but this bug is scheduled to be fixed in GCC 4.0.1 so that should not be a problem).
There are no plans to make this framework cross platform as there are many other frameworks that do that. We much rather want to do it properly on the Mac.
- Make a easy to use C++ object model to develop MacOS X applications.
- Bring all existing Einhugur Plugins and technology to work in this C++ model.
- Make a RAD designer around the Object model. (The object model is designed to make this easy).
This Windows was generated in just very few lines of C++ code as the Framework takes care of most of the work.
What is already implemented:
- Event model that uses delegates similar to what is in C#.
- Localization support.
- Many controls are supported already as can be seen on the class diagram above.
- Added a yEncEncoder class.
- Added a SaveFileDialog class.
- Added a Stream abstract class.
- Added a FileStream class (64 bit stream with huge file support).
- Added a BinaryBuffer class.
- Added a FileDialog abstract class.
- Added a GetChild function to the FileSystemItem object.
- Added a GetSibling function to the FileSystemItem object.
- Added a SetType function to the FileSystemItem class.
- Added a SetCreator function to the FileSystemItem class.
- Added a GetType function to the DocumentType class.
- Added a Encoding enumeration to the String class.
- The ThemeColor enumeration is now a inner enum of the Color class instead of being in global scope.
- The FontStyle enumeration is now inner enum of the Font class instead of being in global scope.
- The CalendarControlSpecialDaysType enumeration is now inner enum of the CalendarControl class instead of being in global scope.
- The FileDialogFlags enumeration is now inner enum of the FileDialog class instead of being in global scope.
- Added Mouse Cursor support (Can be seen in the examples where it now changes cursor correctly when entering and leaving edit fields).
- Added another variation of the MessageBox function to the Application class.
- Added a SetResizable function to the Window class.
- Added a SetCloseBox function to the Window class.
- Added a SetZoomBox function to the Window class.
- Added a SetCollapseBox function to the Window class.
- Added a SetMetal function to the Window class.
- Added a Grayscale class from PictureEffects.
The download has a preview copy of this early version of the Framework and a Example project on how to use it.