Commits

Stefan Scherfke committed ba9b4de

Dashcode updated the TemplateWidget

  • Participants
  • Parent commits a262f6f

Comments (0)

Files changed (68)

TemplateWidget.dcproj/project.wdgt/Default.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/back.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonCenter_active_left.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonCenter_active_left_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonCenter_active_middle.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonCenter_active_middle_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonCenter_active_right.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonCenter_active_right_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonLeft_active_left.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonLeft_active_left_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonLeft_active_middle.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonLeft_active_middle_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonLeft_active_right.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonLeft_active_right_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonRight_active_left.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonRight_active_left_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonRight_active_middle.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonRight_active_middle_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonRight_active_right.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/buttonRight_active_right_clicked.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Images/front.png

Removed
Old image

TemplateWidget.dcproj/project.wdgt/Info.plist

-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleDisplayName</key>
-	<string>TemplateWidget</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.stefan.widget.TemplateWidget</string>
-	<key>CFBundleName</key>
-	<string>TemplateWidget</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.0</string>
-	<key>CFBundleVersion</key>
-	<string>1.0</string>
-	<key>CloseBoxInsetX</key>
-	<integer>15</integer>
-	<key>CloseBoxInsetY</key>
-	<integer>15</integer>
-	<key>Height</key>
-	<integer>150</integer>
-	<key>MainHTML</key>
-	<string>main.html</string>
-	<key>Width</key>
-	<integer>320</integer>
-</dict>
-</plist>

TemplateWidget.dcproj/project.wdgt/Parts/Button.js

-/* 
- This file was generated by Dashcode and is covered by the 
- license.txt included in the project.  You may edit this file, 
- however it is recommended to first turn off the Dashcode 
- code generator otherwise the changes will be lost.
- */
-
-function CreateButton(elementOrID, spec)
-{
-    var buttonElement = elementOrID;
-    if (elementOrID.nodeType != Node.ELEMENT_NODE) {
-        buttonElement = document.getElementById(elementOrID);
-    }
-    
-	if (!buttonElement.loaded) {
-		buttonElement.loaded = true;
-        while (buttonElement.firstChild) {
-            buttonElement.removeChild(buttonElement.firstChild);
-        }
-
-		var text = spec.text || '';
-		if (window.dashcode && dashcode.getLocalizedString) text = dashcode.getLocalizedString(text);
-
-		var leftImageWidth = spec.leftImageWidth || 0;
-		var rightImageWidth = spec.rightImageWidth || 0;
-        // when cloning template, get size from original
-        var styleElement = buttonElement;
-        if (spec.originalID) {
-            styleElement = document.getElementById(spec.originalID);
-        }
-		var imagePrefix = "Images/" + styleElement.id + "_";
-        var width = dashcode.getElementWidth(styleElement) || 20;
-		var height = dashcode.getElementHeight(styleElement) || 20;
-		
-		var onclick = spec.onclick || null;
-		try { onclick = eval(onclick); } catch (e) { onclick = null; }
-
-		buttonElement.object = new AppleButton(buttonElement, text, height, imagePrefix + "left.png", imagePrefix + "left_clicked.png", leftImageWidth, imagePrefix + "middle.png", imagePrefix + "middle_clicked.png", imagePrefix + "right.png", imagePrefix + "right_clicked.png", rightImageWidth, onclick);
-        buttonElement.object.element = buttonElement;
-		buttonElement.object._container.childNodes.item(2).style.width = rightImageWidth + "px";
-		buttonElement.object.setEnabled(!spec.disabled);
-		buttonElement.object.textElement.style.width = (width - (leftImageWidth + rightImageWidth)) + "px";
-	}
-
-	return buttonElement.object;
-}

TemplateWidget.dcproj/project.wdgt/Parts/GlassButton.js

-/* 
- This file was generated by Dashcode and is covered by the 
- license.txt included in the project.  You may edit this file, 
- however it is recommended to first turn off the Dashcode 
- code generator otherwise the changes will be lost.
- */
-
-function CreateGlassButton(elementOrID, spec)
-{
-    var buttonElement = elementOrID;
-    if (elementOrID.nodeType != Node.ELEMENT_NODE) {
-        buttonElement = document.getElementById(elementOrID);
-    }
-    
-	if (!buttonElement.loaded) {
-		buttonElement.loaded = true;
-        while (buttonElement.firstChild) {
-            buttonElement.removeChild(buttonElement.firstChild);
-        }
-
-		var text = spec.text || '';
-		if (window.dashcode && dashcode.getLocalizedString) text = dashcode.getLocalizedString(text);
-
-		var onclick = spec.onclick || null;
-		try { onclick = eval(onclick); } catch (e) { onclick = null; }
-
-		buttonElement.object = new AppleGlassButton(buttonElement, text, onclick);
-        buttonElement.object.element = buttonElement;
-		buttonElement.object.setEnabled(!spec.disabled);
-	}
-
-	return buttonElement.object;
-}

TemplateWidget.dcproj/project.wdgt/Parts/InfoButton.js

-/* 
- This file was generated by Dashcode and is covered by the 
- license.txt included in the project.  You may edit this file, 
- however it is recommended to first turn off the Dashcode 
- code generator otherwise the changes will be lost.
- */
-
-function CreateInfoButton(elementOrID, spec)
-{
-    var flipElement = elementOrID;
-    if (elementOrID.nodeType != Node.ELEMENT_NODE) {
-        flipElement = document.getElementById(elementOrID);
-    }
-	if (!flipElement.loaded) {
-		flipElement.loaded = true;
-        while (flipElement.firstChild) {
-            flipElement.removeChild(flipElement.firstChild);
-        }
-        
-		var onclick = spec.onclick || null;
-		try { onclick = eval(onclick); } catch (e) { onclick = null; }
-
-		flipElement.object = new AppleInfoButton(flipElement, document.getElementById(spec.frontID), spec.foregroundStyle, spec.backgroundStyle, onclick);
-        flipElement.object.element = flipElement;
-	}
-
-	return flipElement.object;
-}

TemplateWidget.dcproj/project.wdgt/Parts/Text.js

-/* 
- This file was generated by Dashcode and is covered by the 
- license.txt included in the project.  You may edit this file, 
- however it is recommended to first turn off the Dashcode 
- code generator otherwise the changes will be lost.
- */
-
-function CreateText(elementOrID, spec)
-{
-    var text = spec.text || '';
-    if (window.dashcode && dashcode.getLocalizedString) text = dashcode.getLocalizedString(text);
-
-    var element = elementOrID;
-    if (elementOrID.nodeType != Node.ELEMENT_NODE) {
-        element = document.getElementById(elementOrID);
-    }
-    element.innerText = text; 
-}

TemplateWidget.dcproj/project.wdgt/Parts/setup.js

