/go-gtk

Go binding for GTK

Primary LanguageGo

go-gtk

WHATS:

Go bindings for GTK

SCREENSHOT:

Go GTK!

INSTALL:

To experiment with go-gtk, you can just compile and run the example program:

git clone  https://github.com/mattn/go-gtk
cd go-gtk
make install
make example
./example/demo/demo

Or

go get github.com/mattn/go-gtk/gtk

Don't forget, that you need the GTK-Development-Packages.

LICENSE:

The library is available under the same terms and conditions as the Go, the BSD style license, and the LGPL (Lesser GNU Public License). The idea is that if you can use Go (and Gtk) in a project, you should also be able to use go-gtk.

AUTHOR:

  • Yasuhiro Matsumoto

CONTRIBUTE AUTHORS:

  • David Roundy
  • Mark Andrew Gerads
  • Tobias Kortkamp
  • Mikhail Trushnikov
  • Federico Sogaro
  • Crazy2be
  • Daniël de Kok
  • Erik Lissel
  • Jeffrey Bolle
  • Leonhard Küper
  • Matt Joiner
  • SQP
  • Steven T
  • Taru Karttunen
  • Utkan Güngördü
  • matiaslina
  • Dag Robøle

For a less formal discussion about go-gtk, please visit our forum at http://craigmatthewweber.com/forums/forum/go/go-gtk

GOAL:

Hopefully support following widgets and methods enough to run general application.

(output of tools/gogtkinfo)

