diff options
author | Ted Gould <ted@gould.cx> | 2011-02-10 13:19:08 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-02-10 13:19:08 -0600 |
commit | 2f8daaccfa12fa4d569dc370803ba88dbd3c1920 (patch) | |
tree | b616a94c1342a218a6128c337e4b39b99779dc0a /bindings/vala | |
parent | 0faacd13e0e23b202969127e9034605b4fcf90c4 (diff) | |
parent | e69e29266aaa82c5af8745301a8c6cd78ffd2e35 (diff) | |
download | libayatana-appindicator-2f8daaccfa12fa4d569dc370803ba88dbd3c1920.tar.gz libayatana-appindicator-2f8daaccfa12fa4d569dc370803ba88dbd3c1920.tar.bz2 libayatana-appindicator-2f8daaccfa12fa4d569dc370803ba88dbd3c1920.zip |
Fixing Vala bindings
Diffstat (limited to 'bindings/vala')
-rw-r--r-- | bindings/vala/Makefile.am | 36 | ||||
-rw-r--r-- | bindings/vala/examples/Makefile.am | 13 | ||||
-rw-r--r-- | bindings/vala/examples/indicator-example.vala | 64 |
3 files changed, 113 insertions, 0 deletions
diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am new file mode 100644 index 0000000..f80b48c --- /dev/null +++ b/bindings/vala/Makefile.am @@ -0,0 +1,36 @@ +if HAVE_INTROSPECTION +if HAVE_VAPIGEN + +SUBDIRS = . examples + +######################### +# VAPI Files +######################### + +if USE_GTK3 +GTKVAPI = gtk+-3.0 +VER=3 +else +GTKVAPI = gtk+-2.0 +VER= +endif + +vapidir = $(datadir)/vala/vapi +vapiprefix = appindicator$(VER)-0.1 +vapi_DATA = $(vapiprefix).vapi $(vapiprefix).deps +DEPS = $(GTKVAPI) + +$(vapiprefix).deps: + echo $(DEPS) > $@ + +$(vapiprefix).vapi: $(top_builddir)/src/AppIndicator$(VER)-0.1.gir \ + $(top_builddir)/src/AppIndicator$(VER)-0.1.metadata \ + $(vapiprefix).deps + $(VALA_API_GEN) --library=$(vapiprefix) --girdir=$(srcdir)/src \ + $< + + +CLEANFILES = $(vapi_DATA) + +endif +endif diff --git a/bindings/vala/examples/Makefile.am b/bindings/vala/examples/Makefile.am new file mode 100644 index 0000000..32a695b --- /dev/null +++ b/bindings/vala/examples/Makefile.am @@ -0,0 +1,13 @@ + +VALAFILES = indicator-example.vala +CLEANFILES = $(TESTS) *.c +EXTRA_DIST = $(VALAFILES) + +VALAFLAGS = --pkg appindicator-0.1 --vapidir=$(top_builddir)/bindings/vala --save-temps + +if HAVE_VALAC +indicator-example: $(VALAFILES) Makefile.am + $(VALAC) $(VALAFLAGS) $(srcdir)/$(VALAFILES) + +check: indicator-example +endif diff --git a/bindings/vala/examples/indicator-example.vala b/bindings/vala/examples/indicator-example.vala new file mode 100644 index 0000000..621c962 --- /dev/null +++ b/bindings/vala/examples/indicator-example.vala @@ -0,0 +1,64 @@ +/* + * Copyright 2011 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Authors: + * Marco Trevisan (TreviƱo) <mail@3v1n0.net> + */ + +using Gtk; +using AppIndicator; + +public class IndicatorExample { + public static int main(string[] args) { + Gtk.init(ref args); + + var win = new Window(); + win.title = "Indicator Test"; + win.resize(200, 200); + win.destroy.connect(Gtk.main_quit); + + var label = new Label("Hello, world!"); + win.add(label); + + var indicator = new Indicator(win.title, "indicator-messages", + IndicatorCategory.APPLICATION_STATUS); + + indicator.set_status(IndicatorStatus.ACTIVE); + indicator.set_attention_icon("indicator-messages-new"); + + var menu = new Menu(); + + var item = new MenuItem.with_label("Foo"); + item.activate.connect(() => { + indicator.set_status(IndicatorStatus.ATTENTION); + }); + item.show(); + menu.append(item); + + item = new MenuItem.with_label("Bar"); + item.show(); + item.activate.connect(() => { + indicator.set_status(IndicatorStatus.ATTENTION); + }); + menu.append(item); + + indicator.set_menu(menu); + + win.show_all(); + + Gtk.main(); + return 0; + } +} |