public XRectangle() { var aelement = new IHTMLDiv(); // WPF: Rectangle, Image or Label var acontent = new IHTMLDiv(); acontent.style.backgroundColor = "#ff0000"; this.Rotor = new IHTMLDiv(); //this.Rotor.style.backgroundColor = "#ffd0d0"; this.Rotor.style.border = "1px solid black"; //this.Rotor.style.paddingRight = "10px"; this.Rotor.AttachTo(aelement); acontent.AttachTo(this.Rotor); aelement.AttachToDocument(); Element = aelement; Content = acontent; }
public int Add(object e) { var i = new IHTMLDiv { innerText = e.ToString() }; var IsSelected = false; i.onclick += delegate { IsSelected = !IsSelected; if (IsSelected) { i.style.color = JSColor.System.HighlightText; i.style.backgroundColor = JSColor.System.Highlight; } else { i.style.color = JSColor.None; i.style.backgroundColor = JSColor.None; } }; Owner.HTMLTarget.Add(i); return 0; }
public __RadioButton() { // http://msdn2.microsoft.com/en-us/library/system.windows.forms.radiobutton.aspx /* Use the Checked property to get or set the state of a RadioButton. * The option button's appearance can be altered to appear as a toggle-style * button or as a standard option button by setting the Appearance property. */ // http://javascript.about.com/library/blradio2.htm /* The solution here is to give all of the radio buttons within the group * the same name but different values. Here is the code used to code just * radio button themselves on the previous page that shows you how this is done. */ // http://www.thescripts.com/forum/thread468483.html // IE support // http://www.gtalbot.org/DHTMLSection/DynamicallyCreateRadioButtons.html HTMLTarget = new IHTMLDiv(); HTMLTarget.style.whiteSpace = ScriptCoreLib.JavaScript.DOM.IStyle.WhiteSpaceEnum.nowrap; button = new IHTMLInput(ScriptCoreLib.Shared.HTMLInputTypeEnum.radio); label = new IHTMLLabel("", button); HTMLTarget.appendChild(button, label); }
// https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150812/cssstereo // https://zproxy.wordpress.com/2012/11/13/dos-warcraft/ // https://zproxy.wordpress.com/2015/07/14/warcraft-360/ // jsc should do correctly uri escapes // \kennedy.greg%40gmail.com\warcraft\dungeon1.png public static void SetDialogColor(IHTMLDiv toolbar, Color toolbar_color, bool up) { if (up) { toolbar.style.backgroundColor = toolbar_color; var toolbar_color_light = toolbar_color.AddLum(+20); var toolbar_color_shadow = toolbar_color.AddLum(-20); toolbar.style.borderLeft = "1px solid " + toolbar_color_light; toolbar.style.borderTop = "1px solid " + toolbar_color_light; toolbar.style.borderRight = "1px solid " + toolbar_color_shadow; toolbar.style.borderBottom = "1px solid " + toolbar_color_shadow; toolbar.style.backgroundPosition = "0px 0px"; } else { toolbar.style.backgroundColor = toolbar_color.AddLum(+15); var toolbar_color_light = toolbar_color.AddLum(+20 + 15); var toolbar_color_shadow = toolbar_color.AddLum(-20 + 15); toolbar.style.borderLeft = "1px solid " + toolbar_color_shadow; toolbar.style.borderTop = "1px solid " + toolbar_color_shadow; toolbar.style.borderRight = "1px solid " + toolbar_color_light; toolbar.style.borderBottom = "1px solid " + toolbar_color_light; toolbar.style.backgroundPosition = "1px 1px"; } }
/// <summary> /// This is a javascript application. /// </summary> /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param> public Application(IApp page) { // what about gif, svg, canvas and webgl? Native.document.icon = new fullbox(); new IHTMLButton { "?" }.AttachToDocument().WhenClicked( button => { var div = new IHTMLDiv { "?" }; // 7x20 div.style.color = "red"; div.style.width = "16px"; div.style.height = "16px"; IHTMLImage i = div; var c = new CanvasRenderingContext2D(16, 16); c.drawImage(i, 0, 0, 16, 16); Native.css.style.cursorImage = i; // Uncaught SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported. // why wont this work? Native.document.icon = c.canvas.toDataURL(); } ); }
public static IHTMLElement AsHTMLElement(this XElement value) { // Z:\jsc.svn\examples\javascript\Test\TestParallelConstruction\Application.cs //Console.WriteLine("enter AsHTMLElement"); // X:\jsc.svn\examples\javascript\Test\TestXElementAdd\TestXElementAdd\Application.cs if (value == null) return null; // X:\jsc.svn\examples\javascript\appengine\StopwatchTimetravelExperiment\StopwatchTimetravelExperiment\Application.cs var __XElement = (__XElement)value; var c = new IHTMLDiv(); var xml = value.ToString(); //Console.WriteLine("AsHTMLElement " + new { xml }); c.innerHTML = xml; //Console.WriteLine("AsHTMLElement " + new { c.innerHTML }); var firstChild = ((IHTMLElement)c.firstChild); //Console.WriteLine("AsHTMLElement " + new { firstChild }); __XElement.InternalValue = firstChild; //var zxml = value.ToString(); //Console.WriteLine("AsHTMLElement " + new { zxml }); return firstChild; }
public __Shape() { InternalSprite = new IHTMLDiv(); InternalSprite.style.position = ScriptCoreLib.JavaScript.DOM.IStyle.PositionEnum.absolute; InternalSprite.style.left = "0px"; InternalSprite.style.top = "0px"; }
/// <summary> /// This is a javascript application. /// </summary> /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param> public Application(IDefault page) { // see also: http://neocotic.com/qr.js/ Action<string> Add = e => { var p = new IHTMLDiv().AttachToDocument(); p.style.margin = "4em"; new IHTMLAnchor { href = e, innerText = e }.AttachTo(p); new IHTMLBreak().AttachTo(p); e.ToQRCode().AttachTo(p); }; Add("" + Native.document.location); Add("http://www.jsc-solutions.net"); }
/// <summary> /// This is a javascript application. /// </summary> /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param> public Application(IApp page) { // http://stackoverflow.com/questions/2297217/ie-8-defaultview-equivalent // https://developer.mozilla.org/en-US/docs/Web/API/document.defaultView // http://www.whatwg.org/specs/web-apps/current-work/#dom-document-defaultview // http://stackoverflow.com/questions/9183555/whats-the-point-of-document-defaultview { var div = new IHTMLDiv { innerText = "?" }.AttachToDocument(); // http://msdn.microsoft.com/en-us/library/ms534331%28VS.85%29.aspx var defaultView = (div.ownerDocument as dynamic).defaultView; div.innerText = new { defaultView }.ToString(); } { var div = new IHTMLDiv { innerText = "?" }.AttachToDocument(); // http://msdn.microsoft.com/en-us/library/ms534331%28VS.85%29.aspx var parentwindow = (div.ownerDocument as dynamic).parentwindow; div.innerText = new { parentwindow }.ToString(); } }
private static void Spawn(double Rotation) { var z = new IHTMLDiv().AttachToDocument(); var r = new IHTMLDiv().AttachTo(z); z.style.position = IStyle.PositionEnum.relative; var i = new IHTMLImage(Assets.Path + "/Preview.png").AttachTo(r); var b = new IHTMLButton().AttachTo(r); b.innerText = "hello world"; b.style.SetLocation(20, 20); z.style.SetLocation(100, 100); var costheta = Math.Cos(Rotation); var sintheta = Math.Sin(Rotation); var M11 = costheta; var M12 = -sintheta; var M21 = sintheta; var M22 = costheta; z.style.SetMatrixTransform( M11, M21, M12, M22, 0, 0 ); }
public static void RefreshComments(this IBacicInterface intFace, IHTMLDiv commentDiv) { commentDiv.Clear(); Action refresh = async delegate { var comments = await intFace.GetAllViewComments(Native.document.location.hash); if (comments != null) { for (var r = 0; r < comments.Rows.Count; r++) { var row = (global::Abstractatech.Comments.Schema.CommentCommentTableRow)comments.Rows[r]; var container = new CommentRow(); container.name.innerText = row.Name; container.email.innerText = row.Email; container.time.innerText = row.Timestamp.ToString("dd.MM.yyyy HH:mm:ss"); container.content.style.whiteSpace = IStyle.WhiteSpaceEnum.pre; container.content.innerText = row.Comment; container.AttachTo(commentDiv); } } }; refresh(); }
public static void AddNewCommentsDiv(this IBacicInterface intFace, IHTMLDiv newCommentDiv, IHTMLDiv commentsDiv) { RefreshComments(intFace, commentsDiv); var newcommentContainer = new NewComment().AttachTo(newCommentDiv); newcommentContainer.Submit.onclick += async delegate { if (newcommentContainer.name.value != "") { if (newcommentContainer.email.value != "") { if (newcommentContainer.commentarea.value != "") { await intFace.InsertNewComment(Native.document.location.hash, newcommentContainer.name.value, newcommentContainer.email.value, newcommentContainer.commentarea.value); intFace.RefreshComments(commentsDiv); newcommentContainer.email.value = ""; newcommentContainer.name.value = ""; newcommentContainer.commentarea.value = ""; } } } }; }
public RedNumberDisplay(int Digits, int value, Assets MyAssets) { this.MyAssets = MyAssets; this.Digits = Digits; this.Control.style.SetSize(Width, Height); this.Control.style.backgroundColor = Color.Black; this.Control.style.position = IStyle.PositionEnum.relative; DigitControls = Enumerable.Range(0, Digits).Select( i => { var d = new IHTMLDiv(); d.style.SetLocation(i * DigitX, 0, DigitX, DigitY); d.style.SetBackground(MyAssets.red_numbers[0]); d.AttachTo(this.Control); return d; } ).ToArray(); this.Value = value; }
public SolutionFileView() { this.Colors = new Dictionary<SolutionFileTextFragment, Color> { { SolutionFileTextFragment.Comment, Color.FromRGB(0, 0x80, 0) }, { SolutionFileTextFragment.Keyword, Color.Blue }, { SolutionFileTextFragment.None, Color.None}, { SolutionFileTextFragment.String, Color.FromRGB(0x80, 0, 0) }, { SolutionFileTextFragment.Type, Color.FromRGB(43, 145, 175) }, { SolutionFileTextFragment.XMLKeyword, Color.FromRGB(0, 0, 0xff) }, { SolutionFileTextFragment.XMLElement, Color.FromRGB(0x80, 0, 0) }, { SolutionFileTextFragment.XMLAttributeName, Color.FromRGB(0xff, 0, 0) }, { SolutionFileTextFragment.XMLAttributeValue, Color.FromRGB(0, 0, 0xff) }, { SolutionFileTextFragment.XMLComment, Color.FromRGB(0, 0x80, 0) }, { SolutionFileTextFragment.XMLText, Color.None}, }; this.Container = new IHTMLDiv(); this.View = new IHTMLPre().AttachTo(this.Container); this.View.style.margin = "0"; this.Container.style.overflow = IStyle.OverflowEnum.auto; }
public NumberGuessingGame() { Control.AttachToDocument(); Native.Document.body.style.background = "#6591cd"; //Native.Document.body.style.background = "#6591cd url(assets/NumberGuessingGame/editorBg.gif) repeat-x"; Native.Document.body.style.overflow = IStyle.OverflowEnum.hidden; Control.appendChild(new IHTMLElement(IHTMLElement.HTMLElementEnum.h1, "This project demostrates how to make a number guessing game.")); Control.appendChild("The computer will think of a number. Try finding out which numbers are in it. You will win if you guess the numbers before all buttons are gone."); CreateDisposableButton("Show The GuessingGame", delegate { var div = new IHTMLDiv(); div.AttachToDocument(); new GuessingGame(div); } ); }
public UltraApplication(IHTMLElement e) { var Title = new IHTMLDiv { innerHTML = @" <img border='0' src='http://www.w3schools.com/images/compatible_ie.gif' width='31' height='30' alt='Internet Explorer' title='Internet Explorer' /> <img border='0' src='http://www.w3schools.com/images/compatible_firefox.gif' width='31' height='30' alt='Firefox' title='Firefox' /> <img border='0' src='http://www.w3schools.com/images/compatible_opera.gif' width='28' height='30' alt='Opera' title='Opera' /> <img border='0' src='http://www.w3schools.com/images/compatible_chrome.gif' width='31' height='30' alt='Google Chrome' title='Google Chrome' /> <img border='0' src='http://www.w3schools.com/images/compatible_safari.gif' width='28' height='30' alt='Safari' title='Safari' /> " }; var TitleLogo = new IHTMLImage("assets/ScriptCoreLib/jsc.png"); var TitleText = new IHTMLSpan("UltraApplication"); TitleText.style.fontFamily = ScriptCoreLib.JavaScript.DOM.IStyle.FontFamilyEnum.Verdana; TitleText.style.paddingLeft = "2em"; TitleText.style.fontSize = "xx-large"; TitleLogo.style.verticalAlign = "middle"; Title.appendChild(TitleLogo); Title.appendChild(TitleText); Title.style.height = "128px"; Title.AttachToDocument(); Title.FadeIn(2500, 1000, delegate { 1500.AtDelay(ContinueBuildingApplication); } ); }
/// <summary> /// This is a javascript application. /// </summary> /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param> public Application(IApp page) { var l = new NotificationLayout().layout; l.AttachToDocument(); var div0 = new IHTMLDiv().AttachToDocument(); new { }.With( async delegate { do { div0.Clear(); new IHTMLHorizontalRule().AttachToDocument(); Task<ISVGSVGElement> n = l; var svg = await n; IHTMLImage i = svg; var c = new CanvasRenderingContext2D(l.clientWidth, l.clientHeight); c.drawImage(i, 0, 0, l.clientWidth, l.clientHeight); c.canvas.AttachTo(div0); } while (await l.async.onmutation); } ); }
static IHTMLDiv InternalConstructor(params INode[] e) { IHTMLDiv u = new IHTMLDiv(); u.appendChild(e); return u; }
public Part AttachTo(IHTMLDiv canvas) { MoveToLocation(); Control.AttachTo(canvas); return this; }
static IHTMLDiv InternalConstructor(params INode[] e) { IHTMLDiv u = new IHTMLDiv(); u.appendChild(e); return(u); }
static IHTMLDiv InternalConstructor(string html) { IHTMLDiv u = new IHTMLDiv(); u.innerHTML = html; return(u); }
// Summary: // Initializes a new instance of the System.Windows.Forms.TabPage class. public __TabPage() { this.__controlCollection = new __TabPageControlCollection((TabPage)this); this.__tabId = "tab" + __tabCount; __tabCount++; InternalElement = new IHTMLDiv(); InternalElement.style.whiteSpace = ScriptCoreLib.JavaScript.DOM.IStyle.WhiteSpaceEnum.nowrap; InternalElement.style.border = "1px solid gray"; InternalElement.style.borderTop = "none"; __tabButton = new IHTMLButton(this.__tabId); __tabButton.ApplyBorderStyle(global::System.Windows.Forms.BorderStyle.Fixed3D); __tabButton.style.textDecoration = "none"; __tabButton.style.color = "#42454a"; __tabButton.style.backgroundColor = "#dedbde"; __tabButton.style.top = "50%"; __tabButton.style.bottom = "50%"; int newh = __TabControl.__TAB_BAR_HEIGHT - 2; __tabButton.style.height = "" + newh; __tabButton.style.border = "ridge"; __tabButton.style.borderTop = "ridge"; __tabButton.style.borderRight = "ridge"; __tabButton.style.borderLeft = "ridge"; __tabButton.style.borderBottom = "none"; __tabButton.style.paddingBottom = "8px"; setFont(DefaultFont); Li = new IHTMLListItem(); Li.style.display = IStyle.DisplayEnum.inline; //Li.style.padding = "5px"; Li.style.marginRight = "0"; // "5px"; Li.style.Float = IStyle.FloatEnum.left; this.__isSelected = true; // 2013-09-30 // Error 5 The type 'System.Xml.Linq.XElement' is defined in // an assembly that is not referenced. You must add a // reference to assembly 'System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. X:\jsc.svn\core\ScriptCoreLib.Windows.Forms\ScriptCoreLib.Windows.Forms\JavaScript\BCLImplementation\System\Windows\Forms\TabPage.cs 72 13 ScriptCoreLib.Windows.Forms Li.appendChild(__tabButton); Li.style.Float = IStyle.FloatEnum.left; __DeSelectTab(); InternalElement.style.backgroundColor = "white"; TextChanged += OnTextChanged; }
void init() { this.__ul = new IHTMLUnorderedList(); this.__ul.name = "tabs"; this.__ul.style.marginTop = "0"; this.__ul.style.marginRight = "0"; this.__ul.style.marginBottom = "-1px"; this.__ul.style.marginLeft = "0"; this.__ul.style.paddingTop = "0"; this.__ul.style.paddingRight = "0"; this.__ul.style.paddingBottom = "0.3em"; this.__ul.style.paddingLeft = "0"; this.__ul.style.width = "" + this.Size.Width; this.__ul.style.height = "" + __TAB_BAR_HEIGHT; this.__ul.style.Float = DOM.IStyle.FloatEnum.left; this.__ulContainer = new IHTMLDiv(); this.__ulContainer.name = "ulcontainer"; this.__ulContainer.style.width = "" + this.Size.Width; this.__ulContainer.style.height = "" + __TAB_BAR_HEIGHT; this.__ulContainer.style.position = DOM.IStyle.PositionEnum.relative; this.__ulContainer.style.top = "0"; this.__ulContainer.style.bottom = "0"; this.__ulContainer.appendChild(this.__ul); this.__tabFiller = new IHTMLDiv(); this.__tabFiller.name = "filler"; this.__tabFiller.style.height = "" + __TAB_BAR_HEIGHT; this.__tabFiller.style.borderBottom = "1px solid"; this.__tabFiller.style.borderTop = "none"; this.__tabFiller.style.borderRight = "none"; this.__tabFiller.style.borderLeft = "none"; this.__tabFiller.style.minWidth = "0"; this.__tabFiller.style.Float = DOM.IStyle.FloatEnum.left; this.InternalContainer = new IHTMLDiv(); this.InternalContainer.name = "tabcontrol"; this.__tabs = new Panel(); this.__tabs.Location = new Point(0, 0); this.__tabs.Size = new Size(this.Size.Width, __TAB_BAR_HEIGHT); setTabsSize(); base.Controls.Add(this.__tabs); this.__tabs.GetHTMLTarget().appendChild(this.__ulContainer); this.__tabs.GetHTMLTarget().style.SetLocation(0, 0, this.Size.Width, __TAB_BAR_HEIGHT); _tabPages = new TabControl.TabPageCollection((TabControl)this); FontChanged += OnFontChanged; }
public __ContextMenuStrip(IContainer container) { InternalElement = new IHTMLDiv(); InternalElement.style.background = JSColor.White; InternalElement.style.border = JSColor.Gray; InternalElement.style.borderWidth = "1px"; InternalElement.style.borderStyle = "solid"; }
public void AddDropDown(IHTMLDiv app, UserControl uc) { app.style.SetSize( uc.Width, uc.Height ); uc.AttachControlTo(app); uc.ParentForm.GetHTMLTarget().style.boxShadow = "black 3px 3px 6px -3px"; }
static IHTMLDiv InternalConstructor(string html) { IHTMLDiv u = new IHTMLDiv(); u.innerHTML = html; return u; }
public AvalonDocument(IHTMLElement e) { var c = new IHTMLDiv().AttachTo(e.parentNode); c.style.position = ScriptCoreLib.JavaScript.DOM.IStyle.PositionEnum.relative; c.style.SetSize(TargetCanvas.DefaultWidth, TargetCanvas.DefaultHeight); c.style.overflow = ScriptCoreLib.JavaScript.DOM.IStyle.OverflowEnum.hidden; AvalonExtensions.AttachToContainer(new TargetCanvas(), c); }
// advertise in ScriptCoreLib.Extensions public static global::CSSMinimizeFormToSidebar.HTML.Pages.IApp InitializeSidebarBehaviour( Form f, bool HandleClosed = true, bool HandleDragToLeft = true) { // can we do a dynamic upgrade? var newlayout = new global::CSSMinimizeFormToSidebar.HTML.Pages.App(); newlayout.AddMoreText.Hide(); var newlayoutnodes = newlayout.body.childNodes.ToArray(); //newlayout.Sidebar.name = "Sidebar"; // where is this guy?? //newlayout.SidebarOverlay.name = "SidebarOverlay"; var oldcontent = Native.document.body.childNodes.ToArray(); Native.Document.body.Clear(); Native.Document.body.appendChild(newlayoutnodes); Native.Document.body.setAttribute("style", newlayout.Container.getAttribute("style") ); var mycontainer = new IHTMLDiv().AttachTo((IHTMLElement)newlayout.ScrollContainer.parentNode); newlayout.ScrollContainer.Orphanize(); mycontainer.style.position = IStyle.PositionEnum.absolute; mycontainer.style.left = "10em"; mycontainer.style.top = "0px"; mycontainer.style.right = "0px"; mycontainer.style.bottom = "0px"; mycontainer.appendChild(oldcontent); //Native.Document.body.Orphanize(); //newlayout.Container.AttachTo(Native.Document.documentElement); //Native.Document.body = (IHTMLBody)(object)newlayout.Container; // reparent f.GetHTMLTarget().Orphanize().AttachToDocument(); global::CSSMinimizeFormToSidebar.ApplicationExtension.InitializeSidebarBehaviour( newlayout, f, HandleClosed: HandleClosed, HandleDragToLeft: HandleDragToLeft ); return newlayout; }
public static void ExposedFunctions_AddData1(Data1 e) { if (e == null) { new IHTMLDiv { innerText = "yay, no data..." }.AttachTo(instructions); return; } Func<string> GetString = () => new { e.text, e.index }.ToString(); // this function can now be used by external API e.GetString = IFunction.OfDelegate(GetString); var div = new IHTMLDiv { // using a real anonymous type, we get a nice key value string for display innerText = GetString() }; #region attach events if (e.onclick != null) { div.style.cursor = IStyle.CursorEnum.pointer; div.onclick += delegate { e.onclick.apply(e, div); }; } if (e.onmouseover != null) { div.style.cursor = IStyle.CursorEnum.pointer; div.onmouseover += delegate { e.onmouseover.apply(e, div); }; } if (e.onmouseout != null) { div.style.cursor = IStyle.CursorEnum.pointer; div.onmouseout += delegate { e.onmouseout.apply(e, div); }; } #endregion div.AttachTo(instructions); }
/// <summary> /// This is a javascript application. /// </summary> /// <param name="page">HTML document rendered by the web server which can now be enhanced.</param> public Application(IApp page) { Native.document.body.css.style.transition = "background 300ms linear, margin-left 300ms linear"; Native.document.body.css.orientation.landscape.style.background = "cyan"; // make room for sidebar Native.document.body.css.orientation.landscape.style.marginLeft = "10em"; Native.document.body.css.orientation.portrait.style.background = "yellow"; Native.document.body.css.orientation.portrait.style.marginTop = "10em"; // does not seem to apply to print option tho?? var landscapesidebar = new IHTMLDiv { }.AttachToDocument(); landscapesidebar.css.style.position = IStyle.PositionEnum.@fixed; landscapesidebar.css.style.background = "white"; landscapesidebar.css.style.transition = "left 300ms linear"; landscapesidebar.css.style.left = "-10em"; landscapesidebar.css.orientation.landscape.style.left = "1em"; landscapesidebar.css.orientation.landscape.style.width = "8em"; landscapesidebar.css.orientation.landscape.style.top = "1em"; landscapesidebar.css.orientation.landscape.style.bottom = "1em"; var portraitsidebar = new IHTMLDiv { }.AttachToDocument(); portraitsidebar.css.style.position = IStyle.PositionEnum.@fixed; portraitsidebar.css.style.background = "white"; portraitsidebar.css.style.transition = "top 300ms linear"; portraitsidebar.css.style.top = "-10em"; portraitsidebar.css.orientation.portrait.style.left = "1em"; portraitsidebar.css.orientation.portrait.style.height = "8em"; portraitsidebar.css.orientation.portrait.style.top = "1em"; portraitsidebar.css.orientation.portrait.style.right = "1em"; }
public Application(IAbout a) { var s = new InternalSaveActionSprite(); s.AttachSpriteTo(a.Content); s.WebService = new ApplicationWebService(); var pp = new ProjectNameInput(); pp.AttachControlTo(a.Content); var Files = new IHTMLDiv().AttachTo(a.Content); s.WhenReady( i => { Action Update = delegate { var sln = new SolutionBuilder { Name = pp.ProjectName.Text }; i.FileName = sln.Name + ".zip"; i.Clear(); Files.Clear(); sln.WriteTo( (SolutionFile f) => { new IHTMLPre { innerText = f.Name }.AttachTo(Files); i.Add(f.Name, f.Content); } ); }; pp.UpdateButton.TextChanged += delegate { }; pp.UpdateButton.Click += delegate { Update(); }; Update(); } ); }
public ColorPicker() { Control.AttachToDocument(); System.Console.WriteLine("colors..."); IHTMLImage palette = new palette(); Control.style.position = IStyle.PositionEnum.relative; Control.style.backgroundColor = Color.Gray; Control.style.SetSize(277, 262); var layer = new IHTMLDiv(); layer.style.SetLocation(1, 1, 275, 260); palette.ToBackground(layer); Control.appendChild(layer); layer.onmousemove += delegate (IEvent ev) { System.Console.WriteLine("" + ev.OffsetPosition + ", x " + layer.Bounds); // jscolor will be merged with color sometime in the future if (ev.OffsetX > 260) { var lum = (byte)System.Math.Round((double)(240 - ev.OffsetY / 260.0 * 240)); System.Console.WriteLine("lum: " + lum); Native.Document.body.style.backgroundColor = JSColor.FromHLS(0, lum, 0); } else { var hue = (byte)System.Math.Round((double)(ev.OffsetX / 260.0 * 240)); var lum = (byte)System.Math.Round((double)(240 - ev.OffsetY / 260.0 * 240)); var backgroundColor = JSColor.FromHLS(hue, lum, 240); Console.WriteLine(new { hue, lum, backgroundColor }); Native.body.style.backgroundColor = backgroundColor; } }; }