-/* 
- This file was generated by Dashcode and is covered by the 
- license.txt included in the project.  You may edit this file, 
- however it is recommended to first turn off the Dashcode 
- code generator otherwise the changes will be lost.
- */
-var dashcodePartSpecs = {
-    "buttonCenter_active": { "creationFunction": "CreateButton", "leftImageWidth": 1, "rightImageWidth": 1, "text": "B" },
-    "buttonLeft_active": { "creationFunction": "CreateButton", "leftImageWidth": 10, "rightImageWidth": 1, "text": "A" },
-    "buttonRight_active": { "creationFunction": "CreateButton", "leftImageWidth": 1, "rightImageWidth": 10, "text": "C" },
-    "done": { "creationFunction": "CreateGlassButton", "onclick": "showFront", "text": "Fertig" },
-    "info": { "backgroundStyle": "black", "creationFunction": "CreateInfoButton", "foregroundStyle": "white", "frontID": "front", "onclick": "showBack" }
-};

TemplateWidget.dcproj/project.wdgt/Parts/utilities.js

-/* 
- This file was generated by Dashcode and is covered by the 
- license.txt included in the project.  You may edit this file, 
- however it is recommended to first turn off the Dashcode 
- code generator otherwise the changes will be lost.
- */
-
-if (!window.dashcode) {
-    dashcode = new Object();
-}
-
-//
-// setupParts(string)
-// Uses the dashcodePartsSpec dictionary, declared in the automatically generated file setup.js to instantiate 
-// all the parts in the project.
-//
-dashcode.setupParts = function () {
-    if (dashcode.setupParts.called) return;
-    dashcode.setupParts.called = true;
-    var partsToGetFinishLoading = [];
-    for (var id in dashcodePartSpecs) {
-        var specDict = dashcodePartSpecs[id];
-        var createFunc = window[specDict.creationFunction];
-        var object = createFunc(id, specDict);
-        if (object && object.finishLoading) {
-            partsToGetFinishLoading[partsToGetFinishLoading.length] = object;
-        }
-    }
-    // Call finishedLoading callbacks.
-    for (var i=0; i<partsToGetFinishLoading.length; i++) {
-        partsToGetFinishLoading[i].finishLoading();
-    }
-}
-window.addEventListener('load', dashcode.setupParts, false);
-
-//
-// getLocalizedString(string)
-// Pulls a string out an array named localizedStrings.  Each language project directory in this widget
-// contains a file named "localizedStrings.js", which, in turn, contains an array called localizedStrings.
-// This method queries the array of the file of whichever language has highest precedence, according to
-// your preference set in the language toolbar item
-//
-// string: the key to the array
-//
-dashcode.getLocalizedString = function (string) {
-    try { string = localizedStrings[string] || string; } catch (e) {}
-    return string;
-}
-
-//
-// createInstancePreferenceKey(key)
-// Returns a unique preference key that is based on a instance of an opened widget.
-// The returned value can then be used in widget.setPreferenceForKey()
-// and widget.preferenceForKey() so that the value that is set or retrieved is
-// only for a particular opened widget.
-//
-// key: preference key
-//
-dashcode.createInstancePreferenceKey = function (key) {
-    return widget.identifier + "-" + key;
-}
-
-//
-// getElementHeight(mainElement)
-// Get the height of a part even if it's hidden (by 'display: none').
-//
-// mainElement: Part element
-//
-dashcode.getElementHeight = function (mainElement) {
-    var height = mainElement.offsetHeight;
-    
-    if (!height || height == 0) {
-        height = dashcode.getElementSize(mainElement).height;
-    }
-    
-    return height;
-}
-
-//
-// getElementWidth(mainElement)
-// Get the width of a part even if it's hidden (by 'display: none').
-//
-// mainElement: Part element
-//
-dashcode.getElementWidth = function (mainElement) {
-    var width = mainElement.offsetWidth;
-    
-    if (!width || width == 0) {
-        width = dashcode.getElementSize(mainElement).width;
-    }
-    
-    return width;
-}
-
-//
-// getElementSize(mainElement)
-// Get the size of a DOM element even if it's hidden (by 'display: none').
-//
-// mainElement: DOM element
-//
-dashcode.getElementSize = function (mainElement) {
-    var sizes = dashcode.getElementSizesWithAncestor([mainElement], mainElement);
-    return sizes[0];
-}
-
-//
-// getElementSizesWithAncestor(elements, ancestor)
-// Get the size of an array of DOM elements under a common ancestor even if they're hidden (by 'display: none').
-//
-// elements: Array of DOM element
-// ancestor: Common DOM ancestor. 'display' will temporarily be flipped to 'block' for all hidden ancestors of this element.
-//
-dashcode.getElementSizesWithAncestor = function (elements, ancestor) {
-    if (elements.length < 1) return [];
-
-    var displayNoneElements = new Array();
-    var width = elements[0].offsetWidth;
-    
-    if (!width || width == 0) {        
-        var parentNode = ancestor;
-        while (parentNode && (parentNode != document)) {
-            var style = document.defaultView.getComputedStyle(parentNode, null);
-            var displayValue = style ? style.getPropertyValue("display") : parentNode.style.display;        
-            if ((style && displayValue == "none") || (!style && displayValue != "block")) {
-                displayNoneElements.push({node:parentNode, display:parentNode.style.display});
-                parentNode.style.display = "block";
-            }
-            parentNode = parentNode.parentNode;
-        }
-    }
-
-    var sizes = new Array();    
-    for (var i=0; i<elements.length; i++) {
-        sizes.push({width: elements[i].offsetWidth, height: elements[i].offsetHeight});
-    }
-
-    for (var i=0; i<displayNoneElements.length; i++) {
-        var element = displayNoneElements[i].node;
-        element.style.display = displayNoneElements[i].display;
-        // clean up
-        if (element.getAttribute("style") == "") {
-            element.removeAttribute("style");
-        }
-    }
-    
-    return sizes;
-}
-
-dashcode.getElementDocumentOffset = function(element)
-{   
-    var parent = element.offsetParent;
-    var offset = {x:element.offsetLeft,y:element.offsetTop};
-    
-    if( parent ){
-        var parentOffset = dashcode.getElementDocumentOffset(parent);
-        
-        offset.x += parentOffset.x;
-        offset.y += parentOffset.y;
-    }
-    
-    return offset;
-}
-
-dashcode.pointInElement = function (x,y,element)
-{
-    var size = dashcode.getElementSize(element);
-    var origin = dashcode.getElementDocumentOffset(element);
-    
-    // Check horizontally
-    if( x >= origin.x ){
-        if( x > origin.x + size.width )
-            return false;
-        
-        if( y >= origin.y ){
-            if( y > origin.y + size.height )
-                return false;
-        }else
-            return false;
-    }else
-        return false;
-    
-    return true;
-}
-
-//
-// cloneTemplateElement(element, isTemplate)
-// Clone an element and initialize the parts it contains. The new element is simply returned and not added to the DOM.
-//
-// element: element to clone
-// isTemplate: true if this is the template element
-//
-dashcode.cloneTemplateElement = function (element, isTemplate) {
-    // clone the node and its subtree
-    var newElement = isTemplate ? element : element.cloneNode(true);
-    var templateElements = new Object();
-    this.processClonedTemplateElement(newElement, templateElements, isTemplate);
-    
-    if( !newElement.object ) newElement.object = {};
-    
-    newElement.object.templateElements = templateElements;
-    
-    // finish loading parts that need post-processing
-    for (var key in templateElements) {
-        if (templateElements[key].object && templateElements[key].object.finishLoading) {
-            templateElements[key].object.finishLoading();
-        }
-    }
-    
-    return newElement;
-}
-
-//
-// processClonedTemplateElement(element, templateElements, isTemplate, preserveIds)
-// Recursively process a newly cloned template element to remove IDs and initialize parts.
-//
-// element: element to process
-// templateElements: list of references to template objects to populate
-// isTemplate: true if this is the template element
-// preserveIds: true to preserve the original id in a tempId attribute
-//
-dashcode.processClonedTemplateElement = function (element, templateElements, isTemplate, preserveIds) {
-    var originalID = element.id;
-    if (!originalID && element.getAttribute) {
-        if (originalID = element.getAttribute("tempId")) {
-            element.removeAttribute("tempId");
-        }
-    }
-    var partSpec = null;
-    if (originalID) {
-        partSpec = dashcodePartSpecs[originalID];
-    }
-    // process the children first
-    var preserveChildIds = preserveIds || (partSpec && partSpec.preserveChildIdsWhenCloning);
-    var children = element.childNodes;
-    for (var f=0; f<children.length; f++) {
-        arguments.callee(children[f], templateElements, isTemplate, preserveChildIds);
-    }
-    if (originalID) {
-        templateElements[originalID] = element;
-        if (!isTemplate) { 
-            element.removeAttribute("id");
-            if (preserveIds) {
-                element.setAttribute("tempId", originalID);
-            }
-            // if it's a 'part', initialize it
-            if (partSpec) {
-                partSpec.originalID = originalID;
-                var createFunc = window[partSpec.creationFunction];
-                if (createFunc && createFunc instanceof Function) {
-                    createFunc(element, partSpec);
-                }
-            }
-        }
-    }
-}
-
-// Old function names for backwards compatibility
-var setupParts = dashcode.setupParts;
-var getLocalizedString = dashcode.getLocalizedString;
-var createInstancePreferenceKey = dashcode.createInstancePreferenceKey;
-var getElementHeight = dashcode.getElementHeight;
-var getElementWidth = dashcode.getElementWidth;
-var getElementSize = dashcode.getElementSize;

