summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Client/Client.csproj61
-rw-r--r--Client/MainWindow.cs35
-rw-r--r--Client/Program.cs16
-rw-r--r--Client/Properties/AssemblyInfo.cs26
-rw-r--r--Client/TcpChatClient.cs69
-rw-r--r--Client/gtk-gui/MainWindow.cs179
-rw-r--r--Client/gtk-gui/generated.cs30
-rw-r--r--Client/gtk-gui/gui.stetic187
-rw-r--r--TcpChatX.sln2
-rw-r--r--TcpChatX.userprefs1
-rw-r--r--packages/Xwt.0.2.40/LICENSE.txt21
-rw-r--r--packages/Xwt.0.2.40/README.markdown221
-rw-r--r--packages/Xwt.0.2.40/Xwt.0.2.40.nupkgbin177505 -> 0 bytes
-rw-r--r--packages/Xwt.0.2.40/lib/net40/Xwt.dllbin414720 -> 0 bytes
-rw-r--r--packages/Xwt.Gtk.0.2.40/LICENSE.txt21
-rw-r--r--packages/Xwt.Gtk.0.2.40/README.markdown221
-rw-r--r--packages/Xwt.Gtk.0.2.40/Xwt.Gtk.0.2.40.nupkgbin138439 -> 0 bytes
-rw-r--r--packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.dll.config22
-rw-r--r--packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.props10
-rw-r--r--packages/Xwt.Gtk.0.2.40/lib/net40/Xwt.Gtk.dllbin286720 -> 0 bytes
20 files changed, 604 insertions, 518 deletions
diff --git a/Client/Client.csproj b/Client/Client.csproj
new file mode 100644
index 0000000..f0d2993
--- /dev/null
+++ b/Client/Client.csproj
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectGuid>{73154F68-BBEB-48FC-86C4-BB4909C1C7B4}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <RootNamespace>Client</RootNamespace>
+ <AssemblyName>Client</AssemblyName>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug</OutputPath>
+ <DefineConstants>DEBUG;</DefineConstants>
+ <WarningLevel>4</WarningLevel>
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release</OutputPath>
+ <WarningLevel>4</WarningLevel>
+ <PlatformTarget>x86</PlatformTarget>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="gtk-sharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+ <SpecificVersion>False</SpecificVersion>
+ </Reference>
+ <Reference Include="gdk-sharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+ <SpecificVersion>False</SpecificVersion>
+ </Reference>
+ <Reference Include="glib-sharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+ <SpecificVersion>False</SpecificVersion>
+ </Reference>
+ <Reference Include="glade-sharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+ <SpecificVersion>False</SpecificVersion>
+ </Reference>
+ <Reference Include="pango-sharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+ <SpecificVersion>False</SpecificVersion>
+ </Reference>
+ <Reference Include="atk-sharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+ <SpecificVersion>False</SpecificVersion>
+ </Reference>
+ <Reference Include="Mono.Posix" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="gtk-gui\gui.stetic">
+ <LogicalName>gui.stetic</LogicalName>
+ </EmbeddedResource>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="gtk-gui\generated.cs" />
+ <Compile Include="MainWindow.cs" />
+ <Compile Include="gtk-gui\MainWindow.cs" />
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="TcpChatClient.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file
diff --git a/Client/MainWindow.cs b/Client/MainWindow.cs
new file mode 100644
index 0000000..22564ac
--- /dev/null
+++ b/Client/MainWindow.cs
@@ -0,0 +1,35 @@
+using System;
+using Gtk;
+using Client;
+
+public partial class MainWindow : Gtk.Window
+{
+ TcpChatClient tcpChat;
+
+ public MainWindow() : base(Gtk.WindowType.Toplevel)
+ {
+ Build();
+ tcpChat = new TcpChatClient();
+ tcpChat.PropertyChanged += (sender, args) =>
+ outputTv.Buffer.Text = tcpChat.Log;
+ }
+
+ protected void OnDeleteEvent(object sender, DeleteEventArgs a)
+ {
+ Application.Quit();
+ a.RetVal = true;
+ }
+
+ protected async void Connect(object sender, EventArgs e)
+ {
+ await tcpChat.Connect(ipEntry.Text, Int32.Parse(portEntry.Text));
+ tcpChat.SendMessage($"{usernameEntry.Text} connected.");
+ }
+
+ protected void SendMessage(object sender, EventArgs e)
+ {
+ string message = $"{usernameEntry.Text}: {messageEntry.Text}";
+ tcpChat.SendMessage(message);
+ messageEntry.Text = "";
+ }
+}
diff --git a/Client/Program.cs b/Client/Program.cs
new file mode 100644
index 0000000..22bf2bb
--- /dev/null
+++ b/Client/Program.cs
@@ -0,0 +1,16 @@
+using System;
+using Gtk;
+
+namespace Client
+{
+ class MainClass
+ {
+ public static void Main(string[] args)
+ {
+ Application.Init();
+ MainWindow win = new MainWindow();
+ win.Show();
+ Application.Run();
+ }
+ }
+}
diff --git a/Client/Properties/AssemblyInfo.cs b/Client/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..7614f1a
--- /dev/null
+++ b/Client/Properties/AssemblyInfo.cs
@@ -0,0 +1,26 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+// Information about this assembly is defined by the following attributes.
+// Change them to the values specific to your project.
+
+[assembly: AssemblyTitle("Client")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("${AuthorCopyright}")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
+// The form "{Major}.{Minor}.*" will automatically update the build and revision,
+// and "{Major}.{Minor}.{Build}.*" will update just the revision.
+
+[assembly: AssemblyVersion("1.0.*")]
+
+// The following attributes are used to specify the signing key for the assembly,
+// if desired. See the Mono documentation for more information about signing.
+
+//[assembly: AssemblyDelaySign(false)]
+//[assembly: AssemblyKeyFile("")]
diff --git a/Client/TcpChatClient.cs b/Client/TcpChatClient.cs
new file mode 100644
index 0000000..e9d4b54
--- /dev/null
+++ b/Client/TcpChatClient.cs
@@ -0,0 +1,69 @@
+using System;
+using System.ComponentModel;
+using System.IO;
+using System.Net;
+using System.Net.Sockets;
+using System.Runtime.CompilerServices;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Client
+{
+ public class TcpChatClient : INotifyPropertyChanged
+ {
+ public int Port { get; set; }
+
+ private string log;
+ public string Log
+ {
+ get
+ {
+ return log;
+ }
+ set
+ {
+ log = value;
+ OnPropertyChanged();
+ }
+ }
+ public bool Status { get; set; }
+ private StreamReader sr;
+ private StreamWriter sw;
+
+ public TcpChatClient()
+ {
+ }
+
+ public async Task Connect(string ipAddress, int port)
+ {
+ TcpClient clientSocket = new TcpClient(ipAddress, port);
+ NetworkStream ns = clientSocket.GetStream();
+ sr = new StreamReader(ns);
+ sw = new StreamWriter(ns);
+ sw.AutoFlush = true;
+ Status = true;
+ await ReceiveMessageAsync();
+ }
+
+ public void SendMessage(string message)
+ {
+ sw.WriteLine(message);
+ }
+
+ private async Task ReceiveMessageAsync()
+ {
+ while (Status)
+ {
+ string message = await sr.ReadLineAsync();
+ Log += $"{message}\n";
+ }
+ }
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+}
diff --git a/Client/gtk-gui/MainWindow.cs b/Client/gtk-gui/MainWindow.cs
new file mode 100644
index 0000000..f123796
--- /dev/null
+++ b/Client/gtk-gui/MainWindow.cs
@@ -0,0 +1,179 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+
+public partial class MainWindow
+{
+ private global::Gtk.VBox vbox2;
+
+ private global::Gtk.HBox hbox2;
+
+ private global::Gtk.Label usernameLabel;
+
+ private global::Gtk.Entry usernameEntry;
+
+ private global::Gtk.Label ipLabel;
+
+ private global::Gtk.Entry ipEntry;
+
+ private global::Gtk.Label portLabel;
+
+ private global::Gtk.Entry portEntry;
+
+ private global::Gtk.Button connectButton;
+
+ private global::Gtk.ScrolledWindow GtkScrolledWindow;
+
+ private global::Gtk.TextView outputTv;
+
+ private global::Gtk.HBox hbox1;
+
+ private global::Gtk.Entry messageEntry;
+
+ private global::Gtk.Button sendButton;
+
+ protected virtual void Build()
+ {
+ global::Stetic.Gui.Initialize(this);
+ // Widget MainWindow
+ this.Name = "MainWindow";
+ this.Title = global::Mono.Unix.Catalog.GetString("TcpChat Client");
+ this.WindowPosition = ((global::Gtk.WindowPosition)(4));
+ this.BorderWidth = ((uint)(10));
+ // Container child MainWindow.Gtk.Container+ContainerChild
+ this.vbox2 = new global::Gtk.VBox();
+ this.vbox2.Name = "vbox2";
+ this.vbox2.Spacing = 6;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.hbox2 = new global::Gtk.HBox();
+ this.hbox2.Name = "hbox2";
+ this.hbox2.Spacing = 6;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.usernameLabel = new global::Gtk.Label();
+ this.usernameLabel.Name = "usernameLabel";
+ this.usernameLabel.LabelProp = global::Mono.Unix.Catalog.GetString("Username:");
+ this.hbox2.Add(this.usernameLabel);
+ global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.usernameLabel]));
+ w1.Position = 0;
+ w1.Expand = false;
+ w1.Fill = false;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.usernameEntry = new global::Gtk.Entry();
+ this.usernameEntry.CanFocus = true;
+ this.usernameEntry.Name = "usernameEntry";
+ this.usernameEntry.Text = global::Mono.Unix.Catalog.GetString("Marcin");
+ this.usernameEntry.IsEditable = true;
+ this.usernameEntry.InvisibleChar = '•';
+ this.hbox2.Add(this.usernameEntry);
+ global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.usernameEntry]));
+ w2.Position = 1;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.ipLabel = new global::Gtk.Label();
+ this.ipLabel.Name = "ipLabel";
+ this.ipLabel.LabelProp = global::Mono.Unix.Catalog.GetString("IP address:");
+ this.hbox2.Add(this.ipLabel);
+ global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.ipLabel]));
+ w3.Position = 2;
+ w3.Expand = false;
+ w3.Fill = false;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.ipEntry = new global::Gtk.Entry();
+ this.ipEntry.WidthRequest = 110;
+ this.ipEntry.CanFocus = true;
+ this.ipEntry.Name = "ipEntry";
+ this.ipEntry.Text = global::Mono.Unix.Catalog.GetString("127.0.0.1");
+ this.ipEntry.IsEditable = true;
+ this.ipEntry.InvisibleChar = '•';
+ this.hbox2.Add(this.ipEntry);
+ global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.ipEntry]));
+ w4.Position = 3;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.portLabel = new global::Gtk.Label();
+ this.portLabel.Name = "portLabel";
+ this.portLabel.LabelProp = global::Mono.Unix.Catalog.GetString("Port:");
+ this.hbox2.Add(this.portLabel);
+ global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.portLabel]));
+ w5.Position = 4;
+ w5.Expand = false;
+ w5.Fill = false;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.portEntry = new global::Gtk.Entry();
+ this.portEntry.WidthRequest = 50;
+ this.portEntry.CanFocus = true;
+ this.portEntry.Name = "portEntry";
+ this.portEntry.Text = global::Mono.Unix.Catalog.GetString("6789");
+ this.portEntry.IsEditable = true;
+ this.portEntry.InvisibleChar = '•';
+ this.hbox2.Add(this.portEntry);
+ global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.portEntry]));
+ w6.Position = 5;
+ // Container child hbox2.Gtk.Box+BoxChild
+ this.connectButton = new global::Gtk.Button();
+ this.connectButton.CanFocus = true;
+ this.connectButton.Name = "connectButton";
+ this.connectButton.UseUnderline = true;
+ this.connectButton.Label = global::Mono.Unix.Catalog.GetString("Connect");
+ this.hbox2.Add(this.connectButton);
+ global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.connectButton]));
+ w7.Position = 6;
+ w7.Expand = false;
+ w7.Fill = false;
+ this.vbox2.Add(this.hbox2);
+ global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2[this.hbox2]));
+ w8.Position = 0;
+ w8.Expand = false;
+ w8.Fill = false;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.GtkScrolledWindow = new global::Gtk.ScrolledWindow();
+ this.GtkScrolledWindow.Name = "GtkScrolledWindow";
+ this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1));
+ // Container child GtkScrolledWindow.Gtk.Container+ContainerChild
+ this.outputTv = new global::Gtk.TextView();
+ this.outputTv.CanFocus = true;
+ this.outputTv.Name = "outputTv";
+ this.outputTv.Editable = false;
+ this.GtkScrolledWindow.Add(this.outputTv);
+ this.vbox2.Add(this.GtkScrolledWindow);
+ global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.vbox2[this.GtkScrolledWindow]));
+ w10.Position = 1;
+ // Container child vbox2.Gtk.Box+BoxChild
+ this.hbox1 = new global::Gtk.HBox();
+ this.hbox1.Name = "hbox1";
+ this.hbox1.Spacing = 6;
+ // Container child hbox1.Gtk.Box+BoxChild
+ this.messageEntry = new global::Gtk.Entry();
+ this.messageEntry.CanFocus = true;
+ this.messageEntry.Name = "messageEntry";
+ this.messageEntry.IsEditable = true;
+ this.messageEntry.InvisibleChar = '•';
+ this.hbox1.Add(this.messageEntry);
+ global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.messageEntry]));
+ w11.Position = 0;
+ // Container child hbox1.Gtk.Box+BoxChild
+ this.sendButton = new global::Gtk.Button();
+ this.sendButton.CanFocus = true;
+ this.sendButton.Name = "sendButton";
+ this.sendButton.UseUnderline = true;
+ this.sendButton.Label = global::Mono.Unix.Catalog.GetString("Send");
+ this.hbox1.Add(this.sendButton);
+ global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.sendButton]));
+ w12.Position = 1;
+ w12.Expand = false;
+ w12.Fill = false;
+ this.vbox2.Add(this.hbox1);
+ global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox2[this.hbox1]));
+ w13.Position = 2;
+ w13.Expand = false;
+ w13.Fill = false;
+ this.Add(this.vbox2);
+ if ((this.Child != null))
+ {
+ this.Child.ShowAll();
+ }
+ this.DefaultWidth = 594;
+ this.DefaultHeight = 412;
+ this.Show();
+ this.DeleteEvent += new global::Gtk.DeleteEventHandler(this.OnDeleteEvent);
+ this.connectButton.Clicked += new global::System.EventHandler(this.Connect);
+ this.sendButton.Clicked += new global::System.EventHandler(this.SendMessage);
+ }
+}
diff --git a/Client/gtk-gui/generated.cs b/Client/gtk-gui/generated.cs
new file mode 100644
index 0000000..4842e95
--- /dev/null
+++ b/Client/gtk-gui/generated.cs
@@ -0,0 +1,30 @@
+
+// This file has been generated by the GUI designer. Do not modify.
+namespace Stetic
+{
+ internal class Gui
+ {
+ private static bool initialized;
+
+ internal static void Initialize(Gtk.Widget iconRenderer)
+ {
+ if ((Stetic.Gui.initialized == false))
+ {
+ Stetic.Gui.initialized = true;
+ }
+ }
+ }
+
+ internal class ActionGroups
+ {
+ public static Gtk.ActionGroup GetActionGroup(System.Type type)
+ {
+ return Stetic.ActionGroups.GetActionGroup(type.FullName);
+ }
+
+ public static Gtk.ActionGroup GetActionGroup(string name)
+ {
+ return null;
+ }
+ }
+}
diff --git a/Client/gtk-gui/gui.stetic b/Client/gtk-gui/gui.stetic
new file mode 100644
index 0000000..204b8b1
--- /dev/null
+++ b/Client/gtk-gui/gui.stetic
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<stetic-interface>
+ <configuration>
+ <images-root-path>..</images-root-path>
+ </configuration>
+ <import>
+ <widget-library name="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <widget-library name="../bin/Debug/Client.exe" internal="true" />
+ </import>
+ <widget class="Gtk.Window" id="MainWindow" design-size="594 412">
+ <property name="MemberName" />
+ <property name="Title" translatable="yes">TcpChat Client</property>
+ <property name="WindowPosition">CenterOnParent</property>
+ <property name="BorderWidth">10</property>
+ <signal name="DeleteEvent" handler="OnDeleteEvent" />
+ <child>
+ <widget class="Gtk.VBox" id="vbox2">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.HBox" id="hbox2">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Label" id="usernameLabel">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">Username:</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Entry" id="usernameEntry">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="Text" translatable="yes">Marcin</property>
+ <property name="IsEditable">True</property>
+ <property name="InvisibleChar">•</property>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Label" id="ipLabel">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">IP address:</property>
+ </widget>
+ <packing>
+ <property name="Position">2</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Entry" id="ipEntry">
+ <property name="MemberName" />
+ <property name="WidthRequest">110</property>
+ <property name="CanFocus">True</property>
+ <property name="Text" translatable="yes">127.0.0.1</property>
+ <property name="IsEditable">True</property>
+ <property name="InvisibleChar">•</property>
+ </widget>
+ <packing>
+ <property name="Position">3</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Label" id="portLabel">
+ <property name="MemberName" />
+ <property name="LabelProp" translatable="yes">Port:</property>
+ </widget>
+ <packing>
+ <property name="Position">4</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Entry" id="portEntry">
+ <property name="MemberName" />
+ <property name="WidthRequest">50</property>
+ <property name="CanFocus">True</property>
+ <property name="Text" translatable="yes">6789</property>
+ <property name="IsEditable">True</property>
+ <property name="InvisibleChar">•</property>
+ </widget>
+ <packing>
+ <property name="Position">5</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Button" id="connectButton">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="Type">TextOnly</property>
+ <property name="Label" translatable="yes">Connect</property>
+ <property name="UseUnderline">True</property>
+ <signal name="Clicked" handler="Connect" />
+ </widget>
+ <packing>
+ <property name="Position">6</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
+ <property name="MemberName" />
+ <property name="ShadowType">In</property>
+ <child>
+ <widget class="Gtk.TextView" id="outputTv">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="ShowScrollbars">True</property>
+ <property name="Editable">False</property>
+ <property name="Text" translatable="yes" />
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.HBox" id="hbox1">
+ <property name="MemberName" />
+ <property name="Spacing">6</property>
+ <child>
+ <widget class="Gtk.Entry" id="messageEntry">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="IsEditable">True</property>
+ <property name="InvisibleChar">•</property>
+ </widget>
+ <packing>
+ <property name="Position">0</property>
+ <property name="AutoSize">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="Gtk.Button" id="sendButton">
+ <property name="MemberName" />
+ <property name="CanFocus">True</property>
+ <property name="Type">TextOnly</property>
+ <property name="Label" translatable="yes">Send</property>
+ <property name="UseUnderline">True</property>
+ <signal name="Clicked" handler="SendMessage" />
+ </widget>
+ <packing>
+ <property name="Position">1</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="Position">2</property>
+ <property name="AutoSize">True</property>
+ <property name="Expand">False</property>
+ <property name="Fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+</stetic-interface> \ No newline at end of file
diff --git a/TcpChatX.sln b/TcpChatX.sln
index 66e9ea4..240b385 100644
--- a/TcpChatX.sln
+++ b/TcpChatX.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server", "Server\Server.csproj", "{8CB98A13-75A8-42B1-9E03-4FA3ABCEAA3B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client", "..\TcpChatGui\Client\Client.csproj", "{73154F68-BBEB-48FC-86C4-BB4909C1C7B4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client", "Client\Client.csproj", "{73154F68-BBEB-48FC-86C4-BB4909C1C7B4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/TcpChatX.userprefs b/TcpChatX.userprefs
index c461aec..269ef23 100644
--- a/TcpChatX.userprefs
+++ b/TcpChatX.userprefs
@@ -17,5 +17,4 @@
</MonoDevelop.Ide.DebuggingService.Breakpoints>
<MonoDevelop.Ide.DebuggingService.PinnedWatches />
<MultiItemStartupConfigurations />
- <MonoDevelop.Ide.ItemProperties.Client PreferredExecutionTarget="MonoDevelop.Default" />
</Properties> \ No newline at end of file
diff --git a/packages/Xwt.0.2.40/LICENSE.txt b/packages/Xwt.0.2.40/LICENSE.txt
deleted file mode 100644
index 170a488..0000000
--- a/packages/Xwt.0.2.40/LICENSE.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Xamarin, Inc
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/packages/Xwt.0.2.40/README.markdown b/packages/Xwt.0.2.40/README.markdown
deleted file mode 100644
index 54de416..0000000
--- a/packages/Xwt.0.2.40/README.markdown
+++ /dev/null
@@ -1,221 +0,0 @@
-This document is an introduction to XWT, a cross-platform UI toolkit
-for creating desktop applications.
-
-If you have any question about XWT or do you want to contribute
-a discussion group for XWT is available here:
-
-http://groups.google.com/group/xwt-list
-
-Introduction
-============
-
-Xwt is a new .NET framework for creating desktop applications that run
-on multiple platforms from the same codebase. Xwt works by exposing
-one unified API across all environments that is mapped to a set of
-native controls on each platform.
-
-This means that Xwt tends to focus on providing controls that will
-work across all platforms. However, that doesn't mean that the
-functionality available is a common denominator of all platforms.
-If a specific feature or widget is not available in the
-native framework of a platform, it will be emulated or implemented
-as a set of native widgets.
-
-Xwt can be used as a standalone framework to power the entire application
-or it can be embedded into an existing host. This allows developers
-to develop their "shell" using native components (for example a Ribbon
-on Windows, toolbars on Linux) and use Xwt for specific bits of the
-application, like dialog boxes or cross platform surfaces.
-
-Xwt works by creating an engine at runtime that will map to the
-underlying platform. These are the engines that are supported on
-each platform:
-
-* Windows: WPF engine, Gtk engine (using Gtk#)
-* MacOS X: Cocoa engine (using Xamarin.Mac) and Gtk engine (using Gtk#)
-* Linux: Gtk engine (using Gtk#)
-
-This means for example that you can write code for Xwt on Windows that
-can be hosted on an existing WPF application (like Visual Studio) or
-an existing Gtk# application (like MonoDevelop). Or on Mac, you can
-host Xwt on an existing Cocoa/Xamarin.Mac application or you can host it
-in our own MonoDevelop IDE.
-
-Getting Started
----------------
-
-Open the Xwt.sln with MonoDevelop (or VisualStudio on Windows) and
-build the solution. You should end up with the libraries that you
-can use in your project and a couple of sample applications.
-
-Using Xwt in your app
----------------------
-
-Based on your platform and the backend that you want to use, you need
-to pick the libraries that you want to use in your project.
-
-* Windows+WPF: Xwt.dll + Xwt.WPF.dll (requires WPF)
-* Windows+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#)
-* Linux+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#)
-* Mac+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#)
-* Mac+Cocoa: Xwt.dll + Xwt.XamMac.dll (requires Xamarin.Mac.dll)
-
-Hello World
------------
-
-To write your first application, create an empty .NET project in your
-favorite language in MonoDevelop or Visual Studio and reference the
-Xwt.dll library. This is the only library that you need to reference
-at compile time.
-
-This is the simplest Xwt program you can write:
-
- using System;
- using Xwt;
-
- class XwtDemo {
- [STAThread]
- static void Main ()
- {
- Application.Initialize (ToolkitType.Gtk);
- var mainWindow = new Window (){
- Title = "Xwt Demo Application",
- Width = 500,
- Height = 400
- };
- mainWindow.Show ();
- Application.Run ();
- mainWindow.Dispose ();
- }
- }
-
-You use the Application.Initialize() method to get the backend
-initialized. In this example we are using the Gtk backend. If you
-want to use another backend, just change the parameter provided
-to the Initialize() method. Also make sure the appropiate backend
-DLL is available in the application directory.
-
-Then we create an instance of the Window class, this class exposes two
-interesting properties, MainMenu which can be used to set the Window's
-main menu and "Content" which is of type "Widget" and allows you to
-add some content to the window.
-
-Finally, the Application.Run method is called to get the UI events
-processing going.
-
-Widget Class Hierarchy
-======================
-
-You will be using widgets to create the contents for your
-application. Xwt.Widget is the abstract base class from which all
-the other components are created.
-
-Some Widgets can contain other widgets, these are container widgets,
-and in Xwt those are Canvas, Paned, HBox, VBox and Table. The first
-two implement a box layout system, while the last one implements a
-Table layout that allows widgets to be attached to different
-anchor-points in a grid.
-
-The layout system uses an auto-sizing system similar to what is
-availble in Gtk and HTML allowing the user interface to grow or shrink
-based on the contents of the childrens on it.
-
-* XwtComponent
- * Menu
- * MenuItem
- * Widget
- * Box (Container)
- * HBox (Container)
- * VBox (Container)
- * Button
- * MenuButton
- * ToggleButton
- * Calendar
- * Canvas (Container)
- * Checkbox
- * ComboBox
- * Frame
- * ImageView
- * Label
- * ListView
- * NoteBook
- * Paned (Container)
- * HPaned (Container)
- * VPaned (Container)
- * ProgressBar
- * ScrollView
- * Separator
- * VSeparator
- * HSeparator
- * Table (Container)
- * TextEntry
- * TreeView
- * WindowFrame
- * Window
- * Dialog
-
-For example, the following attaches various labels and data entries to
-a Table:
-
- t = new Table ();
- t.Attach (new Label ("One:"), 0, 1, 0, 1);
- t.Attach (new TextEntry (), 1, 2, 0, 1);
- t.Attach (new Label ("Two:"), 0, 1, 1, 2);
- t.Attach (new TextEntry (), 1, 2, 1, 2);
- t.Attach (new Label ("Three:"), 0, 1, 2, 3);
- t.Attach (new TextEntry (), 1, 2, 2, 3);
-
-
-The Application Class
-=====================
-
-The Application class is a static class that provides services to run
-your application.
-
-Initialization
---------------
-
-The Application.Initialize API will instruct Xwt to initialize its
-binding to the native toolkit. You can pass an optional parameter to
-this method that specifies the full type name to load as the backend.
-
-For example, you can force the initialization of the backend to be
-specifically Gtk+ or specifically Xamarin.Mac based on MacOS. This is
-currently done like this:
-
- Application.Initialize ("Xwt.GtkBackend.GtkEngine, Xwt.Gtk, Version=1.0.0.0");
-
-or:
-
- Application.Initialize ("Xwt.Mac.MacEngine, Xwt.XamMac, Version=1.0.0.0");
-
-As you saw from the Hello World sample, toplevel windows are created
-by creating an instance of the "Xwt.Window" class. This class
-exposes a couple of properties that you can use to spice it up. The
-MainMenu property is used to control the contents of the application
-menus while the "Content" property is used to hold a Widget.
-
-Timers
-------
-
-The Application.TimeoutInvoke method takes a timespan and a Func<bool>
-action method and invokes that method in the main user interface
-loop.
-
-If the provided function returns true, then the timer is restarted,
-otherwise the timer ends.
-
-Background Threads
-------------------
-
-It is very common to perform tasks in the background and for those
-tasks in the background to later update the user interface. The Xwt
-API is not thread safe, which means that calls to the Xwt API must
-only be done from the main user interface thread.
-
-This is a trait from the underlying toolkits used by Xwt.
-
-If you want a background thread to run some code on the main loop, you
-use the Application.Invoke (Action action) method. The provided
-"action" method is guaranteed to run on the main loop.
-
diff --git a/packages/Xwt.0.2.40/Xwt.0.2.40.nupkg b/packages/Xwt.0.2.40/Xwt.0.2.40.nupkg
deleted file mode 100644
index f428a4c..0000000
--- a/packages/Xwt.0.2.40/Xwt.0.2.40.nupkg
+++ /dev/null
Binary files differ
diff --git a/packages/Xwt.0.2.40/lib/net40/Xwt.dll b/packages/Xwt.0.2.40/lib/net40/Xwt.dll
deleted file mode 100644
index c50a574..0000000
--- a/packages/Xwt.0.2.40/lib/net40/Xwt.dll
+++ /dev/null
Binary files differ
diff --git a/packages/Xwt.Gtk.0.2.40/LICENSE.txt b/packages/Xwt.Gtk.0.2.40/LICENSE.txt
deleted file mode 100644
index 170a488..0000000
--- a/packages/Xwt.Gtk.0.2.40/LICENSE.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Xamarin, Inc
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/packages/Xwt.Gtk.0.2.40/README.markdown b/packages/Xwt.Gtk.0.2.40/README.markdown
deleted file mode 100644
index 54de416..0000000
--- a/packages/Xwt.Gtk.0.2.40/README.markdown
+++ /dev/null
@@ -1,221 +0,0 @@
-This document is an introduction to XWT, a cross-platform UI toolkit
-for creating desktop applications.
-
-If you have any question about XWT or do you want to contribute
-a discussion group for XWT is available here:
-
-http://groups.google.com/group/xwt-list
-
-Introduction
-============
-
-Xwt is a new .NET framework for creating desktop applications that run
-on multiple platforms from the same codebase. Xwt works by exposing
-one unified API across all environments that is mapped to a set of
-native controls on each platform.
-
-This means that Xwt tends to focus on providing controls that will
-work across all platforms. However, that doesn't mean that the
-functionality available is a common denominator of all platforms.
-If a specific feature or widget is not available in the
-native framework of a platform, it will be emulated or implemented
-as a set of native widgets.
-
-Xwt can be used as a standalone framework to power the entire application
-or it can be embedded into an existing host. This allows developers
-to develop their "shell" using native components (for example a Ribbon
-on Windows, toolbars on Linux) and use Xwt for specific bits of the
-application, like dialog boxes or cross platform surfaces.
-
-Xwt works by creating an engine at runtime that will map to the
-underlying platform. These are the engines that are supported on
-each platform:
-
-* Windows: WPF engine, Gtk engine (using Gtk#)
-* MacOS X: Cocoa engine (using Xamarin.Mac) and Gtk engine (using Gtk#)
-* Linux: Gtk engine (using Gtk#)
-
-This means for example that you can write code for Xwt on Windows that
-can be hosted on an existing WPF application (like Visual Studio) or
-an existing Gtk# application (like MonoDevelop). Or on Mac, you can
-host Xwt on an existing Cocoa/Xamarin.Mac application or you can host it
-in our own MonoDevelop IDE.
-
-Getting Started
----------------
-
-Open the Xwt.sln with MonoDevelop (or VisualStudio on Windows) and
-build the solution. You should end up with the libraries that you
-can use in your project and a couple of sample applications.
-
-Using Xwt in your app
----------------------
-
-Based on your platform and the backend that you want to use, you need
-to pick the libraries that you want to use in your project.
-
-* Windows+WPF: Xwt.dll + Xwt.WPF.dll (requires WPF)
-* Windows+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#)
-* Linux+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#)
-* Mac+Gtk: Xwt.dll + Xwt.Gtk.dll (requires Gtk#)
-* Mac+Cocoa: Xwt.dll + Xwt.XamMac.dll (requires Xamarin.Mac.dll)
-
-Hello World
------------
-
-To write your first application, create an empty .NET project in your
-favorite language in MonoDevelop or Visual Studio and reference the
-Xwt.dll library. This is the only library that you need to reference
-at compile time.
-
-This is the simplest Xwt program you can write:
-
- using System;
- using Xwt;
-
- class XwtDemo {
- [STAThread]
- static void Main ()
- {
- Application.Initialize (ToolkitType.Gtk);
- var mainWindow = new Window (){
- Title = "Xwt Demo Application",
- Width = 500,
- Height = 400
- };
- mainWindow.Show ();
- Application.Run ();
- mainWindow.Dispose ();
- }
- }
-
-You use the Application.Initialize() method to get the backend
-initialized. In this example we are using the Gtk backend. If you
-want to use another backend, just change the parameter provided
-to the Initialize() method. Also make sure the appropiate backend
-DLL is available in the application directory.
-
-Then we create an instance of the Window class, this class exposes two
-interesting properties, MainMenu which can be used to set the Window's
-main menu and "Content" which is of type "Widget" and allows you to
-add some content to the window.
-
-Finally, the Application.Run method is called to get the UI events
-processing going.
-
-Widget Class Hierarchy
-======================
-
-You will be using widgets to create the contents for your
-application. Xwt.Widget is the abstract base class from which all
-the other components are created.
-
-Some Widgets can contain other widgets, these are container widgets,
-and in Xwt those are Canvas, Paned, HBox, VBox and Table. The first
-two implement a box layout system, while the last one implements a
-Table layout that allows widgets to be attached to different
-anchor-points in a grid.
-
-The layout system uses an auto-sizing system similar to what is
-availble in Gtk and HTML allowing the user interface to grow or shrink
-based on the contents of the childrens on it.
-
-* XwtComponent
- * Menu
- * MenuItem
- * Widget
- * Box (Container)
- * HBox (Container)
- * VBox (Container)
- * Button
- * MenuButton
- * ToggleButton
- * Calendar
- * Canvas (Container)
- * Checkbox
- * ComboBox
- * Frame
- * ImageView
- * Label
- * ListView
- * NoteBook
- * Paned (Container)
- * HPaned (Container)
- * VPaned (Container)
- * ProgressBar
- * ScrollView
- * Separator
- * VSeparator
- * HSeparator
- * Table (Container)
- * TextEntry
- * TreeView
- * WindowFrame
- * Window
- * Dialog
-
-For example, the following attaches various labels and data entries to
-a Table:
-
- t = new Table ();
- t.Attach (new Label ("One:"), 0, 1, 0, 1);
- t.Attach (new TextEntry (), 1, 2, 0, 1);
- t.Attach (new Label ("Two:"), 0, 1, 1, 2);
- t.Attach (new TextEntry (), 1, 2, 1, 2);
- t.Attach (new Label ("Three:"), 0, 1, 2, 3);
- t.Attach (new TextEntry (), 1, 2, 2, 3);
-
-
-The Application Class
-=====================
-
-The Application class is a static class that provides services to run
-your application.
-
-Initialization
---------------
-
-The Application.Initialize API will instruct Xwt to initialize its
-binding to the native toolkit. You can pass an optional parameter to
-this method that specifies the full type name to load as the backend.
-
-For example, you can force the initialization of the backend to be
-specifically Gtk+ or specifically Xamarin.Mac based on MacOS. This is
-currently done like this:
-
- Application.Initialize ("Xwt.GtkBackend.GtkEngine, Xwt.Gtk, Version=1.0.0.0");
-
-or:
-
- Application.Initialize ("Xwt.Mac.MacEngine, Xwt.XamMac, Version=1.0.0.0");
-
-As you saw from the Hello World sample, toplevel windows are created
-by creating an instance of the "Xwt.Window" class. This class
-exposes a couple of properties that you can use to spice it up. The
-MainMenu property is used to control the contents of the application
-menus while the "Content" property is used to hold a Widget.
-
-Timers
-------
-
-The Application.TimeoutInvoke method takes a timespan and a Func<bool>
-action method and invokes that method in the main user interface
-loop.
-
-If the provided function returns true, then the timer is restarted,
-otherwise the timer ends.
-
-Background Threads
-------------------
-
-It is very common to perform tasks in the background and for those
-tasks in the background to later update the user interface. The Xwt
-API is not thread safe, which means that calls to the Xwt API must
-only be done from the main user interface thread.
-
-This is a trait from the underlying toolkits used by Xwt.
-
-If you want a background thread to run some code on the main loop, you
-use the Application.Invoke (Action action) method. The provided
-"action" method is guaranteed to run on the main loop.
-
diff --git a/packages/Xwt.Gtk.0.2.40/Xwt.Gtk.0.2.40.nupkg b/packages/Xwt.Gtk.0.2.40/Xwt.Gtk.0.2.40.nupkg
deleted file mode 100644
index 82046f5..0000000
--- a/packages/Xwt.Gtk.0.2.40/Xwt.Gtk.0.2.40.nupkg
+++ /dev/null
Binary files differ
diff --git a/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.dll.config b/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.dll.config
deleted file mode 100644
index f1630bb..0000000
--- a/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.dll.config
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <dllmap os="!windows,osx" dll="libglib-2.0-0.dll" target="libglib-2.0.so.0"/>
- <dllmap os="!windows,osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.so.0"/>
- <dllmap os="!windows,osx" dll="libatk-1.0-0.dll" target="libatk-1.0.so.0"/>
- <dllmap os="!windows,osx" dll="libgtk-win32-2.0-0.dll" target="libgtk-x11-2.0.so.0"/>
- <dllmap os="!windows,osx" dll="libgdk-win32-2.0-0.dll" target="libgdk-x11-2.0.so.0"/>
- <dllmap os="!windows,osx" dll="libpango-1.0-0.dll" target="libpango-1.0.so.0"/>
- <dllmap os="!windows,osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.so.0"/>
- <dllmap os="!windows,osx" dll="libwebkitgtk-1.0-0.dll" target="libwebkitgtk-1.0.so.0"/>
- <dllmap os="!windows,osx" dll="fontconfig" target="libfontconfig.so.1"/>
-
- <dllmap os="osx" dll="libglib-2.0-0.dll" target="libglib-2.0.0.dylib"/>
- <dllmap os="osx" dll="libgobject-2.0-0.dll" target="libgobject-2.0.0.dylib"/>
- <dllmap os="osx" dll="libatk-1.0-0.dll" target="libatk-1.0.0.dylib"/>
- <dllmap os="osx" dll="libgtk-win32-2.0-0.dll" target="libgtk-quartz-2.0.0.dylib"/>
- <dllmap os="osx" dll="libgdk-win32-2.0-0.dll" target="libgdk-quartz-2.0.0.dylib"/>
- <dllmap os="osx" dll="libpango-1.0-0.dll" target="libpango-1.0.0.dylib"/>
- <dllmap os="osx" dll="libpangocairo-1.0-0.dll" target="libpangocairo-1.0.0.dylib"/>
- <dllmap os="osx" dll="libwebkitgtk-1.0-0.dll" target="libwebkitgtk-1.0.0.dylib"/>
- <dllmap os="osx" dll="fontconfig" target="libfontconfig.1.dylib"/>
-</configuration>
diff --git a/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.props b/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.props
deleted file mode 100644
index f66dc3a..0000000
--- a/packages/Xwt.Gtk.0.2.40/build/Xwt.Gtk.props
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <None Include="$(MSBuildThisFileDirectory)Xwt.Gtk.dll.config">
- <Link>Xwt.Gtk.dll.config</Link>
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <Visible>False</Visible>
- </None>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/packages/Xwt.Gtk.0.2.40/lib/net40/Xwt.Gtk.dll b/packages/Xwt.Gtk.0.2.40/lib/net40/Xwt.Gtk.dll
deleted file mode 100644
index b80892c..0000000
--- a/packages/Xwt.Gtk.0.2.40/lib/net40/Xwt.Gtk.dll
+++ /dev/null
Binary files differ