Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dynamically generated GUI

I am beginning preliminary design for a general purpose application to be used in my organization. The program needs to be both generic and specialized at the same time. It will contain widgets that are common to all workflows and unique widgets (or input constraints) for individual workflows. To avoid having 97 different one-offs we're planning on building a set of schemas for each workflow. At run-time the user will select their schema from the server and the GUI will throw up the right widgets for their workflow.

This is a C# application that will run in .Net and possibly Mono. That means we are looking into GTK#, in addition to XAML and MonoMac.

We've considered writing XSLT's for our target GUI toolkit. For example:

  • A Glade XSLT to convert our XSD's to libglade XML.

  • A XAML XSLT to convert our XSD's to XAML.

  • A generic XML format for other toolkits that do not support a declarative syntax for GUI's.

  • A library of classes to read the XSD's directly and generate the GUI.

So, my question is, does this already exist? Is there some workflow toolkit out there for GTK# and libglade or WPF and XAML.

like image 575
Nate Avatar asked Jan 20 '11 04:01

Nate


People also ask

What is a dynamic GUI?

Dynamic user interfaces, or dynamic UIs , are portlets or pages that are dynamically created based on the definition of an existing page or portlet definition. A dynamic UI can be launched only by a portlet using the Dynamic UI Manager API.

What is dynamic UI design?

Dynamic UI design is the practice of designing a user interface to adapt according to user input. When designing a dynamic user interface (UI), you control the fields that users see and interact with, according to specified conditions. Dynamic UI content is a key element of an intent-driven UI design.

What is dynamic UI in Android?

It is also called as backend-driven UI. The server defines which components are part of a screen and their order; these are described in the API. The apps render their native implementation of all the components. This allows the apps to deliver a high-quality user experience with all features native to their platform.


1 Answers

Look at System.Windows.DataTemplate which can be used automaticly by WPF (see property DataType). I think you can extract all UI blocks, which will be used to generate UI and then implement ViewModels and appropriate DataTemplates. And result UI will be composite view model of this blocks.

like image 93
SeeSharp Avatar answered Sep 24 '22 17:09

SeeSharp