Setup samples base
This commit is contained in:
parent
a6d5693151
commit
9cc0767772
5 changed files with 137 additions and 0 deletions
37
Source/Samples/MainWindow.cs
Normal file
37
Source/Samples/MainWindow.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
using System;
|
||||
using Gtk;
|
||||
using UI = Gtk.Builder.ObjectAttribute;
|
||||
|
||||
namespace Samples
|
||||
{
|
||||
class MainWindow : Window
|
||||
{
|
||||
#pragma warning disable 0649
|
||||
[UI] private Label _label1;
|
||||
[UI] private Button _button1;
|
||||
#pragma warning restore 0649
|
||||
|
||||
private int _counter;
|
||||
|
||||
public MainWindow() : this(new Builder("MainWindow.glade")) { }
|
||||
|
||||
private MainWindow(Builder builder) : base(builder.GetObject("MainWindow").Handle)
|
||||
{
|
||||
builder.Autoconnect(this);
|
||||
|
||||
DeleteEvent += Window_DeleteEvent;
|
||||
_button1.Clicked += Button1_Clicked;
|
||||
}
|
||||
|
||||
private void Window_DeleteEvent(object sender, DeleteEventArgs a)
|
||||
{
|
||||
Application.Quit();
|
||||
}
|
||||
|
||||
private void Button1_Clicked(object sender, EventArgs a)
|
||||
{
|
||||
_counter++;
|
||||
_label1.Text = "Hello World! This button has been clicked " + _counter + " time(s).";
|
||||
}
|
||||
}
|
||||
}
|
46
Source/Samples/MainWindow.glade
Normal file
46
Source/Samples/MainWindow.glade
Normal file
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.18"/>
|
||||
<object class="GtkWindow" id="MainWindow">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="title" translatable="yes">Example Window</property>
|
||||
<property name="default_width">480</property>
|
||||
<property name="default_height">240</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="margin_left">4</property>
|
||||
<property name="margin_right">4</property>
|
||||
<property name="margin_top">4</property>
|
||||
<property name="margin_bottom">4</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="_label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Hello World!</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="_button1">
|
||||
<property name="label" translatable="yes">Click me!</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
23
Source/Samples/Program.cs
Normal file
23
Source/Samples/Program.cs
Normal file
|
@ -0,0 +1,23 @@
|
|||
using System;
|
||||
using Gtk;
|
||||
|
||||
namespace Samples
|
||||
{
|
||||
class Program
|
||||
{
|
||||
[STAThread]
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
Application.Init();
|
||||
|
||||
var app = new Application("org.Samples.Samples", GLib.ApplicationFlags.None);
|
||||
app.Register(GLib.Cancellable.Current);
|
||||
|
||||
var win = new MainWindow();
|
||||
app.AddWindow(win);
|
||||
|
||||
win.Show();
|
||||
Application.Run();
|
||||
}
|
||||
}
|
||||
}
|
17
Source/Samples/Samples.csproj
Normal file
17
Source/Samples/Samples.csproj
Normal file
|
@ -0,0 +1,17 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<OutputPath>..\..\BuildOutput\Samples</OutputPath>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<None Remove="**\*.glade" />
|
||||
<EmbeddedResource Include="**\*.glade">
|
||||
<LogicalName>%(Filename)%(Extension)</LogicalName>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Libs\GtkSharp\GtkSharp.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
14
build.cake
14
build.cake
|
@ -81,6 +81,20 @@ Task("Build")
|
|||
}
|
||||
});
|
||||
|
||||
Task("RunSamples")
|
||||
.IsDependentOn("Build")
|
||||
.Does(() =>
|
||||
{
|
||||
var settings = new DotNetCoreBuildSettings
|
||||
{
|
||||
Configuration = "Release",
|
||||
MSBuildSettings = msbuildsettings
|
||||
};
|
||||
|
||||
DotNetCoreBuild("Source/Samples/Samples.csproj", settings);
|
||||
DotNetCoreRun("Source/Samples/Samples.csproj");
|
||||
});
|
||||
|
||||
Task("PackageNuGet")
|
||||
.IsDependentOn("Build")
|
||||
.Does(() =>
|
||||
|
|
Loading…
Reference in a new issue