Korduene 0.8 released! This release is focused mostly on completing the SDK which gives you more options to customize Korduene.
Korduene SDK allows you to create custom nodes that functions in any way you want. Your nodes can produce code of any type and of course you will need to create a custom compiler for that project type.
ProjectBase class is provided which allows you to create custom project types. Beside creating your own custom projects, you also have access to WinForms project which allows you to create WinForms projects using your extension and be in full control of your project.
The SDK also allows you to create a custom compiler for your projects. Also you will be able to access codes that has been generated by the designer/graph, modify or inspect them before compiling. Also now you have access to Windows Forms Application compiler.
Korduene Editors have been completely rewritten to support custom editors, KEditor class is provided to allow you create your own editor, it still includes the Graph and Designer tabs, but you can create your own designer and add it to the Designer tab, which can be of any type, a game scene editor, an html editor, or anything you wish.
* Note: base classes are not provided for any of the editors mentioned above, you will need to create your own or use third party libraries.
Using the SDK you will be able to access/modify all the current loaded project's properties and control the project the way you wish. For instance you will be able to know what is the project's status, or compile the project, add References, change Using Directives.
Main Menu & ToolStrip Access
If you're developing extensions, you will have access to Korduene's Main Menu & ToolStrip, that is so you don't need to have all your extension menu items crammed in on menu in Extensions menu, you can create them where you want.
Node Source Code
Here is the best part, since now you have access to the SDK and can create your own nodes, it's good to have a source to use as a starting point, so now source code for all Korduene's nodes is available.
Node Source is available in the node documentations
Now you can access Controls/Methods/Functions/Variables of other Graphs/Forms, this comes in handy when you want to interact with an instance of a Form.
To use that you need to create an instance of a Form first, that is because Form classes are not static and need instantiating before you can access their properties, this will also allow you to create multiple instances of the same Form.
Since everything in Graphs/Forms were marked as private, now that has changed, because you can't access private objects, now everything is marked as internal so you will have access to these objects. What's great about this new feature is that References are updated automatically, if you change the node ID, it will be updated in all other graphs.
* This new feature will only work with Projects created with Korduene 0.8.
SourceLibraries & Libraries
ExternalLibraries name has been changed to "SourceLibraries" as it may contain only source code, beside that another directory will be created by default and its name is "Libraries", this will contain referenced libraries, as it makes it easier to move your project files between computers without having to adding the references again.
This is another option added to project properties, which allows you to add/remove Using Directives, this option added mostly because of custom project creation as it gives you more control over the project when compiling.
This feature has been implemented in the early versions of Korduene, but due to lots of complications it was disabled, Now its been re-implemented so you can combine multiple variables into a single node, which helps tiding up your graph. This action is not added to the undo stack, so if you want to separate the variables again, you need to do it in the node menu. When you combine/separate nodes, all links will stay intact so you don't have to re-connect everything afterwards.
* This excludes Font and Color, only nodes with one port are allowed.
Automatic Node Menu Generation
You don't have to define a menu for your nodes, Korduene will generate a menu for your nodes based on where they reside in your extension namespaces.
Serial Port Communication
Even this was supposed to be implemented in the next version, but since SerialPort is a fairly small class, I decided to implement it then do the node source clean up. I have to say I'm not an expert in that area, I've only done some small tests with com0com software, so if there are missing features or you have suggestions to improve it for the better let me know. So you might want to test it out first.
Advanced Controls Events
Now advanced controls have their events accessible, however advanced controls might be removed from the toolbox in the upcoming versions, reason for this is because these controls were highly experimental and basically UserControls containing WPF controls. It might be best to think about implementing WPF project support in the future rather than using WPF controls in in WinForms, but this might be after version 1.0.
Better Library Reference Handling
No need for full references paths anymore, Korduene will check your references and if they are not native .NET libraries, they will be copied to Libraries folder, which allows you to easily move your projects between computers without having to deal with dependency issues.
* Korduene Language Editor now supports dragging and dropping KLEF files.
* Extend Node With Text has been removed as it is no longer necessary.
* Directory name changes (Forms -> Designers) & (ExternalLibraries -> SourceLibraries).
* Bulky sized nodes.
* Node comments capturing mouse events.
* Crash on Windows 7.
* Graph Menu not reactivating after compiling.
* Feedback form causing Korduene to crash.
For the SDK Features check out the Documentation.