TemplateWidget.dcproj/project.wdgt/de.lproj/InfoPlist.strings

Binary file removed.

TemplateWidget.dcproj/project.wdgt/de.lproj/localizedStrings.js

-/*
- This file was generated by Dashcode and is covered by the 
- license.txt included in the project.  You may edit this file, 
- however it is recommended to first turn off the Dashcode 
- code generator otherwise the changes will be lost.
-*/
-
-var localizedStrings = {
-    "Fertig": "Fertig",
-    "Hallo Welt!": "Hallo Welt!"
-};

TemplateWidget.dcproj/project.wdgt/main.css

-/* 
- This file was generated by Dashcode.  
- You may edit this file to customize your widget or web page 
- according to the license.txt file included in the project.
- */
-
-body {
-    margin: 0px;
-}
-
-#frontImg {
-    position: absolute;
-    display: block;
-    top: 0px;
-    left: 0px;
-    bottom: 0px;
-    right: 0px;
-    width: auto;
-    height: auto;
-}
-
-#info {
-    position: absolute;
-    right: 15px;
-    bottom: 18px;
-    width: 13px;
-    height: 13px;
-}
-
-#back {
-    display: none;
-}
-
-#backImg {
-    position: absolute;
-    display: block;
-    top: 0px;
-    left: 0px;
-    right: 0px;
-    width: auto;
-    bottom: 0px;
-    height: auto;
-}
-
-#done {
-    position: absolute;
-    right: 21px;
-    bottom: 21px;
-    margin-left: auto;
-    margin-top: auto;
-    -webkit-border-top-left-radius: 0px 0px;
-    -webkit-border-top-right-radius: 0px 0px;
-    -webkit-border-bottom-left-radius: 0px 0px;
-    -webkit-border-bottom-right-radius: 0px 0px;
-}
-
-#box {
-    border-width: 1px;
-    -webkit-border-top-right-radius: 8px 8px;
-    -webkit-border-top-left-radius: 8px 8px;
-    -webkit-border-bottom-left-radius: 8px 8px;
-    -webkit-border-bottom-right-radius: 8px 8px;
-    position: absolute;
-    margin-top: 0px;
-    right: 0px;
-    bottom: 118px;
-    top: 39px;
-    left: 59px;
-    width: 118px;
-    height: 43px;
-    background-color: rgba(0, 0, 0, 0.2);
-    border-style: inset;
-    border-color: rgb(126, 126, 126);
-}
-
-#buttonLeft_active {
-    font-family: HelveticaNeue-Bold;
-    font-size: 12px;
-    text-align: center;
-    width: 30px;
-    height: 20px;
-    position: absolute;
-    right: auto;
-    bottom: auto;
-    margin-top: 0px;
-    left: 78px;
-    top: 30px;
-    color: rgb(255, 255, 255);
-}
-
-#buttonCenter_active {
-    font-family: HelveticaNeue-Bold;
-    font-size: 12px;
-    text-align: center;
-    position: absolute;
-    right: auto;
-    margin-top: 0px;
-    width: 30px;
-    top: 30px;
-    left: 107px;
-    color: rgb(255, 255, 255);
-    bottom: 100px;
-    height: auto;
-}
-
-#buttonRight_active {
-    font-family: HelveticaNeue-Bold;
-    font-size: 12px;
-    text-align: center;
-    width: 30px;
-    height: 20px;
-    position: absolute;
-    right: auto;
-    bottom: auto;
-    margin-top: 0px;
-    top: 30px;
-    left: 136px;
-    color: rgb(255, 255, 255);
-}

TemplateWidget.dcproj/project.wdgt/main.html

