diff options
Diffstat (limited to 'example')
-rw-r--r-- | example/Makefile.in | 638 | ||||
-rw-r--r-- | example/simple-client-vala.c | 738 | ||||
-rw-r--r-- | example/simple-client-vala.vala | 170 |
3 files changed, 1376 insertions, 170 deletions
diff --git a/example/Makefile.in b/example/Makefile.in new file mode 100644 index 0000000..c848ea3 --- /dev/null +++ b/example/Makefile.in @@ -0,0 +1,638 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +check_PROGRAMS = simple-client$(EXEEXT) simple-client-vala$(EXEEXT) +@HAVE_VALAC_TRUE@am__append_1 = *.stamp *-vala.c +subdir = example +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am_simple_client_OBJECTS = simple_client-simple-client.$(OBJEXT) +simple_client_OBJECTS = $(am_simple_client_OBJECTS) +am__DEPENDENCIES_1 = +simple_client_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(top_builddir)/src/libappindicator$(VER).la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +simple_client_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(simple_client_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am__simple_client_vala_SOURCES_DIST = simple-client-vala.c +@HAVE_VALAC_TRUE@am_simple_client_vala_OBJECTS = simple_client_vala-simple-client-vala.$(OBJEXT) +simple_client_vala_OBJECTS = $(am_simple_client_vala_OBJECTS) +am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) \ + $(top_builddir)/src/libappindicator$(VER).la +@HAVE_VALAC_TRUE@simple_client_vala_DEPENDENCIES = \ +@HAVE_VALAC_TRUE@ $(am__DEPENDENCIES_2) +simple_client_vala_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(simple_client_vala_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(simple_client_SOURCES) $(simple_client_vala_SOURCES) +DIST_SOURCES = $(simple_client_SOURCES) \ + $(am__simple_client_vala_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AL = @AL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +APPINDICATOR_PYTHON_CFLAGS = @APPINDICATOR_PYTHON_CFLAGS@ +APPINDICATOR_PYTHON_LIBS = @APPINDICATOR_PYTHON_LIBS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CSC = @CSC@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GACUTIL = @GACUTIL@ +GAPI_CFLAGS = @GAPI_CFLAGS@ +GAPI_CODEGEN = @GAPI_CODEGEN@ +GAPI_FIXUP = @GAPI_FIXUP@ +GAPI_LIBS = @GAPI_LIBS@ +GAPI_PARSER = @GAPI_PARSER@ +GENERATED_SOURCES = @GENERATED_SOURCES@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GREP = @GREP@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_MKPDF = @GTKDOC_MKPDF@ +GTKDOC_REBASE = @GTKDOC_REBASE@ +GTK_SHARP_CFLAGS = @GTK_SHARP_CFLAGS@ +GTK_SHARP_LIBS = @GTK_SHARP_LIBS@ +HTML_DIR = @HTML_DIR@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBRARY_CFLAGS = @LIBRARY_CFLAGS@ +LIBRARY_LIBS = @LIBRARY_LIBS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_PREFIX = @LIB_PREFIX@ +LIB_SUFFIX = @LIB_SUFFIX@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MONO_DEPENDENCY_CFLAGS = @MONO_DEPENDENCY_CFLAGS@ +MONO_DEPENDENCY_LIBS = @MONO_DEPENDENCY_LIBS@ +NM = @NM@ +NMEDIT = @NMEDIT@ +NUNIT_CFLAGS = @NUNIT_CFLAGS@ +NUNIT_LIBS = @NUNIT_LIBS@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PYGTK_CODEGEN = @PYGTK_CODEGEN@ +PYGTK_DEFSDIR = @PYGTK_DEFSDIR@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +RANLIB = @RANLIB@ +RUNTIME = @RUNTIME@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TESTDEPS_CFLAGS = @TESTDEPS_CFLAGS@ +TESTDEPS_LIBS = @TESTDEPS_LIBS@ +VALAC = @VALAC@ +VALA_API_GEN = @VALA_API_GEN@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@USE_GTK3_FALSE@VER = +@USE_GTK3_TRUE@VER = 3 +CLEANFILES = $(am__append_1) + +######################################### +######################################### +simple_client_SOURCES = \ + simple-client.c + +simple_client_CFLAGS = \ + $(LIBRARY_CFLAGS) \ + -DLOCAL_ICON="\"$(abs_srcdir)/simple-client-test-icon.png\"" \ + -Wall -Werror \ + -I$(top_srcdir)/src + +simple_client_LDADD = \ + $(LIBRARY_LIBS) \ + $(top_builddir)/src/libappindicator$(VER).la + +EXTRA_DIST = \ + simple-client-test-icon.png + + +######################################### +######################################### +@HAVE_VALAC_TRUE@VALAFLAGS = \ +@HAVE_VALAC_TRUE@ --pkg appindicator$(VER)-0.1 \ +@HAVE_VALAC_TRUE@ --vapidir=$(top_builddir)/bindings/vala + +@HAVE_VALAC_TRUE@BUILT_SOURCES = simple-client-vala.c +@HAVE_VALAC_TRUE@simple_client_vala_SOURCES = simple-client-vala.c +@HAVE_VALAC_TRUE@simple_client_vala_CFLAGS = \ +@HAVE_VALAC_TRUE@ $(simple_client_CFLAGS) \ +@HAVE_VALAC_TRUE@ -include $(top_srcdir)/src/app-indicator.h + +@HAVE_VALAC_TRUE@simple_client_vala_LDADD = $(simple_client_LDADD) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu example/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu example/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-checkPROGRAMS: + @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +simple-client$(EXEEXT): $(simple_client_OBJECTS) $(simple_client_DEPENDENCIES) + @rm -f simple-client$(EXEEXT) + $(AM_V_CCLD)$(simple_client_LINK) $(simple_client_OBJECTS) $(simple_client_LDADD) $(LIBS) +simple-client-vala$(EXEEXT): $(simple_client_vala_OBJECTS) $(simple_client_vala_DEPENDENCIES) + @rm -f simple-client-vala$(EXEEXT) + $(AM_V_CCLD)$(simple_client_vala_LINK) $(simple_client_vala_OBJECTS) $(simple_client_vala_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_client-simple-client.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_client_vala-simple-client-vala.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +simple_client-simple-client.o: simple-client.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_CFLAGS) $(CFLAGS) -MT simple_client-simple-client.o -MD -MP -MF $(DEPDIR)/simple_client-simple-client.Tpo -c -o simple_client-simple-client.o `test -f 'simple-client.c' || echo '$(srcdir)/'`simple-client.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_client-simple-client.Tpo $(DEPDIR)/simple_client-simple-client.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='simple-client.c' object='simple_client-simple-client.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_CFLAGS) $(CFLAGS) -c -o simple_client-simple-client.o `test -f 'simple-client.c' || echo '$(srcdir)/'`simple-client.c + +simple_client-simple-client.obj: simple-client.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_CFLAGS) $(CFLAGS) -MT simple_client-simple-client.obj -MD -MP -MF $(DEPDIR)/simple_client-simple-client.Tpo -c -o simple_client-simple-client.obj `if test -f 'simple-client.c'; then $(CYGPATH_W) 'simple-client.c'; else $(CYGPATH_W) '$(srcdir)/simple-client.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_client-simple-client.Tpo $(DEPDIR)/simple_client-simple-client.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='simple-client.c' object='simple_client-simple-client.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_CFLAGS) $(CFLAGS) -c -o simple_client-simple-client.obj `if test -f 'simple-client.c'; then $(CYGPATH_W) 'simple-client.c'; else $(CYGPATH_W) '$(srcdir)/simple-client.c'; fi` + +simple_client_vala-simple-client-vala.o: simple-client-vala.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_vala_CFLAGS) $(CFLAGS) -MT simple_client_vala-simple-client-vala.o -MD -MP -MF $(DEPDIR)/simple_client_vala-simple-client-vala.Tpo -c -o simple_client_vala-simple-client-vala.o `test -f 'simple-client-vala.c' || echo '$(srcdir)/'`simple-client-vala.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_client_vala-simple-client-vala.Tpo $(DEPDIR)/simple_client_vala-simple-client-vala.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='simple-client-vala.c' object='simple_client_vala-simple-client-vala.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_vala_CFLAGS) $(CFLAGS) -c -o simple_client_vala-simple-client-vala.o `test -f 'simple-client-vala.c' || echo '$(srcdir)/'`simple-client-vala.c + +simple_client_vala-simple-client-vala.obj: simple-client-vala.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_vala_CFLAGS) $(CFLAGS) -MT simple_client_vala-simple-client-vala.obj -MD -MP -MF $(DEPDIR)/simple_client_vala-simple-client-vala.Tpo -c -o simple_client_vala-simple-client-vala.obj `if test -f 'simple-client-vala.c'; then $(CYGPATH_W) 'simple-client-vala.c'; else $(CYGPATH_W) '$(srcdir)/simple-client-vala.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_client_vala-simple-client-vala.Tpo $(DEPDIR)/simple_client_vala-simple-client-vala.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='simple-client-vala.c' object='simple_client_vala-simple-client-vala.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_client_vala_CFLAGS) $(CFLAGS) -c -o simple_client_vala-simple-client-vala.obj `if test -f 'simple-client-vala.c'; then $(CYGPATH_W) 'simple-client-vala.c'; else $(CYGPATH_W) '$(srcdir)/simple-client-vala.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile +installdirs: +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: all check check-am install install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean \ + clean-checkPROGRAMS clean-generic clean-libtool ctags \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am + +@HAVE_VALAC_TRUE@simple-client-vala.c: $(srcdir)/simple-client-vala.vala +@HAVE_VALAC_TRUE@ $(VALAC) $(VALAFLAGS) -C $< -o $@ +@HAVE_VALAC_TRUE@ $(SED) -i "s|#include\s*<\s*libappindicator/app-indicator.h\s*>||g" $@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/example/simple-client-vala.c b/example/simple-client-vala.c new file mode 100644 index 0000000..0053429 --- /dev/null +++ b/example/simple-client-vala.c @@ -0,0 +1,738 @@ +/* simple-client-vala.c generated by valac 0.11.5, the Vala compiler + * generated from simple-client-vala.vala, do not modify */ + +/* +A small piece of sample code demonstrating a very simple application +with an indicator. + +Copyright 2011 Canonical Ltd. + +Authors: + Marco Trevisan <mail@3v1n0.net> + +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/>. +*/ + +#include <glib.h> +#include <glib-object.h> +#include <stdlib.h> +#include <string.h> +#include <gtk/gtk.h> + +#include <gobject/gvaluecollector.h> + + +#define TYPE_SIMPLE_CLIENT (simple_client_get_type ()) +#define SIMPLE_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_CLIENT, SimpleClient)) +#define SIMPLE_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_CLIENT, SimpleClientClass)) +#define IS_SIMPLE_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_CLIENT)) +#define IS_SIMPLE_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_CLIENT)) +#define SIMPLE_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_CLIENT, SimpleClientClass)) + +typedef struct _SimpleClient SimpleClient; +typedef struct _SimpleClientClass SimpleClientClass; +#define _simple_client_unref0(var) ((var == NULL) ? NULL : (var = (simple_client_unref (var), NULL))) +typedef struct _SimpleClientPrivate SimpleClientPrivate; +#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +typedef struct _Block1Data Block1Data; +typedef struct _Block2Data Block2Data; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define __g_slist_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_slist_free__g_object_unref0_ (var), NULL))) +typedef struct _ParamSpecSimpleClient ParamSpecSimpleClient; + +struct _SimpleClient { + GTypeInstance parent_instance; + volatile int ref_count; + SimpleClientPrivate * priv; +}; + +struct _SimpleClientClass { + GTypeClass parent_class; + void (*finalize) (SimpleClient *self); +}; + +struct _SimpleClientPrivate { + GtkMenu* menu; + AppIndicator* ci; + gint percentage; + gboolean active; + gboolean can_haz_label; +}; + +struct _Block1Data { + int _ref_count_; + SimpleClient * self; + GtkMenuItem* prev_mi; +}; + +struct _Block2Data { + int _ref_count_; + SimpleClient * self; + GtkMenuItem* submenu; + GtkImageMenuItem* imgitem; + GtkMenuItem* att; + GtkMenuItem* show; + GtkCheckMenuItem* icon; +}; + +struct _ParamSpecSimpleClient { + GParamSpec parent_instance; +}; + + +static gpointer simple_client_parent_class = NULL; + +gint _vala_main (gchar** args, int args_length1); +SimpleClient* simple_client_new (gchar** args, int args_length1); +SimpleClient* simple_client_construct (GType object_type, gchar** args, int args_length1); +gpointer simple_client_ref (gpointer instance); +void simple_client_unref (gpointer instance); +GParamSpec* param_spec_simple_client (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags); +void value_set_simple_client (GValue* value, gpointer v_object); +void value_take_simple_client (GValue* value, gpointer v_object); +gpointer value_get_simple_client (const GValue* value); +GType simple_client_get_type (void) G_GNUC_CONST; +void simple_client_run (SimpleClient* self); +#define SIMPLE_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SIMPLE_CLIENT, SimpleClientPrivate)) +enum { + SIMPLE_CLIENT_DUMMY_PROPERTY +}; +static void simple_client_toggle_sensitivity (SimpleClient* self, GtkWidget* widget); +static void simple_client_append_submenu (SimpleClient* self, GtkMenuItem* item); +static Block1Data* block1_data_ref (Block1Data* _data1_); +static void block1_data_unref (Block1Data* _data1_); +static void _lambda0_ (SimpleClient* self); +static void __lambda0__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _lambda1_ (Block1Data* _data1_); +static void __lambda1__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _lambda2_ (SimpleClient* self); +static void __lambda2__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void simple_client_label_toggle (SimpleClient* self, GtkMenuItem* item); +static Block2Data* block2_data_ref (Block2Data* _data2_); +static void block2_data_unref (Block2Data* _data2_); +static void _lambda3_ (gint delta, guint direction, SimpleClient* self); +static void __lambda3__app_indicator_scroll_event (AppIndicator* _sender, gint indicator, guint delta, gpointer self); +static gboolean _lambda4_ (SimpleClient* self); +static gboolean __lambda4__gsource_func (gpointer self); +static void _lambda5_ (SimpleClient* self); +static void __lambda5__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _g_object_unref0_ (gpointer var); +static void _g_slist_free__g_object_unref0_ (GSList* self); +static void _lambda6_ (SimpleClient* self); +static void __lambda6__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _lambda7_ (Block2Data* _data2_); +static void __lambda7__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _lambda8_ (Block2Data* _data2_); +static void __lambda8__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _lambda9_ (Block2Data* _data2_); +static void __lambda9__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _lambda10_ (Block2Data* _data2_); +static void __lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void _lambda11_ (Block2Data* _data2_); +static void __lambda11__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void simple_client_finalize (SimpleClient* obj); + + +gint _vala_main (gchar** args, int args_length1) { + gint result = 0; + SimpleClient* _tmp0_ = NULL; + SimpleClient* sc; + _tmp0_ = simple_client_new (args, args_length1); + sc = _tmp0_; + simple_client_run (sc); + result = 0; + _simple_client_unref0 (sc); + return result; +} + + +int main (int argc, char ** argv) { + g_type_init (); + return _vala_main (argv, argc); +} + + +SimpleClient* simple_client_construct (GType object_type, gchar** args, int args_length1) { + SimpleClient* self = NULL; + AppIndicator* _tmp0_ = NULL; + AppIndicator* _tmp1_; + self = (SimpleClient*) g_type_create_instance (object_type); + gtk_init (&args_length1, &args); + _tmp0_ = app_indicator_new ("example-simple-client", "indicator-messages", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); + _tmp1_ = _tmp0_; + _g_object_unref0 (self->priv->ci); + self->priv->ci = _tmp1_; + app_indicator_set_status (self->priv->ci, APP_INDICATOR_STATUS_ACTIVE); + app_indicator_set_attention_icon (self->priv->ci, "indicator-messages-new"); + app_indicator_set_label (self->priv->ci, "1%", "100%"); + self->priv->active = TRUE; + self->priv->can_haz_label = TRUE; + return self; +} + + +SimpleClient* simple_client_new (gchar** args, int args_length1) { + return simple_client_construct (TYPE_SIMPLE_CLIENT, args, args_length1); +} + + +static void simple_client_toggle_sensitivity (SimpleClient* self, GtkWidget* widget) { + gboolean _tmp0_; + g_return_if_fail (self != NULL); + g_return_if_fail (widget != NULL); + _tmp0_ = gtk_widget_is_sensitive (widget); + gtk_widget_set_sensitive (widget, !_tmp0_); +} + + +static Block1Data* block1_data_ref (Block1Data* _data1_) { + g_atomic_int_inc (&_data1_->_ref_count_); + return _data1_; +} + + +static void block1_data_unref (Block1Data* _data1_) { + if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) { + _simple_client_unref0 (_data1_->self); + _g_object_unref0 (_data1_->prev_mi); + g_slice_free (Block1Data, _data1_); + } +} + + +static void _lambda0_ (SimpleClient* self) { + g_print ("Sub1\n"); +} + + +static void __lambda0__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda0_ (self); +} + + +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; +} + + +static void _lambda1_ (Block1Data* _data1_) { + SimpleClient * self; + self = _data1_->self; + simple_client_toggle_sensitivity (self, (GtkWidget*) _data1_->prev_mi); +} + + +static void __lambda1__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda1_ (self); +} + + +static void _lambda2_ (SimpleClient* self) { + g_print ("Sub3\n"); +} + + +static void __lambda2__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda2_ (self); +} + + +static void simple_client_append_submenu (SimpleClient* self, GtkMenuItem* item) { + Block1Data* _data1_; + GtkMenu* _tmp0_ = NULL; + GtkMenu* menu; + GtkMenuItem* mi = NULL; + GtkMenuItem* _tmp1_ = NULL; + GtkMenuItem* _tmp2_; + GtkMenuItem* _tmp3_; + GtkMenuItem* _tmp4_ = NULL; + GtkMenuItem* _tmp5_; + GtkMenuItem* _tmp6_ = NULL; + GtkMenuItem* _tmp7_; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + _data1_ = g_slice_new0 (Block1Data); + _data1_->_ref_count_ = 1; + _data1_->self = simple_client_ref (self); + _tmp0_ = (GtkMenu*) gtk_menu_new (); + menu = g_object_ref_sink (_tmp0_); + _tmp1_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Sub 1"); + _tmp2_ = g_object_ref_sink (_tmp1_); + _g_object_unref0 (mi); + mi = _tmp2_; + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) mi); + g_signal_connect (mi, "activate", (GCallback) __lambda0__gtk_menu_item_activate, self); + _tmp3_ = _g_object_ref0 (mi); + _data1_->prev_mi = _tmp3_; + _tmp4_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Sub 2"); + _tmp5_ = g_object_ref_sink (_tmp4_); + _g_object_unref0 (mi); + mi = _tmp5_; + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) mi); + g_signal_connect_data (mi, "activate", (GCallback) __lambda1__gtk_menu_item_activate, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0); + _tmp6_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Sub 3"); + _tmp7_ = g_object_ref_sink (_tmp6_); + _g_object_unref0 (mi); + mi = _tmp7_; + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) mi); + g_signal_connect (mi, "activate", (GCallback) __lambda2__gtk_menu_item_activate, self); + gtk_widget_show_all ((GtkWidget*) menu); + gtk_menu_item_set_submenu (item, (GtkWidget*) menu); + _g_object_unref0 (mi); + _g_object_unref0 (menu); + block1_data_unref (_data1_); + _data1_ = NULL; +} + + +static void simple_client_label_toggle (SimpleClient* self, GtkMenuItem* item) { + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + self->priv->can_haz_label = !self->priv->can_haz_label; + if (self->priv->can_haz_label) { + gtk_menu_item_set_label (item, "Hide label"); + } else { + gtk_menu_item_set_label (item, "Show label"); + } +} + + +static Block2Data* block2_data_ref (Block2Data* _data2_) { + g_atomic_int_inc (&_data2_->_ref_count_); + return _data2_; +} + + +static void block2_data_unref (Block2Data* _data2_) { + if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) { + _simple_client_unref0 (_data2_->self); + _g_object_unref0 (_data2_->icon); + _g_object_unref0 (_data2_->show); + _g_object_unref0 (_data2_->att); + _g_object_unref0 (_data2_->imgitem); + _g_object_unref0 (_data2_->submenu); + g_slice_free (Block2Data, _data2_); + } +} + + +static void _lambda3_ (gint delta, guint direction, SimpleClient* self) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_; + gchar* _tmp2_ = NULL; + gchar* _tmp3_; + gchar* _tmp4_ = NULL; + gchar* _tmp5_; + _tmp0_ = g_strdup_printf ("%i", delta); + _tmp1_ = _tmp0_; + _tmp2_ = g_strdup_printf ("%u", direction); + _tmp3_ = _tmp2_; + _tmp4_ = g_strconcat ("Got scroll event! delta: ", _tmp1_, ", direction: ", _tmp3_, "\n", NULL); + _tmp5_ = _tmp4_; + g_print ("%s", _tmp5_); + _g_free0 (_tmp5_); + _g_free0 (_tmp3_); + _g_free0 (_tmp1_); +} + + +static void __lambda3__app_indicator_scroll_event (AppIndicator* _sender, gint indicator, guint delta, gpointer self) { + _lambda3_ (indicator, delta, self); +} + + +static gboolean _lambda4_ (SimpleClient* self) { + gboolean result = FALSE; + self->priv->percentage = (self->priv->percentage + 1) % 100; + if (self->priv->can_haz_label) { + gchar* _tmp0_ = NULL; + gchar* _tmp1_; + gchar* _tmp2_ = NULL; + gchar* _tmp3_; + _tmp0_ = g_strdup_printf ("%i", self->priv->percentage + 1); + _tmp1_ = _tmp0_; + _tmp2_ = g_strconcat (_tmp1_, "%", NULL); + _tmp3_ = _tmp2_; + app_indicator_set_label (self->priv->ci, _tmp3_, ""); + _g_free0 (_tmp3_); + _g_free0 (_tmp1_); + } else { + app_indicator_set_label (self->priv->ci, "", ""); + } + result = TRUE; + return result; +} + + +static gboolean __lambda4__gsource_func (gpointer self) { + gboolean result; + result = _lambda4_ (self); + return result; +} + + +static void _lambda5_ (SimpleClient* self) { + g_print ("1\n"); +} + + +static void __lambda5__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda5_ (self); +} + + +static void _g_object_unref0_ (gpointer var) { + (var == NULL) ? NULL : (var = (g_object_unref (var), NULL)); +} + + +static void _g_slist_free__g_object_unref0_ (GSList* self) { + g_slist_foreach (self, (GFunc) _g_object_unref0_, NULL); + g_slist_free (self); +} + + +static void _lambda6_ (SimpleClient* self) { + g_print ("2\n"); +} + + +static void __lambda6__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda6_ (self); +} + + +static void _lambda7_ (Block2Data* _data2_) { + SimpleClient * self; + self = _data2_->self; + simple_client_toggle_sensitivity (self, (GtkWidget*) _data2_->submenu); +} + + +static void __lambda7__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda7_ (self); +} + + +static void _lambda8_ (Block2Data* _data2_) { + SimpleClient * self; + GtkWidget* _tmp0_ = NULL; + GtkImage* _tmp1_; + GtkImage* img; + self = _data2_->self; + _tmp0_ = gtk_image_menu_item_get_image (_data2_->imgitem); + _tmp1_ = _g_object_ref0 (GTK_IMAGE (_tmp0_)); + img = _tmp1_; + gtk_image_set_from_stock (img, GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU); + _g_object_unref0 (img); +} + + +static void __lambda8__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda8_ (self); +} + + +static void _lambda9_ (Block2Data* _data2_) { + SimpleClient * self; + self = _data2_->self; + if (self->priv->active) { + app_indicator_set_status (self->priv->ci, APP_INDICATOR_STATUS_ATTENTION); + gtk_menu_item_set_label (_data2_->att, "I'm okay now"); + self->priv->active = FALSE; + } else { + app_indicator_set_status (self->priv->ci, APP_INDICATOR_STATUS_ACTIVE); + gtk_menu_item_set_label (_data2_->att, "Get Attention"); + self->priv->active = FALSE; + } +} + + +static void __lambda9__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda9_ (self); +} + + +static void _lambda10_ (Block2Data* _data2_) { + SimpleClient * self; + self = _data2_->self; + simple_client_label_toggle (self, _data2_->show); +} + + +static void __lambda10__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda10_ (self); +} + + +static void _lambda11_ (Block2Data* _data2_) { + SimpleClient * self; + gboolean _tmp0_; + self = _data2_->self; + _tmp0_ = gtk_check_menu_item_get_active (_data2_->icon); + if (_tmp0_) { + app_indicator_set_icon (self->priv->ci, "simple-client-test-icon.png"); + } else { + app_indicator_set_icon (self->priv->ci, "indicator-messages"); + } +} + + +static void __lambda11__gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + _lambda11_ (self); +} + + +void simple_client_run (SimpleClient* self) { + Block2Data* _data2_; + GtkMenu* _tmp0_ = NULL; + GtkMenu* _tmp1_; + GtkCheckMenuItem* _tmp2_ = NULL; + GtkCheckMenuItem* chk; + GSList* _tmp3_; + GtkRadioMenuItem* _tmp4_ = NULL; + GtkRadioMenuItem* _tmp5_; + GtkRadioMenuItem* radio; + GtkMenuItem* _tmp6_ = NULL; + GtkMenuItem* _tmp7_ = NULL; + GtkMenuItem* toggle_item; + GtkImageMenuItem* _tmp8_ = NULL; + GtkMenuItem* _tmp9_ = NULL; + GtkMenuItem* _tmp10_ = NULL; + GtkCheckMenuItem* _tmp11_ = NULL; + g_return_if_fail (self != NULL); + _data2_ = g_slice_new0 (Block2Data); + _data2_->_ref_count_ = 1; + _data2_->self = simple_client_ref (self); + g_signal_connect (self->priv->ci, "scroll-event", (GCallback) __lambda3__app_indicator_scroll_event, self); + g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 1, __lambda4__gsource_func, simple_client_ref (self), simple_client_unref); + _tmp0_ = (GtkMenu*) gtk_menu_new (); + _tmp1_ = g_object_ref_sink (_tmp0_); + _g_object_unref0 (self->priv->menu); + self->priv->menu = _tmp1_; + _tmp2_ = (GtkCheckMenuItem*) gtk_check_menu_item_new_with_label ("1"); + chk = g_object_ref_sink (_tmp2_); + g_signal_connect ((GtkMenuItem*) chk, "activate", (GCallback) __lambda5__gtk_menu_item_activate, self); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) ((GtkMenuItem*) chk)); + gtk_widget_show ((GtkWidget*) chk); + _tmp3_ = NULL; + _tmp4_ = (GtkRadioMenuItem*) gtk_radio_menu_item_new_with_label (_tmp3_, "2"); + radio = (_tmp5_ = g_object_ref_sink (_tmp4_), __g_slist_free__g_object_unref0_0 (_tmp3_), _tmp5_); + g_signal_connect ((GtkMenuItem*) radio, "activate", (GCallback) __lambda6__gtk_menu_item_activate, self); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) ((GtkMenuItem*) radio)); + gtk_widget_show ((GtkWidget*) radio); + _tmp6_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("3"); + _data2_->submenu = g_object_ref_sink (_tmp6_); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) _data2_->submenu); + simple_client_append_submenu (self, _data2_->submenu); + gtk_widget_show ((GtkWidget*) _data2_->submenu); + _tmp7_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Toggle 3"); + toggle_item = g_object_ref_sink (_tmp7_); + g_signal_connect_data (toggle_item, "activate", (GCallback) __lambda7__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) toggle_item); + gtk_widget_show ((GtkWidget*) toggle_item); + _tmp8_ = (GtkImageMenuItem*) gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, NULL); + _data2_->imgitem = g_object_ref_sink (_tmp8_); + g_signal_connect_data ((GtkMenuItem*) _data2_->imgitem, "activate", (GCallback) __lambda8__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) ((GtkMenuItem*) _data2_->imgitem)); + gtk_widget_show ((GtkWidget*) _data2_->imgitem); + _tmp9_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Get Attention"); + _data2_->att = g_object_ref_sink (_tmp9_); + g_signal_connect_data (_data2_->att, "activate", (GCallback) __lambda9__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) _data2_->att); + gtk_widget_show ((GtkWidget*) _data2_->att); + _tmp10_ = (GtkMenuItem*) gtk_menu_item_new_with_label ("Show Label"); + _data2_->show = g_object_ref_sink (_tmp10_); + simple_client_label_toggle (self, _data2_->show); + g_signal_connect_data (_data2_->show, "activate", (GCallback) __lambda10__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) _data2_->show); + gtk_widget_show ((GtkWidget*) _data2_->show); + _tmp11_ = (GtkCheckMenuItem*) gtk_check_menu_item_new_with_label ("Set Local Icon"); + _data2_->icon = g_object_ref_sink (_tmp11_); + g_signal_connect_data ((GtkMenuItem*) _data2_->icon, "activate", (GCallback) __lambda11__gtk_menu_item_activate, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); + gtk_menu_shell_append ((GtkMenuShell*) self->priv->menu, (GtkWidget*) ((GtkMenuItem*) _data2_->icon)); + gtk_widget_show ((GtkWidget*) _data2_->icon); + app_indicator_set_menu (self->priv->ci, self->priv->menu); + gtk_main (); + _g_object_unref0 (toggle_item); + _g_object_unref0 (radio); + _g_object_unref0 (chk); + block2_data_unref (_data2_); + _data2_ = NULL; +} + + +static void value_simple_client_init (GValue* value) { + value->data[0].v_pointer = NULL; +} + + +static void value_simple_client_free_value (GValue* value) { + if (value->data[0].v_pointer) { + simple_client_unref (value->data[0].v_pointer); + } +} + + +static void value_simple_client_copy_value (const GValue* src_value, GValue* dest_value) { + if (src_value->data[0].v_pointer) { + dest_value->data[0].v_pointer = simple_client_ref (src_value->data[0].v_pointer); + } else { + dest_value->data[0].v_pointer = NULL; + } +} + + +static gpointer value_simple_client_peek_pointer (const GValue* value) { + return value->data[0].v_pointer; +} + + +static gchar* value_simple_client_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + if (collect_values[0].v_pointer) { + SimpleClient* object; + object = collect_values[0].v_pointer; + if (object->parent_instance.g_class == NULL) { + return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); + } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { + return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); + } + value->data[0].v_pointer = simple_client_ref (object); + } else { + value->data[0].v_pointer = NULL; + } + return NULL; +} + + +static gchar* value_simple_client_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { + SimpleClient** object_p; + object_p = collect_values[0].v_pointer; + if (!object_p) { + return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); + } + if (!value->data[0].v_pointer) { + *object_p = NULL; + } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { + *object_p = value->data[0].v_pointer; + } else { + *object_p = simple_client_ref (value->data[0].v_pointer); + } + return NULL; +} + + +GParamSpec* param_spec_simple_client (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { + ParamSpecSimpleClient* spec; + g_return_val_if_fail (g_type_is_a (object_type, TYPE_SIMPLE_CLIENT), NULL); + spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); + G_PARAM_SPEC (spec)->value_type = object_type; + return G_PARAM_SPEC (spec); +} + + +gpointer value_get_simple_client (const GValue* value) { + g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SIMPLE_CLIENT), NULL); + return value->data[0].v_pointer; +} + + +void value_set_simple_client (GValue* value, gpointer v_object) { + SimpleClient* old; + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SIMPLE_CLIENT)); + old = value->data[0].v_pointer; + if (v_object) { + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SIMPLE_CLIENT)); + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); + value->data[0].v_pointer = v_object; + simple_client_ref (value->data[0].v_pointer); + } else { + value->data[0].v_pointer = NULL; + } + if (old) { + simple_client_unref (old); + } +} + + +void value_take_simple_client (GValue* value, gpointer v_object) { + SimpleClient* old; + g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SIMPLE_CLIENT)); + old = value->data[0].v_pointer; + if (v_object) { + g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SIMPLE_CLIENT)); + g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); + value->data[0].v_pointer = v_object; + } else { + value->data[0].v_pointer = NULL; + } + if (old) { + simple_client_unref (old); + } +} + + +static void simple_client_class_init (SimpleClientClass * klass) { + simple_client_parent_class = g_type_class_peek_parent (klass); + SIMPLE_CLIENT_CLASS (klass)->finalize = simple_client_finalize; + g_type_class_add_private (klass, sizeof (SimpleClientPrivate)); +} + + +static void simple_client_instance_init (SimpleClient * self) { + self->priv = SIMPLE_CLIENT_GET_PRIVATE (self); + self->ref_count = 1; +} + + +static void simple_client_finalize (SimpleClient* obj) { + SimpleClient * self; + self = SIMPLE_CLIENT (obj); + _g_object_unref0 (self->priv->menu); + _g_object_unref0 (self->priv->ci); +} + + +GType simple_client_get_type (void) { + static volatile gsize simple_client_type_id__volatile = 0; + if (g_once_init_enter (&simple_client_type_id__volatile)) { + static const GTypeValueTable g_define_type_value_table = { value_simple_client_init, value_simple_client_free_value, value_simple_client_copy_value, value_simple_client_peek_pointer, "p", value_simple_client_collect_value, "p", value_simple_client_lcopy_value }; + static const GTypeInfo g_define_type_info = { sizeof (SimpleClientClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) simple_client_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SimpleClient), 0, (GInstanceInitFunc) simple_client_instance_init, &g_define_type_value_table }; + static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; + GType simple_client_type_id; + simple_client_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SimpleClient", &g_define_type_info, &g_define_type_fundamental_info, 0); + g_once_init_leave (&simple_client_type_id__volatile, simple_client_type_id); + } + return simple_client_type_id__volatile; +} + + +gpointer simple_client_ref (gpointer instance) { + SimpleClient* self; + self = instance; + g_atomic_int_inc (&self->ref_count); + return instance; +} + + +void simple_client_unref (gpointer instance) { + SimpleClient* self; + self = instance; + if (g_atomic_int_dec_and_test (&self->ref_count)) { + SIMPLE_CLIENT_GET_CLASS (self)->finalize (self); + g_type_free_instance ((GTypeInstance *) self); + } +} + + + diff --git a/example/simple-client-vala.vala b/example/simple-client-vala.vala deleted file mode 100644 index 61e0c2f..0000000 --- a/example/simple-client-vala.vala +++ /dev/null @@ -1,170 +0,0 @@ -/* -A small piece of sample code demonstrating a very simple application -with an indicator. - -Copyright 2011 Canonical Ltd. - -Authors: - Marco Trevisan <mail@3v1n0.net> - -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/>. -*/ - -using Gtk; -using AppIndicator; - -static int main(string[] args) { - var sc = new SimpleClient(args); - sc.run(); - return 0; -} - -class SimpleClient { - Menu menu; - Indicator ci; - int percentage; - bool active; - bool can_haz_label; - - public SimpleClient(string[] args) { - Gtk.init(ref args); - - ci = new Indicator("example-simple-client", - "indicator-messages", - IndicatorCategory.APPLICATION_STATUS); - - ci.set_status(IndicatorStatus.ACTIVE); - ci.set_attention_icon("indicator-messages-new"); - ci.set_label("1%", "100%"); - - active = true; - can_haz_label = true; - } - - private void toggle_sensitivity(Widget widget) { - widget.set_sensitive(!widget.is_sensitive()); - } - - private void append_submenu(MenuItem item) { - var menu = new Menu(); - MenuItem mi; - - mi = new MenuItem.with_label("Sub 1"); - menu.append(mi); - mi.activate.connect(() => { print("Sub1\n"); }); - - MenuItem prev_mi = mi; - mi = new MenuItem.with_label("Sub 2"); - menu.append(mi); - mi.activate.connect(() => { toggle_sensitivity(prev_mi); }); - - mi = new MenuItem.with_label("Sub 3"); - menu.append(mi); - mi.activate.connect(() => { print("Sub3\n"); }); - - menu.show_all(); - item.set_submenu(menu); - } - - private void label_toggle(MenuItem item) { - can_haz_label = !can_haz_label; - - if (can_haz_label) { - item.set_label("Hide label"); - } else { - item.set_label("Show label"); - } - } - - public void run() { - - ci.scroll_event.connect((delta, direction) => { - print(@"Got scroll event! delta: $delta, direction: $direction\n"); - }); - - Timeout.add_seconds(1, () => { - percentage = (percentage + 1) % 100; - if (can_haz_label) { - ci.set_label(@"$(percentage+1)%", ""); - } else { - ci.set_label("", ""); - } - return true; - }); - - menu = new Menu(); - var chk = new CheckMenuItem.with_label("1"); - chk.activate.connect(() => { print("1\n"); }); - menu.append(chk); - chk.show(); - - var radio = new RadioMenuItem.with_label(new SList<RadioMenuItem>(), "2"); - radio.activate.connect(() => { print("2\n"); }); - menu.append(radio); - radio.show(); - - var submenu = new MenuItem.with_label("3"); - menu.append(submenu); - append_submenu(submenu); - submenu.show(); - - var toggle_item = new MenuItem.with_label("Toggle 3"); - toggle_item.activate.connect(() => { toggle_sensitivity(submenu); }); - menu.append(toggle_item); - toggle_item.show(); - - var imgitem = new ImageMenuItem.from_stock(Stock.NEW, null); - imgitem.activate.connect(() => { - Image img = (Image) imgitem.get_image(); - img.set_from_stock(Stock.OPEN, IconSize.MENU); - }); - menu.append(imgitem); - imgitem.show(); - - var att = new MenuItem.with_label("Get Attention"); - att.activate.connect(() => { - if (active) { - ci.set_status(IndicatorStatus.ATTENTION); - att.set_label("I'm okay now"); - active = false; - } else { - ci.set_status(IndicatorStatus.ACTIVE); - att.set_label("Get Attention"); - active = false; - } - }); - menu.append(att); - att.show(); - - var show = new MenuItem.with_label("Show Label"); - label_toggle(show); - show.activate.connect(() => { label_toggle(show); }); - menu.append(show); - show.show(); - - var icon = new CheckMenuItem.with_label("Set Local Icon"); - icon.activate.connect(() => { - if (icon.get_active()) { - ci.set_icon("simple-client-test-icon.png"); - } else { - ci.set_icon("indicator-messages"); - } - }); - menu.append(icon); - icon.show(); - - ci.set_menu(menu); - - Gtk.main(); - } -} |