Skip to content

Fsharp examples #20

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -328,4 +328,8 @@ ASALocalRun/
# MFractors (Xamarin productivity tool) working folder
.mfractor/

**/*.qmlc
**/*.qmlc

# VS Code
.ionide
.vscode
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,80 +1,80 @@
using Qml.Net;
using System;
namespace Features
{
public class CalculatorModel
{
private bool _isValid = false;
private string _computedResult = "";
[NotifySignal]
public string ComputedResult
{
get
{
return _computedResult;
}
set
{
if (_computedResult == value)
{
// No signal is raised, Qml doesn't update any bound properties.
return;
}
_computedResult = value;
this.ActivateSignal("computedResultChanged");
}
}
[NotifySignal]
public bool IsValid
{
get
{
return _isValid;
}
set
{
if (_isValid == value)
{
// No signal is raised, Qml doesn't update any bound properties.
return;
}
_isValid = value;
this.ActivateSignal("isValidChanged");
}
}
public void Add(string inputValue1, string inputValue2)
{
ComputedResult = Convert.ToString(decimal.Parse(inputValue1) + decimal.Parse(inputValue2));
}
public void Subtract(string inputValue1, string inputValue2)
{
ComputedResult = Convert.ToString(decimal.Parse(inputValue1) - decimal.Parse(inputValue2));
}
public void Multiply(string inputValue1, string inputValue2)
{
ComputedResult = Convert.ToString(decimal.Parse(inputValue1) * decimal.Parse(inputValue2));
}
public void Divide(string inputValue1, string inputValue2)
{
var value1 = decimal.Parse(inputValue1);
var value2 = decimal.Parse(inputValue2);
if (value2 == 0)
{
ComputedResult = $"Cannot devide by zero.";
return;
}
ComputedResult = Convert.ToString(value1 / value2);
}
}
using Qml.Net;
using System;

namespace Features
{
public class CalculatorModel
{
private bool _isValid = false;
private string _computedResult = "";

[NotifySignal]
public string ComputedResult
{
get
{
return _computedResult;
}
set
{
if (_computedResult == value)
{
// No signal is raised, Qml doesn't update any bound properties.
return;
}

_computedResult = value;
this.ActivateSignal("computedResultChanged");
}
}

[NotifySignal]
public bool IsValid
{
get
{
return _isValid;
}
set
{
if (_isValid == value)
{
// No signal is raised, Qml doesn't update any bound properties.
return;
}

_isValid = value;
this.ActivateSignal("isValidChanged");
}
}

public void Add(string inputValue1, string inputValue2)
{
ComputedResult = Convert.ToString(decimal.Parse(inputValue1) + decimal.Parse(inputValue2));
}

public void Subtract(string inputValue1, string inputValue2)
{
ComputedResult = Convert.ToString(decimal.Parse(inputValue1) - decimal.Parse(inputValue2));
}

public void Multiply(string inputValue1, string inputValue2)
{
ComputedResult = Convert.ToString(decimal.Parse(inputValue1) * decimal.Parse(inputValue2));
}

public void Divide(string inputValue1, string inputValue2)
{
var value1 = decimal.Parse(inputValue1);
var value2 = decimal.Parse(inputValue2);

if (value2 == 0)
{
ComputedResult = $"Cannot devide by zero.";
return;
}

ComputedResult = Convert.ToString(value1 / value2);
}
}
}
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
<PackageReference Include="Qml.Net.WindowsBinaries" Version="0.11.0" />
</ItemGroup>
<ItemGroup>
<Content Include="images\**" CopyToPublishDirectory="Always" />
<Content Include="pages\**" CopyToPublishDirectory="Always" />
<Content Include="Main.qml" CopyToPublishDirectory="Always" />
<ProjectReference Include="..\Features.Common\Features.Common.csproj" />
</ItemGroup>
</Project>
File renamed without changes.
4 changes: 3 additions & 1 deletion src/Features/Program.cs → src/Features.CSharp/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class Program
static int Main(string[] args)
{
RuntimeManager.DiscoverOrDownloadSuitableQtRuntime();

QQuickStyle.SetStyle("Material");

using (var application = new QGuiApplication(args))
Expand All @@ -25,6 +25,8 @@ static int Main(string[] args)
Qml.Net.Qml.RegisterType<CalculatorModel>("Features");
Qml.Net.Qml.RegisterType<CollectionsModel>("Features");

string binaryPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
Directory.SetCurrentDirectory(binaryPath);
qmlEngine.Load("Main.qml");

return application.Exec();
Expand Down
File renamed without changes.
13 changes: 13 additions & 0 deletions src/Features.Common/Features.Common.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<Content Include="images\**" CopyToPublishDirectory="Always" CopyToOutputDirectory="Always" />
<Content Include="pages\**" CopyToPublishDirectory="Always" CopyToOutputDirectory="Always" />
<Content Include="Main.qml" CopyToPublishDirectory="Always" CopyToOutputDirectory="Always" />
</ItemGroup>

</Project>
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Loading