-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-    <meta http-equiv="content-type" content="text/html; charset=utf-8">
-    <link rel="stylesheet" href="main.css">
-    <script type="text/javascript" src="file:///System/Library/WidgetResources/AppleClasses/AppleAnimator.js" charset="utf-8"></script>
-    <script type="text/javascript" src="file:///System/Library/WidgetResources/AppleClasses/AppleButton.js" charset="utf-8"></script>
-    <script type="text/javascript" src="file:///System/Library/WidgetResources/AppleClasses/AppleInfoButton.js" charset="utf-8"></script>
-    <script type="text/javascript" src="localizedStrings.js" charset="utf-8"></script>
-    <script type="text/javascript" src="Parts/utilities.js" charset="utf-8"></script>
-    <script type="text/javascript" src="Parts/setup.js" charset="utf-8"></script>
-    <script type="text/javascript" src="Parts/Text.js" charset="utf-8"></script>
-    <script type="text/javascript" src="Parts/InfoButton.js" charset="utf-8"></script>
-    <script type="text/javascript" src="Parts/GlassButton.js" charset="utf-8"></script>
-    <script type="text/javascript" src="main.js" charset="utf-8"></script>
-    <script type="text/javascript" src="Parts/Button.js" charset="utf-8"></script>
-</head>
-<body onload="load();" apple-part="com.apple.Dashcode.part.StackLayout">
-    <div id="front">
-        <img id="frontImg" src="Images/front.png" alt="" apple-locked="true" apple-part="com.apple.Dashcode.part.frontimage" apple-style="image-theme: 1; image-shape: 3; image-opacity: 1.00; image-top-color: 0.250003815,0.250003815,0.250003815,1; image-bottom-color: 0,0,0,1; image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.950011432,0.950011432,0.950011432,1; image-border-width: 2; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: -0.06; shadow-include-shadow: 1; shadow-offset: -1.00,-6.00; shadow-color: 0,0,0,0.3333;">
-        <div class="apple-no-children" id="info" apple-part="com.apple.Dashcode.part.infobutton" apple-default-image-visibility="hidden"></div>
-    </div>
-    <div id="back">
-        <img id="backImg" src="Images/back.png" alt="" apple-locked="true" apple-part="com.apple.Dashcode.part.backimage" apple-style=" image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.150000006,0.150000006,0.150000006,1; image-border-width: 3; shadow-include-shadow: 1; shadow-offset: -1.00,-6.00; shadow-color: 0,0,0,0.3333;">
-        <div id="done" class="apple-no-children" apple-part="com.apple.Dashcode.pat.glassbutton"></div>
-        <div apple-part="com.apple.Dashcode.part.box" id="box"></div>
-        <div apple-part="com.apple.Dashcode.part.lozengeleftbutton" class="apple-no-children tabButton" apple-style="image-theme: 1; image-shape: 7; image-button-type: 0; image-opacity: 1.00; image-top-color: 0.299992383,0.299992383,0.299992383,1; image-bottom-color: 0.0999923721,0.0999923721,0.0999923721,1; image-radius: 10,0,10,0; image-border: 0; image-border-color: 0.149187461,0.149187461,0.149187461,1; image-border-width: 1; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: 0.00; embossed-on: 1; embossed-depth: 1; embossed-shadow: 0.68; embossed-highlight: 0.3; shadow-include-shadow: 0;" id="buttonLeft_active"></div>
-        <div apple-part="com.apple.Dashcode.part.roundedtextbutton" class="apple-no-children tabButton" apple-style="image-theme: 1; image-shape: 3; image-button-type: 0; image-opacity: 1.00; image-top-color: 0.299992383,0.299992383,0.299992383,1; image-bottom-color: 0.0999923721,0.0999923721,0.0999923721,1; image-radius: 0,0,0,0; image-border: 0; image-border-color: 0.149187461,0.149187461,0.149187461,1; image-border-width: 1; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: 0.00; embossed-on: 1; embossed-depth: 1; embossed-shadow: 0.68; embossed-highlight: 0.3; shadow-include-shadow: 0;" id="buttonCenter_active"></div>
-        <div apple-part="com.apple.Dashcode.part.lozengerightbutton" class="apple-no-children tabButton" apple-style="image-theme: 1; image-shape: 8; image-button-type: 0; image-opacity: 1.00; image-top-color: 0.299992383,0.299992383,0.299992383,1; image-bottom-color: 0.0999923721,0.0999923721,0.0999923721,1; image-radius: 0,10,0,10; image-border: 0; image-border-color: 0.149187461,0.149187461,0.149187461,1; image-border-width: 1; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: 0.00; embossed-on: 1; embossed-depth: 1; embossed-shadow: 0.68; embossed-highlight: 0.3; shadow-include-shadow: 0;" id="buttonRight_active"></div>
-    </div>
-</body>
-</html>

TemplateWidget.dcproj/project.wdgt/main.js

-/* 
- This file was generated by Dashcode.  
- You may edit this file to customize your widget or web page 
- according to the license.txt file included in the project.
- */
-
-//
-// Function: load()
-// Called by HTML body element's onload event when the widget is ready to start
-//
-function load()
-{
-    dashcode.setupParts();
-}
-
-//
-// Function: remove()
-// Called when the widget has been removed from the Dashboard
-//
-function remove()
-{
-    // Stop any timers to prevent CPU usage
-    // Remove any preferences as needed
-    // widget.setPreferenceForKey(null, dashcode.createInstancePreferenceKey("your-key"));
-}
-
-//
-// Function: hide()
-// Called when the widget has been hidden
-//
-function hide()
-{
-    // Stop any timers to prevent CPU usage
-}
-
-//
-// Function: show()
-// Called when the widget has been shown
-//
-function show()
-{
-    // Restart any timers that were stopped on hide
-}
-
-//
-// Function: sync()
-// Called when the widget has been synchronized with .Mac
-//
-function sync()
-{
-    // Retrieve any preference values that you need to be synchronized here
-    // Use this for an instance key's value:
-    // instancePreferenceValue = widget.preferenceForKey(null, dashcode.createInstancePreferenceKey("your-key"));
-    //
-    // Or this for global key's value:
-    // globalPreferenceValue = widget.preferenceForKey(null, "your-key");
-}
-
-//
-// Function: showBack(event)
-// Called when the info button is clicked to show the back of the widget
-//
-// event: onClick event from the info button
-//
-function showBack(event)
-{
-    var front = document.getElementById("front");
-    var back = document.getElementById("back");
-
-    if (window.widget) {
-        widget.prepareForTransition("ToBack");
-    }
-
-    front.style.display = "none";
-    back.style.display = "block";
-
-    if (window.widget) {
-        setTimeout('widget.performTransition();', 0);
-    }
-}
-
-//
-// Function: showFront(event)
-// Called when the done button is clicked from the back of the widget
-//
-// event: onClick event from the done button
-//
-function showFront(event)
-{
-    var front = document.getElementById("front");
-    var back = document.getElementById("back");
-
-    if (window.widget) {
-        widget.prepareForTransition("ToFront");
-    }
-
-    front.style.display="block";
-    back.style.display="none";
-
-    if (window.widget) {
-        setTimeout('widget.performTransition();', 0);
-    }
-}
-
-if (window.widget) {
-    widget.onremove = remove;
-    widget.onhide = hide;
-    widget.onshow = show;
-    widget.onsync = sync;
-}

TemplateWidget.dcproj/project/widget.wdgt/Default.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Info.plist

+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleDisplayName</key>
+	<string>TemplateWidget</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.stefan.widget.TemplateWidget</string>
+	<key>CFBundleName</key>
+	<string>TemplateWidget</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>CloseBoxInsetX</key>
+	<integer>15</integer>
+	<key>CloseBoxInsetY</key>
+	<integer>15</integer>
+	<key>Height</key>
+	<integer>150</integer>
+	<key>MainHTML</key>
+	<string>main.html</string>
+	<key>Width</key>
+	<integer>320</integer>
+</dict>
+</plist>

