Index: Dev/branches/rest-dojo-ui/client/rft/css/main.css
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/css/main.css	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/css/main.css	(revision 288)
@@ -34,2 +34,24 @@
     width: 150px;
 }
+
+.rftMultipleChoiceWidget {
+    display: table;
+}
+
+.rftMultipleChoiceWidget .row {
+    display: table-row;
+}
+
+.rftMultipleChoiceWidget .rowBox {
+    display: table-cell;
+}
+
+.rftMultipleChoiceWidget .rowText {
+    display: table-cell;
+    width: 100px;
+}
+
+.rftMultipleChoiceWidget .rowBtn {
+    display: table-cell;
+    width: 30px;
+}
Index: Dev/branches/rest-dojo-ui/client/rft/pages/questions.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/pages/questions.html	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/pages/questions.html	(revision 288)
@@ -6,18 +6,5 @@
     <div data-dojo-type="dijit.Dialog" title="Question" data-rft-attach-point="questionDialog">
         <form data-dojo-type="dijit.form.Form" data-rft-attach-point="questionForm" data-rft-attach-event="onSubmit:onSaveQuestion">
-            <fieldset>
-                <input data-dojo-type="dijit.form.TextBox" name="uid" type="text" class="dijitHidden" />
-                <label for="code" class="loginLabel">Code</label>
-                <input data-dojo-type="dijit.form.TextBox" name="code" type="text" class="loginInput" />
-                <label for="question" class="loginLabel">Title</label>
-                <input data-dojo-type="dijit.form.TextBox" name="title" type="text" class="loginInput" />
-                <label for="question" class="loginLabel">Description</label>
-                <input data-dojo-type="dijit.form.Textarea" name="description" type="text" class="loginInput"/>
-                <label for="category" class="loginLabel">Category</label>
-                <input data-dojo-type="dijit.form.TextBox" name="category" type="text" class="loginInput" />
-            </fieldset>
-            <fieldset>
-                <div data-dojo-type="rft.ui.QuestionWidget" data-rft-attach-point="questionWidget" ></div>
-            </fieldset>
+            <div data-dojo-type="rft.ui.QuestionWidget" data-rft-attach-point="questionWidget"></div>
             <div style="float: right;">
                 <button type="button" data-dojo-type="dijit.form.Button" data-rft-attach-event="onClick:onCancelQuestion">Cancel</button>
Index: Dev/branches/rest-dojo-ui/client/rft/pages/questions.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/pages/questions.js	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/pages/questions.js	(revision 288)
@@ -1,6 +1,6 @@
 define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/array','dojo/_base/event',
-    'dojo/_base/Deferred','dojo/store/JsonRest','dijit/layout/ContentPane','dijit/TitlePane',
+    'dojo/_base/Deferred','dojo/dom-construct','dojo/store/JsonRest','dijit/layout/ContentPane','dijit/TitlePane',
     'rft/ui/_Page','rft/ui/LineWithActionsWidget'],
