diff options
Diffstat (limited to 'bindings')
-rw-r--r-- | bindings/Makefile.am | 7 | ||||
-rw-r--r-- | bindings/vala/Makefile.am | 32 | ||||
-rw-r--r-- | bindings/vala/examples/Makefile.am | 14 | ||||
-rw-r--r-- | bindings/vala/examples/indicator-example.vala | 45 |
4 files changed, 96 insertions, 2 deletions
diff --git a/bindings/Makefile.am b/bindings/Makefile.am index f74dec5..8e621e4 100644 --- a/bindings/Makefile.am +++ b/bindings/Makefile.am @@ -1,7 +1,10 @@ if USE_GTK3 -SUBDIRS = mono +SUBDIRS = \ + mono \ + vala else SUBDIRS = \ mono \ - python + python \ + vala endif diff --git a/bindings/vala/Makefile.am b/bindings/vala/Makefile.am new file mode 100644 index 0000000..c4627f5 --- /dev/null +++ b/bindings/vala/Makefile.am @@ -0,0 +1,32 @@ +SUBDIRS = . examples + + +######################### +# VAPI Files +######################### + +if HAVE_INTROSPECTION + +if USE_GTK3 +GTKVAPI = gtk+-3.0 +else +GTKVAPI = gtk+-2.0 +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 $(vapiprefix).deps + $(VALA_API_GEN) --library=$(vapiprefix) \ + --pkg $(GTKVAPI) \ + $< + + +CLEANFILES = $(vapi_DATA) + +endif diff --git a/bindings/vala/examples/Makefile.am b/bindings/vala/examples/Makefile.am new file mode 100644 index 0000000..6c3bd3c --- /dev/null +++ b/bindings/vala/examples/Makefile.am @@ -0,0 +1,14 @@ + +TESTS = indicator-example +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 +$(TESTS): $(VALAFILES) Makefile.am + $(VALAC) $(VALAFLAGS) $(srcdir)/$(VALAFILES) + +all: $(TESTS) +endif diff --git a/bindings/vala/examples/indicator-example.vala b/bindings/vala/examples/indicator-example.vala new file mode 100644 index 0000000..908913a --- /dev/null +++ b/bindings/vala/examples/indicator-example.vala @@ -0,0 +1,45 @@ +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; + } +} |