TemplateWidget.dcproj/project/widget.wdgt/Parts/Button.js

+/* 
+ This file was generated by Dashcode and is covered by the 
+ license.txt included in the project.  You may edit this file, 
+ however it is recommended to first turn off the Dashcode 
+ code generator otherwise the changes will be lost.
+ */
+
+function CreateButton(elementOrID, spec)
+{
+    var buttonElement = elementOrID;
+    if (elementOrID.nodeType != Node.ELEMENT_NODE) {
+        buttonElement = document.getElementById(elementOrID);
+    }
+    
+	if (!buttonElement.loaded) {
+		buttonElement.loaded = true;
+        while (buttonElement.firstChild) {
+            buttonElement.removeChild(buttonElement.firstChild);
+        }
+
+		var text = spec.text || '';
+		if (window.dashcode && dashcode.getLocalizedString) text = dashcode.getLocalizedString(text);
+
+		var leftImageWidth = spec.leftImageWidth || 0;
+		var rightImageWidth = spec.rightImageWidth || 0;
+        // when cloning template, get size from original
+        var styleElement = buttonElement;
+        if (spec.originalID) {
+            styleElement = document.getElementById(spec.originalID);
+        }
+		var imagePrefix = "Parts/Images/" + styleElement.id + "_";
+        var width = dashcode.getElementWidth(styleElement) || 20;
+		var height = dashcode.getElementHeight(styleElement) || 20;
+		
+		var onclick = spec.onclick || null;
+		try { onclick = eval(onclick); } catch (e) { onclick = null; }
+
+		buttonElement.object = new AppleButton(buttonElement, text, height, imagePrefix + "left.png", imagePrefix + "left_clicked.png", leftImageWidth, imagePrefix + "middle.png", imagePrefix + "middle_clicked.png", imagePrefix + "right.png", imagePrefix + "right_clicked.png", rightImageWidth, onclick);
+        buttonElement.object.element = buttonElement;
+		buttonElement.object._container.childNodes[2].style.width = rightImageWidth + "px";
+		buttonElement.object.setEnabled(!spec.disabled);
+		buttonElement.object.textElement.style.width = (width - (leftImageWidth + rightImageWidth)) + "px";
+	}
+
+	return buttonElement.object;
+}

TemplateWidget.dcproj/project/widget.wdgt/Parts/GlassButton.js

+/* 
+ This file was generated by Dashcode and is covered by the 
+ license.txt included in the project.  You may edit this file, 
+ however it is recommended to first turn off the Dashcode 
+ code generator otherwise the changes will be lost.
+ */
+
+function CreateGlassButton(elementOrID, spec)
+{
+    var buttonElement = elementOrID;
+    if (elementOrID.nodeType != Node.ELEMENT_NODE) {
+        buttonElement = document.getElementById(elementOrID);
+    }
+    
+	if (!buttonElement.loaded) {
+		buttonElement.loaded = true;
+        while (buttonElement.firstChild) {
+            buttonElement.removeChild(buttonElement.firstChild);
+        }
+
+		var text = spec.text || '';
+		if (window.dashcode && dashcode.getLocalizedString) text = dashcode.getLocalizedString(text);
+
+		var onclick = spec.onclick || null;
+		try { onclick = eval(onclick); } catch (e) { onclick = null; }
+
+		buttonElement.object = new AppleGlassButton(buttonElement, text, onclick);
+        buttonElement.object.element = buttonElement;
+		buttonElement.object.setEnabled(!spec.disabled);
+	}
+
+	return buttonElement.object;
+}

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/back.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonCenter_active_left.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonCenter_active_left_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonCenter_active_middle.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonCenter_active_middle_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonCenter_active_right.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonCenter_active_right_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonLeft_active_left.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonLeft_active_left_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonLeft_active_middle.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonLeft_active_middle_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonLeft_active_right.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonLeft_active_right_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonRight_active_left.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonRight_active_left_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonRight_active_middle.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonRight_active_middle_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonRight_active_right.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/buttonRight_active_right_clicked.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/Images/front.png

Added
New image

TemplateWidget.dcproj/project/widget.wdgt/Parts/InfoButton.js

+/* 
+ This file was generated by Dashcode and is covered by the 
+ license.txt included in the project.  You may edit this file, 
+ however it is recommended to first turn off the Dashcode 
+ code generator otherwise the changes will be lost.
+ */
+
+function CreateInfoButton(elementOrID, spec)
+{
+    var flipElement = elementOrID;
+    if (elementOrID.nodeType != Node.ELEMENT_NODE) {
+        flipElement = document.getElementById(elementOrID);
+    }
+	if (!flipElement.loaded) {
+		flipElement.loaded = true;
+        while (flipElement.firstChild) {
+            flipElement.removeChild(flipElement.firstChild);
+        }
+        
+		var onclick = spec.onclick || null;
+		try { onclick = eval(onclick); } catch (e) { onclick = null; }
+
+		flipElement.object = new AppleInfoButton(flipElement, document.getElementById(spec.frontID), spec.foregroundStyle, spec.backgroundStyle, onclick);
+        flipElement.object.element = flipElement;
+	}
+
+	return flipElement.object;
+}

TemplateWidget.dcproj/project/widget.wdgt/Parts/datasources.js

+/* 
+ This file was generated by Dashcode and is covered by the 
+ license.txt included in the project.  You may edit this file, 
+ however it is recommended to first turn off the Dashcode 
+ code generator otherwise the changes will be lost.
+ */
+var dashcodeDataSources = {
+    "dataSource": { "Class": "DC.AjaxController" }
+};
+

TemplateWidget.dcproj/project/widget.wdgt/Parts/parts.js

