Presentation is loading. Please wait.

Presentation is loading. Please wait.

A.NET desktop application and it’s future And solutions for command line application interoperability.

Similar presentations


Presentation on theme: "A.NET desktop application and it’s future And solutions for command line application interoperability."— Presentation transcript:

1 A.NET desktop application and it’s future And solutions for command line application interoperability

2 About the application Command line number-cruncher tool – Written in C++ – Multi-threaded computation – Digests data coming from MRI scans – Inputs Configurable by an XML file Has CSV input files Has some optional command line parameters – Outputs Produces CSV output files Gives feedback on the stdout

3 About the application GUI written in.NET – Goal is to control the command-line tool – Nice user editor for the command line tool’s XML configuration file – Uses WinForms – Provides also graphical display of the end results – Interfaces simply Starts it with.NET Process class Gives feedback based on standard output *picture

4 GUI – General and Listbox XML file editing WinForms forms, controls and layouting ListBox is capable of drag-and-drop operation – Taken from codeproject.com and codeguru.com – -> demo – *picture

5 GUI - interconnection Progress indicator is controlled by stdout – Process class has many settings: UseShellExecute RedirectStandardOutput RedirectStandardError OutputDataReceived event handler ErrorDataReceived event handler StartInfo.CreateNoWindow EnableRaisingEvents Exited event handler – Magic: setvbuf(stdout, NULL, _IONBF, 0); – -> demo

6 GUI - Data visualization Canvas class – Taken from codeproject.com and codeguru.com – Capable of zooming and scrollbars – Coloring: converting the value domain to hue, and using HSV2RGB – *picture

7 GUI - Data visualization Graph – Using Perpetuum Software’s.NET ModelKit Suite (won at one of the UG events this year) – It has several components, one of them is the Graph – Highly configurable, produces an output file, it is loaded from the resx resource by the actual control – Graphs picture can be saved in different formats – -> demo – *picture

8 Future Small things – Color scale display – Mouse wheel zoom handling over the canvas – Resize handling of the canvas? The whole package – Moving everything to.NET ? – Going multi-platform XML parameter editor

9 Future of the whole package Moving everything into one software – Moving the number cruncher core into.NET C++ code uses the QueueUserWorkItem Win32 API and plain old C arrays (!) We can use parallel capabilities of.NET but arrays should be synchronized, not sure about the performance implications – Going multi platform Moving to Qt and C++? Qt has nice signal-slot (eventsource- observer pattern) UI If I move to.NET I can go to Silverlight – From UI viewpoint it’s almost like moving to WPF – What happens with the Canvas and the Graph?

10 Future – XML editor Lots of boilerplate code; how to avoid? Thought about property editor-like interface Complete solution: something which – Interprets the XSD and automatically generates classes for them – exists for Java – Interprets XSD and automatically generates GUI! – many solutions exist, lot for Java, most of them are commercial – -> demo, pictures


Download ppt "A.NET desktop application and it’s future And solutions for command line application interoperability."

Similar presentations


Ads by Google