-    function(declare,lang,array,event,Deferred,JsonRest,ContentPane,TitlePane,_Page,LineWithActionsWidget) {
+    function(declare,lang,array,event,Deferred,domConstruct,JsonRest,ContentPane,TitlePane,_Page,LineWithActionsWidget) {
         return declare('rft.pages.questions',[_Page],{
             constructor: function() {
@@ -13,9 +13,10 @@
                     idProperty: 'uid'
                 });
-                this._refresh();
+                this._refresh(true);
             },
-            _refresh: function() {
+            _refresh: function(initial) {
                 Deferred.when( this._store.query() ).then(lang.hitch(this,function(results){
                     array.forEach(results,lang.hitch(this,'_addQuestion'));
+                    initial && this.accordion.selectChild(true);
                 }));
             },
@@ -50,6 +51,7 @@
                 var category = q.category || 'Unsorted';
                 var widgets = this.accordion.getChildren();
-                var containerWidget;
-                var lastIndex = 'last';
+                var containerWidget = null;
+                var placeNode = this.accordion.domNode;
+                var placePos = 'last';
                 array.some(widgets,lang.hitch(this,function(widget,idx) {
                     if ( widget.title == category ) {
@@ -57,5 +59,6 @@
                         return true;
                     } else if ( widget.title > category  ) {
-                        lastIndex = idx;
+                        placeNode = widget.domNode;
+                        placePos = "before";
                         return true;
                     }
@@ -67,5 +70,5 @@
                     });
                     containerWidget.startup();
-                    this.accordion.addChild(containerWidget,lastIndex);
+                    domConstruct.place(containerWidget.domNode,placeNode,placePos);
                 }
                 return containerWidget;
@@ -87,12 +90,9 @@
             _editQuestion: function(question) {
                 this.questionForm.reset();
-                this.questionForm.set('value',question);
                 this.questionWidget.set('value',question);
                 this.questionDialog.show();
             },
             onSaveQuestion: function(evt) {
-                var value = this.questionForm.get('value');
-                var subvalue = this.questionWidget.get('value');
-                lang.mixin(value,subvalue);
+                var value = this.questionWidget.get('value');
                 Deferred.when( this._store.put(value) )
                 .then(lang.hitch(this,function(){
Index: Dev/branches/rest-dojo-ui/client/rft/run.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/run.js	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/run.js	(revision 288)
@@ -1,3 +1,9 @@
 require([
+    // functions required for run
+    'dojo/_base/window','dojo/parser', 'rft/ui/LoginDialog', 
+    'dojo/dom', 'dojo/_base/connect', 'rft/auth', 'rft/content',
+    'dojo/domReady!',
+    
+    // general widgets
     'dojo/data/ObjectStore',
     'dojo/store/JsonRest',
@@ -23,10 +29,7 @@
     'rft/ui/QuestionWidget',
     'rft/ui/TitleGroup',
-    'rft/pages/questions' // could this be done dynamically?
-]);
-
-require(['dojo/_base/window','dojo/parser', 'rft/ui/LoginDialog', 
-    'dojo/dom', 'dojo/_base/connect', 'rft/auth', 'rft/content',
-    'dojo/domReady!' ],
+    
+    // pages -> load dynamically?
+    'rft/pages/questions'],
     function(win,parser,LoginDialog,dom,connect,auth,content) {
         parser.parse();
Index: Dev/branches/rest-dojo-ui/client/rft/ui/LineWithActionsWidget.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/LineWithActionsWidget.html	(revision 281)
+++ 	(revision )
@@ -1,4 +1,0 @@
-<div>
-    <span data-dojo-attach-point="actionBar"></span>
-    <span data-dojo-attach-point="titleNode"></span>
-</div>
Index: Dev/branches/rest-dojo-ui/client/rft/ui/LineWithActionsWidget.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/LineWithActionsWidget.js	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/LineWithActionsWidget.js	(revision 288)
@@ -1,3 +1,5 @@
-define(['dojo/_base/declare','dojo/_base/lang','dijit/form/Button','dijit/_WidgetBase','dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin','dojo/text!rft/ui/LineWithActionsWidget.html'],
+define(['dojo/_base/declare','dojo/_base/lang','dijit/form/Button',
+    'dijit/_WidgetBase','dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin',
+    'dojo/text!./templates/LineWithActionsWidget.html'],
     function(declare,lang,Button,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,templateString){
         return declare('rft.ui.LineWithActionsWidget',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
Index: Dev/branches/rest-dojo-ui/client/rft/ui/LoginDialog.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/LoginDialog.html	(revision 281)
+++ 	(revision )
@@ -1,23 +1,0 @@
-<div class="dijitDialog" role="dialog" aria-labelledby="${id}_title">
-    <div data-dojo-attach-point="titleBar" class="dijitDialogTitleBar">
-        <span data-dojo-attach-point="titleNode" class="dijitDialogTitle" id="${id}_title"></span>
-        <span data-dojo-attach-point="closeButtonNode" class="dijitDialogCloseIcon" data-dojo-attach-event="ondijitclick: onCancel" title="${buttonCancel}" role="button" tabIndex="-1">
-            <span data-dojo-attach-point="closeText" class="closeText" title="${buttonCancel}">x</span>
-        </span>
-    </div>
-    <div data-dojo-attach-point="containerNode">
-        <form data-dojo-type="dijit.form.Form" data-dojo-attach-point="loginForm">
-            <fieldset>
-                <label for="email" class="loginLabel">Email</label>
-                <input data-dojo-type="dijit.form.TextBox" name="email" type="text" class="loginInput" />
-                <label for="password" class="loginLabel">Password</label>
-                <input data-dojo-type="dijit.form.TextBox" name="password" type="password" class="loginInput" />
-            </fieldset>
-            <div style="float: right;">
-                <button type="button" data-dojo-type="dijit.form.Button" data-dojo-attach-event="onClick:onRegister">Register</button>
-                <button type="submit" data-dojo-type="dijit.form.Button" data-dojo-attach-event="onClick:onLogin">Login</button>
-            </div>
-        </form>
-        <div data-dojo-attach-point="loginErrors" style="clear: both; color: red;"></div>
-    </div>
-</div>
Index: Dev/branches/rest-dojo-ui/client/rft/ui/LoginDialog.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/LoginDialog.js	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/LoginDialog.js	(revision 288)
@@ -1,4 +1,4 @@
 define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/event','dijit/Dialog',
-    'dijit/_WidgetsInTemplateMixin','../auth', 'dojo/text!./LoginDialog.html',
+    'dijit/_WidgetsInTemplateMixin','../auth', 'dojo/text!./templates/LoginDialog.html',
     '../content','dijit/form/Form','dijit/form/Button','dijit/form/TextBox'],
     function (declare, lang, event, Dialog, _WidgetsInTemplateMixin, auth, template, content) {
Index: Dev/branches/rest-dojo-ui/client/rft/ui/MultipleChoiceWidget.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/MultipleChoiceWidget.js	(revision 288)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/MultipleChoiceWidget.js	(revision 288)
@@ -0,0 +1,91 @@
+define(['dojo/_base/declare','dojo/_base/array','dojo/_base/lang',
+    'dojo/dom-construct','dijit/registry','dijit/_WidgetBase',
+    'dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin','dijit/_Container',
+    'dojo/text!./templates/MultipleChoiceWidget.html',
+    'dijit/form/RadioButton','dijit/form/CheckBox','dijit/form/TextBox','dijit/form/Button'],
+    function(declare,array,lang,domConstruct,registry,_WidgetBase,_TemplatedMixin,
+        _WidgetsInTemplateMixin,_Container,
+        templateString,RadioButton,CheckBox,TextBox,Button){
+        return declare('rft.ui.MultipleChoiceWidget',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,_Container],{
+            templateString: templateString,
+            multiple: true,
+            baseClass: 'rftMultipleChoiceWidget',
+            
+            allowMultiple: false,
+            name: '',
+            value: null,
+            
+            _widegtCache: null,
+            constuctor: function() {
+                this.inherited(arguments);
+                this.value = [];
+                this._widgetCache = {};
+            },
+            _setValueAttr: function(value) {
+                this.reset();
+                this.value = value;
+                array.forEach(this.value,lang.hitch(this,function(val){
+                    this._addRow(val);
+                }));
+            },
+            _getValueAttr: function() {
+                var value = [];
+                registry.findWidgets(this.domNode).forEach(function(w){
+                    w.isInstanceOf(TextBox) && value.push(w.get('value'));
+                });
+                this.value = value;
+                return value;
+            },
+            reset: function() {
+                this._removeWidgetsBelowNode(this.rows);
+                domConstruct.empty(this.rows);
+            },
+            _onAddRow: function() {
+                this._addRow();
+            },
+            _addRow: function(value,tagRow,pos) {
+                var row = domConstruct.create('div',{'class':'row'});
+                if ( this.allowMultiple ) {
+                    new CheckBox({
+                        name:this.name,
+                        'class':'rowBox',
+                        disabled: this.mode == 'edit'
+                    }).placeAt(row);
+                } else {
+                    new RadioButton({
+                        name:this.name,
+                        'class':'rowBox',
+                        disabled: this.mode == 'edit'
+                    }).placeAt(row);
+                }
+                new TextBox({
+                    name:this.name,
+                    value:value || '',
+                    'class':'rowText'
+                }).placeAt(row);
+                new Button({
+                    label:'-',
+                    'class':'rowBtn',
+                    onClick:lang.hitch(this,'_removeNodeWithWidgets',row)
+                }).placeAt(row);
+                new Button({
+                    label:'+',
+                    'class':'rowBtn',
+                    onClick:lang.hitch(this,'_addRow','',row,'before')
+                }).placeAt(row);
+                domConstruct.place(row,tagRow || this.rows,pos||'last');
+            },
+            _removeNodeWithWidgets: function(node) {
+                this._removeWidgetsBelowNode(node);
+                domConstruct.destroy(node);
+            },
+            _removeWidgetsBelowNode: function(node) {
+                registry.findWidgets(node).forEach(function(w){
+                    w.destroyRecursive();
+                });
+            },
+            _onRowChange: function(row) {
+                
+            }
+        });
+    });
Index: Dev/branches/rest-dojo-ui/client/rft/ui/QuestionWidget.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/QuestionWidget.html	(revision 281)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<div>
-    <form data-dojo-type="dijit.form.Form" data-dojo-attach-point="ourForm">
-        <select data-dojo-type="dijit.form.Select" data-dojo-attach-point="typeSelector" name="type">
-            <option value="string" selected>String</option>
-            <option value="text">Text</option>
-            <option value="multipleChoice">Multiple choice</option>
-        </select>
-        <div data-dojo-attach-point="typeDetails">
-        </div>
-    </form>
-</div>
Index: Dev/branches/rest-dojo-ui/client/rft/ui/QuestionWidget.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/QuestionWidget.js	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/QuestionWidget.js	(revision 288)
@@ -1,44 +1,63 @@
-require(['dojo/_base/declare','dijit/_WidgetBase','dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin','dojo/text!rft/ui/QuestionWidget.html','dijit/form/TextBox'],
-    function(declare,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,templateString,TextBox){
-        declare('rft.ui.QuestionWidget',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
+define(['dojo/_base/declare','dojo/dom-construct','dijit/_WidgetBase',
+    'dijit/_TemplatedMixin','dijit/_WidgetsInTemplateMixin',
+    'dojo/text!./templates/QuestionWidget.html','dijit/form/TextBox',
+    'dijit/form/Textarea','./MultipleChoiceWidget'],
+    function(declare,domConstruct,_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin,templateString,TextBox,Textarea,MultipleChoiceWidget){
+        return declare('rft.ui.QuestionWidget',[_WidgetBase,_TemplatedMixin,_WidgetsInTemplateMixin],{
             templateString: templateString,
             mode: 'view', // view || edit
-            type: 'string',
-            _w: null,
+            name: '',
+            _type: null,
+            _widgetCache: null,
+            constructor: function() {
+                this.inherited(arguments);
+                this._widgetCache = {};
+            },
             postCreate: function() {
-                this._setType(this.type);
+                this.typeSelector.set('disabled', this.mode == 'edit');
             },
-            _setType: function(type) {
-                if ( !this._w || this.type != type ) {
-                    if ( this._w ) {
-                        this._w.destroy();
-                        this._w = null;
-                    }
-                    this.type = type;
-                    switch(type) {
-                        case 'string':
-                            this._getStringWidget().placeAt(this.typeDetails);
-                            break;
-                        case 'text':
-                            break;
-                        case 'multipleChoice':
-                            break;
-                    }
-                }
-            },
-            _getStringWidget: function() {
-                if ( !this._stringWidget ) {
-                    this._stringWidget = new TextBox({
-                        name: 'answers',
-                        disabled: this.mode == 'view'
-                    });
-                }
-                return this._stringWidget;
+            _setValueAttr: function(value) {
+                value.type && this._onTypeChange(value.type);
+                this.ourForm.set('value',value);
             },
             _getValueAttr: function() {
                 return this.ourForm.get('value');
             },
-            _setValueAttr: function(value) {
-                return this.ourForm.set('value',value);
+            _onTypeChange: function(type) {
+                if ( this._type == type ) return;
+                this._type = type;
+                domConstruct.empty(this.typeDetails);
+                var widget = this._getTypeWidget(type);
+                widget && widget.placeAt(this.typeDetails,'only');
+            },
+            _getTypeWidget: function(type) {
+                var widget = this._widgetCache[type];
+                if (!widget) {
+                    switch(type) {
+                        case 'string':
+                            widget = new TextBox({
+                                name: 'answers',
+                                disabled: this.mode == 'view'
+                            });
+                            break;
+                        case 'text':
+                            widget = new Textarea({
+                                name: 'answers',
+                                disabled: this.mode == 'view',
+                                style: 'min-height: 120px'
+                            });
+                            break;
+                        case 'singleChoice':
+                        case 'multipleChoice':
+                            widget = new MultipleChoiceWidget({
+                                name: 'answers',
+                                mode: this.mode,
+                                allowMultiple: type == 'multipleChoice'
+                            });
+                            break;
+                    }
+                    this._widgetCache[type] = widget;
+                }
+                return widget;
             }
         });
Index: Dev/branches/rest-dojo-ui/client/rft/ui/TitleGroup.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/TitleGroup.js	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/TitleGroup.js	(revision 288)
@@ -1,10 +1,11 @@
-require(['dojo/_base/declare','dojo/_base/query','dijit/registry','dojox/widget/TitleGroup'],function(declare,query,registry,TitleGroup){
-    declare('rft.ui.TitleGroup',[TitleGroup],{
-        getChildren: function() {
-            return query("> .dijitTitlePane", this.domNode)
-            .map(function(node){
-                return registry.byNode(node);
-            });
-        }
+require(['dojo/_base/declare','dojo/_base/query','dijit/registry','dojox/widget/TitleGroup'],
+    function(declare,query,registry,TitleGroup){
+        return declare('rft.ui.TitleGroup',[TitleGroup],{
+            getChildren: function() {
+                return query("> .dijitTitlePane", this.domNode)
+                .map(function(node){
+                    return registry.byNode(node);
+                });
+            }
+        });
     });
-});
Index: Dev/branches/rest-dojo-ui/client/rft/ui/_Page.js
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/_Page.js	(revision 281)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/_Page.js	(revision 288)
@@ -1,3 +1,5 @@
-define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/array','dojo/parser','dojo/query','dojo/dom-attr','dojo/_base/connect','dijit','dijit/_WidgetBase','dijit/_Container','dijit/_Contained'],
+define(['dojo/_base/declare','dojo/_base/lang','dojo/_base/array','dojo/parser',
+    'dojo/query','dojo/dom-attr','dojo/_base/connect','dijit','dijit/_WidgetBase',
+    'dijit/_Container','dijit/_Contained'],
     function(declare,lang,array,parser,query,attr,connect,dijit,_WidgetBase,_Container,_Contained){
         return declare('rft.ui._Page',[_WidgetBase],{
Index: Dev/branches/rest-dojo-ui/client/rft/ui/templates/LineWithActionsWidget.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/templates/LineWithActionsWidget.html	(revision 288)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/templates/LineWithActionsWidget.html	(revision 288)
@@ -0,0 +1,4 @@
+<div>
+    <span data-dojo-attach-point="actionBar"></span>
+    <span data-dojo-attach-point="titleNode"></span>
+</div>
Index: Dev/branches/rest-dojo-ui/client/rft/ui/templates/LoginDialog.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/templates/LoginDialog.html	(revision 288)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/templates/LoginDialog.html	(revision 288)
@@ -0,0 +1,23 @@
+<div class="dijitDialog" role="dialog" aria-labelledby="${id}_title">
+    <div data-dojo-attach-point="titleBar" class="dijitDialogTitleBar">
+        <span data-dojo-attach-point="titleNode" class="dijitDialogTitle" id="${id}_title"></span>
+        <span data-dojo-attach-point="closeButtonNode" class="dijitDialogCloseIcon" data-dojo-attach-event="ondijitclick: onCancel" title="${buttonCancel}" role="button" tabIndex="-1">
+            <span data-dojo-attach-point="closeText" class="closeText" title="${buttonCancel}">x</span>
+        </span>
+    </div>
+    <div data-dojo-attach-point="containerNode">
+        <form data-dojo-type="dijit.form.Form" data-dojo-attach-point="loginForm">
+            <fieldset>
+                <label for="email" class="loginLabel">Email</label>
+                <input data-dojo-type="dijit.form.TextBox" name="email" type="text" class="loginInput" />
+                <label for="password" class="loginLabel">Password</label>
+                <input data-dojo-type="dijit.form.TextBox" name="password" type="password" class="loginInput" />
+            </fieldset>
+            <div style="float: right;">
+                <button type="button" data-dojo-type="dijit.form.Button" data-dojo-attach-event="onClick:onRegister">Register</button>
+                <button type="submit" data-dojo-type="dijit.form.Button" data-dojo-attach-event="onClick:onLogin">Login</button>
+            </div>
+        </form>
+        <div data-dojo-attach-point="loginErrors" style="clear: both; color: red;"></div>
+    </div>
+</div>
Index: Dev/branches/rest-dojo-ui/client/rft/ui/templates/MultipleChoiceWidget.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/templates/MultipleChoiceWidget.html	(revision 288)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/templates/MultipleChoiceWidget.html	(revision 288)
@@ -0,0 +1,8 @@
+<div class="${baseClass}">
+    <div data-dojo-attach-point="rows">
+        <tr><td>a</td>
+    </div>
+    <div data-dojo-attach-point="buttons" class="row">
+        <div><span class="rowBox"/><span class="rowText"/><span class="rowBtn"/><button data-dojo-type="dijit.form.Button" type="button" data-dojo-attach-event="onClick:_onAddRow" class="rowBtn">+</button></div>
+    </div>
+</div>
Index: Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionWidget.html
===================================================================
--- Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionWidget.html	(revision 288)
+++ Dev/branches/rest-dojo-ui/client/rft/ui/templates/QuestionWidget.html	(revision 288)
@@ -0,0 +1,24 @@
+<div>
+    <form data-dojo-type="dijit.form.Form" data-dojo-attach-point="ourForm">
+        <fieldset>
+            <input data-dojo-type="dijit.form.TextBox" name="uid" type="text" class="dijitHidden" />
+            <label for="code" class="loginLabel">Code</label>
+            <input data-dojo-type="dijit.form.TextBox" name="code" type="text" class="loginInput" />
+            <label for="question" class="loginLabel">Title</label>
+            <input data-dojo-type="dijit.form.TextBox" name="title" type="text" class="loginInput" />
+            <label for="question" class="loginLabel">Description</label>
+            <input data-dojo-type="dijit.form.Textarea" name="description" type="text" class="loginInput"/>
+            <label for="category" class="loginLabel">Category</label>
+            <input data-dojo-type="dijit.form.TextBox" name="category" type="text" class="loginInput" />
+        </fieldset>
+        <fieldset>
+            <select data-dojo-type="dijit.form.Select" data-dojo-attach-point="typeSelector" data-dojo-attach-event="onChange:_onTypeChange" name="type">
+                <option value="string" selected>String</option>
+                <option value="text">Text</option>
+                <option value="singleChoice">Single choice</option>
+                <option value="multipleChoice">Multiple choice</option>
+            </select>
+            <div data-dojo-attach-point="typeDetails"></div>
+        </fieldset>
+    </form>
+</div>