Main Loop and Events          :  26% (  7/ 26)
GtkAccelGroup                 :  10% (  2/ 19)
GtkAccelMap                   :   0% (  0/ 14)
GtkClipboard                  :  23% (  7/ 30)
Drag and Drop                 :  11% (  4/ 35)
GtkIconTheme                  :   0% (  0/ 31)
GtkStockItem                  :  66% (  4/  6)
Themeable Stock Images        :   0% (  0/ 41)
Resource Files                :   0% (  0/ 28)
GtkSettings                   :  23% (  3/ 13)
GtkBinding                    :   0% (  0/ 14)
Graphics Contexts             :   0% (  0/  2)
GtkStyle                      :   0% (  0/ 64)
Selections                    :   8% (  4/ 47)
Version Information           :   0% (  0/  6)
Testing                       :   0% (  0/ 16)
Filesystem Utilities          :   0% (  0/  7)
GtkDialog                     :  45% (  9/ 20)
GtkMessageDialog              :  62% (  5/  8)
GtkWindow                     :  36% ( 38/103)
GtkWindowGroup                :   0% (  0/  5)
GtkAboutDialog                :  90% ( 29/ 32)
GtkAssistant                  :  91% ( 21/ 23)
GtkOffscreenWindow            :   0% (  0/  3)
GtkAccelLabel                 :  83% (  5/  6)
GtkImage                      :  29% (  9/ 31)
GtkLabel                      :  86% ( 39/ 45)
GtkProgressBar                :  83% ( 10/ 12)
GtkStatusbar                  :  77% (  7/  9)
GtkInfoBar                    : 100% ( 12/ 12)
GtkStatusIcon                 :  68% ( 26/ 38)
GtkSpinner                    :   0% (  0/  3)
GtkButton                     :  85% ( 23/ 27)
GtkCheckButton                : 100% (  3/  3)
GtkRadioButton                : 100% (  8/  8)
GtkToggleButton               : 100% (  9/  9)
GtkLinkButton                 :  75% (  6/  8)
GtkScaleButton                :   0% (  0/  9)
GtkVolumeButton               :   0% (  0/  1)
GtkEntry                      :  41% ( 26/ 63)
GtkEntryBuffer                :  72% (  8/ 11)
GtkEntryCompletion            :  96% ( 24/ 25)
GtkHScale                     : 100% (  2/  2)
GtkVScale                     : 100% (  2/  2)
GtkSpinButton                 : 100% ( 30/ 30)
GtkEditable                   : 100% ( 13/ 13)
GtkTextIter                   :  20% ( 19/ 91)
GtkTextMark                   :   0% (  0/  7)
GtkTextBuffer                 :  67% ( 52/ 77)
GtkTextTag                    :  75% (  3/  4)
GtkTextAttributes             : 100% (  5/  5)
GtkTextTagTable               :  83% (  5/  6)
GtkTextView                   :  28% ( 18/ 64)
GtkTreePath                   :  84% ( 16/ 19)
GtkTreeRowReference           :   0% (  0/ 10)
GtkTreeIter                   : 100% (  1/  1)
GtkTreeModel                  :  57% ( 15/ 26)
GtkTreeSelection              :  75% ( 15/ 20)
GtkTreeViewColumn             :  61% ( 33/ 54)
GtkTreeView                   :  14% ( 14/ 97)
GtkTreeView drag-and-drop     :   0% (  0/  7)
GtkCellView                   :   0% (  0/ 11)
GtkIconView                   :  17% ( 11/ 62)
GtkTreeSortable               :   0% (  0/  6)
GtkTreeModelSort              :   0% (  0/  9)
GtkTreeModelFilter            :   0% (  0/ 11)
GtkCellLayout                 :   0% (  0/  9)
GtkCellRenderer               : 100% (  2/  2)
GtkCellEditable               :   0% (  0/  3)
GtkCellRendererAccel          : 100% (  1/  1)
GtkCellRendererCombo          : 100% (  1/  1)
GtkCellRendererPixbuf         : 100% (  1/  1)
GtkCellRendererProgress       : 100% (  1/  1)
GtkCellRendererSpin           : 100% (  1/  1)
GtkCellRendererText           : 100% (  2/  2)
GtkCellRendererToggle         : 100% (  7/  7)
GtkCellRendererSpinner        : 100% (  1/  1)
GtkListStore                  :  83% ( 15/ 18)
GtkTreeStore                  :  80% ( 17/ 21)
GtkComboBox                   :  78% ( 30/ 38)
GtkComboBoxText               : 100% (  7/  7)
GtkComboBoxEntry              :  80% (  4/  5)
GtkMenu                       :  50% ( 15/ 30)
GtkMenuBar                    : 100% (  8/  8)
GtkMenuItem                   :  78% ( 15/ 19)
GtkImageMenuItem              :   0% (  0/ 11)
GtkRadioMenuItem              :  44% (  4/  9)
GtkCheckMenuItem              : 100% ( 10/ 10)
GtkSeparatorMenuItem          : 100% (  1/  1)
GtkTearoffMenuItem            : 100% (  1/  1)
GtkToolShell                  :   0% (  0/  9)
GtkToolbar                    :   8% (  3/ 34)
GtkToolItem                   :   3% (  1/ 30)
GtkToolPalette                :   0% (  0/ 22)
GtkToolItemGroup              :   0% (  0/ 17)
GtkSeparatorToolItem          :   0% (  0/  3)
GtkToolButton                 :  14% (  2/ 14)
GtkMenuToolButton             :   0% (  0/  7)
GtkToggleToolButton           :   0% (  0/  4)
GtkRadioToolButton            :   0% (  0/  6)
GtkUIManager                  :   0% (  0/ 17)
GtkActionGroup                :   0% (  0/ 20)
GtkAction                     :   0% (  0/ 46)
GtkToggleAction               :   0% (  0/  6)
GtkRadioAction                :   0% (  0/  5)
GtkRecentAction               :   0% (  0/  4)
GtkActivatable                :   0% (  0/  6)
GtkColorButton                :   0% (  0/ 10)
GtkColorSelectionDialog       :   0% (  0/  2)
GtkColorSelection             :   0% (  0/ 21)
GtkHSV                        :   0% (  0/  8)
GtkFileChooser                :  22% ( 13/ 58)
GtkFileChooserButton          :  18% (  2/ 11)
GtkFileChooserDialog          : 100% (  1/  1)
GtkFileChooserWidget          :  50% (  1/  2)
GtkFileFilter                 :  55% (  5/  9)
GtkFontButton                 :  71% ( 10/ 14)
GtkFontSelection              :   0% (  0/ 14)
GtkFontSelectionDialog        :  37% (  3/  8)
GtkInputDialog                :   0% (  0/  1)
GtkAlignment                  : 100% (  4/  4)
GtkAspectFrame                :   0% (  0/  2)
GtkHBox                       : 100% (  1/  1)
GtkVBox                       : 100% (  1/  1)
GtkHButtonBox                 :   0% (  0/  5)
GtkVButtonBox                 :   0% (  0/  5)
GtkFixed                      : 100% (  5/  5)
GtkHPaned                     : 100% (  1/  1)
GtkVPaned                     : 100% (  1/  1)
GtkLayout                     :   0% (  0/ 12)
GtkNotebook                   :  90% ( 50/ 55)
GtkTable                      :  93% ( 14/ 15)
GtkExpander                   :  87% ( 14/ 16)
GtkOrientable                 :   0% (  0/  2)
GtkFrame                      : 100% (  9/  9)
GtkHSeparator                 : 100% (  1/  1)
GtkVSeparator                 : 100% (  1/  1)
GtkHScrollbar                 :   0% (  0/  1)
GtkVScrollbar                 :   0% (  0/  1)
GtkScrolledWindow             :  86% ( 13/ 15)
GtkPrintOperation             :  13% (  5/ 36)
GtkPrintContext               :  18% (  2/ 11)
GtkPrintSettings              :   0% (  0/ 74)
GtkPageSetup                  :   0% (  0/ 25)
GtkPaperSize                  :   0% (  0/ 21)
GtkPrinter                    :   0% (  0/ 23)
GtkPrintJob                   :   0% (  0/ 10)
GtkPrintUnixDialog            :   0% (  0/ 18)
GtkPageSetupUnixDialog        :   0% (  0/  5)
GtkAdjustment                 :  82% ( 14/ 17)
GtkArrow                      :   0% (  0/  2)
GtkCalendar                   :   0% (  0/ 17)
GtkDrawingArea                : 100% (  2/  2)
GtkEventBox                   :  20% (  1/  5)
GtkHandleBox                  :   0% (  0/  8)
GtkIMContextSimple            :   0% (  0/  2)
GtkIMMulticontext             :   0% (  0/  4)
GtkSizeGroup                  : 100% (  8/  8)
GtkTooltip                    :  60% (  6/ 10)
GtkViewport                   : 100% (  9/  9)
GtkAccessible                 : 100% (  3/  3)
GtkBin                        : 100% (  1/  1)
GtkBox                        : 100% ( 11/ 11)
GtkButtonBox                  :   0% (  0/ 10)
GtkContainer                  :  18% (  6/ 33)
GtkItem                       : 100% (  3/  3)
GtkMenuShell                  :   0% (  0/ 11)
GtkMisc                       :   0% (  0/  4)
GtkObject                     : 100% (  0/  0)
GtkPaned                      :  88% (  8/  9)
GtkRange                      :  53% ( 16/ 30)
GtkScale                      :  90% (  9/ 10)
GtkSeparator                  : 100% (  0/  0)
GtkWidget                     :  51% ( 94/184)
GtkIMContext                  :   0% (  0/ 11)
GtkPlug                       :   0% (  0/  7)
GtkSocket                     :   0% (  0/  5)
GtkRecentManager              :   0% (  0/ 37)
GtkRecentChooser              :   0% (  0/ 33)
GtkRecentChooserDialog        :   0% (  0/  2)
GtkRecentChooserMenu          :   0% (  0/  4)
GtkRecentChooserWidget        :   0% (  0/  2)
GtkRecentFilter               :   0% (  0/ 12)
GtkBuildable                  :   0% (  0/ 10)

Total progress :                 36% (1107/3068)