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

            //ini the savedData object
            savedData = Data;
        }
 public PrevalueEditor(umbraco.cms.businesslogic.datatype.BaseDataType DataType)
 {
     _datatype = DataType;
     jsonSerializer = new JavaScriptSerializer();
     savedOptions = Configuration;
 }
        protected void createPrevalueTable(HtmlTextWriter writer, Options renderingOptions)
        {
            HtmlGenericControl table = new HtmlGenericControl("table");

            HtmlGenericControl tbody = new HtmlGenericControl("tbody");
            table.Controls.Add(tbody);

            HtmlGenericControl tr = new HtmlGenericControl("tr");
            tbody.Controls.Add(tr);

            HtmlGenericControl th = new HtmlGenericControl("th");
            tr.Controls.Add(th);
            th.InnerHtml = "Media Tree Nodes IDs (CSV)";

            HtmlGenericControl td = new HtmlGenericControl("td");
            tr.Controls.Add(td);
            TextBox textbox = new TextBox();
            textbox.Attributes["class"] = "mediaNodes";
            td.Controls.Add(textbox);

            textbox.Text = renderingOptions.mediaIDs;

            table.RenderControl(writer);
        }
        protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer);

            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<Options>(saveBox.Text);
                }
                else
                {
                    renderingOptions = new Options();
                }
            }
            else
            {
                renderingOptions = savedOptions;
            }

            createPrevalueTable(writer, renderingOptions);
        }