# HG changeset patch # User IBBoard # Date 1293742727 0 # Node ID 73c1e3372b52027840e41877d78aa2c3183ec64b # Parent 2d76577e28ff1f0471fe43537c91f0a584581754 Re #47: Add translatable GTK# widgets * Add translatable button now that we know how to use it (with work-around for losing stock icon) diff -r 2d76577e28ff -r 73c1e3372b52 IBBoard.GtkSharp.csproj --- a/IBBoard.GtkSharp.csproj Wed Dec 29 19:48:35 2010 +0000 +++ b/IBBoard.GtkSharp.csproj Thu Dec 30 20:58:47 2010 +0000 @@ -39,6 +39,7 @@ + @@ -47,6 +48,7 @@ + diff -r 2d76577e28ff -r 73c1e3372b52 Translatable/TranslatableButton.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Translatable/TranslatableButton.cs Thu Dec 30 20:58:47 2010 +0000 @@ -0,0 +1,42 @@ +// This file (TranslatableButton.cs) is a part of the IBBoard.GtkSharp project and is copyright 2010 IBBoard +// +// // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. + +using System; +using Gtk; +using IBBoard.Lang; + +namespace IBBoard.GtkSharp.Translatable +{ + [System.ComponentModel.ToolboxItem(true)] + [System.ComponentModel.Category("Translatable")] + public class TranslatableButton : Button, ITranslatable + { + public string Text + { + get + { + return Label; + } + set + { + Image origIcon = this.Image as Image; + string stock = null; + + if (origIcon != null) + { + stock = origIcon.Stock; + } + + this.Label = value; + this.Image = origIcon; + + if (origIcon != null) + { + origIcon.Stock = stock; + } + } + } + } +} +