+/* 
+ This file was generated by Dashcode and is covered by the 
+ license.txt included in the project.  You may edit this file, 
+ however it is recommended to first turn off the Dashcode 
+ code generator otherwise the changes will be lost. This file
+ is for files included by Dashcode directly. It will be replaced
+ with an optimized version at deploy time.
+*/
+var dashcodePartSupport = {
+    "core": ["Parts/core/utilities.js", "Parts/core/core/base.js", "Parts/core/core/array-additions.js", "Parts/core/core/array-additions-ie.js", "Parts/core/core/set.js", "Parts/core/core/oop.js", "Parts/core/core/function-additions.js", "Parts/core/core/object-additions.js", "Parts/core/core/regex-additions.js", "Parts/core/core/local.js", "Parts/core/core/Error.js", "Parts/core/core/kvo.js", "Parts/core/core/Bindable.js", "Parts/core/core/SortDescriptor.js", "Parts/core/core/transformers.js", "Parts/core/core/Binding.js", "Parts/core/core/kvo-array.js", "Parts/core/core/kvo-array-operators.js", "Parts/core/core/model.js", "Parts/core/core/string-additions.js", "Parts/core/net/Deferred.js", "Parts/core/net/XHR.js", "Parts/core/controllers/Controller.js", "Parts/core/controllers/SelectionProxy.js", "Parts/core/controllers/ObjectController.js", "Parts/core/controllers/ArrayController.js", "Parts/core/controllers/AjaxController.js", "Parts/core/controllers/ModeledXMLProxy.js", "Parts/core/dom/element.js", "Parts/core/dom/event.js", "Parts/core/dom/element-ie.js", "Parts/core/dom/event-ie.js", "Parts/core/views/view-parts.js", "Parts/core/views/view-core.js", "Parts/core/views/Responder.js", "Parts/core/views/View.js", "Parts/core/views/ViewController.js", "Parts/core/views/ImageView.js", "Parts/core/views/ImageLayout.js", "Parts/core/views/DashcodePart.js", "Parts/core/views/FormControl.js", "Parts/core/views/TextField.js", "Parts/core/views/ListView.js", "Parts/core/views/SelectField.js", "Parts/core/views/ToggleButton.js", "Parts/core/views/SearchField.js", "Parts/core/views/Slider.js", "Parts/core/views/EventLoop.js", "Parts/core/views/Page.js", "Parts/core/views/Media.js", "Parts/core/views/Video.js", "Parts/core/views/VideoLayout.js", "Parts/core/views/VideoLegacy.js"],
+    "scripts": ["Parts/setup.js", "Parts/datasources.js", "Parts/Button.js", "Parts/InfoButton.js"]
+};
+
+(function() {
+    var scripts = dashcodePartSupport['core'];
+
+    scripts = scripts.concat(dashcodePartSupport['scripts']);
+
+    for(var index in scripts) {
+        var path = scripts[index];
+        var scriptTag = '<script apple-no-regeneration="yes" type="text/javascript" src="' + path + '"></script>';
+        
+        document.write( scriptTag );
+    }
+    
+})();

TemplateWidget.dcproj/project/widget.wdgt/Parts/setup.js

+/* 
+ This file was generated by Dashcode and is covered by the 
+ license.txt included in the project.  You may edit this file, 
+ however it is recommended to first turn off the Dashcode 
+ code generator otherwise the changes will be lost.
+ */
+var dashcodePartSpecs = {
+    "buttonCenter_active": { "creationFunction": "CreateButton", "leftImageWidth": 1, "rightImageWidth": 1, "text": "B", "view": "DC.View" },
+    "buttonLeft_active": { "creationFunction": "CreateButton", "leftImageWidth": 10, "rightImageWidth": 1, "text": "A", "view": "DC.View" },
+    "buttonRight_active": { "creationFunction": "CreateButton", "leftImageWidth": 1, "rightImageWidth": 10, "text": "C", "view": "DC.View" },
+    "done": { "creationFunction": "CreateGlassButton", "onclick": "showFront", "text": "Fertig" },
+    "info": { "backgroundStyle": "black", "creationFunction": "CreateInfoButton", "foregroundStyle": "white", "frontID": "front", "onclick": "showBack", "view": "DC.View" }
+};
+

TemplateWidget.dcproj/project/widget.wdgt/de.lproj/InfoPlist.strings

Binary file added.

TemplateWidget.dcproj/project/widget.wdgt/de.lproj/localizedStrings.js

+/*
+ This file was generated by Dashcode and is covered by the 
+ license.txt included in the project.  You may edit this file, 
+ however it is recommended to first turn off the Dashcode 
+ code generator otherwise the changes will be lost.
+*/
+
+var localizedStrings = {
+    "Fertig": "Fertig",
+    "Hallo Welt!": "Hallo Welt!"
+};
+

TemplateWidget.dcproj/project/widget.wdgt/main.css

+/* 
+ This file was generated by Dashcode.  
+ You may edit this file to customize your widget or web page 
+ according to the license.txt file included in the project.
+ *//* 
+ This file was generated by Dashcode.  
+ You may edit this file to customize your widget or web page 
+ according to the license.txt file included in the project.
+ */
+body {
+    margin: 0px;
+}
+
+#frontImg {
+    position: absolute;
+    display: block;
+    top: 0px;
+    left: 0px;
+    bottom: 0px;
+    right: 0px;
+    width: auto;
+    height: auto;
+}
+
+#info {
+    position: absolute;
+    right: 15px;
+    bottom: 18px;
+    width: 13px;
+    height: 13px;
+}
+
+#back {
+    display: none;
+}
+
+#backImg {
+    position: absolute;
+    display: block;
+    top: 0px;
+    left: 0px;
+    right: 0px;
+    width: auto;
+    bottom: 0px;
+    height: auto;
+}
+
+#done {
+    position: absolute;
+    right: 21px;
+    bottom: 21px;
+    margin-left: auto;
+    margin-top: auto;
+    border-top-left-radius: 0px 0px;
+    border-top-right-radius: 0px 0px;
+    border-bottom-left-radius: 0px 0px;
+    border-bottom-right-radius: 0px 0px;
+}
+
+#box {
+    border-width: 1px;
+    border-top-right-radius: 8px 8px;
+    border-top-left-radius: 8px 8px;
+    border-bottom-left-radius: 8px 8px;
+    border-bottom-right-radius: 8px 8px;
+    position: absolute;
+    margin-top: 0px;
+    right: 0px;
+    bottom: 118px;
+    top: 39px;
+    left: 59px;
+    width: 118px;
+    height: 43px;
+    background-color: rgba(0, 0, 0, 0.199219);
+    border-style: inset;
+    border-color: rgb(126, 126, 126);
+}
+
+#buttonLeft_active {
+    font-family: HelveticaNeue-Bold;
+    font-size: 12px;
+    text-align: center;
+    width: 30px;
+    height: 20px;
+    position: absolute;
+    right: auto;
+    bottom: auto;
+    margin-top: 0px;
+    left: 78px;
+    top: 30px;
+    color: rgb(255, 255, 255);
+}
+
+#buttonCenter_active {
+    font-family: HelveticaNeue-Bold;
+    font-size: 12px;
+    text-align: center;
+    position: absolute;
+    right: auto;
+    margin-top: 0px;
+    width: 30px;
+    top: 30px;
+    left: 107px;
+    color: rgb(255, 255, 255);
+    bottom: 100px;
+    height: auto;
+}
+
+#buttonRight_active {
+    font-family: HelveticaNeue-Bold;
+    font-size: 12px;
+    text-align: center;
+    width: 30px;
+    height: 20px;
+    position: absolute;
+    right: auto;
+    bottom: auto;
+    margin-top: 0px;
+    top: 30px;
+    left: 136px;
+    color: rgb(255, 255, 255);
+}

TemplateWidget.dcproj/project/widget.wdgt/main.html

