Go Wrapper for the wxWidgets GUI

Overview
This is the source code for wxGo a Go wrapper of the wxWidgets library.

The actuall wxWidgets source code is not included and will need to
be downloaded separately.

The wrappers are created using the SWIG tool.

There are currenly still some patches/tricks required to get a 
propper build going. Mostly releasted to SWIG support on windows.

Read support/Building.txt for information on how to get it all going
on windows.

Jeroen Dirks
June 2011
You might also like...
Windows GUI library for Go (Golang). Comes with a graphical UI designer.

Version 2 Please go to Version 2 of this library for the latest version. Windows GUI Library This is a pure Go library to create native Windows GUIs.

Super minimal, rock-solid foundation for concurrent GUI in Go.
Super minimal, rock-solid foundation for concurrent GUI in Go.

faiface/gui Super minimal, rock-solid foundation for concurrent GUI in Go. Installation go get -u github.com/faiface/gui Currently uses GLFW under th

Cross platform rapid GUI framework for golang based on Dear ImGui.
Cross platform rapid GUI framework for golang based on Dear ImGui.

giu Cross platform rapid GUI framework for golang based on Dear ImGui and the great golang binding imgui-go. Any contribution (features, widgets, tuto

This project provides Go bindings for nuklear.h — a small ANSI C GUI library.
This project provides Go bindings for nuklear.h — a small ANSI C GUI library.

Nuklear Package nk provides Go bindings for nuklear.h — a small ANSI C gui library. See github.com/vurtun/nuklear. All the binding code has automatica

GUI toolkit for go
GUI toolkit for go

Mostly-immediate-mode GUI library for Go. Source port to go of an early version of nuklear. ⚠️ Subject to backwards incompatible changes. ⚠️ ⚠️ Featur

A list of Go GUI projects

(Please follow @Go100and1 for updates on this page, and all kinds of details and facts in Go). A list of Go GUI/graphics/image related projects native

Odile is a simple GUI for the croc utility by Schollz.
Odile is a simple GUI for the croc utility by Schollz.

Odile Odile is a simple GUI for the croc utility by Schollz. This program uses Fyne, a UI toolkit written in Go, as the graphical interface. Effort wa

Golang bindings for XCGUI, Windows GUI library, DirectUI design idea.
Golang bindings for XCGUI, Windows GUI library, DirectUI design idea.

XCGUI 项目文档 帮助文档 程序示例 介绍 English | 简体中文 DirectUI设计思想: 在窗口内没有子窗口,界面元素都是逻辑上的区域(无HWND句柄,安全,灵活), 所有UI元素都是自主开发(不受系统限制), 更加灵活的实现各种程序界面,满足不同用户的需求.

Tutorials for Gio, the GUI framwork in Go.
Tutorials for Gio, the GUI framwork in Go.

#go, #golang, #gui, #gioui You want a Gui. Of course you do. Did you know that Go has a great GUI library called Gio? In a 10-part tutorial we will st

Comments
  • Unable to compile...

    Unable to compile...

    I installed the latest Mingw/MSYS (as of yesterday - choosing all of the packages for development) using their installer. I grabbed the latest 2.8.12 series wxwidgets and successfully compiled it (ansi style) and several sample programs - which worked. I grabbed swig from svn and applied the patch (and successfully got a executable - after grabbing and compiling pcre as well). I have all the various projects go, pcre, swig, wx and wxGo under /home/ but have done make install for wx, pcre and swig and ./all.bash for go. So wx, pcre and swig show up in the correct places under /usr/local (lib, bin and include). All SHOULD be well (I'm on Windows 7 64 bit btw). So I go to /home//wxGo/wx and enter:

    $ make swig -go -c++ -module wx -soname wx-wx.so -o _obj/wx_wrap.cxx -outdir _obj wx.swigcxx wx.swigcxx(228) : Error: Syntax error in input(1). make: *** [_obj/wx.go] Error 1

    I've tried setting environment variables trying to follow one of the other issues entered here, but I've been unable to get anywhere. While I'm FAR from a gcc/go/bash guru (and I know nothing about swig) I have been able to get go-gtk compiled in the same environment. Do you have any pointers or suggestions I could try? Thanks!

    David

    opened by djlawler 4
  • make wxGo error.

    make wxGo error.

    $ make -f Makefile.windows g++ -m32 -I . -g -fPIC -O2 -o obj/wx_wrapcxx.o -c obj/wx_wrap.cxx -I/extra/wx/ lib/wx/include/msw-unicode-release-2.8 -I/extra/wx/include/wx-2.8 -D_IODBC -DWX USINGDLL -D__WXMSW_ -mthreads obj/wx_wrap.cxx:1:0: warning: -fPIC ignored for target (all code is position in dependent) obj/wx_wrap.cxx: In function 'void wrap_wxGetOsDescription(void)': obj/wx_wrap.cxx:2299:79: error: cannot convert 'const wxChar' to 'const char*' for argument '1' to 'gostring swig_makegostring(const char, size_t)' obj/wx_wrap.cxx: In function 'void wrap_wxCommandEvent_GetString(void)': obj/wx_wrap.cxx:5465:79: error: cannot convert 'const wxChar' to 'const char' for argument '1' to 'gostring swig_makegostring(const char, size_t)' obj/wx_wrap.cxx: In function 'void wrap_wxNotifyEvent_GetString(void)': obj/wx_wrap.cxx:5704:79: error: cannot convert 'const wxChar' to 'const char' for argument '1' to 'gostring swig_makegostring(const char, size_t)' obj/wx_wrap.cxx: In function 'void wrap_wxTreeEvent_GetLabel(void)': obj/wx_wrap.cxx:5997:75: error: cannot convert 'const wxChar' to 'const char' for argument '1' to 'gostring swig_makegostring(const char, size_t)' obj/wx_wrap.cxx: In function 'void wrap_wxTreeEvent_GetToolTip(void)': obj/wx_wrap.cxx:6017:79: error: cannot convert 'const wxChar' to 'const char' for argument '1' to 'gostring swig_makegostring(const char, size_t)' obj/wx_wrap.cxx: In function 'void wrap_wxTreeEvent_GetString(void)': obj/wx_wrap.cxx:6148:79: error: cannot convert 'const wxChar' to 'const char' obj/wx_wrap.cxx:6148:79: error: cannot convert 'const wxChar' to 'const char' for argument '1' to 'gostring swig_makegostring(const char, size_t)' obj/wx_wrap.cxx: In function 'void wrap_wxMenu_Append__SWIG_0(void)': obj/wx_wrap.cxx:6851:51: error: call of overloaded 'wxString(char&, int&)' is ambiguous D:/MinGW/msys/1.0/extra/wx/include/wx-2.8/wx/string.h:1283:3: note: candidates a re: wxString::wxString(const void, const void) D:/MinGW/msys/1.0/extra/wx/include/wx-2.8/wx/string.h:694:3: note: wxString::wxString(size_t, wxChar) D:/MinGW/msys/1.0/extra/wx/include/wx-2.8/wx/string.h:692:3: note: wxString::wxString(wxChar, size_t) obj/wx_wrap.cxx:6855:51: error: call of overloaded 'wxString(char&, int&)' is ambiguous D:/make: *** wait: No children. Stop. make: *** Waiting for unfinished jobs.... make: *** wait: No children. Stop. CTRL+C

    What's the problem? thanks.

    opened by gofan 4
  • suggest Makefile to use wx-config

    suggest Makefile to use wx-config

    When compiled wx in Linux or Mingw It'll generate a wx-config executable.

    so Only I have to do is put the wx-config's path in $PATH without concern about the WXHOME directory or include or libs.

    SWIG_CXXFLAGS=$(shell wx-config --cxxflags)

    SWIG_LDFLAGS=$(shell wx-config --libs)

    include ${GOROOT}/src/Make.inc

    SWIGOPT+=${WXDEFS}

    TARG = wx

    SWIGFILES=
    wx.swigcxx

    CXXFILES=
    wxwrap.cxx

    GOFILES=wxwrap.go

    CXXOBJS=$(patsubst %.cxx,_obj/%.o,$(CXXFILES))

    include ${GOROOT}/src/Make.pkg

    %: install %.go $(GC) $.go $(LD) $(SWIG_RPATH) -o [email protected] $.$0

    _obj/%.o: %.cxx $(HFILES) @mkdir -p _obj $(HOST_CXX) $(CXXFLAGS) -o [email protected] $*.cxx

    opened by gofan 2
Owner
Jeroen Dirks
Jeroen Dirks
Easy Go GUI wrapper for interactive manipulation of visual algorithms/backend code.

RenderView ================ Install: go get github.com/TheGrum/renderview Needs either Shiny (limited functionality), Gio, go-gtk, or gotk3. The latt

null 28 Aug 4, 2022
Cross platform GUI in Go based on Material Design

About Fyne is an easy to use UI toolkit and app API written in Go. It is designed to build applications that run on desktop and mobile devices with a

Fyne.io 18.9k Dec 3, 2022
Platform-native GUI library for Go.

ui: platform-native GUI library for Go This is a library that aims to provide simple GUI software development in Go. It is based on my libui, a simple

Pietro Gagliardi 8.2k Dec 8, 2022
Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron)

Thanks to go-astilectron build cross platform GUI apps with GO and HTML/JS/CSS. It is the official GO bindings of astilectron and is powered by Electr

Quentin Renard 4.6k Nov 29, 2022
Build cross platform GUI apps with GO and HTML/JS/CSS (powered by nwjs)

gowd Build cross platform GUI apps with GO and HTML/JS/CSS (powered by nwjs) How to use this library: Download and install nwjs Install this library g

Danny 386 Dec 1, 2022
A Windows GUI toolkit for the Go Programming Language

About Walk Walk is a "Windows Application Library Kit" for the Go Programming Language. Its primarily useful for Desktop GUI development, but there is

Alexander Neumann 6.3k Dec 7, 2022
RobotGo, Go Native cross-platform GUI automation @vcaesar

Robotgo Golang Desktop Automation. Control the mouse, keyboard, bitmap, read the screen, Window Handle and global event listener. RobotGo supports Mac

vgo 8k Dec 2, 2022
Common library for Go GUI apps on Windows

winc Common library for Go GUI apps on Windows. It is for Windows OS only. This makes library smaller than some other UI libraries for Go.

Tad Vizbaras 139 Aug 23, 2022
Cross-platform GUI for go is never this easy and clean.

gimu Strongly suggest NOT to use this project anymore, the auto-generated cgo wrapper of Nuklear has a random crash issue which is hard to fix (becaus

Allen Dang 66 Jul 12, 2022
Windows GUI framework for Go.

gform is an easy to use Windows GUI toolkit for Go It provides two approaches to create UI. 1. Pure code. gform.Init() mainWindow := gform.NewForm(ni

Allen Dang 277 Nov 12, 2022