public ContentPicker_DataEditor(umbraco.interfaces.IData Data, ContentPicker_Options Configuration)
        {
            //load the prevalues
            savedOptions = Configuration;

            //ini the savedData object
            savedData = Data;
        }
 public ContentPickerTree(string app)
     : base(app)
 {
     try
     {
         savedOptions = jsonSerializer.Deserialize<ContentPicker_Options>(HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["contentPicker"].Value));
     }
     catch (Exception e)
     {
         savedOptions = new ContentPicker_Options();
     }
 }
 public ContentPicker_PrevalueEditor(umbraco.cms.businesslogic.datatype.BaseDataType DataType)
 {
     _datatype = DataType;
     jsonSerializer = new JavaScriptSerializer();
     savedOptions = Configuration;
 }
        protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer);

            ContentPicker_Options renderingOptions;

            //test for postback, decide to use db or saveBox for rendering
            if (Page.IsPostBack)
            {
                //test for saveBox having a value, default if not
                if (saveBox.Text != "")
                {
                    renderingOptions = jsonSerializer.Deserialize<ContentPicker_Options>(saveBox.Text);
                }
                else
                {
                    renderingOptions = new ContentPicker_Options();
                }
            }
            else
            {
                renderingOptions = savedOptions;
            }

            //Log.Add(LogTypes.Debug, 0, "snid=>"+renderingOptions.startNodeID.ToString());
            //Log.Add(LogTypes.Debug, 0, "dtid=>" + renderingOptions.allowedDocTypeIDs);

            HtmlTable table = new HtmlTable();

            HtmlTableRow tr;
            HtmlTableCell td;

            //start node
            tr = new HtmlTableRow();
            table.Controls.Add(tr);

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            td.InnerText = "Start Node ID";

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            TextBox startNode = new TextBox();
            startNode.CssClass = "startNodeID";
            td.Controls.Add(startNode);
            startNode.Text = renderingOptions.startNodeID.ToString();

            //allow multiple
            tr = new HtmlTableRow();
            table.Controls.Add(tr);

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            td.InnerText = "Allow Multiple?";

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            CheckBox allowMultiple = new CheckBox();
            allowMultiple.CssClass = "allowMultiple";
            td.Controls.Add(allowMultiple);
            allowMultiple.Checked = renderingOptions.allowMultiple;

            //allowed doctypeids
            tr = new HtmlTableRow();
            table.Controls.Add(tr);

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            td.InnerText = "Allowed Doc Type ID's (CSV)";

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            TextBox allowedDocTypes = new TextBox();
            allowedDocTypes.CssClass = "allowedDocTypes";
            td.Controls.Add(allowedDocTypes);
            allowedDocTypes.Text = renderingOptions.allowedDocTypeIDs;

            //show all docTypes?
            tr = new HtmlTableRow();
            table.Controls.Add(tr);

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            td.InnerText = "Show All Doc Types?";

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            CheckBox showAllDocTypes = new CheckBox();
            showAllDocTypes.CssClass = "showAllDocTypes";
            td.Controls.Add(showAllDocTypes);
            showAllDocTypes.Checked = renderingOptions.showAllDocTypes;

            //js path
            tr = new HtmlTableRow();
            table.Controls.Add(tr);

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            td.InnerText = "JS Path";

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            TextBox jsPath = new TextBox();
            jsPath.CssClass = "jsPath";
            td.Controls.Add(jsPath);
            jsPath.Text = renderingOptions.jsPath;

            //css path
            tr = new HtmlTableRow();
            table.Controls.Add(tr);

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            td.InnerText = "CSS Path";

            td = new HtmlTableCell();
            tr.Controls.Add(td);
            TextBox cssPath = new TextBox();
            cssPath.CssClass = "cssPath";
            td.Controls.Add(cssPath);
            cssPath.Text = renderingOptions.cssPath;

            table.RenderControl(writer);
        }