+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+    <link rel="stylesheet" href="main.css">
+    <script type="text/javascript" src="Parts/parts.js" charset="utf-8"></script>
+    <script type="text/javascript" src="file:///System/Library/WidgetResources/AppleClasses/AppleAnimator.js" charset="utf-8"></script>
+    <script type="text/javascript" src="file:///System/Library/WidgetResources/AppleClasses/AppleButton.js" charset="utf-8"></script>
+    <script type="text/javascript" src="file:///System/Library/WidgetResources/AppleClasses/AppleInfoButton.js" charset="utf-8"></script>
+    <script type="text/javascript" src="localizedStrings.js" charset="utf-8"></script>
+    <script type="text/javascript" src="Parts/GlassButton.js" charset="utf-8"></script>
+    <script type="text/javascript" src="main.js" charset="utf-8"></script>
+</head>
+<body onload="load();" apple-part="com.apple.Dashcode.part.StackLayout" style="">
+    <div id="front" style="">
+        <img id="frontImg" src="Parts/Images/front.png" alt="" apple-locked="true" apple-part="com.apple.Dashcode.part.frontimage" apple-style="image-theme: 1; image-shape: 3; image-opacity: 1.00; image-top-color: 0.250003815,0.250003815,0.250003815,1; image-bottom-color: 0,0,0,1; image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.950011432,0.950011432,0.950011432,1; image-border-width: 2; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: -0.06; shadow-include-shadow: 1; shadow-offset: -1.00,-6.00; shadow-color: 0,0,0,0.3333;">
+        <div class="apple-no-children" id="info" apple-part="com.apple.Dashcode.part.infobutton" apple-default-image-visibility="hidden"></div>
+    </div>
+    <div id="back" style="">
+        <img id="backImg" src="Parts/Images/back.png" alt="" apple-locked="true" apple-part="com.apple.Dashcode.part.backimage" apple-style=" image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.150000006,0.150000006,0.150000006,1; image-border-width: 3; shadow-include-shadow: 1; shadow-offset: -1.00,-6.00; shadow-color: 0,0,0,0.3333;">
+        <div id="done" class="apple-no-children" apple-part="com.apple.Dashcode.pat.glassbutton"></div>
+        <div apple-part="com.apple.Dashcode.part.box" id="box"></div>
+        <div apple-part="com.apple.Dashcode.part.lozengeleftbutton" class="apple-no-children tabButton" apple-style="image-theme: 1; image-shape: 7; image-button-type: 0; image-opacity: 1.00; image-top-color: 0.299992383,0.299992383,0.299992383,1; image-bottom-color: 0.0999923721,0.0999923721,0.0999923721,1; image-radius: 10,0,10,0; image-border: 0; image-border-color: 0.149187461,0.149187461,0.149187461,1; image-border-width: 1; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: 0.00; embossed-on: 1; embossed-depth: 1; embossed-shadow: 0.68; embossed-highlight: 0.3; shadow-include-shadow: 0;" id="buttonLeft_active"></div>
+        <div apple-part="com.apple.Dashcode.part.roundedtextbutton" class="apple-no-children tabButton" apple-style="image-theme: 1; image-shape: 3; image-button-type: 0; image-opacity: 1.00; image-top-color: 0.299992383,0.299992383,0.299992383,1; image-bottom-color: 0.0999923721,0.0999923721,0.0999923721,1; image-radius: 0,0,0,0; image-border: 0; image-border-color: 0.149187461,0.149187461,0.149187461,1; image-border-width: 1; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: 0.00; embossed-on: 1; embossed-depth: 1; embossed-shadow: 0.68; embossed-highlight: 0.3; shadow-include-shadow: 0;" id="buttonCenter_active"></div>
+        <div apple-part="com.apple.Dashcode.part.lozengerightbutton" class="apple-no-children tabButton" apple-style="image-theme: 1; image-shape: 8; image-button-type: 0; image-opacity: 1.00; image-top-color: 0.299992383,0.299992383,0.299992383,1; image-bottom-color: 0.0999923721,0.0999923721,0.0999923721,1; image-radius: 0,10,0,10; image-border: 0; image-border-color: 0.149187461,0.149187461,0.149187461,1; image-border-width: 1; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: 0.00; embossed-on: 1; embossed-depth: 1; embossed-shadow: 0.68; embossed-highlight: 0.3; shadow-include-shadow: 0;" id="buttonRight_active"></div>
+    </div>
+</body>
+</html>

TemplateWidget.dcproj/project/widget.wdgt/main.js

+/* 
+ This file was generated by Dashcode.  
+ You may edit this file to customize your widget or web page 
+ according to the license.txt file included in the project.
+ */
+
+//
+// Function: load()
+// Called by HTML body element's onload event when the widget is ready to start
+//
+function load()
+{
+    dashcode.setupParts();
+}
+
+//
+// Function: remove()
+// Called when the widget has been removed from the Dashboard
+//
+function remove()
+{
+    // Stop any timers to prevent CPU usage
+    // Remove any preferences as needed
+    // widget.setPreferenceForKey(null, dashcode.createInstancePreferenceKey("your-key"));
+}
+
+//
+// Function: hide()
+// Called when the widget has been hidden
+//
+function hide()
+{
+    // Stop any timers to prevent CPU usage
+}
+
+//
+// Function: show()
+// Called when the widget has been shown
+//
+function show()
+{
+    // Restart any timers that were stopped on hide
+}
+
+//
+// Function: sync()
+// Called when the widget has been synchronized with .Mac
+//
+function sync()
+{
+    // Retrieve any preference values that you need to be synchronized here
+    // Use this for an instance key's value:
+    // instancePreferenceValue = widget.preferenceForKey(null, dashcode.createInstancePreferenceKey("your-key"));
+    //
+    // Or this for global key's value:
+    // globalPreferenceValue = widget.preferenceForKey(null, "your-key");
+}
+
+//
+// Function: showBack(event)
+// Called when the info button is clicked to show the back of the widget
+//
+// event: onClick event from the info button
+//
+function showBack(event)
+{
+    var front = document.getElementById("front");
+    var back = document.getElementById("back");
+
+    if (window.widget) {
+        widget.prepareForTransition("ToBack");
+    }
+
+    front.style.display = "none";
+    back.style.display = "block";
+
+    if (window.widget) {
+        setTimeout('widget.performTransition();', 0);
+    }
+}
+
+//
+// Function: showFront(event)
+// Called when the done button is clicked from the back of the widget
+//
+// event: onClick event from the done button
+//
+function showFront(event)
+{
+    var front = document.getElementById("front");
+    var back = document.getElementById("back");
+
+    if (window.widget) {
+        widget.prepareForTransition("ToFront");
+    }
+
+    front.style.display="block";
+    back.style.display="none";
+
+    if (window.widget) {
+        setTimeout('widget.performTransition();', 0);
+    }
+}
+
+if (window.widget) {
+    widget.onremove = remove;
+    widget.onhide = hide;
+    widget.onshow = show;
+    widget.onsync = sync;
+}

TemplateWidget.dcproj/projectInfo.plist

 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
