diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 4791609247..9d1e08f54e 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -72,6 +72,7 @@ libgtk_la_SOURCES = \ gtktable.c \ gtktext.c \ gtktogglebutton.c \ + gtktoolbar.c \ gtktooltips.c \ gtktree.c \ gtktreeitem.c \ @@ -158,6 +159,7 @@ gtkinclude_HEADERS = \ gtktable.h \ gtktext.h \ gtktogglebutton.h \ + gtktoolbar.h \ gtktooltips.h \ gtktree.h \ gtktreeitem.h \ diff --git a/gtk/Makefile.in b/gtk/Makefile.in new file mode 100644 index 0000000000..93eba8d9a5 --- /dev/null +++ b/gtk/Makefile.in @@ -0,0 +1,676 @@ +# Makefile.in generated automatically by automake 1.2c from Makefile.am + +# Copyright (C) 1994, 1995, 1996, 1997 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. + + +SHELL = /bin/sh + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = .. + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +transform = @program_transform_name@ + +NORMAL_INSTALL = true +PRE_INSTALL = true +POST_INSTALL = true +NORMAL_UNINSTALL = true +PRE_UNINSTALL = true +POST_UNINSTALL = true +host_alias = @host_alias@ +host_triplet = @host@ +CC = @CC@ +LD = @LD@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +PACKAGE = @PACKAGE@ +RANLIB = @RANLIB@ +VERSION = @VERSION@ +x_cflags = @x_cflags@ +x_includes = @x_includes@ +x_ldflags = @x_ldflags@ +x_libs = @x_libs@ +xinput_progs = @xinput_progs@ + +gtkincludedir = $(includedir)/gtk + +lib_LTLIBRARIES = libgtk.la + +libgtk_la_SOURCES = \ + gtkaccelerator.c \ + gtkadjustment.c \ + gtkaspectframe.c \ + gtkalignment.c \ + gtkarrow.c \ + gtkbin.c \ + gtkbbox.c \ + gtkbox.c \ + gtkbutton.c \ + gtkcheckbutton.c \ + gtkcheckmenuitem.c \ + gtkcolorsel.c \ + gtkcontainer.c \ + gtkcurve.c \ + gtkdata.c \ + gtkdialog.c \ + gtkdrawingarea.c \ + gtkentry.c \ + gtkeventbox.c \ + gtkfilesel.c \ + gtkfixed.c \ + gtkframe.c \ + gtkgamma.c \ + gtkgc.c \ + gtkhbbox.c \ + gtkhbox.c \ + gtkhpaned.c \ + gtkhruler.c \ + gtkhscale.c \ + gtkhscrollbar.c \ + gtkhseparator.c \ + gtkimage.c \ + gtkinputdialog.c \ + gtkitem.c \ + gtklabel.c \ + gtklist.c \ + gtklistitem.c \ + gtkmain.c \ + gtkmenu.c \ + gtkmenubar.c \ + gtkmenufactory.c \ + gtkmenuitem.c \ + gtkmenushell.c \ + gtkmisc.c \ + gtknotebook.c \ + gtkobject.c \ + gtkoptionmenu.c \ + gtkpaned.c \ + gtkpixmap.c \ + gtkpreview.c \ + gtkprogressbar.c \ + gtkradiobutton.c \ + gtkradiomenuitem.c \ + gtkrange.c \ + gtkrc.c \ + gtkruler.c \ + gtkscale.c \ + gtkscrollbar.c \ + gtkscrolledwindow.c \ + gtkselection.c \ + gtkseparator.c \ + gtksignal.c \ + gtkstyle.c \ + gtktable.c \ + gtktext.c \ + gtktogglebutton.c \ + gtktooltips.c \ + gtktree.c \ + gtktreeitem.c \ + gtktypeutils.c \ + gtkvbbox.c \ + gtkvbox.c \ + gtkviewport.c \ + gtkvpaned.c \ + gtkvruler.c \ + gtkvscale.c \ + gtkvscrollbar.c \ + gtkvseparator.c \ + gtkwidget.c \ + gtkwindow.c \ + fnmatch.c \ + fnmatch.h + +gtkinclude_HEADERS = \ + gtk.h \ + gtkaccelerator.h \ + gtkadjustment.h \ + gtkaspectframe.h \ + gtkalignment.h \ + gtkarrow.h \ + gtkbin.h \ + gtkbbox.h \ + gtkbox.h \ + gtkbutton.h \ + gtkcheckbutton.h \ + gtkcheckmenuitem.h \ + gtkcolorsel.h \ + gtkcontainer.h \ + gtkcurve.h \ + gtkdata.h \ + gtkdialog.h \ + gtkdrawingarea.h \ + gtkentry.h \ + gtkenums.h \ + gtkeventbox.h \ + gtkfilesel.h \ + gtkfixed.h \ + gtkframe.h \ + gtkgamma.h \ + gtkgc.h \ + gtkhbbox.h \ + gtkhbox.h \ + gtkhpaned.h \ + gtkhruler.h \ + gtkhscale.h \ + gtkhscrollbar.h \ + gtkhseparator.h \ + gtkimage.h \ + gtkinputdialog.h \ + gtkitem.h \ + gtklabel.h \ + gtklist.h \ + gtklistitem.h \ + gtkmain.h \ + gtkmenu.h \ + gtkmenubar.h \ + gtkmenufactory.h \ + gtkmenuitem.h \ + gtkmenushell.h \ + gtkmisc.h \ + gtknotebook.h \ + gtkobject.h \ + gtkoptionmenu.h \ + gtkpaned.h \ + gtkpixmap.h \ + gtkpreview.h \ + gtkprogressbar.h \ + gtkradiobutton.h \ + gtkradiomenuitem.h \ + gtkrange.h \ + gtkrc.h \ + gtkruler.h \ + gtkscale.h \ + gtkscrollbar.h \ + gtkscrolledwindow.h \ + gtkselection.h \ + gtkseparator.h \ + gtksignal.h \ + gtkstyle.h \ + gtktable.h \ + gtktext.h \ + gtktogglebutton.h \ + gtktooltips.h \ + gtktree.h \ + gtktreeitem.h \ + gtktypeutils.h \ + gtkvbbox.h \ + gtkvbox.h \ + gtkviewport.h \ + gtkvpaned.h \ + gtkvruler.h \ + gtkvscale.h \ + gtkvscrollbar.h \ + gtkvseparator.h \ + gtkwidget.h \ + gtkwindow.h \ + gtktypebuiltins.h + +libgtk_la_LDFLAGS = -version-info 1:0:0 + +EXTRA_DIST = \ + line-arrow.xbm \ + line-wrap.xbm \ + testgtkrc \ + gtk.defs \ + runelisp \ + gentypeinfo.el \ + gtktypebuiltins.c \ + test.xpm \ + marble.xpm \ + 3DRings.xpm \ + FilesQueue.xpm \ + Modeller.xpm \ + tree_plus.xpm \ + tree_minus.xpm \ + tree_plus.xbm \ + tree_minus.xbm + +INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib @x_cflags@ + +noinst_PROGRAMS = testgtk testinput testselection simple testtree +testgtk_LDADD = \ + libgtk.la \ + $(top_builddir)/gdk/libgdk.la \ + @x_ldflags@ \ + @x_libs@ \ + $(top_builddir)/glib/libglib.la \ + -lm + +testinput_LDADD = \ + libgtk.la \ + $(top_builddir)/gdk/libgdk.la \ + @x_ldflags@ \ + @x_libs@ \ + $(top_builddir)/glib/libglib.la \ + -lm + +testselection_LDADD = \ + libgtk.la \ + $(top_builddir)/gdk/libgdk.la \ + @x_ldflags@ \ + @x_libs@ \ + $(top_builddir)/glib/libglib.la \ + -lm + +simple_LDADD = \ + libgtk.la \ + $(top_builddir)/gdk/libgdk.la \ + @x_ldflags@ \ + @x_libs@ \ + $(top_builddir)/glib/libglib.la \ + -lm + +testtree_LDADD = \ + libgtk.la \ + $(top_builddir)/gdk/libgdk.la \ + @x_ldflags@ \ + @x_libs@ \ + $(top_builddir)/glib/libglib.la \ + -lm + +DEPS = \ + $(top_builddir)/gtk/libgtk.la \ + $(top_builddir)/gdk/libgdk.la \ + $(top_builddir)/glib/libglib.la + +testgtk_DEPENDENCIES = $(DEPS) +testinput_DEPENDENCIES = $(DEPS) +testselection_DEPENDENCIES = $(DEPS) +simple_DEPENDENCIES = $(DEPS) +testtree_DEPENDENCIES = $(DEPS) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = ../config.h +CONFIG_CLEAN_FILES = +LTLIBRARIES = $(lib_LTLIBRARIES) + + +DEFS = @DEFS@ -I. -I$(srcdir) -I.. +CPPFLAGS = @CPPFLAGS@ +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +X_CFLAGS = @X_CFLAGS@ +X_LIBS = @X_LIBS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +libgtk_la_LIBADD = +libgtk_la_OBJECTS = gtkaccelerator.lo gtkadjustment.lo \ +gtkaspectframe.lo gtkalignment.lo gtkarrow.lo gtkbin.lo gtkbbox.lo \ +gtkbox.lo gtkbutton.lo gtkcheckbutton.lo gtkcheckmenuitem.lo \ +gtkcolorsel.lo gtkcontainer.lo gtkcurve.lo gtkdata.lo gtkdialog.lo \ +gtkdrawingarea.lo gtkentry.lo gtkeventbox.lo gtkfilesel.lo gtkfixed.lo \ +gtkframe.lo gtkgamma.lo gtkgc.lo gtkhbbox.lo gtkhbox.lo gtkhpaned.lo \ +gtkhruler.lo gtkhscale.lo gtkhscrollbar.lo gtkhseparator.lo gtkimage.lo \ +gtkinputdialog.lo gtkitem.lo gtklabel.lo gtklist.lo gtklistitem.lo \ +gtkmain.lo gtkmenu.lo gtkmenubar.lo gtkmenufactory.lo gtkmenuitem.lo \ +gtkmenushell.lo gtkmisc.lo gtknotebook.lo gtkobject.lo gtkoptionmenu.lo \ +gtkpaned.lo gtkpixmap.lo gtkpreview.lo gtkprogressbar.lo \ +gtkradiobutton.lo gtkradiomenuitem.lo gtkrange.lo gtkrc.lo gtkruler.lo \ +gtkscale.lo gtkscrollbar.lo gtkscrolledwindow.lo gtkselection.lo \ +gtkseparator.lo gtksignal.lo gtkstyle.lo gtktable.lo gtktext.lo \ +gtktogglebutton.lo gtktooltips.lo gtktree.lo gtktreeitem.lo \ +gtktypeutils.lo gtkvbbox.lo gtkvbox.lo gtkviewport.lo gtkvpaned.lo \ +gtkvruler.lo gtkvscale.lo gtkvscrollbar.lo gtkvseparator.lo \ +gtkwidget.lo gtkwindow.lo fnmatch.lo +PROGRAMS = $(noinst_PROGRAMS) + +testgtk_SOURCES = testgtk.c +testgtk_OBJECTS = testgtk.o +testgtk_LDFLAGS = +testinput_SOURCES = testinput.c +testinput_OBJECTS = testinput.o +testinput_LDFLAGS = +testselection_SOURCES = testselection.c +testselection_OBJECTS = testselection.o +testselection_LDFLAGS = +simple_SOURCES = simple.c +simple_OBJECTS = simple.o +simple_LDFLAGS = +testtree_SOURCES = testtree.c +testtree_OBJECTS = testtree.o +testtree_LDFLAGS = +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) +LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ +HEADERS = $(gtkinclude_HEADERS) + +DIST_COMMON = Makefile.am Makefile.in + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = tar +GZIP = --best +DEP_FILES = .deps/fnmatch.P .deps/gtkaccelerator.P \ +.deps/gtkadjustment.P .deps/gtkalignment.P .deps/gtkarrow.P \ +.deps/gtkaspectframe.P .deps/gtkbbox.P .deps/gtkbin.P .deps/gtkbox.P \ +.deps/gtkbutton.P .deps/gtkcheckbutton.P .deps/gtkcheckmenuitem.P \ +.deps/gtkcolorsel.P .deps/gtkcontainer.P .deps/gtkcurve.P \ +.deps/gtkdata.P .deps/gtkdialog.P .deps/gtkdrawingarea.P \ +.deps/gtkentry.P .deps/gtkeventbox.P .deps/gtkfilesel.P \ +.deps/gtkfixed.P .deps/gtkframe.P .deps/gtkgamma.P .deps/gtkgc.P \ +.deps/gtkhbbox.P .deps/gtkhbox.P .deps/gtkhpaned.P .deps/gtkhruler.P \ +.deps/gtkhscale.P .deps/gtkhscrollbar.P .deps/gtkhseparator.P \ +.deps/gtkimage.P .deps/gtkinputdialog.P .deps/gtkitem.P \ +.deps/gtklabel.P .deps/gtklist.P .deps/gtklistitem.P .deps/gtkmain.P \ +.deps/gtkmenu.P .deps/gtkmenubar.P .deps/gtkmenufactory.P \ +.deps/gtkmenuitem.P .deps/gtkmenushell.P .deps/gtkmisc.P \ +.deps/gtknotebook.P .deps/gtkobject.P .deps/gtkoptionmenu.P \ +.deps/gtkpaned.P .deps/gtkpixmap.P .deps/gtkpreview.P \ +.deps/gtkprogressbar.P .deps/gtkradiobutton.P .deps/gtkradiomenuitem.P \ +.deps/gtkrange.P .deps/gtkrc.P .deps/gtkruler.P .deps/gtkscale.P \ +.deps/gtkscrollbar.P .deps/gtkscrolledwindow.P .deps/gtkselection.P \ +.deps/gtkseparator.P .deps/gtksignal.P .deps/gtkstyle.P \ +.deps/gtktable.P .deps/gtktext.P .deps/gtktogglebutton.P \ +.deps/gtktooltips.P .deps/gtktree.P .deps/gtktreeitem.P \ +.deps/gtktypeutils.P .deps/gtkvbbox.P .deps/gtkvbox.P \ +.deps/gtkviewport.P .deps/gtkvpaned.P .deps/gtkvruler.P \ +.deps/gtkvscale.P .deps/gtkvscrollbar.P .deps/gtkvseparator.P \ +.deps/gtkwidget.P .deps/gtkwindow.P .deps/simple.P .deps/testgtk.P \ +.deps/testinput.P .deps/testselection.P .deps/testtree.P +SOURCES = $(libgtk_la_SOURCES) testgtk.c testinput.c testselection.c simple.c testtree.c +OBJECTS = $(libgtk_la_OBJECTS) testgtk.o testinput.o testselection.o simple.o testtree.o + +default: all + +.SUFFIXES: +.SUFFIXES: .c .lo .o +$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk/Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + + +mostlyclean-libLTLIBRARIES: + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + +distclean-libLTLIBRARIES: + +maintainer-clean-libLTLIBRARIES: + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(libdir) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + echo "$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(libdir)/$$p"; \ + $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(libdir)/$$p; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + $(NORMAL_UNINSTALL) + list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + $(LIBTOOL) --mode=uninstall rm -f $(libdir)/$$p; \ + done + +.c.o: + $(COMPILE) -c $< + +mostlyclean-compile: + -rm -f *.o core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c + +maintainer-clean-compile: + +.c.lo: + $(LIBTOOL) --mode=compile $(COMPILE) -c $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs + +distclean-libtool: + +maintainer-clean-libtool: + +libgtk.la: $(libgtk_la_OBJECTS) $(libgtk_la_DEPENDENCIES) + $(LINK) -rpath $(libdir) $(libgtk_la_LDFLAGS) $(libgtk_la_OBJECTS) $(libgtk_la_LIBADD) $(LIBS) + +mostlyclean-noinstPROGRAMS: + +clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + +distclean-noinstPROGRAMS: + +maintainer-clean-noinstPROGRAMS: + +testgtk: $(testgtk_OBJECTS) $(testgtk_DEPENDENCIES) + @rm -f testgtk + $(LINK) $(testgtk_LDFLAGS) $(testgtk_OBJECTS) $(testgtk_LDADD) $(LIBS) + +testinput: $(testinput_OBJECTS) $(testinput_DEPENDENCIES) + @rm -f testinput + $(LINK) $(testinput_LDFLAGS) $(testinput_OBJECTS) $(testinput_LDADD) $(LIBS) + +testselection: $(testselection_OBJECTS) $(testselection_DEPENDENCIES) + @rm -f testselection + $(LINK) $(testselection_LDFLAGS) $(testselection_OBJECTS) $(testselection_LDADD) $(LIBS) + +simple: $(simple_OBJECTS) $(simple_DEPENDENCIES) + @rm -f simple + $(LINK) $(simple_LDFLAGS) $(simple_OBJECTS) $(simple_LDADD) $(LIBS) + +testtree: $(testtree_OBJECTS) $(testtree_DEPENDENCIES) + @rm -f testtree + $(LINK) $(testtree_LDFLAGS) $(testtree_OBJECTS) $(testtree_LDADD) $(LIBS) + +install-gtkincludeHEADERS: $(gtkinclude_HEADERS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(gtkincludedir) + @list='$(gtkinclude_HEADERS)'; for p in $$list; do \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(gtkincludedir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(gtkincludedir)/$$p; \ + done + +uninstall-gtkincludeHEADERS: + $(NORMAL_UNINSTALL) + list='$(gtkinclude_HEADERS)'; for p in $$list; do \ + rm -f $(gtkincludedir)/$$p; \ + done + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) + here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS) + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) + tags=; \ + here=`pwd`; \ + test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $(SOURCES) $(HEADERS) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) + +subdir = gtk + +distdir: $(DISTFILES) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(top_distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu gtk/Makefile + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file; \ + done + +MKDEP = $(CC) -M $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) + +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) +-include .deps/.P +.deps/.P: $(BUILT_SOURCES) + echo > $@ + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: + +maintainer-clean-depend: + -rm -rf .deps + +.deps/%.P: %.c + @echo "Computing dependencies for $<..." + @o='o'; \ + test -n "$o" && o='$$o'; \ + $(MKDEP) $< >$@.tmp \ + && sed "s,^\(.*\)\.o:,\1.$$o \1.l$$o $@:," < $@.tmp > $@ \ + && rm -f $@.tmp +info: +dvi: +check: all + $(MAKE) +installcheck: +install-exec: install-libLTLIBRARIES + @$(NORMAL_INSTALL) + +install-data: install-gtkincludeHEADERS + @$(NORMAL_INSTALL) + +install: install-exec install-data all + @: + +uninstall: uninstall-libLTLIBRARIES uninstall-gtkincludeHEADERS + +all: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) + +install-strip: + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install +installdirs: + $(mkinstalldirs) $(libdir) $(gtkincludedir) + + +mostlyclean-generic: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -rm -f Makefile $(DISTCLEANFILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +mostlyclean: mostlyclean-libLTLIBRARIES mostlyclean-compile \ + mostlyclean-libtool mostlyclean-noinstPROGRAMS \ + mostlyclean-tags mostlyclean-depend mostlyclean-generic + +clean: clean-libLTLIBRARIES clean-compile clean-libtool \ + clean-noinstPROGRAMS clean-tags clean-depend \ + clean-generic mostlyclean + +distclean: distclean-libLTLIBRARIES distclean-compile distclean-libtool \ + distclean-noinstPROGRAMS distclean-tags \ + distclean-depend distclean-generic clean + -rm -f config.status + -rm -f libtool + +maintainer-clean: maintainer-clean-libLTLIBRARIES \ + maintainer-clean-compile maintainer-clean-libtool \ + maintainer-clean-noinstPROGRAMS maintainer-clean-tags \ + maintainer-clean-depend maintainer-clean-generic \ + distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +.PHONY: default mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \ +clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \ +uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \ +distclean-compile clean-compile maintainer-clean-compile \ +mostlyclean-libtool distclean-libtool clean-libtool \ +maintainer-clean-libtool mostlyclean-noinstPROGRAMS \ +distclean-noinstPROGRAMS clean-noinstPROGRAMS \ +maintainer-clean-noinstPROGRAMS uninstall-gtkincludeHEADERS \ +install-gtkincludeHEADERS tags mostlyclean-tags distclean-tags \ +clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +distclean-depend clean-depend maintainer-clean-depend info dvi \ +installcheck install-exec install-data install uninstall all \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +../gtk/gtktypebuiltins.h: gtk.defs gentypeinfo.el + $(srcdir)/runelisp $(srcdir)/gentypeinfo.el idmac $< $@ + +gtktypebuiltins.c: gtk.defs gentypeinfo.el + $(srcdir)/runelisp $(srcdir)/gentypeinfo.el id $< $@ + +.PHONY: files + +files: + @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \ + echo $$p; \ + done + +# 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/gtk/gtk.h b/gtk/gtk.h index acd1b10468..382afc4fe6 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -87,6 +87,7 @@ #include #include #include +#include #include #include #include diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 95ffdd5c32..e59e0e465a 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -23,6 +23,13 @@ #define DEFAULT_SPACE_SIZE 5 +typedef struct { + GtkWidget *button; + GtkWidget *icon; + GtkWidget *label; +} Child; + + static void gtk_toolbar_class_init (GtkToolbarClass *class); static void gtk_toolbar_init (GtkToolbar *toolbar); static void gtk_toolbar_destroy (GtkObject *object); @@ -90,10 +97,11 @@ gtk_toolbar_init(GtkToolbar *toolbar) { GTK_WIDGET_SET_FLAGS(toolbar, GTK_NO_WINDOW); - toolbar->children = NULL; - toolbar->orientation = GTK_ORIENTATION_HORIZONTAL; - toolbar->style = GTK_TOOLBAR_ICONS; - toolbar->space_size = DEFAULT_SPACE_SIZE; + toolbar->num_children = 0; + toolbar->children = NULL; + toolbar->orientation = GTK_ORIENTATION_HORIZONTAL; + toolbar->style = GTK_TOOLBAR_ICONS; + toolbar->space_size = DEFAULT_SPACE_SIZE; } GtkWidget * @@ -126,9 +134,10 @@ gtk_toolbar_destroy(GtkObject *object) /* NULL child means it is a space in the toolbar, rather than a button */ if (child) { - child->parent = NULL; - gtk_object_unref(GTK_OBJECT(child)); - gtk_widget_destroy(child); + child->button->parent = NULL; + gtk_object_unref(GTK_OBJECT(child->button)); + gtk_widget_destroy(child->button); + g_free(child); } } @@ -154,8 +163,8 @@ gtk_toolbar_map(GtkWidget *widget) for (children = toolbar->children; children; children = children->next) { child = children->data; - if (child && GTK_WIDGET_VISIBLE(child) && !GTK_WIDGET_MAPPED(child)) - gtk_widget_map(child); + if (child && GTK_WIDGET_VISIBLE(child->button) && !GTK_WIDGET_MAPPED(child->button)) + gtk_widget_map(child->button); } } @@ -175,8 +184,8 @@ gtk_toolbar_unmap(GtkWidget *widget) for (children = toolbar->children; children; children = children->next) { child = children->data; - if (child && GTK_WIDGET_VISIBLE(child) && GTK_WIDGET_MAPPED(child)) - gtk_widget_unmap(child); + if (child && GTK_WIDGET_VISIBLE(child->button) && GTK_WIDGET_MAPPED(child->button)) + gtk_widget_unmap(child->button); } } @@ -198,8 +207,8 @@ gtk_toolbar_draw(GtkWidget *widget, for (children = toolbar->children; children; children = children->next) { child = children->data; - if (child && gtk_widget_intersect(child, area, &child_area)) - gtk_widget_draw(child, &child_area); + if (child && gtk_widget_intersect(child->button, area, &child_area)) + gtk_widget_draw(child->button, &child_area); } } } @@ -231,10 +240,10 @@ gtk_toolbar_size_request(GtkWidget *widget, if (child) { nchildren++; - gtk_widget_size_request(child, &child->requisition); + gtk_widget_size_request(child->button, &child->button->requisition); - toolbar->child_maxw = MAX(toolbar->child_maxw, child->requisition->width); - toolbar->child_maxh = MAX(toolbar->child_maxh, child->requisition->height); + toolbar->child_maxw = MAX(toolbar->child_maxw, child->button->requisition->width); + toolbar->child_maxh = MAX(toolbar->child_maxh, child->button->requisition->height); } else /* NULL child means it is a space in the toolbar, rather than a button */ if (toolbar->orientation == GTK_ORIENTATION_HORIZONTAL) @@ -277,7 +286,7 @@ gtk_toolbar_size_allocate(GtkWidget *widget, child = children->data; if (child) { - gtk_widget_size_allocate(child, &alloc); + gtk_widget_size_allocate(child->button, &alloc); if (toolbar->orientation == GTK_ORIENTATION_HORIZONTAL) alloc.x += toolbar->child_maxw; @@ -298,3 +307,128 @@ gtk_toolbar_add(GtkContainer *container, { g_warning("gtk_toolbar_add: use gtk_toolbar_add_item() instead!"); } + +void +gtk_toolbar_append_item(GtkToolbar *toolbar, + const char *text, + const char *tooltip_text, + GtkPixmap *icon) +{ + gtk_toolbar_insert_item(toolbar, text, tooltip_text, icon, toolbar->num_children); +} + +void +gtk_toolbar_prepend_item(GtkToolbar *toolbar, + const char *text, + const char *tooltip_text, + GtkPixmap *icon) +{ + gtk_toolbar_insert_item(toolbar, text, tooltip_text, icon, 0); +} + +void +gtk_toolbar_insert_item(GtkToolbar *toolbar, + const char *text, + const char *tooltip_text, + GtkPixmap *icon, + gint position) +{ + Child *child; + GtkWidget *vbox; + GtkWidget *label; + + g_return_if_fail(toolbar != NULL); + g_return_if_fail(GTK_IS_TOOLBAR(toolbar)); + + child = g_new(Child, 1); + + child->button = gtk_button_new(); + + if (text) + child->label = gtk_label_new(text); + else + child->label = NULL; + + child->icon = icon; + + vbox = gtk_vbox_new(FALSE, 0); + gtk_container_add(GTK_CONTAINER(button), vbox); + gtk_widget_show(vbox); + + if (child->icon) + gtk_box_pack_start(GTK_BOX(vbox), child->icon); + + if (child->label) + gtk_box_pack_start(GTK_BOX(vbox), child->label); + + switch (toolbar->style) { + case GTK_TOOLBAR_ICONS: + if (child->icon) + gtk_widget_show(child->icon); + break; + + case GTK_TOOLBAR_TEXT: + if (child->label) + gtk_widget_show(child->label); + break; + + case GTK_TOOLBAR_BOTH: + if (child->icon) + gtk_widget_show(child->icon); + + if (child->label) + gtk_widget_show(child->label); + + break; + + default: + g_assert_not_reached(); + } + + gtk_widget_show(child->button); + + toolbar->children = g_list_insert(toolbar->children, child, position); + toolbar->num_children++; + + gtk_widget_set_parent(child->button, toolbar); + + if (GTK_WIDGET_VISIBLE(toolbar)) { + if (GTK_WIDGET_REALIZED(toolbar) + && !GTK_WIDGET_REALIZED(button)) + gtk_widget_realize(button); + + if (GTK_WIDGET_MAPPED(toolbar) + && !GTK_WIDGET_MAPPED(button)) + gtk_widget_map(button); + } + + if (GTK_WIDGET_VISIBLE(button) && GTK_WIDGET_VISIBLE(toolbar)) + gtk_widget_queue_resize(button); +} + +void +gtk_toolbar_append_space(GtkToolbar *toolbar) +{ + gtk_toolbar_insert_space(toolbar, toolbar->num_children); +} + +void +gtk_toolbar_prepend_space(GtkToolbar *toolbar) +{ + gtk_toolbar_insert_space(toolbar, 0); +} + +void +gtk_toolbar_insert_space(GtkToolbar *toolbar, + gint position) +{ + g_return_if_fail(toolbar != NULL); + g_return_if_fail(GTK_IS_TOOLBAR(toolbar)); + + /* NULL child means it is a space in the toolbar, rather than a button */ + + toolbar->children = g_list_insert(toolbar->children, NULL); + + if (GTK_WIDGET_VISIBLE(toolbar)) + gtk_widget_queue_resize(GTK_WIDGET(toolbar)); +} diff --git a/gtk/gtktoolbar.h b/gtk/gtktoolbar.h index 5c71986fdc..0f409dadba 100644 --- a/gtk/gtktoolbar.h +++ b/gtk/gtktoolbar.h @@ -43,6 +43,7 @@ struct _GtkToolbar { GtkContainer container; + gint num_children; GList *children; GtkOrientation orientation; GtkToolbarStyle style; @@ -58,15 +59,27 @@ struct _GtkToolbarClass }; -guint gtk_toolbar_get_type (void); -GtkWidget *gtk_toolbar_new (GtkOrientation orientation, - GtkToolbarStyle style); +guint gtk_toolbar_get_type (void); +GtkWidget *gtk_toolbar_new (GtkOrientation orientation, + GtkToolbarStyle style); -void gtk_toolbar_append_item (GtkToolbar *toolbar, - const char *text, - const char *tooltip_text, - GtkPixmap *icon); -void gtk_toolbar_append_space (GtkToolbar *toolbar); +void gtk_toolbar_append_item (GtkToolbar *toolbar, + const char *text, + const char *tooltip_text, + GtkPixmap *icon); +void gtk_toolbar_prepend_item (GtkToolbar *toolbar, + const char *text, + const char *tooltip_text, + GtkPixmap *icon); +void gtk_toolbar_insert_item (GtkToolbar *toolbar, + const char *text, + const char *tooltip_text, + GtkPixmap *icon, + gint position); +void gtk_toolbar_append_space (GtkToolbar *toolbar); +void gtk_toolbar_prepend_space (GtkToolbar *toolbar); +void gtk_toolbar_insert_space (GtkToolbar *toolbar, + gint position); #ifdef __cplusplus