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

Slides:



Advertisements
Similar presentations
Win8 on Intel Programming Course Desktop : WPF Cédric Andreolli Intel Software
Advertisements

The Microsoft Technical Roadshow 2006 Windows Presentation Foundation (WPF) Marcus Perryman
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
JAXB Java Architecture for XML Binding Andy Fanton Khalid AlBayat.
Instructed by: Ofir Erel Performed by: Adam Levi Marina Skarbovsky.
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Graphical User Interface (GUI) Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
ADVANCED GRAPHICAL USER INTERFACES USED WITH RELAP
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College Lecture 8: WebForms — Web-based.
Written by Liron Blecher
Java Beans.
Microsoft Visual Basic 2005: Reloaded Second Edition
Bacon A Penetration and Auditing Framework Hernan Gips
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
An Introduction to Visual Basic
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Visual Linker Final presentation.
Introduction to Matlab & Data Analysis
Chapter 8: Writing Graphical User Interfaces Visual Basic.NET Programming: From Problem Analysis to Program Design.
UCSC All rights reserved. No part of this material may be reproduced and sold. 1 IT1202-Fundamentals Of Programming (Using JAVA) Interacting with.
Chapter 4 System Software. Software Programs that tell a computer what to do and how to do it. Sets of instructions telling computers to perform actions.
(c) University of Washington08-1 CSC 143 Models and Views Reading: Ch. 18.
POS 406 Java Technology And Beginning Java Code
Copyright © 2010 Wolters Kluwer Health | Lippincott Williams & Wilkins Introduction to Windows Chapter 2.
Introducing the Eclipse Visual Editor David Gallardo.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
Sage ACT! 2013 SDK Update Brian P. Mowka March 23, 2012 Template date: October 2010.
Selected Topics in Software Engineering - Distributed Software Development.
Students : Hiba Ghannam Hawa Osama Superviser: Haya Sammaneh.
CHAPTER TWO INTRODUCTION TO VISUAL BASIC © Prepared By: Razif Razali 1.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Verified Network Configuration. Verinec Goals Device independent network configuration Automated testing of configuration Automated distribution of configuration.
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College
Lection №5 Modern integrated development environment.
1 1. Systems and Software Development 1.1 The Systems Life Cycle.
1 Creating Windows GUIs with Visual Studio. 2 Creating the Project New Project Visual C++ Projects Windows Forms Application Give the Project a Name and.
CS324e - Elements of Graphics and Visualization Java GUIs - Event Handling.
MS Visual Basic 6 Walter Milner. VB 6 0 Introduction –background to VB, A hello World program 1 Core language 1 –Projects, data types, variables, forms,
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Java Beans. Definitions A reusable software component that can be manipulated visually in a ‘builder tool’. (from JavaBean Specification) The JavaBeans.
QPE A Graphical Editor for Modeling using Queueing Petri Nets Christofer Dutz.
Testing in Android. Methods Unit Testing Integration Testing System Testing Regression Testing Compatibility Testing Black Box (Functional) White Box.
Understanding Desktop Applications Lesson 5. Objective Domain Matrix Skills/ConceptsMTA Exam Objectives Understanding Windows Forms Applications Understand.
Devanshu Bawa Customization Specialist Logo Business Solutions.
An Overview of the AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland.
INFORMATION SYSTEM – SOFTWARE TOPIC: GRAPHICAL USER INTERFACE.
Understanding Desktop Applications Lesson 5. Understanding Windows Forms Applications Windows Forms applications are smart client applications consisting.
What Biodiverse: spatial analysis of diversity using indices WebBiodiverse: a web layer TOLKIN: systematic and phylogenetic (tree of life) research.
Chapter 5 Introduction To Form Builder. Lesson C Objectives  Use sequences to automatically generate primary key values in a form  Create lists of values.
MATLAB and SimulinkLecture 61 To days Outline Graphical User Interface (GUI) Exercise on this days topics.
Developing GUIs With the Eclipse Visual Editor, Swing/AWT Edition David Gallardo.
9NL Ayomi Hasenclever.  You cant touch a software  It is stored in a computer or laptop  Allows the hardware to do something useful, without the software.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Event loops 16-Jun-18.
Module 1.1 Introduction to computers
Social Media And Global Computing Introduction to Visual Studio
Event loops.
Building Graphical User Interface with Swing a short introduction
Event loops 17-Jan-19.
Event loops 17-Jan-19.
Chapter 15: GUI Applications & Event-Driven Programming
Event loops 8-Apr-19.
Model, View, Controller design pattern
Event loops.
Event loops 19-Aug-19.
Presentation transcript:

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

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

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

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

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

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

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

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

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?

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