[ADM] Add "editable" property to widgets

Signed-off-by: Shane Bryan <shane.bryan@intel.com>
[General] Ignore shortcuts when editing elements in the layoutView

Signed-off-by: Shane Bryan <shane.bryan@intel.com>
[Layout View] Allow inline editing of textContent

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[ADM] Add "editable" property to additional widgets

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[Layout View] Fixed selection of Text input/area contents

For in-line editing, Text inputs and areas have built in methods
to select their contents, so we now use this if available.

This greatly improves the selection and cursor positioning
behavior for these element types.

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[Layout View] Fixed focus/blur issues with labels

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[ADM] Fix editable selector on checkbox and radiobutton

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[General] Fix delete key handling after editable changes

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[Layout View] Adjust styling of focused items

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[Layout View] Convert to using key/mouse events for managing focus

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
[ADM] Process events in global event queue

Signed-off-by: Shane Bryan <shane.bryan@intel.com>
[Layout View] Centralized handlers for editing completion

Signed-off-by: Shane Bryan <shane.bryan@intel.com>
[Layout View] Styling change to element text being edited

Signed-off-by: Shane Bryan <shane.bryan@intel.com>
[Layout View] Make empty labels editable using placeholder text

Signed-off-by: Shane Bryan <shane.bryan@intel.com>
[Layout View] Inline edit activated by dblclick on adm-node

Signed-off-by: Shane Bryan <shane.bryan@intel.com>
[Layout View] Fixed editing of empty Collapsible headers

Signed-off-by: Shane Bryan <shane.bryan@linux.intel.com>
Merge pull request #47 from 01org/contentEditable

Merge contentEditable branch into master

This merge set adds in-line editing of the visible text on many (not all)
elements in the Layout View.

Quick how-to on editing:
- Double Click on element to activate editing (visible text is highlighted
  and pre-selected)
- Typing replaces all pre-selected text
- First arrow key usage will deactivate selection and place cursor at
  beginning/end of text
- Typing now inserts text at cursor location
- Esc key stops editing and reverts all changes to last saved value
- Tab and Enter keys stop editing and attempt to save changes to text
- Mouse down outside the focused text, or anything that causes focus to be
  lost (switching windows for example) will also stop editing and attempt
  to save changes to text
- If the ADM property setting fails (invalid string), the text will revert
  to previous valid value
[Widget] add style property to page widget

* style property of page has two values: page and dialog. User can
configure this property from property panel.
* When style of page is dialog, show its text as Dialog
* enforce style of the first page in app is page
[Page View] add style configure on new page Dialog

Also creating new page according to style passed in.
[Layout View] make dialog node display as "page" node in layout

In design view, we make dialog and page looked as same.