├── NReact.Droid ├── Resources │ └── Resource.Designer.cs ├── refs │ └── Java.Interop.dll ├── Properties │ └── AssemblyInfo.cs ├── Factory │ └── NFactory.render.Droid.cs └── NReact.Droid.csproj ├── generators ├── NReact.Generator.Droid │ ├── BeforeRun.txt │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Program.cs │ ├── App.config │ └── NReact.Generator.Droid.csproj ├── NReact.Generator.UWP │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ ├── Assets │ │ ├── StoreLogo.png │ │ ├── SplashScreen.scale-200.png │ │ ├── LockScreenLogo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Wide310x150Logo.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── NReact2.Generator.UWP_TemporaryKey.pfx │ ├── App.xaml │ ├── project.json │ ├── App.xaml.cs │ └── Package.appxmanifest ├── NReact.Generator.WPF │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Program.cs │ └── NReact.Generator.WPF.csproj ├── NReact.Generator.WRT │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Assets │ │ ├── Logo.scale-100.png │ │ ├── SmallLogo.scale-100.png │ │ ├── StoreLogo.scale-100.png │ │ └── SplashScreen.scale-100.png │ ├── NReact2.Generator.WRT_TemporaryKey.pfx │ ├── App.xaml │ ├── App.xaml.cs │ ├── Package.appxmanifest │ └── NReact.Generator.WRT.csproj ├── NReact.Generator.SL │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── AppManifest.xml │ │ └── OutOfBrowserSettings.xml │ ├── App.xaml │ └── App.xaml.cs ├── NReact.Generator.iOS │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Program.cs │ ├── App.config │ └── NReact.Generator.iOS.csproj ├── NReact.Generator.WRT.Phone │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Assets │ │ ├── Logo.scale-240.png │ │ ├── SmallLogo.scale-240.png │ │ ├── StoreLogo.scale-240.png │ │ ├── WideLogo.scale-240.png │ │ ├── SplashScreen.scale-240.png │ │ └── Square71x71Logo.scale-240.png │ ├── App.xaml │ ├── App.xaml.cs │ ├── Package.appxmanifest │ └── NReact.Generator.WRT.Phone.csproj └── NReact.Generator.XForms │ ├── Properties │ └── AssemblyInfo.cs │ ├── packages.config │ └── Program.cs ├── Nuget ├── nreact.psd ├── nreact.bw.psd ├── nreact16.png ├── nreact32.png ├── nreact48.png ├── nreact64.png ├── NReact.XForms.0.0.5.1-alpha.nuspec └── NReact.0.0.5.4-alpha.nuspec ├── NReact.iOS ├── Properties │ └── AssemblyInfo.cs └── NReact.iOS.csproj ├── NReact.WPF ├── Properties │ └── AssemblyInfo.cs └── NReact.WPF.csproj ├── NReact.WRT ├── Properties │ └── AssemblyInfo.cs └── NReact.WRT.csproj ├── NReact.XForms ├── Properties │ └── AssemblyInfo.cs └── packages.config ├── demos ├── NReact2.Demo1.UWP │ ├── Assets │ │ ├── StoreLogo.png │ │ ├── LockScreenLogo.scale-200.png │ │ ├── SplashScreen.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Wide310x150Logo.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── NReact2.Demo1.UWP_TemporaryKey.pfx │ ├── App.xaml │ ├── project.json │ ├── App.xaml.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ └── Package.appxmanifest ├── NReact2.Demo1.SL │ ├── Properties │ │ ├── AppManifest.xml │ │ ├── OutOfBrowserSettings.xml │ │ └── AssemblyInfo.cs │ ├── App.xaml │ └── App.xaml.cs └── NReact2.Demo1.WPF │ ├── Program.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── Demo1.cs │ ├── Demo2.cs │ └── NReact.Demo1.WPF.csproj ├── NReact.UWP ├── Properties │ ├── AssemblyInfo.cs │ └── NReact.rd.xml ├── project.json └── NReact.UWP.csproj ├── NReact.WRT.Phone ├── Properties │ └── AssemblyInfo.cs └── NReact.WRT.Phone.csproj ├── demos.old ├── NReact.UWP.Demo │ ├── Assets │ │ ├── StoreLogo.png │ │ ├── Logo.scale-100.png │ │ ├── SmallLogo.scale-100.png │ │ ├── StoreLogo.scale-100.png │ │ ├── WideLogo.scale-100.png │ │ ├── SplashScreen.scale-100.png │ │ ├── SplashScreen.scale-200.png │ │ ├── LockScreenLogo.scale-200.png │ │ ├── Square150x150Logo.scale-200.png │ │ ├── Square44x44Logo.scale-200.png │ │ ├── Wide310x150Logo.scale-200.png │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── NReact.UWP.Demo_TemporaryKey.pfx │ ├── App.xaml │ ├── project.json │ ├── App.xaml.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── Default.rd.xml │ └── Package.appxmanifest ├── NReact.Xaml.Demo.Windows │ ├── Assets │ │ ├── Logo.scale-100.png │ │ ├── SmallLogo.scale-100.png │ │ ├── StoreLogo.scale-100.png │ │ └── SplashScreen.scale-100.png │ ├── NReact.Xaml.Demo.Windows_TemporaryKey.pfx │ ├── App.xaml │ ├── App.xaml.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Package.appxmanifest │ └── NReact.Xaml.Demo.Windows.csproj ├── NReact.Xaml.Demo.WindowsPhone │ ├── Assets │ │ ├── Logo.scale-240.png │ │ ├── WideLogo.scale-240.png │ │ ├── SmallLogo.scale-240.png │ │ ├── StoreLogo.scale-240.png │ │ ├── SplashScreen.scale-240.png │ │ └── Square71x71Logo.scale-240.png │ ├── App.xaml │ ├── App.xaml.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── Package.appxmanifest ├── NReact.SL.Demo │ ├── App.xaml │ ├── Properties │ │ ├── AppManifest.xml │ │ └── OutOfBrowserSettings.xml │ └── App.xaml.cs ├── 2. MenuExample.Wpf │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ └── Resources.Designer.cs │ ├── App.xaml.cs │ ├── App.xaml │ ├── NMenu.cs │ └── 2. MenuDemo.Wpf.csproj ├── NReact.WPF.Demo │ ├── App.xaml.cs │ ├── App.xaml │ ├── NClock.cs │ ├── NDemo.cs │ └── NReact.WPF.Demo.csproj ├── 1. Timer.Wpf │ ├── App.xaml.cs │ ├── App.xaml │ ├── NTimer.cs │ └── 1. Timer.Wpf.csproj ├── NReact.WPF.Timer │ ├── App.xaml.cs │ ├── App.xaml │ ├── NTimer.cs │ └── NReact.WPF.Timer.csproj ├── 0. Todo.Wpf │ ├── App.xaml │ ├── App.xaml.cs │ ├── 0. Todo.Wpf.csproj │ └── TodoApp.cs ├── NReact.WPF.ToDo │ ├── App.xaml │ ├── App.xaml.cs │ ├── ToDoApp.cs │ └── NReact.WPF.ToDo.csproj └── 3. OrderForm.Wpf │ ├── App.xaml.cs │ ├── App.xaml │ ├── NServiceChooser.cs │ └── 3. OrderForm.Wpf.csproj ├── NReact.SL └── Properties │ └── AssemblyInfo.cs ├── NReact ├── Props │ ├── NProps.cs │ ├── NContentProperty.cs │ ├── NTypedBag.cs │ └── NProperty.cs ├── Version.cs ├── Patcher │ ├── NActionPatch.cs │ ├── NPatch.cs │ └── NPropPatch.cs ├── Elements │ ├── NUndefined.cs │ ├── NUnset.cs │ └── NXaml.cs ├── Converters │ ├── NBrushes.cs │ ├── NThickness.cs │ └── NConverters.cs ├── Utils │ ├── Shims.cs │ └── Ctor.cs ├── NReact.Shared.shproj ├── NReact.projitems └── Factory │ └── NFactory.Render.cs ├── .gitattributes ├── LICENSE └── .gitignore /NReact.Droid/Resources/Resource.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /generators/NReact.Generator.Droid/BeforeRun.txt: -------------------------------------------------------------------------------- 1 | sn -Vr *,7cec85d7bea7798e -------------------------------------------------------------------------------- /Nuget/nreact.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/Nuget/nreact.psd -------------------------------------------------------------------------------- /Nuget/nreact.bw.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/Nuget/nreact.bw.psd -------------------------------------------------------------------------------- /Nuget/nreact16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/Nuget/nreact16.png -------------------------------------------------------------------------------- /Nuget/nreact32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/Nuget/nreact32.png -------------------------------------------------------------------------------- /Nuget/nreact48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/Nuget/nreact48.png -------------------------------------------------------------------------------- /Nuget/nreact64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/Nuget/nreact64.png -------------------------------------------------------------------------------- /NReact.Droid/refs/Java.Interop.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/NReact.Droid/refs/Java.Interop.dll -------------------------------------------------------------------------------- /NReact.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("NReact for Xamarin.iOS")] 4 | 5 | -------------------------------------------------------------------------------- /NReact.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("NReact for Xamarin.Android")] 4 | 5 | -------------------------------------------------------------------------------- /NReact.WPF/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("NReact for WPF")] 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /NReact.WRT/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("NReact for Windows Runtime 8.1")] 4 | -------------------------------------------------------------------------------- /NReact.XForms/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("NReact for Xamarin.Forms")] 4 | 5 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /NReact.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("NReact for Universal Windows Platform")] 4 | -------------------------------------------------------------------------------- /NReact.WRT.Phone/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("NReact for Windows Phone Runtime 8.1")] -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/StoreLogo.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact UWP Code Generator")] 3 | -------------------------------------------------------------------------------- /generators/NReact.Generator.WPF/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact WPF Code Generator")] 3 | -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact WinRT Code Generator")] 3 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/Logo.scale-100.png -------------------------------------------------------------------------------- /generators/NReact.Generator.SL/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact Silverlight Code Generator")] 3 | -------------------------------------------------------------------------------- /generators/NReact.Generator.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact Xamarin.Android Code Generator")] -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /generators/NReact.Generator.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact Xamarin.iOS Code Generator")] 3 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/SmallLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/SmallLogo.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/WideLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/WideLogo.scale-100.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact WinRT Phone Code Generator")] 3 | -------------------------------------------------------------------------------- /generators/NReact.Generator.XForms/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | [assembly: AssemblyTitle("NReact Xamarin.Forms Code Generator")] 3 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/NReact.UWP.Demo_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/NReact.UWP.Demo_TemporaryKey.pfx -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/NReact2.Demo1.UWP_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/NReact2.Demo1.UWP_TemporaryKey.pfx -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/Assets/Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT/Assets/Logo.scale-100.png -------------------------------------------------------------------------------- /NReact.SL/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("NReact for Silverlight")] 5 | 6 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/Assets/Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.Windows/Assets/Logo.scale-100.png -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/Assets/Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT.Phone/Assets/Logo.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/Assets/SmallLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT/Assets/SmallLogo.scale-100.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/Assets/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT/Assets/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/Assets/SmallLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.Windows/Assets/SmallLogo.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/Assets/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.Windows/Assets/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/Logo.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/Assets/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.Windows/Assets/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/WideLogo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/WideLogo.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/Assets/SmallLogo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT.Phone/Assets/SmallLogo.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/Assets/StoreLogo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT.Phone/Assets/StoreLogo.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/Assets/WideLogo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT.Phone/Assets/WideLogo.scale-240.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/SmallLogo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/SmallLogo.scale-240.png -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/StoreLogo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/StoreLogo.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/NReact2.Generator.UWP_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/NReact2.Generator.UWP_TemporaryKey.pfx -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/Assets/SplashScreen.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT.Phone/Assets/SplashScreen.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/NReact2.Generator.WRT_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT/NReact2.Generator.WRT_TemporaryKey.pfx -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/SplashScreen.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/SplashScreen.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/Assets/Square71x71Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.WRT.Phone/Assets/Square71x71Logo.scale-240.png -------------------------------------------------------------------------------- /NReact.XForms/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/NReact.Xaml.Demo.Windows_TemporaryKey.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.Windows/NReact.Xaml.Demo.Windows_TemporaryKey.pfx -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/Square71x71Logo.scale-240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.Xaml.Demo.WindowsPhone/Assets/Square71x71Logo.scale-240.png -------------------------------------------------------------------------------- /generators/NReact.Generator.XForms/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos/NReact2.Demo1.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /demos.old/NReact.SL.Demo/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/demos.old/NReact.UWP.Demo/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/demigor/nreact/HEAD/generators/NReact.Generator.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/App.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/App.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/App.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /demos.old/NReact.SL.Demo/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /demos.old/2. MenuExample.Wpf/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.SL/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.SL/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /generators/NReact.Generator.SL/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /generators/NReact.Generator.SL/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demos.old/NReact.SL.Demo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace NReact.Demos 4 | { 5 | public partial class App 6 | { 7 | public App() 8 | { 9 | InitializeComponent(); 10 | 11 | this.Render(new NDemo()); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /demos.old/NReact.WPF.Demo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace NReact 4 | { 5 | public partial class App : Application 6 | { 7 | void Application_Startup(object sender, StartupEventArgs e) 8 | { 9 | MainWindow.Render(new NDemo()); 10 | MainWindow.Show(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /NReact/Props/NProps.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace NReact 4 | { 5 | /// 6 | /// Default properties defined here 7 | /// 8 | public partial class NProperties 9 | { 10 | #if WPF 11 | public NProperty CanvasZIndex { get { return PanelZIndex; } } 12 | #endif 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /NReact/Version.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyProduct("NReact")] 5 | [assembly: AssemblyCopyright("Copyright © 2015-2017 Lex Lavnikov")] 6 | [assembly: AssemblyVersion("0.0.5.4")] 7 | [assembly: AssemblyFileVersion("0.0.5.4")] 8 | [assembly: ComVisible(false)] 9 | 10 | -------------------------------------------------------------------------------- /demos.old/1. Timer.Wpf/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using NReact; 3 | 4 | namespace NReact.Demos 5 | { 6 | public partial class App : Application 7 | { 8 | void Application_Startup(object sender, StartupEventArgs e) 9 | { 10 | MainWindow.Render(new NTimer()); 11 | MainWindow.Show(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /demos.old/NReact.WPF.Demo/App.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demos.old/1. Timer.Wpf/App.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demos.old/NReact.WPF.Timer/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using NReact; 3 | 4 | namespace NReact2.Demo 5 | { 6 | public partial class App : Application 7 | { 8 | void Application_Startup(object sender, StartupEventArgs e) 9 | { 10 | MainWindow.Render(new NTimer()); 11 | MainWindow.Show(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /NReact.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.3" 4 | }, 5 | "frameworks": { 6 | "uap10.0": {} 7 | }, 8 | "runtimes": { 9 | "win10-arm": {}, 10 | "win10-arm-aot": {}, 11 | "win10-x86": {}, 12 | "win10-x86-aot": {}, 13 | "win10-x64": {}, 14 | "win10-x64-aot": {} 15 | } 16 | } -------------------------------------------------------------------------------- /demos.old/0. Todo.Wpf/App.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0" 4 | }, 5 | "frameworks": { 6 | "uap10.0": {} 7 | }, 8 | "runtimes": { 9 | "win10-arm": {}, 10 | "win10-arm-aot": {}, 11 | "win10-x86": {}, 12 | "win10-x86-aot": {}, 13 | "win10-x64": {}, 14 | "win10-x64-aot": {} 15 | } 16 | } -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.3" 4 | }, 5 | "frameworks": { 6 | "uap10.0": {} 7 | }, 8 | "runtimes": { 9 | "win10-arm": {}, 10 | "win10-arm-aot": {}, 11 | "win10-x86": {}, 12 | "win10-x86-aot": {}, 13 | "win10-x64": {}, 14 | "win10-x64-aot": {} 15 | } 16 | } -------------------------------------------------------------------------------- /demos.old/NReact.WPF.Timer/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.3" 4 | }, 5 | "frameworks": { 6 | "uap10.0": {} 7 | }, 8 | "runtimes": { 9 | "win10-arm": {}, 10 | "win10-arm-aot": {}, 11 | "win10-x86": {}, 12 | "win10-x86-aot": {}, 13 | "win10-x64": {}, 14 | "win10-x64-aot": {} 15 | } 16 | } -------------------------------------------------------------------------------- /NReact/Patcher/NActionPatch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace NReact 4 | { 5 | class NActionPatch : NPatch 6 | { 7 | readonly Func _patcher; 8 | 9 | public NActionPatch(Func patcher) 10 | { 11 | _patcher = patcher; 12 | } 13 | 14 | public override object Apply(object target) 15 | { 16 | return _patcher(target); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /demos.old/0. Todo.Wpf/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using NReact; 3 | 4 | namespace NReact.Demos 5 | { 6 | /// 7 | /// Interaction logic for App.xaml 8 | /// 9 | public partial class App : Application 10 | { 11 | void Application_Startup(object sender, StartupEventArgs e) 12 | { 13 | MainWindow.Render(new TodoApp()); 14 | MainWindow.Show(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /demos.old/NReact.WPF.ToDo/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Windows.ApplicationModel.Activation; 2 | using Windows.UI.Xaml; 3 | 4 | namespace NReact 5 | { 6 | sealed partial class App 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | protected override void OnLaunched(LaunchActivatedEventArgs e) 14 | { 15 | Window.Current.Render(new Demo1()); 16 | Window.Current.Activate(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /demos/NReact2.Demo1.SL/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace NReact.Demos 4 | { 5 | public partial class App 6 | { 7 | public App() 8 | { 9 | Startup += Application_Startup; 10 | 11 | InitializeComponent(); 12 | } 13 | 14 | NElement _root; 15 | void Application_Startup(object sender, StartupEventArgs args) 16 | { 17 | _root = this.Render(new Demo1()); 18 | //this.Render(new Demo2()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /demos.old/2. MenuExample.Wpf/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using NReact; 3 | 4 | namespace NReact.Demos 5 | { 6 | /// 7 | /// Interaction logic for App.xaml 8 | /// 9 | public partial class App : Application 10 | { 11 | void Application_Startup(object sender, StartupEventArgs e) 12 | { 13 | MainWindow.Render(new NMenu { Items = new[] { "Home", "Services", "About", "Contact us" } }); 14 | MainWindow.Show(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Windows.ApplicationModel.Activation; 2 | using Windows.UI.Xaml; 3 | 4 | namespace NReact.UWP.Demo 5 | { 6 | sealed partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | protected override void OnLaunched(LaunchActivatedEventArgs e) 14 | { 15 | base.OnLaunched(e); 16 | Window.Current.Render(new NDemo()); 17 | Window.Current.Activate(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /demos.old/NReact.SL.Demo/Properties/OutOfBrowserSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | NReact.SL.Demo Application on your desktop; at home, at work or on the go. 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Windows.ApplicationModel.Activation; 2 | using Windows.UI.Xaml; 3 | 4 | namespace NReact.Xaml.Demo 5 | { 6 | public sealed partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | protected override void OnLaunched(LaunchActivatedEventArgs e) 14 | { 15 | base.OnLaunched(e); 16 | Window.Current.Render(new NDemo()); 17 | Window.Current.Activate(); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /demos/NReact2.Demo1.SL/Properties/OutOfBrowserSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | NReact2.Demo1.SL Application on your desktop; at home, at work or on the go. 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Windows.ApplicationModel.Activation; 2 | using Windows.UI.Xaml; 3 | 4 | namespace NReact.Xaml.Demo 5 | { 6 | public sealed partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | protected override void OnLaunched(LaunchActivatedEventArgs e) 14 | { 15 | base.OnLaunched(e); 16 | Window.Current.Render(new NDemo()); 17 | Window.Current.Activate(); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /NReact.Droid/Factory/NFactory.render.Droid.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Views; 3 | 4 | namespace NReact 5 | { 6 | public static partial class NFactory 7 | { 8 | public static NElement Render(this Activity control, NElement content) 9 | { 10 | content.Context = control; 11 | 12 | var cls = content as NClass; 13 | if (cls != null) 14 | cls.XamlChanged = (c, p) => control.SetContentView(p as View); 15 | 16 | control.SetContentView(content.Create() as View); 17 | return content; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /NReact/Elements/NUndefined.cs: -------------------------------------------------------------------------------- 1 | namespace NReact 2 | { 3 | /// 4 | /// Represents undefined value 5 | /// 6 | public sealed class NUndefined 7 | { 8 | /// 9 | /// Undefined value instance 10 | /// 11 | public static readonly object Instance = new NUndefined(); 12 | 13 | NUndefined() { } 14 | 15 | /// 16 | /// Returns string representation 17 | /// 18 | public override string ToString() 19 | { 20 | return "(Undefined)"; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /NReact/Elements/NUnset.cs: -------------------------------------------------------------------------------- 1 | #if XAML 2 | #if NETFX_CORE 3 | using Windows.UI.Xaml; 4 | #else 5 | using System.Windows; 6 | #endif 7 | #endif 8 | 9 | namespace NReact 10 | { 11 | /// 12 | /// Represents undefined value 13 | /// 14 | public static class NUnset 15 | { 16 | /// 17 | /// Unset dependency value constant 18 | /// 19 | #if XAML 20 | public static readonly object Instance = DependencyProperty.UnsetValue; 21 | #else 22 | public static readonly object Instance = new object(); 23 | #endif 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /generators/NReact.Generator.WPF/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using Microsoft.Win32; 4 | 5 | namespace NReact 6 | { 7 | class Program 8 | { 9 | [STAThread] 10 | static void Main(string[] args) 11 | { 12 | var f = new Generator().Generate(); 13 | var dialog = new SaveFileDialog { FileName = "NProps.generated.WPF.cs" }; 14 | if (dialog.ShowDialog() == true) 15 | { 16 | using (var s = dialog.OpenFile()) 17 | using (var sw = new StreamWriter(s)) 18 | sw.Write(f); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /generators/NReact.Generator.iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Windows.Forms; 4 | 5 | namespace NReact 6 | { 7 | class Program 8 | { 9 | [STAThread] 10 | static void Main(string[] args) 11 | { 12 | var f = new Generator().Generate(); 13 | var dialog = new SaveFileDialog { FileName = "NProps.generated.iOS.cs" }; 14 | if (dialog.ShowDialog() == DialogResult.OK) 15 | { 16 | using (var s = dialog.OpenFile()) 17 | using (var sw = new StreamWriter(s)) 18 | sw.Write(f); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /generators/NReact.Generator.Droid/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Windows.Forms; 4 | 5 | namespace NReact 6 | { 7 | class Program 8 | { 9 | [STAThread] 10 | static void Main(string[] args) 11 | { 12 | var f = new Generator().Generate(); 13 | var dialog = new SaveFileDialog { FileName = "NProps.generated.Droid.cs" }; 14 | if (dialog.ShowDialog() == DialogResult.OK) 15 | { 16 | using (var s = dialog.OpenFile()) 17 | using (var sw = new StreamWriter(s)) 18 | sw.Write(f); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /generators/NReact.Generator.XForms/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Windows.Forms; 4 | 5 | namespace NReact 6 | { 7 | class Program 8 | { 9 | [STAThread] 10 | static void Main(string[] args) 11 | { 12 | var f = new Generator().Generate(); 13 | var dialog = new SaveFileDialog { FileName = "NProps.generated.XForms.cs" }; 14 | if (dialog.ShowDialog() == DialogResult.OK) 15 | { 16 | using (var s = dialog.OpenFile()) 17 | using (var sw = new StreamWriter(s)) 18 | sw.Write(f); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /demos.old/3. OrderForm.Wpf/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace NReact.Demos 4 | { 5 | public partial class App : Application 6 | { 7 | void Application_Startup(object sender, StartupEventArgs e) 8 | { 9 | MainWindow.Render(new NServiceChooser 10 | { 11 | Items = new[] { new { Name = "Web Development", Price = 300 }, 12 | new { Name = "Design", Price = 400 }, 13 | new { Name = "Integration", Price = 250 }, 14 | new { Name = "Traning", Price = 220 } } 15 | }); 16 | MainWindow.Show(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /NReact/Props/NContentProperty.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace NReact 4 | { 5 | /// 6 | /// Provides mapping between types and their content properties 7 | /// 8 | public class NContentProperty 9 | { 10 | public NContentProperty Content(Type type, NProperty content) 11 | { 12 | _items[type] = content; 13 | return this; 14 | } 15 | 16 | public NContentProperty Content(NProperty content) 17 | { 18 | return Content(typeof(T), content); 19 | } 20 | 21 | public NProperty this[Type type] { get { return _items[type]; } } 22 | NTypedBag _items; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /NReact/Converters/NBrushes.cs: -------------------------------------------------------------------------------- 1 | #if XAML 2 | #if NETFX_CORE 3 | using Windows.UI.Xaml; 4 | using Windows.UI.Xaml.Media; 5 | #else 6 | using System; 7 | using System.Windows; 8 | using System.Windows.Media; 9 | #endif 10 | 11 | namespace NReact 12 | { 13 | static partial class NConverters 14 | { 15 | public static object ToBrush(object value) 16 | { 17 | return ToBrushT(value); 18 | } 19 | 20 | public static Brush ToBrushT(object value) 21 | { 22 | var result = value as Brush; 23 | if (result != null) 24 | return result; 25 | 26 | return new SolidColorBrush(ToColorT(value)); 27 | } 28 | } 29 | } 30 | #endif -------------------------------------------------------------------------------- /demos.old/NReact.WPF.ToDo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | 4 | namespace NReact 5 | { 6 | /// 7 | /// Interaction logic for App.xaml 8 | /// 9 | public partial class App : Application 10 | { 11 | ToDoApp _todoApp = new ToDoApp(); 12 | void Application_Startup(object sender, StartupEventArgs e) 13 | { 14 | MainWindow.Render(_todoApp); 15 | MainWindow.Show(); 16 | } 17 | 18 | void Window_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e) 19 | { 20 | NDispatcher.Default.Enqueue(() => _todoApp.AddNewItem("From " + DateTime.Now)); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /generators/NReact.Generator.SL/Properties/OutOfBrowserSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | NReact2.Generator.SL Application on your desktop; at home, at work or on the go. 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.WPF/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows; 3 | 4 | namespace NReact.Demos 5 | { 6 | class Program 7 | { 8 | [STAThread] 9 | static void Main(string[] args) 10 | { 11 | var app = new Application(); 12 | app.MainWindow = Test1(app); 13 | //app.MainWindow = Test2(app); 14 | app.Run(); 15 | } 16 | 17 | static Window Test1(Application app) 18 | { 19 | var window = new Window { Visibility = Visibility.Visible }; 20 | window.Render(new Demo1()); 21 | return window; 22 | } 23 | 24 | static Window Test2(Application app) 25 | { 26 | var window = new Window { Visibility = Visibility.Visible }; 27 | window.Render(new Demo2()); 28 | return window; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /demos.old/3. OrderForm.Wpf/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /NReact/Utils/Shims.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | #if NETFX_CORE || XFORMS 3 | using System.Reflection; 4 | #endif 5 | #if NETFX_CORE 6 | using Windows.UI.Core; 7 | #endif 8 | 9 | namespace NReact 10 | { 11 | static class Shims 12 | { 13 | #if NETFX_CORE || XFORMS 14 | public static bool IsSubclassOf(this Type type, Type check) 15 | { 16 | return type.GetTypeInfo().IsSubclassOf(check); 17 | } 18 | #endif 19 | 20 | #if NETFX_CORE 21 | public static bool CheckAccess(this CoreDispatcher dispatcher) 22 | { 23 | return dispatcher.HasThreadAccess; 24 | } 25 | 26 | public static void BeginInvoke(this CoreDispatcher dispatcher, Action action, T arg) 27 | { 28 | #pragma warning disable CS4014 29 | dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => action(arg)); 30 | #pragma warning restore CS4014 31 | } 32 | #endif 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /NReact/Utils/Ctor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using E = System.Linq.Expressions.Expression; 3 | 4 | namespace NReact 5 | { 6 | static class Ctor 7 | { 8 | #if NO_EMIT 9 | public static readonly Func New = Activator.CreateInstance; 10 | #else 11 | public static readonly Func New = E.Lambda>(E.New(typeof(T))).Compile(); 12 | #endif 13 | } 14 | 15 | #if DROID 16 | static class CtxCtor 17 | { 18 | public static readonly Func New = CreateCtxCtor(); 19 | 20 | static Func CreateCtxCtor() 21 | { 22 | var ctr = typeof(T).GetConstructor(new[] { typeof(Android.Content.Context) }); 23 | if (ctr == null) return null; 24 | var ctx = E.Parameter(typeof(Android.Content.Context)); 25 | return E.Lambda>(E.New(ctr, ctx), ctx).Compile(); 26 | } 27 | } 28 | #endif 29 | } 30 | -------------------------------------------------------------------------------- /NReact/Patcher/NPatch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace NReact 4 | { 5 | abstract partial class NPatch 6 | { 7 | public abstract object Apply(object target); 8 | 9 | public static void Finalize(object value) 10 | { 11 | if (value == null) return; 12 | 13 | var e = value as NElement; 14 | if (e != null) 15 | e.Free(); 16 | else 17 | { 18 | var a = value as NElement[]; 19 | 20 | if (a != null) 21 | for (var i = 0; i < a.Length; i++) 22 | a[i].Free(); 23 | } 24 | } 25 | 26 | public static readonly NPatch AssignNewValue = new NConstPatch(); 27 | 28 | class NConstPatch : NPatch 29 | { 30 | public override object Apply(object target) 31 | { 32 | throw new NotSupportedException(); 33 | } 34 | } 35 | 36 | internal static bool ElementEquals(NElement a, NElement b) 37 | { 38 | return a.GetXamlType() == b.GetXamlType() && Equals(a._key, b._key); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /generators/NReact.Generator.SL/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Windows; 3 | using System.Windows.Controls; 4 | 5 | namespace NReact 6 | { 7 | public partial class App : Application 8 | { 9 | public App() 10 | { 11 | Startup += Application_Startup; 12 | 13 | InitializeComponent(); 14 | } 15 | 16 | void Application_Startup(object sender, StartupEventArgs args) 17 | { 18 | RootVisual = new Grid { Children = { new TextBlock { Text = "NReact Generator", HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center } } }; 19 | Save(); 20 | } 21 | 22 | void Save() 23 | { 24 | var f = new Generator().Generate(); 25 | var dialog = new SaveFileDialog { DefaultFileName = "NProps.generated.SL.cs" }; 26 | if (dialog.ShowDialog() == true) 27 | { 28 | using (var s = dialog.OpenFile()) 29 | using (var sw = new StreamWriter(s)) 30 | sw.Write(f); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Windows.ApplicationModel.Activation; 4 | using Windows.Storage; 5 | using Windows.Storage.Pickers; 6 | using Windows.UI.Xaml; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace NReact 10 | { 11 | sealed partial class App : Application 12 | { 13 | public App() 14 | { 15 | InitializeComponent(); 16 | } 17 | 18 | protected override async void OnLaunched(LaunchActivatedEventArgs args) 19 | { 20 | Window.Current.Content = new Button(); 21 | Window.Current.Activate(); 22 | 23 | var dialog = new FileSavePicker { SuggestedStartLocation = PickerLocationId.DocumentsLibrary, FileTypeChoices = { { "C# File", new List() { ".cs" } } }, SuggestedFileName = "NProps.generated.WRT.cs" }; 24 | 25 | var file = await dialog.PickSaveFileAsync(); 26 | if (file != null) 27 | await FileIO.WriteTextAsync(file, new Generator().Generate()); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Windows.ApplicationModel.Activation; 4 | using Windows.Storage; 5 | using Windows.Storage.Pickers; 6 | using Windows.UI.Xaml; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace NReact 10 | { 11 | sealed partial class App : Application 12 | { 13 | public App() 14 | { 15 | InitializeComponent(); 16 | } 17 | 18 | protected override async void OnLaunched(LaunchActivatedEventArgs e) 19 | { 20 | Window.Current.Content = new TextBlock { Text = "NReact generator" }; 21 | Window.Current.Activate(); 22 | 23 | var dialog = new FileSavePicker 24 | { 25 | SuggestedStartLocation = PickerLocationId.DocumentsLibrary, 26 | FileTypeChoices = { { "C# File", new List() { ".cs" } } }, 27 | SuggestedFileName = "NProps.generated.UWP.cs" 28 | }; 29 | 30 | var file = await dialog.PickSaveFileAsync(); 31 | if (file != null) 32 | await FileIO.WriteTextAsync(file, new Generator().Generate()); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /NReact/NReact.Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15fb086d-8a41-4931-8d1f-da0d673e2c23 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Lex Lavnikov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /demos.old/2. MenuExample.Wpf/App.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 17 | 18 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("NReact.UWP.Demo2")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NReact.UWP.Demo2")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("NReact2.Demo1.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NReact2.Demo1.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /demos.old/2. MenuExample.Wpf/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace NReact.Demos.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("NReact.Xaml.Demo.Windows")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NReact.Xaml.Demo.Windows")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.WindowsPhone/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("NReact.Xaml.Demo.WindowsPhone")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NReact.Xaml.Demo.WindowsPhone")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT/Package.appxmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NReact2.Generator.WRT 6 | alavnikov 7 | Assets\StoreLogo.png 8 | 9 | 10 | 6.3.0 11 | 6.3.0 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /demos.old/NReact.UWP.Demo/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.UWP/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /generators/NReact.Generator.UWP/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /demos.old/NReact.WPF.Timer/NTimer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Windows; 4 | using System.Windows.Controls; 5 | 6 | namespace NReact 7 | { 8 | public class NTimer : NClass 9 | { 10 | public static class Properties 11 | { 12 | public static readonly int Start = NProps.Store["Start"]; 13 | public static readonly int Now = NProps.Store["Now"]; 14 | } 15 | 16 | protected DateTime Start { get { return GetState(Properties.Start, DateTime.MinValue); } set { SetState(Properties.Start, value); } } 17 | protected DateTime Now { get { return GetState(Properties.Now, DateTime.MinValue); } set { SetState(Properties.Now, value); } } 18 | 19 | Timer _timer; 20 | protected override void InitState() 21 | { 22 | Start = DateTime.Now; 23 | Now = DateTime.Now; 24 | } 25 | 26 | protected override void ComponentDidMount() 27 | { 28 | _timer = new Timer(UpdateTime, null, 0, 10); 29 | } 30 | 31 | protected override void ComponentWillUnmount() 32 | { 33 | _timer.Dispose(); 34 | } 35 | 36 | void UpdateTime(object state) 37 | { 38 | Now = DateTime.Now; 39 | } 40 | 41 | public override object Render() 42 | { 43 | return 44 | New(NewProps.Alignment(HorizontalAlignment.Center).Alignment(VerticalAlignment.Center).FontSize(24.5). 45 | Text((Now - Start).ToString("s'.'fff"))); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /generators/NReact.Generator.Droid/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /generators/NReact.Generator.iOS/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /demos.old/NReact.Xaml.Demo.Windows/Package.appxmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | NReact.Xaml.Demo.Windows 10 | Lex 11 | Assets\StoreLogo.png 12 | 13 | 14 | 15 | 6.3.0 16 | 6.3.0 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 27 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.SL/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("NReact2.Demo1.SL")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NReact2.Demo1.SL")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("30e6ab0b-b6b1-4a04-91de-5de55d4a70bc")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /demos.old/NReact.WPF.ToDo/ToDoApp.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Collections; 3 | using System.Windows; 4 | using System.Windows.Controls; 5 | using System.Collections.Generic; 6 | using System.Windows.Media; 7 | 8 | namespace NReact 9 | { 10 | public class ToDoTask : NClass 11 | { 12 | public override object Render() 13 | { 14 | throw new System.NotImplementedException(); 15 | } 16 | } 17 | 18 | public class ToDoApp : NClass 19 | { 20 | static readonly int idItems = NProps.Store["Items"]; 21 | 22 | public IEnumerable Items { get { return GetProp(idItems, Enumerable.Empty()); } set { SetProp(idItems, value); } } 23 | 24 | void TextChanged(object sender) 25 | { 26 | 27 | } 28 | 29 | public override object Render() 30 | { 31 | return 32 | New(NewProps.Alignment(HorizontalAlignment.Center).TextOptions(TextFormattingMode.Display), 33 | Items.Select((i, idx) => 34 | New(NewProps. 35 | TextChanged(TextChanged). 36 | Text(i + " #" + idx). 37 | Key(idx). 38 | Alignment(HorizontalAlignment.Center). 39 | FontSize(idx * 5 + 10). 40 | Foreground((idx * 8), ((idx * 8) << 8), ((idx * 8) << 16)))) 41 | ); 42 | } 43 | 44 | public void AddNewItem(string item) 45 | { 46 | if (Items.Any()) 47 | Items = Items.Concat(new[] { item }); 48 | else 49 | Items = new[] { item }; 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /generators/NReact.Generator.WRT.Phone/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using Windows.ApplicationModel.Activation; 5 | using Windows.Storage; 6 | using Windows.Storage.Pickers; 7 | using Windows.UI.Xaml; 8 | using Windows.UI.Xaml.Controls; 9 | 10 | namespace NReact 11 | { 12 | public sealed partial class App : Application 13 | { 14 | public App() 15 | { 16 | InitializeComponent(); 17 | } 18 | 19 | protected override void OnLaunched(LaunchActivatedEventArgs args) 20 | { 21 | var btn = new Button 22 | { 23 | Content = "NReact generator", 24 | HorizontalAlignment = HorizontalAlignment.Center, 25 | VerticalAlignment = VerticalAlignment.Center 26 | }; 27 | btn.Click += (s, e) => Save(); 28 | Window.Current.Content = btn; 29 | Window.Current.Activate(); 30 | } 31 | 32 | void Save() 33 | { 34 | new FileSavePicker 35 | { 36 | SuggestedStartLocation = PickerLocationId.DocumentsLibrary, 37 | FileTypeChoices = { { "C# File", new List() { ".cs" } } }, 38 | SuggestedFileName = "NProps.generated.WRT.Phone.cs" 39 | }.PickSaveFileAndContinue(); 40 | } 41 | 42 | protected override async void OnActivated(IActivatedEventArgs args) 43 | { 44 | base.OnActivated(args); 45 | 46 | var f = args as FileSavePickerContinuationEventArgs; 47 | if (f != null) 48 | { 49 | await FileIO.WriteTextAsync(f.File, new Generator().Generate()); 50 | } 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /demos/NReact2.Demo1.WPF/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("NReact2.WPF.Demo1")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("NReact2.WPF.Demo1")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("1eba2451-c372-4bf9-b6ef-dd1e603c5f52")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /NReact/Elements/NXaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace NReact 4 | { 5 | /// 6 | /// Generic NReact Xaml element 7 | /// 8 | /// Xaml type to represent 9 | public class NXaml : NElement 10 | #if !DROID 11 | where T : new() 12 | #endif 13 | { 14 | public NXaml() { } 15 | 16 | public NXaml(object key) { _key = key; } 17 | 18 | internal override object CreateXaml() 19 | { 20 | #if DROID 21 | var ctr = CtxCtor.New; 22 | if (ctr != null) 23 | return ctr(Context); 24 | #endif 25 | return Ctor.New(); 26 | } 27 | 28 | public override Type GetXamlType() 29 | { 30 | return typeof(T); 31 | } 32 | } 33 | 34 | /// 35 | /// Parameterizable NReact Xaml element 36 | /// 37 | public class NXaml : NElement 38 | { 39 | /// 40 | /// Indicates type of the Xaml element to represent 41 | /// 42 | public readonly Type Type; 43 | 44 | /// 45 | /// Initializes new NXaml instance 46 | /// 47 | /// Specifies type of the Xaml element to represent 48 | public NXaml(Type type) 49 | { 50 | Type = type; 51 | } 52 | 53 | public NXaml(Type type, object key) : this(type) 54 | { 55 | _key = key; 56 | } 57 | 58 | internal override object CreateXaml() 59 | { 60 | return Activator.CreateInstance(Type); 61 | } 62 | 63 | public override Type GetXamlType() 64 | { 65 | return Type; 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /demos/NReact2.Demo1.WPF/Demo1.cs: -------------------------------------------------------------------------------- 1 | using System.Threading; 2 | #if NETFX_CORE 3 | using Windows.UI; 4 | using Windows.UI.Xaml; 5 | using Windows.UI.Xaml.Controls; 6 | #else 7 | using System.Windows; 8 | using System.Windows.Controls; 9 | using System.Windows.Media; 10 | #endif 11 | 12 | namespace NReact 13 | { 14 | using static NFactory; 15 | 16 | class Demo1 : NClass 17 | { 18 | Timer _timer; 19 | 20 | protected override void Loaded() 21 | { 22 | _timer = new Timer(i => FontSize += 0.1, null, 0, 10); 23 | } 24 | 25 | protected override void Unloaded() 26 | { 27 | _timer.Dispose(); 28 | } 29 | 30 | public double FontSize { get { return Get(Properties.FontSize, 10.0); } set { Set(Properties.FontSize, value); } } 31 | 32 | public override NElement Render() 33 | { 34 | if (FontSize > 15) 35 | return new NXaml(). 36 | Alignment(HorizontalAlignment.Stretch, VerticalAlignment.Stretch). 37 | BorderThickness(10). 38 | BorderBrush("Red"). 39 | Child( 40 | new NXaml