-	<key>AppIconImageSettings</key>
-	<string>image-theme: 1; image-shape: 3; image-opacity: 1.00; image-top-color: 0.250003815,0.250003815,0.250003815,1; image-bottom-color: 0,0,0,1; image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.950011432,0.950011432,0.950011432,1; image-border-width: 2; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: -0.10; shadow-include-shadow: 1; shadow-offset: 0.00,-3.00; shadow-color: 0,0,0,0.3333;</string>
+	<key>AvailableProducts</key>
+	<dict>
+		<key>Widget</key>
+		<dict>
+			<key>AppIconImageSettings</key>
+			<string>image-theme: 1; image-shape: 3; image-opacity: 1.00; image-top-color: 0.250003815,0.250003815,0.250003815,1; image-bottom-color: 0,0,0,1; image-radius: 12,12,12,12; image-border: 1; image-border-color: 0.950011432,0.950011432,0.950011432,1; image-border-width: 2; shine-on: 1; shine-strength: 0.05; shine-alpha-level: 0.67; shine-height: 0.50; glass-arc-height: -0.10; shadow-include-shadow: 1; shadow-offset: 0.00,-3.00; shadow-color: 0,0,0,0.3333;</string>
+			<key>CYShineVersion</key>
+			<integer>2</integer>
+			<key>MainCSS</key>
+			<string>main.css</string>
+			<key>MainJS</key>
+			<string>main.js</string>
+			<key>ProductDir</key>
+			<string>widget.wdgt</string>
+			<key>ProjectSpecType</key>
+			<string>Widget</string>
+			<key>Steps</key>
+			<array>
+				<dict>
+					<key>Completed</key>
+					<false/>
+					<key>Detail</key>
+					<string>Custom_Step_1_Detail</string>
+					<key>MainHelp</key>
+					<string>Tag(200)</string>
+					<key>Required</key>
+					<true/>
+					<key>Title</key>
+					<string>Custom_Step_1_Title</string>
+				</dict>
+				<dict>
+					<key>Completed</key>
+					<false/>
+					<key>Detail</key>
+					<string>Custom_Step_2_Detail</string>
+					<key>MainHelp</key>
+					<string>Tag(201)</string>
+					<key>Required</key>
+					<true/>
+					<key>Title</key>
+					<string>Custom_Step_2_Title</string>
+				</dict>
+				<dict>
+					<key>Completed</key>
+					<false/>
+					<key>Detail</key>
+					<string>Custom_Step_3_Detail</string>
+					<key>MainHelp</key>
+					<string>Tag(202)</string>
+					<key>Required</key>
+					<true/>
+					<key>Title</key>
+					<string>Custom_Step_3_Title</string>
+				</dict>
+				<dict>
+					<key>Completed</key>
+					<false/>
+					<key>Detail</key>
+					<string>Custom_Step_4_Detail</string>
+					<key>MainHelp</key>
+					<string>Tag(203)</string>
+					<key>Recommended</key>
+					<true/>
+					<key>Title</key>
+					<string>Custom_Step_4_Title</string>
+				</dict>
+				<dict>
+					<key>Completed</key>
+					<false/>
+					<key>Detail</key>
+					<string>Custom_Step_5_Detail</string>
+					<key>MainHelp</key>
+					<string>Tag(204)</string>
+					<key>Recommended</key>
+					<true/>
+					<key>Title</key>
+					<string>Custom_Step_5_Title</string>
+				</dict>
+				<dict>
+					<key>Completed</key>
+					<false/>
+					<key>Detail</key>
+					<string>Custom_Step_6_Detail</string>
+					<key>MainHelp</key>
+					<string>Tag(205)</string>
+					<key>Recommended</key>
+					<true/>
+					<key>Title</key>
+					<string>Custom_Step_6_Title</string>
+				</dict>
+			</array>
+			<key>TemplateIdentifier</key>
+			<string>com.apple.Dashcode.template.custom</string>
+		</dict>
+	</dict>
 	<key>CYProjectFormatVersion</key>
-	<integer>14</integer>
-	<key>CYShineVersion</key>
-	<integer>2</integer>
-	<key>MainCSS</key>
-	<string>main.css</string>
-	<key>MainJS</key>
-	<string>main.js</string>
-	<key>ProjectSpecType</key>
-	<string>Widget</string>
-	<key>Steps</key>
-	<array>
-		<dict>
-			<key>Completed</key>
-			<false/>
-			<key>Detail</key>
-			<string>Custom_Step_1_Detail</string>
-			<key>MainHelp</key>
-			<string>Tag(200)</string>
-			<key>Required</key>
-			<true/>
-			<key>Title</key>
-			<string>Custom_Step_1_Title</string>
-		</dict>
-		<dict>
-			<key>Completed</key>
-			<false/>
-			<key>Detail</key>
-			<string>Custom_Step_2_Detail</string>
-			<key>MainHelp</key>
-			<string>Tag(201)</string>
-			<key>Required</key>
-			<true/>
-			<key>Title</key>
-			<string>Custom_Step_2_Title</string>
-		</dict>
-		<dict>
-			<key>Completed</key>
-			<false/>
-			<key>Detail</key>
-			<string>Custom_Step_3_Detail</string>
-			<key>MainHelp</key>
-			<string>Tag(202)</string>
-			<key>Required</key>
-			<true/>
-			<key>Title</key>
-			<string>Custom_Step_3_Title</string>
-		</dict>
-		<dict>
-			<key>Completed</key>
-			<false/>
-			<key>Detail</key>
-			<string>Custom_Step_4_Detail</string>
-			<key>MainHelp</key>
-			<string>Tag(203)</string>
-			<key>Recommended</key>
-			<true/>
-			<key>Title</key>
-			<string>Custom_Step_4_Title</string>
-		</dict>
-		<dict>
-			<key>Completed</key>
-			<false/>
-			<key>Detail</key>
-			<string>Custom_Step_5_Detail</string>
-			<key>MainHelp</key>
-			<string>Tag(204)</string>
-			<key>Recommended</key>
-			<true/>
-			<key>Title</key>
-			<string>Custom_Step_5_Title</string>
-		</dict>
-		<dict>
-			<key>Completed</key>
-			<false/>
-			<key>Detail</key>
-			<string>Custom_Step_6_Detail</string>
-			<key>MainHelp</key>
-			<string>Tag(205)</string>
-			<key>Recommended</key>
-			<true/>
-			<key>Title</key>
-			<string>Custom_Step_6_Title</string>
-		</dict>
-	</array>
-	<key>TemplateIdentifier</key>
-	<string>com.apple.Dashcode.template.custom</string>
+	<integer>40</integer>
+	<key>IsInCodeGeneratorMode</key>
+	<true/>
 </dict>
 </plist>

TemplateWidget.dcproj/stefan.wdgtuser

 			</array>
 		</array>
 		<key>Objects view last selections</key>
-		<array>
-			<array>
-				<integer>0</integer>
-				<integer>0</integer>
-				<integer>0</integer>
-			</array>
-		</array>
+		<array/>
 		<key>Visible StackLayout Views</key>
 		<array>
 			<string>front</string>