Compare commits

..

17 Commits

Author SHA1 Message Date
Matthias Clasen
37e471289f 2.12.2
svn path=/branches/gtk-2-12/; revision=19067
2007-11-26 20:52:44 +00:00
Matthias Clasen
13c588303f Fix up some doc comments
svn path=/branches/gtk-2-12/; revision=19065
2007-11-26 20:13:27 +00:00
Matthias Clasen
10df3fe5ea Updates
svn path=/branches/gtk-2-12/; revision=19064
2007-11-26 19:34:47 +00:00
Matthias Clasen
26a6bcd73b Use $CUPS_CONFIG instead of hardcoded cups-config. (#495574, Richard Hult)
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Use $CUPS_CONFIG instead of hardcoded cups-config.
        (#495574, Richard Hult)


svn path=/branches/gtk-2-12/; revision=19063
2007-11-26 19:07:45 +00:00
Matthias Clasen
310b25767c Short-circuit on destroy. (gtk_notebook_destroy): Destroy tab_label
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_update_labels): Short-circuit on
        destroy.
        (gtk_notebook_destroy): Destroy tab_label widgets. (#388321, Morten
        Welinder)


svn path=/branches/gtk-2-12/; revision=19060
2007-11-26 18:23:16 +00:00
Matthias Clasen
61ae384fcc Improve alternative button ordering. (#476827, Yevgen Muntyan, patch by
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkassistant.c: Improve alternative button
        ordering.  (#476827, Yevgen Muntyan, patch by Carlos Garnacho)


svn path=/branches/gtk-2-12/; revision=19058
2007-11-26 18:17:21 +00:00
Matthias Clasen
9c262a1e27 Fix a theming problem with colors in GtkCalendar. (#499703, Michael
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcalendar.c: Fix a theming problem with colors
        in GtkCalendar.  (#499703, Michael Hofmann)


svn path=/branches/gtk-2-12/; revision=19056
2007-11-26 17:43:07 +00:00
Matthias Clasen
7d02f89099 Don't use guint8 for bitfields, since some compilers choke on that.
2007-11-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c:
        * gtk/gtktoolbar.c: Don't use guint8 for bitfields, since
        some compilers choke on that.  (#467722)


svn path=/branches/gtk-2-12/; revision=19052
2007-11-26 17:12:18 +00:00
Tor Lillqvist
66c3f0984b Use the monitor the window currently is on, not always the primary
2007-11-26  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c (gdk_window_fullscreen): Use the
	monitor the window currently is on, not always the primary
	monitor. (#463865, Tim Evans)


svn path=/branches/gtk-2-12/; revision=19046
2007-11-25 22:57:32 +00:00
Matthias Clasen
d393a037d9 Fix a typo. (#498922)
2007-11-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_set_show_expanders): Fix a
        typo.  (#498922)


svn path=/branches/gtk-2-12/; revision=19040
2007-11-25 06:09:47 +00:00
Seán de Búrca
c005046c17 Updated Irish translation.
2007-11-24  Seán de Búrca  <sdeburca@svn.gnome.org>

    * ga.po: Updated Irish translation.

svn path=/branches/gtk-2-12/; revision=19037
2007-11-24 22:46:09 +00:00
Matthias Clasen
9c6e62a231 Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * modules/printbackends/cups/gtkcupsutils.c: Fix a casting problem.
        (#485662, patch by Herbert Valerio Riedel)



svn path=/branches/gtk-2-12/; revision=19031
2007-11-22 06:17:58 +00:00
Matthias Clasen
42c6c0516f Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * gtk/gtktextiter.c: Fix an aliasing problem.  (#347585, Ed Catmur)



svn path=/branches/gtk-2-12/; revision=19030
2007-11-22 06:16:35 +00:00
Matthias Clasen
d6279caadd Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * tests/testrichtext.c (setup_buffer): Fix C89 compilation issue.
        (#467711, The Written Word)



svn path=/branches/gtk-2-12/; revision=19029
2007-11-22 06:15:04 +00:00
Matthias Clasen
6a13e3d82b Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * gtk/gtktoolbar.c: Fix the default value of the toolbar-style
        property.  (#489782, Jan Janech)



svn path=/branches/gtk-2-12/; revision=19028
2007-11-22 06:13:23 +00:00
Matthias Clasen
7306716d4a Merged from trunk:
2007-11-22  Matthias Clasen  <mclasen@redhat.com>

        Merged from trunk:

        * gtk/gtkimage.c (animation_timeout): Avoid drawing one too many
        frames.  (#107398, Owen Taylor, Miguel Gomez)



svn path=/branches/gtk-2-12/; revision=19027
2007-11-22 06:11:46 +00:00
Matthias Clasen
1818a9cb06 Add branch marker
svn path=/branches/gtk-2-12/; revision=19026
2007-11-22 06:08:23 +00:00
1786 changed files with 391129 additions and 670418 deletions

40
.cvsignore Normal file
View File

@@ -0,0 +1,40 @@
*.lo
config.log
config.h
config.h.in
libtool
config.status
stamp-h
stamp-h1
Makefile
Makefile.in
aclocal.m4
configure
config.h.win32
gtk-config-2.0
config.cache
ABOUT-NLS
intl
stamp-h.in
gtk+.spec
gtk+-2.0.pc
gtk+-2.0-uninstalled.pc
gtk+-unix-print-2.0.pc
gtk+-linux-fb-2.0.pc
gtk+-nanox-2.0.pc
gtk+-x11-2.0.pc
gtk+-quartz-2.0.pc
gdk-2.0.pc
gdk-2.0-uninstalled.pc
gdk-linux-fb-2.0.pc
gdk-nanox-2.0.pc
gdk-x11-2.0.pc
gdk-quartz-2.0.pc
gdk-pixbuf-2.0.pc
gdk-pixbuf-2.0-uninstalled.pc
gtk-zip.sh
missing
install-sh
mkinstalldirs
sgml
autom4te.cache

View File

@@ -1,3 +1,109 @@
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* === Released 2.12.2 ===
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmain.c:
* gtk/gtknotebook.c:
* gtk/gtkplugprivate.h:
* gtk/gtksocket.c:
* gtk/gtksocketprivate.h:
* gtk/gtktable.c: Fix up some doc comments to shut up gtk-doc.
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* NEWS: Updates
2007-11-26 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* configure.in: Use $CUPS_CONFIG instead of hardcoded cups-config.
(#495574, Richard Hult)
2007-11-26 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtknotebook.c (gtk_notebook_update_labels): Short-circuit on
destroy.
(gtk_notebook_destroy): Destroy tab_label widgets. (#388321,
Morten Welinder)
2007-11-26 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtkassistant.c: Improve alternative button
ordering. (#476827, Yevgen Muntyan, patch by Carlos Garnacho)
2007-11-26 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtkcalendar.c: Fix a theming problem with colors
in GtkCalendar. (#499703, Michael Hofmann)
2007-11-26 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtkfilechooserbutton.c:
* gtk/gtktoolbar.c: Don't use guint8 for bitfields, since
some compilers choke on that. (#467722)
2007-11-26 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (gdk_window_fullscreen): Use the
monitor the window currently is on, not always the primary
monitor. (#463865, Tim Evans)
2007-11-25 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtktreeview.c (gtk_tree_view_set_show_expanders): Fix a
typo. (#498922)
2007-11-22 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* modules/printbackends/cups/gtkcupsutils.c: Fix a casting problem.
(#485662, patch by Herbert Valerio Riedel)
2007-11-22 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtktextiter.c: Fix an aliasing problem. (#347585, Ed Catmur)
2007-11-22 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* tests/testrichtext.c (setup_buffer): Fix C89 compilation issue.
(#467711, The Written Word)
2007-11-22 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtktoolbar.c: Fix the default value of the toolbar-style
property. (#489782, Jan Janech)
2007-11-22 Matthias Clasen <mclasen@redhat.com>
Merged from trunk:
* gtk/gtkimage.c (animation_timeout): Avoid drawing one too many
frames. (#107398, Owen Taylor, Miguel Gomez)
2007-11-19 10:27:39 Tim Janik <timj@imendio.com>
=== Branch for 2.12 ===
2007-11-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreestore.c: Fix the GtkBuildable implementation

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

41
HACKING
View File

@@ -15,50 +15,45 @@ can be found here:
http://developer.gnome.org
Information about using git with GNOME can be found here:
including information about using Subversion with GNOME:
http://live.gnome.org/Git
http://developer.gnome.org/tools/svn.html
In order to get GIT gtk+ installed on your system, you need to have
the most recent GIT versions of glib, pango, and atk installed as well.
In order to get SVN gtk+ installed on your system, you need to have
the most recent SVN versions of glib, pango, and atk installed as well.
The installation process of these libraries is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.
If at all possible, please use GIT to get the latest development version of
gtk+ and glib. You can do the following to get glib and gtk+ from GIT:
If at all possible, please use SVN to get the latest development version of
gtk+ and glib. You can do the following to get glib and gtk+ from SVN:
$ git clone git://git.gnome.org/glib
$ git clone git://git.gnome.org/pango
$ git clone git://git.gnome.org/atk
$ git clone git://git.gnome.org/gtk+
$ svn checkout http://svn.gnome.org/svn/glib/trunk glib
$ svn checkout http://svn.gnome.org/svn/pango/trunk pango
$ svn checkout http://svn.gnome.org/svn/atk/trunk atk
$ svn checkout http://svn.gnome.org/svn/gtk+/trunk gtk+
Note: if you plan to push changes to back to the master repository and
have a gnome account, you want to use the following instead:
$ git clone ssh://<username>@git.gnome.org/git/gtk+
To compile the GIT version of gtk+ on your system, you will need to take
To compile the SVN version of gtk+ on your system, you will need to take
several steps to setup the tree for compilation. You can do all these
steps at once by running:
gtk+$ ./autogen.sh
Basically this does the following for you:
gtk+$ aclocal; automake; autoconf
The above commands create the `configure' script. Now you
run the `configure' script in `gtk+/' to create all Makefiles.
run the `configure' script in `gtk+/' to create all Makefiles.
More information about that in `INSTALL'.
Before running `autogen.sh' or `configure', make sure you have libtool
in your path.
Before running `autogen.sh' or `configure', make sure you have libtool
in your path.
Note that autogen.sh runs configure for you. If you wish to pass
options like `--prefix=/usr' to `configure' you can give those options
to `autogen.sh' and they will be passed on to `configure'.
For information about submitting patches and pushing changes
to GIT, see the `README' and `README.commits' files. In particular,
don't, under any circumstances, push anything to GIT before
For information about submitting patches and committing changes
to SVN, see the `README' and `README.commits' files. In particular,
don't, under any circumstances, commit anything to SVN before
reading and understanding `README.commmits'.

41
INSTALL Normal file
View File

@@ -0,0 +1,41 @@
Prerequisites
=============
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ 2.12.2 requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
these libraries are available from:
http://www.libtiff.org/
http://www.libpng.org/
http://www.ijg.org/
libtiff must be version 3.6.0 or higher.
Simple install procedure
========================
% gzip -cd gtk+-2.12.2.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.12.2 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
[ Become root if necessary ]
% make install # install GTK+
The Details
===========
Complete information about installing GTK+ and related libraries can be found
in the file:
docs/reference/gtk/html/gtk-building.html
Or online at:
http://developer.gnome.org/doc/API/2.0/gtk/gtk-building.html

View File

@@ -4,8 +4,8 @@ Prerequisites
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.17.6,
Pango 1.20, ATK 1.13.0 and cairo 1.6.0.
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not

View File

@@ -1,5 +1,4 @@
## Makefile.am for GTK+
include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
@@ -7,7 +6,7 @@ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
EXTRA_DIST += \
EXTRA_DIST = \
HACKING \
makecopyright \
NEWS.pre-1-0 \
@@ -19,9 +18,6 @@ EXTRA_DIST += \
ChangeLog.pre-2-6 \
ChangeLog.pre-2-8 \
ChangeLog.pre-2-10 \
ChangeLog.pre-2-12 \
ChangeLog.pre-2-14 \
ChangeLog.pre-2-16 \
ChangeLog.gtk-async-file-chooser \
ChangeLog.gtk-printing \
README.commits \
@@ -139,7 +135,7 @@ gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gail.pc
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-2.0.pc
@@ -149,30 +145,8 @@ DISTCLEANFILES = \
gtk+-unix-print-2.0.pc \
gtk+-$(GDKTARGET)-2.0.pc \
gdk-$(GDKTARGET)-2.0.pc \
gail.pc \
gtk+-$(GDKTARGET)-2.0-uninstalled.pc \
gdk-$(GDKTARGET)-2.0-uninstalled.pc \
gail-uninstalled.pc \
config.lt
distclean-local:
if test $(srdcir) = .; then :; else \
rm -f ChangeLog; \
fi
ChangeLog:
@echo Creating $@
@if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
(test -f $@ || echo git-log is required to generate this file >> $@)); \
else \
test -f $@ || \
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
echo A git checkout and git-log is required to generate this file >> $@); \
fi
gdk-$(GDKTARGET)-2.0-uninstalled.pc
## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
DEFAULT_GDKTARGET=x11
@@ -198,7 +172,7 @@ dist-hook:
&& cp INSTALL README $(distdir) ; \
fi
.PHONY: files release sanity snapshot ChangeLog
.PHONY: files release sanity snapshot
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \

View File

@@ -1,82 +0,0 @@
# GTK+ - The GIMP Toolkit
GTESTER = gtester # in $PATH for non-GLIB packages
GTESTER_REPORT = gtester-report # in $PATH for non-GLIB packages
# initialize variables for unconditional += appending
EXTRA_DIST =
TEST_PROGS =
### testing rules
# Xvfb based test rules
XVFB = Xvfb -ac -noreset -screen 0 800x600x16
XIDS = 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 \
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 \
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 \
1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979 \
9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 \
9995 9996 9997 9998 9999
SKIP_GDKTARGET = \
test "$(gdktarget)" != "x11" \
&& echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
XVFB_START = \
${XVFB} -help 2>/dev/null 1>&2 \
&& XID=`for id in $(XIDS) ; do test -e /tmp/.X$$id-lock || { echo $$id; exit 0; }; done; exit 1` \
&& { ${XVFB} :$$XID -screen 0 800x600x16 -nolisten tcp -auth /dev/null >/dev/null 2>&1 & \
trap "kill -15 $$! " 0 HUP INT QUIT TRAP USR1 PIPE TERM ; } \
|| { echo "Gtk+Tests:ERROR: Failed to start Xvfb environment for X11 target tests."; exit 1; } \
&& DISPLAY=:$$XID && export DISPLAY
# call as: $(XVFB_START) && someprogram
# test: run all tests in cwd and subdirs
test: ${TEST_PROGS}
@$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
$(XVFB_START) && { set -e; ${GTESTER} --verbose ${TEST_PROGS}; }; \
}
@ for subdir in $(SUBDIRS) ; do \
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done
# test-report: run tests in subdirs and generate report
# perf-report: run tests in subdirs with -m perf and generate report
# full-report: like test-report: with -m perf and -m slow
test-report perf-report full-report: ${TEST_PROGS}
@ ignore_logdir=true ; \
if test -z "$$GTESTER_LOGDIR" ; then \
GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
ignore_logdir=false ; \
fi ; \
for subdir in $(SUBDIRS) ; do \
test "$$subdir" = "." -o "$$subdir" = "po" -o "$$subdir" = "po-properties" || \
( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
done ; \
$(SKIP_GDKTARGET) || test -z "${TEST_PROGS}" || { \
case $@ in \
test-report) test_options="-k";; \
perf-report) test_options="-k -m=perf";; \
full-report) test_options="-k -m=perf -m=slow";; \
esac ; \
$(XVFB_START) && { \
set -e; \
if test -z "$$GTESTER_LOGDIR" ; then \
${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
elif test -n "${TEST_PROGS}" ; then \
${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
fi ; \
}; \
}; \
$$ignore_logdir || { \
echo '<?xml version="1.0"?>' > $@.xml ; \
echo '<report-collection>' >> $@.xml ; \
for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
done ; \
echo >> $@.xml ; \
echo '</report-collection>' >> $@.xml ; \
rm -rf "$$GTESTER_LOGDIR"/ ; \
${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
}
.PHONY: test test-report perf-report full-report
# run make test as part of make check
check-local: test

1283
NEWS

File diff suppressed because it is too large Load Diff

369
README Normal file
View File

@@ -0,0 +1,369 @@
General Information
===================
This is GTK+ version 2.12.2. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
developers, including those developing proprietary software, without any
license fees or royalties.
The official ftp site is:
ftp://ftp.gtk.org/pub/gtk
The official web site is:
http://www.gtk.org/
Information about mailing lists can be found at
http://www.gtk.org/mailinglists.html
Installation
============
See the file 'INSTALL'
Release notes for 2.12
======================
* gtk_about_dialog_get/set_name() were deprecated in favour of
gtk_about_dialog_get/set_program_name(), the GtkAboutDialog now uses the
"program-name" property instead of the conflicting "name" property.
* The gdk-pixbuf tiff loader now requires libtiff 3.6.0 or later.
* Support for Windows 9x/ME has officially been removed. It hasn't worked
since 2.6 anyway.
* The GtkTextBufferTargetInfo enumeration values have been changed from
G_MAXUINT-0, G_MAXUINT-1, G_MAXUINT-2, etc, to -1, -2, -3 to stay within
ANSI C limits.
* A change in the handling of _NET_WM_USER_TIME properties on toplevel
windows can cause deadlock problems with window managers that are using
GDK for drawing decorations. In particular, metacity <= 2.18.0 is affected
by this. The problem has been fixed in metacity 2.18.1.
* Semi-private GtkTextLayout api has changed: new GtkTextLayout method
invalidate_cursors(), and new functions gtk_text_layout_invalidate_cursors()
and gtk_text_layout_cursors_changed(), which should be used in place of
gtk_text_layout_invalidate() and gtk_text_layout_changed() if invalidation
is due to marks moved or changed selection; new GtkTextLineDisplay structure
member. Source compatibility is preserved; binary compatibility may break
only if GtkTextLineDisplay structure was created on stack or as a part
of another structure (in particular GnomeCanvas and its clones do not need
recompiling).
* Another new signal has been added to GtkNotebook. The new signal
is called create-window, so this name can no longer be used for signals
in objects derived from GtkNotebook.
* The gtk_notebook_set/get_group_id() functions were found to be insufficient
and have been deprecated in favour of gtk_notebook_set/get_group().
* The move-focus signal has been moved to GtkWidget, to unify the
various implementations of this signal in specific widgets. Great care
has been taken to make sure that all code using this signal continues
to work.
* An unused and hardly visible GtkFrame has been removed from the menu
widget hierarchy when GtkComboBox::appears-as-list style property is
set. Any RC file applying a different style to any widget below the
widget path "gtk-combobox-popup-window.GtkFrame" should take into
account that the frame no longer exists.
* The external print preview application used by GtkPrintOperationPreview
is now passed the print settings on the command line with the
--print-settings parameter pointing to a temp file containing the
settings. The preview application assumes ownership of the file and
should delete it once it does not need it anymore. The --print-settings
commandline option is understood by Evince 0.9.0 and newer. To use a
different print preview application, change the gtk-print-preview-command
setting in your gtkrc file, e.g. gtk-print-preview-command = "ggv %f"
* GtkMenuShell is now defined as an abstract type. It was already
documented as an abstract class, and there is little reason to
instantiate it.
* The GtkTooltips struct (this is the old tooltips API) is now considered
private. Code that used to access this struct, in particular the
tips_data_list field, will need to change. All of the old tooltips
API has been deprecated in favour of a new implementation and
API. This affects all of the gtk_tooltips_ functions, and functions
which take a GtkTooltips argument, such as gtk_tool_item_set_tooltip()
and gtk_menu_tool_button_set_arrow_tooltip().
* The memory management of the GtkRecentManager object has been changed,
as using the screen didn't guarantee that the singleton instance was
correctly destroyed. The screen-related functions have been deprecated,
and should not be used anymore; the GtkRecentManager instance returned by
the gtk_recent_manager_get_default() function is guaranteed to be valid
for the entire lifetime of an application.
* A number of interfaces that have been superseded by newer interfaces for
a long time have finally been deprecated. This includes
gtk_widget_ref/unref(), gtk_rc_style_ref/unref() and the old file selector.
* The various coordinate systems in use in GtkTreeView widgets have
been clarified in the documentation, and in the cause of doing so,
the functions gtk_tree_view_widget_to_tree_coords() and
gtk_tree_view_tree_to_widget_coords() have been deprecated in
favour of a new family of gtk_tree_view_convert_ functions.
* gtk_menu_item_remove_submenu() has been deprecated in favour of
gtk_menu_item_set_submenu (..., NULL).
* gtk_default_draw_check() has been fixed to really decrease the
indicator size by one pixel to ensure an odd size instead of
accidentially increasing it.
Consequently, gtk_cell_renderer_toggle_render() could be fixed to
not subtract 1 from the size passed to gtk_paint_option(), which
was just a workaround for above off-by-two for even sizes (theme
engines now get the real indicator size passed).
The default toggle size of GtkCheckMenuItem and GtkCellRendererToggle
has been changed to 13 to be consistent with GtkCheckButton.
The only visible change with default settings is that the indicator in
GtkCellRendererToggle has changed its size from 11 to 13 and is now
consistent with menus and toggle buttons.
* GTK+ has always required that gtk_init() (or a variant thereof) is
called before any other GTK+ function. Some applications call functions
like gtk_clipboard_get() to check if they need to call gtk_init(),
anyway. A change in GLib 2.14 has recently broken this unsupported
practise. It is worth pointing out that calling gtk_init() twice
does no harm.
Release notes for 2.10
======================
* The hexadecimal Unicode input feature has been reworked. It no longer
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
it only uses Ctrl-Shift-u.
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
in third-party widgets which forget to call gtk_style_attach() in their
realize functions.
* Range widgets like GtkScrollbar now render their arrows insensitive
when the slider is at the end. Applications which react to arrow
clicks even if the slider is at the end may want to use the new
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
prevent the arrows from being rendered insensitive.
* GtkObject now uses the "floating reference" support in GObject.
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
of the GTK_FLOATING flag will no longer detect the floating
reference. Details about floating references can be found in the docs:
http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
* Accelerators like (_F) are now stripped from labels when they are
displayed in toolbars. If this is not wanted, the feature can be
suppressed by inserting a Unicode control character, e.g ZWNJ.
* The pixbuf theme engine can now customize expanders (in GtkTreeView
and GtkExpander) and resize grips, using the new EXPANDER and
RESIZE_GRIP function values.
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
when the user clicks close. It is the applications responsibility to
hide or destroy the dialog.
* Several new signals have been added to GtkNotebook. Care has been taken
to choose signal names which do not collide with signals added by well-known
derived classes. The names which can no longer be used for signals in
objects derived from GtkNotebook are page-reordered, page-removed and
page-added.
* Due to the interface changes in the file chooser backend interface,
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
backends have to be ported to the new interface, other modules, such as
theme engines, input method modules or pixbuf loaders have to be rebuilt
so that they are installed in the right place for GTK+ to find them.
Release notes for 2.8
=====================
* GTK+ 2.8 and Pango 1.10 require the cairo library.
* The default theme has been renamed to "Raleigh". Existing configurations
specifying the "Default" theme name should still work.
* The GtkTreeView::enable-search property has been changed to control
only typeahead search, not the C-f keybinding to start an interactive
search. To turn off interactive searching completely, you have to
set GtkTreeView::search-column to -1.
* The restriction on using the same cell renderer in multiple columns
of a GtkTreeView is now more strictly enforced.
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
the first day of the week. Thus, it is possible to select the first day
of the week independently from the language, by setting LC_TIME.
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
in the icon caches, which will make the icon cache files larger than
the one produced by GTK+ 2.6. This change will reduce the memory
overhead of icon themes at runtime, since all GTK+ applications can
share the image data in memory.
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
grab is broken. On X11, this can happen if the same application grabs
again, or if the window used for the grab becomes unviewable. It happens
more often on Win32. Applications which use grabs should pay attention
to these events and do the necessary cleanups when the grab is lost.
* The GIOChannel code for sockets on win32 has been rewritten.
Applications who make non-trivial use of GIOChannels on win32 should
be watched for possible problems.
* GLib 2.8 uses atomic operations to implement reference counting, thus
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
can be used without locking in multithreaded applications. Note that
other modifications, like concurrent setting of properties still require
locking.
* g_convert() and related character set conversion functions have been
fixed to emit pending shift states and to not cache iconv descriptors
across multiple calls, since that is problematic for some encodings.
Note that these functions are not suitable for streaming conversions;
use g_iconv() to do streaming conversion.
Release notes for 2.6
=====================
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
must be running. A sample implementation of such a clipboard manager
is available at
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
Applications can use the function gdk_display_supports_clipboard_persistence()
to find out if clipboard persistence is available.
* Notification on clipboard ownership changes via GdkOwnerChange events
requires the XFIXES X extension. Applications can use the function
gdk_display_supports_selection_notification() to find out if ownerchip
change notification is available.
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
specification. Setting the XDG_DATA_DIRS environtment variable may be
necessary if your icons aren't installed in the default location
/usr/share/icons.
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
to avoid a lot of disk searching overhead. GTK+ includes a utility named
gtk-update-icon-cache to generate these cache files. For further details,
see the gtk-update-icon-cache man page or the GTK+ documentation.
* To reduce code size and improve efficiency, GTK+, when compiled
with the GNU toolchain, has separate internal and external entry
points for exported functions. The internal names, which begin with
IA__, may be seen when debugging a GTK+ program.
* The following functions have been deprecated in GTK+ 2.6:
gdk_pango_context_set_colormap
gtk_cell_renderer_editing_canceled
* The new GtkFileChooser widget emphasizes simplicity and thus does
not provide a navigation entry by default when opening files.
Experienced command line users will likely want to make heavy use of
the location dialog brought up by the Control-L key shortcut.
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols. In addition to that, GTK+ 2.6 makes several
symbols private which were not in any installed header files and
were never intended to be exported.
* The gdk_pixbuf_xlib library included in the contrib/ directory
and the framebuffer GDK backend included in the gdk/linux-fb directory
of GTK+ are provided on an as-is basis and have not been tested at all.
No guarantees about the degree of workingness or about future
compatibility are provided.
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
the GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
If you have filenames encoded in the encoding of your locale, then you
may want to set the G_FILENAME_ENCODING environment variable:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
using a UTF-8 locale.
On Windows, filenames passed to GTK+ should always be in UTF-8, as
in GLib 2.6. This is different than in previous versions of GTK+
where the system codepage was used. As in GLib, for DLL ABI
stability, applications built against previous versions of GTK+ will
use entry points providing the old semantics.
When compiling against GTK+ 2.6, applications intended to be
portable to Windows must take the UTF-8 file name encoding into
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
Bugs should be reported to the GNOME bug tracking system.
(http://bugzilla.gnome.org, product gtk+.) You will need to create an
account for yourself.
In the bug report please include:
* Information about your system. For instance:
- What operating system and version
- What version of X
- For Linux, what version of the C library
And anything else you think is relevant.
* How to reproduce the bug.
If you can reproduce it with one of the tests or demos built with GTK+,
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
please include a short test program that exhibits the behavior. As a
last resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
crash occured.
* Further information such as stack traces may be useful, but is not
necessary. If you do send a stack trace, and the error is an X error,
it will be more useful if the stacktrace is produced running the test
program with the --sync command line option.
Patches
=======
Patches should also be submitted to bugzilla.gnome.org. If the patch
fixes an existing bug, add the patch as an attachment to that bug
report.
Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Bug reports containing patches should include the PATCH keyword in their
keyword fields. If the patch adds to or changes the GTK+ programming
interface, the API keyword should also be included.
Patches should be in unified diff form. (The -u option to GNU diff.)

View File

@@ -1,11 +1,11 @@
GTK+ is part of the GNOME git repository. At the current time, any
GTK+ is part of the GNOME Subversion repository. At the current time, any
person with write access to the GNOME repository, can make changes to
GTK+. This is a good thing, in that it encourages many people to work
on GTK+, and progress can be made quickly. However, GTK+ is a fairly
large and complicated package that many other things depend on, so to
avoid unnecessary breakage, and to take advantage of the knowledge
about GTK+ that has been built up over the years, we'd like to ask
people committing to GTK+ to follow a few rules:
about GTK+ that has been built up over the last 4 years, we'd like
to ask people commiting to GTK+ to follow a few rules:
0) Ask first. If your changes are major, or could possibly break existing
code, you should always ask. If your change is minor and you've
@@ -14,9 +14,9 @@ people committing to GTK+ to follow a few rules:
somebody may know a better way to do things.
If you are making changes to GTK+, you should be subscribed
to gtk-devel-list@gnome.org. (Subscription address:
to gtk-devel-list@gnome.org. (Subscription address:
gtk-devel-list-request@gnome.org.) This is a good place to ask
about intended changes.
about intended changes.
#gtk+ on GIMPNet (irc.gimp.org, irc.us.gimp.org, irc.eu.gimp.org, ...)
is also a good place to find GTK+ developers to discuss changes with,
@@ -25,48 +25,30 @@ people committing to GTK+ to follow a few rules:
1) Ask _first_.
2) With git, we no longer maintain a ChangeLog file, but you are expected
to produce a meaningful commit message. Changes without a sufficient
commit message will be reverted. See below for the expected format
of commit messages.
2) There must be a ChangeLog for every commit. (If you discover that
you only committed half the files you meant to and need to fix that
up, or something, you don't need a new ChangeLog entry. But in general,
ChangeLog entries are mandatory.) Changes without ChangeLog entries
will be reverted.
3) There _must_ be a ChangeLog for every commit.
Notes:
* When developing larger features or complicated bug fixes, it is
advisable to work in a branch in your own cloned GTK+ repository.
You may even consider making your repository publically available
so that others can easily test and review your changes.
* If you are going to be changing many files in an experimental fashion,
it probably is a good idea to create a separate branch for your changes.
* The expected format for git commit messages is as follows:
* The ChangeLog entries should preferably match in date format
with the existing entries. You can set how emacs does this
by using customize mode:
=== begin example commit ===
Short explanation of the commit
Longer explanation explaining exactly what's changed, whether any
external or private interfaces changed, what bugs were fixed (with bug
tracker reference if applicable) and so forth. Be concise but not too brief.
=== end example commit ===
- Always add a brief description of the commit to the _first_ line of
the commit and terminate by two newlines (it will work without the
second newline, but that is not nice for the interfaces).
- First line (the brief description) must only be one sentence and
should start with a capital letter unless it starts with a lowercase
symbol or identifier. Don't use a trailing period either. Don't exceed
72 characters.
- The main description (the body) is normal prose and should use normal
punctuation and capital letters where appropriate. Normally, for patches
sent to a mailing list it's copied from there.
- When committing code on behalf of others use the --author option, e.g.
git commit -a --author "Joe Coder <joe@coder.org>" and --signoff.
- M-x customize
- set Programming/Tools/ChangeLog/Add Log Time Format to
'Old Format'
Or, set the add-log-time-format to 'current-time-string in
your .emacs file.
Owen Taylor
13 Aug 1998
17 Apr 2001
Matthias Clasen
31 Mar 2009

View File

@@ -27,63 +27,6 @@ Installation
See the file 'INSTALL'
Release notes for 2.16
======================
* Password entries now display a caps-lock warning. This can be turned off
with the caps-lock-warning property.
* Various orientation-related functions have been deprecated in favour
of the new GtkOrientable interface: gtk_scale_button_get_orientation,
gtk_scale_button_set_orientation, gtk_toolbar_set_orientation.
* The action-proxy interaction has been changed. Widgets that operate as
proxies have to implement the GtkActivatable interface now. GtkActivatable
implementation are responsible for syncing their appearance with the
action and for activating the action. All GTK+ widgets that are commonly
used as proxies implement the GtkActivatable interface.
* The handling of keyboard shortcuts has been changed, to help with a
longstanding complaint about the way GTK+ handles multiple layouts. GTK+
now only uses keys from groups other than the current group if they are
not present in the current group.
Release notes for 2.14
======================
* gtkitemfactory.h is now completely deprecated.
As gtkactiongroup.h and gtkstock.h no longer include the gtkitemfactory.h
header, this might break application using gtk_item_factory_* symbols
without including gtkitemfactory.h - even though this behaviour has never
been supported in the first place.
* The GtkFileSystem semi-private interface has been removed.
The GTK+ filechooser implementation now uses GIO directly, which has
rendered external filesystem implementations unnecessary. Consequently,
the GtkFileSystem interface is no longer available, nor the filechooser
will load any GtkFileSystem implementation.
* GtkComboBox now renders the popdown button insensitive when
the model is empty. Applications which want to populate the list
only before displaying it can set gtk_combo_box_set_button_sensitivity
to GTK_SENSITIVITY_ON, so that the button is always sensitive or
GTK_SENSITIVITY_OFF to make it insensitive respectively.
* In the early 2.14.x releases, GtkAdjustment was changed to enforce
that values are restricted to the range [lower, upper - page_size].
This has always been the documented behaviour, and the recommended
practice is to set page_size to 0 when using adjustments for simple
scalar values, like in a slider or spin button.
Due to the large number of applications that are affected by this
change, the behaviour has been reverted to the old behaviour in
2.14.3, with an explicit warning that this change will be
reintroduced in 2.90.
* gdk-pixbuf will use GIO for mime type detection if possible. For
this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS
set accordingly at configure time. Otherwise, gdk-pixbuf falls
back to its built-in sniffing implementation.
Release notes for 2.12
======================

82
acconfig.h Normal file
View File

@@ -0,0 +1,82 @@
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#undef ENABLE_NLS
#undef GTK_COMPILED_WITH_DEBUGGING
#undef HAVE_CATGETS
#undef HAVE_GETTEXT
#undef HAVE_IPC_H
#undef HAVE_LC_MESSAGES
#undef HAVE_PROGRESSIVE_JPEG
#undef HAVE_PWD_H
#undef HAVE_SHM_H
#undef HAVE_STPCPY
#undef HAVE_SYS_SYSINFO_H
#undef HAVE_SYS_SYSTEMINFO_H
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SOLARIS_XINERAMA
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_XFREE_XINERAMA
#undef HAVE_XINERAMA
#undef HAVE_XCONVERTCASE
#undef HAVE_XFT
#undef HAVE_SIGSETJMP
#undef NO_FD_SET
#undef RESOURCE_BASE
#undef USE_GMODULE
#undef USE_MMX
#undef USE_MEDIALIB
#undef USE_MEDIALIB25
/* Define to use XKB extension */
#undef HAVE_XKB
/* Define to use shadowfb in the linux-fb port */
#undef ENABLE_SHADOW_FB
/* Define to use a fb manager in the linux-fb port */
#undef ENABLE_FB_MANAGER
#undef XINPUT_NONE
#undef XINPUT_GXI
#undef XINPUT_XFREE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Most machines will be happy with int or void. IRIX requires '...' */
#undef SIGNAL_ARG_TYPE
#undef GETTEXT_PACKAGE
#undef HAVE_CUPS_API_1_2
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */

View File

@@ -16,7 +16,7 @@ have_libtool=false
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`libtoolize --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.4*|1.5*|2.2*)
1.4*|1.5*)
have_libtool=true
;;
esac

View File

@@ -1,18 +1,94 @@
/* config.h.win32.in. Merged from two versions generated by configure for gcc and MSVC. */
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#define ENABLE_NLS 1
#define GTK_COMPILED_WITH_DEBUGGING "yes"
/* #undef HAVE_CATGETS */
/* #undef HAVE_DIMM_H */
#define HAVE_GETTEXT 1
/* #undef HAVE_IPC_H */
/* #undef HAVE_LC_MESSAGES */
#define HAVE_PROGRESSIVE_JPEG 1
/* #undef HAVE_PWD_H */
/* #undef HAVE_SHM_H */
/* #undef HAVE_STPCPY */
/* #undef HAVE_XSHM_H */
/* #undef HAVE_SHAPE_EXT */
/* #undef HAVE_SOLARIS_XINERAMA */
/* #undef HAVE_SYS_SELECT_H */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif /* _MSC_VER */
/* #undef HAVE_XFREE_XINERAMA */
/* #undef HAVE_XINERAMA */
/* #undef HAVE_XCONVERTCASE */
/* #undef HAVE_XFT */
/* #undef HAVE_SIGSETJMP */
#define NO_FD_SET 1
/* #undef RESOURCE_BASE */
#ifndef _MSC_VER
#define USE_GMODULE 1
#define USE_MMX 1
#endif
/* Define to use XKB extension */
/* #undef HAVE_XKB */
/* Define to use shadowfb in the linux-fb port */
/* #undef ENABLE_SHADOW_FB */
/* Define to use a fb manager in the linux-fb port */
/* #undef ENABLE_FB_MANAGER */
/* #undef XINPUT_NONE */
/* #undef XINPUT_GXI */
/* #undef XINPUT_XFREE */
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Most machines will be happy with int or void. IRIX requires '...' */
/* #undef SIGNAL_ARG_TYPE */
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */
/* always defined to indicate that i18n is enabled */
#define ENABLE_NLS 1
/* The prefix for our gettext translation domains. */
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
/* Define if debugging is enabled */
#define GTK_COMPILED_WITH_DEBUGGING "yes"
/* Define the location where the catalogs will be installed */
#define GTK_LOCALEDIR "c:/devel/target/HEAD/share/locale"
#define GTK_LOCALEDIR "UNUSED"
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
@@ -20,12 +96,6 @@
/* Is the wctype implementation broken */
/* #undef HAVE_BROKEN_WCTYPE */
/* Define to 1 if you have the <crt_externs.h> header file. */
/* #undef HAVE_CRT_EXTERNS_H */
/* Define to 1 if CUPS 1.2 API is available */
/* #undef HAVE_CUPS_API_1_2 */
/* Define to 1 if you have the `dcgettext' function. */
#define HAVE_DCGETTEXT 1
@@ -35,18 +105,12 @@
/* Define to 1 if you have the `flockfile' function. */
/* #undef HAVE_FLOCKFILE */
/* Define to 1 if you have the <ftw.h> header file. */
/* #undef HAVE_FTW_H */
/* Define to 1 if you have the `getc_unlocked' function. */
/* #undef HAVE_GETC_UNLOCKED */
/* Define to 1 if you have the `getpagesize' function. */
#ifndef _MSC_VER
#define HAVE_GETPAGESIZE 1
#else
#else /* _MSC_VER */
/* #undef HAVE_GETPAGESIZE */
#endif
#endif /* _MSC_VER */
/* Define to 1 if you have the `getresuid' function. */
/* #undef HAVE_GETRESUID */
@@ -54,24 +118,12 @@
/* Define if the GNU gettext() function is already present or preinstalled. */
#define HAVE_GETTEXT 1
/* Have GNU ftw */
/* #undef HAVE_GNU_FTW */
/* Define to 1 if you have the `httpGetAuthString' function. */
/* #undef HAVE_HTTPGETAUTHSTRING */
/* Define if cups http_t authstring field is accessible */
/* #undef HAVE_HTTP_AUTHSTRING */
/* Define to 1 if you have the <inttypes.h> header file. */
#ifndef _MSC_VER
#define HAVE_INTTYPES_H 1
#else
#else /* _MSC_VER */
/* #undef HAVE_INTTYPES_H */
#endif
/* Define to 1 if ipc.h is available */
/* #undef HAVE_IPC_H */
#endif /* _MSC_VER */
/* Define if your <locale.h> file defines LC_MESSAGES. */
/* #undef HAVE_LC_MESSAGES */
@@ -79,9 +131,6 @@
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `localtime_r' function. */
/* #undef HAVE_LOCALTIME_R */
/* Define to 1 if you have the `lstat' function. */
/* #undef HAVE_LSTAT */
@@ -97,64 +146,37 @@
/* Define to 1 if you have a working `mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to 1 is libjpeg supports progressive JPEG */
/* #undef HAVE_PROGRESSIVE_JPEG */
/* Define to 1 if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* Have the Xrandr extension library */
/* #undef HAVE_RANDR */
/* Define to 1 if the XShape extension is available */
/* #undef HAVE_SHAPE_EXT */
/* Define to 1 if shm.h is available */
/* #undef HAVE_SHM_H */
/* Define to 1 if sigsetjmp is available */
/* #undef HAVE_SIGSETJMP */
/* Have the sockaddr_un.sun_len member */
/* #undef HAVE_SOCKADDR_UN_SUN_LEN */
/* Define to 1 if solaris xinerama is available */
/* #undef HAVE_SOLARIS_XINERAMA */
/* Define to 1 if you have the <stdint.h> header file. */
#ifndef _MSC_VER
#define HAVE_STDINT_H 1
#else
#else /* _MSC_VER */
/* #undef HAVE_STDINT_H */
#endif
#endif /* _MSC_VER */
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* #undef HAVE_STRINGS_H */
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if sys/select.h is available */
/* #undef HAVE_SYS_SELECT_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if sys/sysinfo.h is available */
/* #undef HAVE_SYS_SYSINFO_H */
/* Define to 1 if sys/systeminfo.h is available */
/* #undef HAVE_SYS_SYSTEMINFO_H */
/* Define to 1 if you have the <sys/time.h> header file. */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif
#endif /* _MSC_VER */
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
@@ -165,9 +187,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#ifndef _MSC_VER
#define HAVE_UNISTD_H 1
#else
#else /* _MSC_VER */
/* #undef HAVE_UNISTD_H */
#endif
#endif /* _MSC_VER */
/* Have uxtheme.h include file */
#define HAVE_UXTHEME_H 1
@@ -181,60 +203,27 @@
/* Define if we have X11R6 */
/* #undef HAVE_X11R6 */
/* Have the XCOMPOSITE X extension */
/* #undef HAVE_XCOMPOSITE */
/* Define to 1 if you have the `XConvertCase' function. */
/* #undef HAVE_XCONVERTCASE */
/* Have the Xcursor library */
/* #undef HAVE_XCURSOR */
/* Have the XDAMAGE X extension */
/* #undef HAVE_XDAMAGE */
/* Have the XFIXES X extension */
/* #undef HAVE_XFIXES */
/* Define to 1 if XFree Xinerama is available */
/* #undef HAVE_XFREE_XINERAMA */
/* Define to 1 is Xinerama is available */
/* #undef HAVE_XINERAMA */
/* Define to 1 if you have the `XInternAtoms' function. */
/* #undef HAVE_XINTERNATOMS */
/* Define to use XKB extension */
/* #undef HAVE_XKB */
/* Define to 1 if xshm.h is available */
/* #undef HAVE_XSHM_H */
/* Have the SYNC extension library */
/* #undef HAVE_XSYNC */
/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
/* #undef HAVE__NL_MEASUREMENT_MEASUREMENT */
/* Define if _NL_PAPER_HEIGHT is available */
/* #undef HAVE__NL_PAPER_HEIGHT */
/* Define if _NL_PAPER_WIDTH is available */
/* #undef HAVE__NL_PAPER_WIDTH */
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
/* #undef HAVE__NL_TIME_FIRST_WEEKDAY */
/* Define to 1 if you have the `_NSGetEnviron' function. */
/* #undef HAVE__NSGETENVIRON */
/* Define if <X11/extensions/XIproto.h> needed for xReply */
/* #undef NEED_XIPROTO_H_FOR_XREPLY */
/* Define to 1 if fd_set is not available */
#define NO_FD_SET 1
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B"
@@ -242,7 +231,7 @@
#define PACKAGE_NAME "gtk+"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "gtk+ @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
#define PACKAGE_STRING "gtk+ 2.9.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gtk+"
@@ -256,27 +245,9 @@
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if gmodule works and should be used */
#define USE_GMODULE 1
/* Whether to load modules via .la files rather than directly */
/* #undef USE_LA_MODULES */
/* Define to 1 if medialib is available and should be used */
/* #undef USE_MEDIALIB */
/* Define to 1 if medialib 2.5 is available */
/* #undef USE_MEDIALIB25 */
/* Define to 1 if XXM is available and should be used */
#define USE_MMX 1
/* Define to 1 if no XInput should be used */
/* #undef XINPUT_NONE */
/* Define to 1 if XFree XInput should be used */
/* #undef XINPUT_XFREE */
/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */

File diff suppressed because it is too large Load Diff

2
contrib/.cvsignore Normal file
View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

View File

@@ -1,4 +1,3 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS =
if USE_X11

View File

@@ -0,0 +1,7 @@
Makefile
Makefile.in
*.la
*.lo
.libs
.deps
gdk-pixbuf-xlib-2.0.pc

View File

@@ -1,85 +1,6 @@
=== ChangeLog discontinued ===
2007-11-26 Matthias Clasen <mclasen@redhat.com>
With the move to git, GTK+ is switching from a ChangeLog file
to relying on commit messages to provide change history. Please
see README.commits for guidance on the expected message format.
2009-03-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.16.0 ===
2009-03-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.5 ===
2009-02-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.4 ===
2009-02-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.3 ===
2009-01-27 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.2 ===
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.1 ===
2009-01-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.0 ===
2008-09-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.2 ===
2008-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.1 ===
2008-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.0 ===
2008-08-18 Matthias Clasen <mclasen@redhat.com>
* ==== Released 2.13.7 ===
2008-08-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.6 ===
2008-07-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.5 ===
2008-07-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.4 ===
2008-06-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.3 ===
2008-06-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.2 ===
2008-05-29 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.1 ===
2008-05-26 Michael Natterer <mitch@imendio.com>
* gdk-pixbuf-xlib.h
* gdk-pixbuf-xlibrgb.h: use G_BEGIN/END_DECLS.
2008-02-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.0 ===
* === Released 2.12.2 ===
2007-10-16 Matthias Clasen <mclasen@redhat.com>

View File

@@ -1,5 +1,3 @@
include $(top_srcdir)/Makefile.decl
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
@@ -10,6 +8,7 @@ INCLUDES = \
-I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_srcdir)/contrib \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
$(GDK_PIXBUF_XLIB_DEP_CFLAGS)
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
@@ -37,4 +36,4 @@ libgdk_pixbuf_xlibinclude_HEADERS = \
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gdk-pixbuf-xlib-2.0.pc
EXTRA_DIST += gdk-pixbuf-xlib-2.0.pc.in
EXTRA_DIST = gdk-pixbuf-xlib-2.0.pc.in

View File

@@ -26,7 +26,7 @@
/* Ported to Xlib by John Harper <john@dcs.warwick.ac.uk> */
#include "config.h"
#include <config.h>
#include <stdio.h>
#include <string.h>
#include <gdk-pixbuf/gdk-pixbuf-private.h>

View File

@@ -22,7 +22,7 @@
/* Trivially ported to Xlib(RGB) by John Harper. */
#include "config.h"
#include <config.h>
#include "gdk-pixbuf-private.h"
#include "gdk-pixbuf-xlib-private.h"

View File

@@ -18,7 +18,7 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <X11/Xlib.h>
#include <gdk-pixbuf/gdk-pixbuf-private.h>
#include "gdk-pixbuf-xlib-private.h"

View File

@@ -21,11 +21,12 @@
#ifndef GDK_PIXBUF_XLIB_H
#define GDK_PIXBUF_XLIB_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h>
G_BEGIN_DECLS
#include <X11/Xlib.h>
@@ -82,6 +83,9 @@ GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
int dest_x, int dest_y,
int width, int height);
G_END_DECLS
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GDK_PIXBUF_XLIB_H */

View File

@@ -51,13 +51,15 @@
#ifndef __XLIB_RGB_H__
#define __XLIB_RGB_H__
#include <glib.h>
G_BEGIN_DECLS
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <glib.h>
typedef struct _XlibRgbCmap XlibRgbCmap;
struct _XlibRgbCmap {
@@ -183,6 +185,9 @@ xlib_rgb_get_display (void);
Screen *
xlib_rgb_get_screen (void);
G_END_DECLS
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __XLIB_RGB_H__ */

11
demos/.cvsignore Normal file
View File

@@ -0,0 +1,11 @@
Makefile
Makefile.in
.libs
.deps
testanimation
test-inline-pixbufs.h
testpixbuf-drawable
testpixbuf-scale
testpixbuf-save
testpixbuf
pixbuf-demo

View File

@@ -1,14 +1,14 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
SUBDIRS = gtk-demo
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
@@ -70,7 +70,7 @@ testpixbuf_scale_SOURCES = testpixbuf-scale.c pixbuf-init.c
testanimation_SOURCES = testanimation.c pixbuf-init.c
pixbuf_demo_SOURCES = pixbuf-demo.c pixbuf-init.c
EXTRA_DIST += \
EXTRA_DIST = \
apple-red.png \
background.jpg \
gnome-applets.png \

View File

@@ -0,0 +1,7 @@
Makefile
Makefile.in
.libs
.deps
gtk-demo
demos.h
geninclude.pl

View File

@@ -1,5 +1,4 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
democodedir=$(datadir)/gtk-2.0/demo
@@ -30,7 +29,6 @@ demos = \
pixbufs.c \
printing.c \
rotated_text.c \
search_entry.c \
sizegroup.c \
stock_browser.c \
textview.c \
@@ -39,12 +37,13 @@ demos = \
ui_manager.c
INCLUDES = \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
@@ -61,7 +60,7 @@ bin_PROGRAMS = gtk-demo
BUILT_SOURCES = demos.h
EXTRA_DIST += \
EXTRA_DIST = \
$(IMAGEFILES) \
demo.ui

View File

@@ -132,9 +132,9 @@ about_cb (GtkAction *action,
gtk_about_dialog_set_email_hook (activate_email, NULL, NULL);
gtk_about_dialog_set_url_hook (activate_url, NULL, NULL);
gtk_show_about_dialog (GTK_WINDOW (window),
"program-name", "GTK+ Code Demos",
"name", "GTK+ Code Demos",
"version", PACKAGE_VERSION,
"copyright", "(C) 1997-2009 The GTK+ Team",
"copyright", "(C) 1997-2005 The GTK+ Team",
"license", license,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
@@ -509,6 +509,7 @@ do_appwindow (GtkWidget *do_widget)
0, 0);
bar = gtk_ui_manager_get_widget (merge, "/ToolBar");
gtk_toolbar_set_tooltips (GTK_TOOLBAR (bar), TRUE);
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,

View File

@@ -6,31 +6,27 @@
#include <gtk/gtk.h>
#include "demo-common.h"
static GtkBuilder *builder;
G_MODULE_EXPORT void
void
quit_activate (GtkAction *action)
{
GtkWidget *window;
window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
gtk_widget_destroy (window);
}
G_MODULE_EXPORT void
void
about_activate (GtkAction *action)
{
GtkWidget *about_dlg;
about_dlg = GTK_WIDGET (gtk_builder_get_object (builder, "aboutdialog1"));
about_dlg = gtk_about_dialog_new ();
gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (about_dlg), "GtkBuilder demo");
gtk_dialog_run (GTK_DIALOG (about_dlg));
gtk_widget_hide (about_dlg);
gtk_widget_destroy (about_dlg);
}
GtkWidget *
do_builder (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
GtkBuilder *builder;
GError *err = NULL;
gchar *filename;

View File

@@ -1,5 +1,5 @@
/* Change Display
*
*
* Demonstrates migrating a window between different displays and
* screens. A display is a mouse and keyboard with some number of
* associated monitors. A screen is a set of monitors grouped
@@ -21,7 +21,7 @@
* - Changing the screen for a window
*
* - Letting the user choose a window by clicking on it
*
*
* - Using GtkListStore and GtkTreeView
*
* - Using GtkDialog
@@ -45,7 +45,7 @@ struct _ChangeDisplayInfo
GtkTreeModel *display_model;
GtkTreeModel *screen_model;
GtkTreeSelection *screen_selection;
GdkDisplay *current_display;
GdkScreen *current_screen;
};
@@ -81,11 +81,7 @@ find_toplevel_at_pointer (GdkDisplay *display)
* to the widget that created it.
*/
if (pointer_window)
{
gpointer widget_ptr;
gdk_window_get_user_data (pointer_window, &widget_ptr);
widget = widget_ptr;
}
gdk_window_get_user_data (pointer_window, (gpointer*) &widget);
return widget ? gtk_widget_get_toplevel (widget) : NULL;
}
@@ -111,23 +107,23 @@ query_for_toplevel (GdkScreen *screen,
GtkWidget *popup, *label, *frame;
GdkCursor *cursor;
GtkWidget *toplevel = NULL;
popup = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_screen (GTK_WINDOW (popup), screen);
gtk_window_set_modal (GTK_WINDOW (popup), TRUE);
gtk_window_set_position (GTK_WINDOW (popup), GTK_WIN_POS_CENTER);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
gtk_container_add (GTK_CONTAINER (popup), frame);
label = gtk_label_new (prompt);
gtk_misc_set_padding (GTK_MISC (label), 10, 10);
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show_all (popup);
cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
if (gdk_pointer_grab (popup->window, FALSE,
GDK_BUTTON_RELEASE_MASK,
NULL,
@@ -135,26 +131,26 @@ query_for_toplevel (GdkScreen *screen,
GDK_CURRENT_TIME) == GDK_GRAB_SUCCESS)
{
gboolean clicked = FALSE;
g_signal_connect (popup, "button-release-event",
G_CALLBACK (button_release_event_cb), &clicked);
/* Process events until clicked is set by button_release_event_cb.
* We pass in may_block=TRUE since we want to wait if there
* are no events currently.
*/
while (!clicked)
g_main_context_iteration (NULL, TRUE);
toplevel = find_toplevel_at_pointer (gdk_screen_get_display (screen));
if (toplevel == popup)
toplevel = NULL;
}
gdk_cursor_unref (cursor);
gtk_widget_destroy (popup);
gdk_flush (); /* Really release the grab */
return toplevel;
}
@@ -188,12 +184,12 @@ fill_screens (ChangeDisplayInfo *info)
{
gint n_screens = gdk_display_get_n_screens (info->current_display);
gint i;
for (i = 0; i < n_screens; i++)
{
GdkScreen *screen = gdk_display_get_screen (info->current_display, i);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->screen_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->screen_model), &iter,
SCREEN_COLUMN_NUMBER, i,
@@ -234,7 +230,7 @@ open_display_cb (GtkWidget *button,
GtkWidget *dialog_label;
gchar *new_screen_name = NULL;
GdkDisplay *result = NULL;
dialog = gtk_dialog_new_with_buttons ("Open Display",
GTK_WINDOW (info->window),
GTK_DIALOG_MODAL,
@@ -253,13 +249,13 @@ open_display_cb (GtkWidget *button,
gtk_widget_grab_focus (display_entry);
gtk_widget_show_all (GTK_BIN (dialog)->child);
while (!result)
{
gint response_id = gtk_dialog_run (GTK_DIALOG (dialog));
if (response_id != GTK_RESPONSE_OK)
break;
new_screen_name = gtk_editable_get_chars (GTK_EDITABLE (display_entry),
0, -1);
@@ -278,7 +274,7 @@ open_display_cb (GtkWidget *button,
g_free (new_screen_name);
}
}
gtk_widget_destroy (dialog);
}
@@ -351,7 +347,7 @@ create_frame (ChangeDisplayInfo *info,
GtkTreeSelection *selection;
GtkWidget *scrollwin;
GtkWidget *hbox;
*frame = gtk_frame_new (title);
hbox = gtk_hbox_new (FALSE, 8);
@@ -377,7 +373,7 @@ create_frame (ChangeDisplayInfo *info,
if (!info->size_group)
info->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget (GTK_SIZE_GROUP (info->size_group), *button_vbox);
}
@@ -413,7 +409,7 @@ create_display_frame (ChangeDisplayInfo *info)
button = left_align_button_new ("_Open...");
g_signal_connect (button, "clicked", G_CALLBACK (open_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
button = left_align_button_new ("_Close");
g_signal_connect (button, "clicked", G_CALLBACK (close_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
@@ -484,7 +480,7 @@ display_closed_cb (GdkDisplay *display,
valid = gtk_tree_model_iter_next (info->display_model, &iter))
{
GdkDisplay *tmp_display;
gtk_tree_model_get (info->display_model, &iter,
DISPLAY_COLUMN_DISPLAY, &tmp_display,
-1);
@@ -506,7 +502,7 @@ add_display (ChangeDisplayInfo *info,
{
const gchar *name = gdk_display_get_name (display);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->display_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->display_model), &iter,
DISPLAY_COLUMN_NAME, name,
@@ -514,7 +510,7 @@ add_display (ChangeDisplayInfo *info,
-1);
g_signal_connect (display, "closed",
G_CALLBACK (display_closed_cb), info);
G_CALLBACK (display_closed_cb), info);
}
/* Called when a new display is opened
@@ -543,7 +539,7 @@ initialize_displays (ChangeDisplayInfo *info)
g_slist_free (tmp_list);
g_signal_connect (manager, "display-opened",
g_signal_connect (manager, "display_opened",
G_CALLBACK (display_opened_cb), info);
}
@@ -566,7 +562,7 @@ destroy_info (ChangeDisplayInfo *info)
g_signal_handlers_disconnect_by_func (tmp_list->data,
display_closed_cb,
info);
g_slist_free (tmp_list);
g_object_unref (info->size_group);
@@ -605,7 +601,7 @@ do_changedisplay (GtkWidget *do_widget)
info = g_new0 (ChangeDisplayInfo, 1);
info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
GTK_WINDOW (do_widget),
GTK_WINDOW (do_widget),
GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,
@@ -620,13 +616,13 @@ do_changedisplay (GtkWidget *do_widget)
vbox = gtk_vbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (info->window)->vbox), vbox,
TRUE, TRUE, 0);
frame = create_display_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
frame = create_screen_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);

View File

@@ -1,9 +1,9 @@
/* Clipboard
*
* GtkClipboard is used for clipboard handling. This demo shows how to
* copy and paste text to and from the clipboard.
* copy and paste text to and from the clipboard.
*
* It also shows how to transfer images via the clipboard or via
* It also shows how to transfer images via the clipboard or via
* drag-and-drop, and how to make clipboard contents persist after
* the application exits. Clipboard persistence requires a clipboard
* manager to run.
@@ -22,7 +22,7 @@ copy_button_clicked (GtkWidget *button,
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
@@ -39,7 +39,7 @@ paste_received (GtkClipboard *clipboard,
GtkWidget *entry;
entry = GTK_WIDGET (user_data);
/* Set the entry text */
if(text)
gtk_entry_set_text (GTK_ENTRY (entry), text);
@@ -53,7 +53,7 @@ paste_button_clicked (GtkWidget *button,
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
@@ -80,7 +80,7 @@ get_image_pixbuf (GtkImage *image)
return gtk_widget_render_icon (GTK_WIDGET (image),
stock_id, size, NULL);
default:
g_warning ("Image storage type %d not handled",
g_warning ("Image storage type %d not handled",
gtk_image_get_storage_type (image));
return NULL;
}
@@ -98,7 +98,7 @@ drag_begin (GtkWidget *widget,
g_object_unref (pixbuf);
}
void
void
drag_data_get (GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
@@ -171,12 +171,12 @@ button_press (GtkWidget *widget,
{
GtkWidget *menu;
GtkWidget *item;
if (button->button != 3)
return FALSE;
menu = gtk_menu_new ();
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
g_signal_connect (item, "activate", G_CALLBACK (copy_image), data);
gtk_widget_show (item);
@@ -201,18 +201,18 @@ do_clipboard (GtkWidget *do_widget)
GtkWidget *entry, *button;
GtkWidget *ebox, *image;
GtkClipboard *clipboard;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_container_add (GTK_CONTAINER (window), vbox);
label = gtk_label_new ("\"Copy\" will copy the text\nin the entry to the clipboard");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 4);
@@ -222,7 +222,7 @@ do_clipboard (GtkWidget *do_widget)
/* Create the first entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_from_stock (GTK_STOCK_COPY);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
@@ -239,13 +239,13 @@ do_clipboard (GtkWidget *do_widget)
/* Create the second entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (paste_button_clicked), entry);
label = gtk_label_new ("Images can be transferred via the clipboard, too");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
@@ -254,7 +254,7 @@ do_clipboard (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the first image */
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
@@ -263,24 +263,24 @@ do_clipboard (GtkWidget *do_widget)
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag-begin",
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (ebox, "drag-data-get",
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag-data-received",
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on ebox */
g_signal_connect (ebox, "button-press-event",
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* Create the second image */
image = gtk_image_new_from_stock (GTK_STOCK_STOP,
image = gtk_image_new_from_stock (GTK_STOCK_STOP,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
@@ -289,22 +289,22 @@ do_clipboard (GtkWidget *do_widget)
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag-begin",
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (ebox, "drag-data-get",
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag-data-received",
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on ebox */
g_signal_connect (ebox, "button-press-event",
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* tell the clipboard manager to make the data persistent */
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
gtk_clipboard_set_can_store (clipboard, NULL, 0);

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<interface domain="gtk20">
<interface>
<object class="GtkListStore" id="liststore1">
<columns>
<column type="gchararray"/>
@@ -9,16 +9,16 @@
</columns>
<data>
<row>
<col id="0" translatable="yes">John</col>
<col id="1" translatable="yes">Doe</col>
<col id="0">John</col>
<col id="1">Doe</col>
<col id="2">25</col>
<col id="3" translatable="yes">This is the John Doe row</col>
<col id="3">This is the John Doe row</col>
</row>
<row>
<col id="0" translatable="yes">Mary</col>
<col id="1" translatable="yes">Unknown</col>
<col id="0">Mary</col>
<col id="1">Dole</col>
<col id="2">50</col>
<col id="3" translatable="yes">This is the Mary Unknown row</col>
<col id="3">This is the Mary Dole row</col>
</row>
</data>
</object>
@@ -141,28 +141,18 @@
</toolbar>
</ui>
</object>
<object class="GtkAboutDialog" id="aboutdialog1">
<property name="program-name" translatable="yes">GtkBuilder demo</property>
<accessibility>
<relation target="window1" type="subwindow-of"/>
</accessibility>
</object>
<object class="GtkWindow" id="window1">
<property name="default_height">250</property>
<property name="default_width">440</property>
<property name="title">GtkBuilder demo</property>
<property name="title">builder</property>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<child>
<object constructor="uimanager" class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="a11y-menubar">
<property name="AtkObject::accessible-name">The menubar</property>
</object>
</child>
</object>
</object>
<packing>
<property name="expand">False</property>
</packing>
@@ -170,11 +160,6 @@
<child>
<object constructor="uimanager" class="GtkToolbar" id="toolbar1">
<property name="visible">True</property>
<child internal-child="accessible">
<object class="AtkObject" id="a11y-toolbar">
<property name="AtkObject::accessible-name">The toolbar</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
@@ -192,14 +177,6 @@
<property name="visible">True</property>
<property name="model">liststore1</property>
<property name="tooltip-column">3</property>
<child internal-child="accessible">
<object class="AtkObject" id="a11y-treeview">
<property name="AtkObject::accessible-name">Name list</property>
<property name="AtkObject::accessible-description">
A list of person with name, surname and age columns
</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn" id="column1">
<property name="title">Name</property>
@@ -235,9 +212,6 @@
</child>
</object>
</child>
<accessibility>
<action action_name="move-cursor" description="Move the cursor to select another person."/>
</accessibility>
</object>
<packing>
<property name="position">2</property>

View File

@@ -21,25 +21,25 @@ static GdkPixmap *pixmap = NULL;
/* Create a new pixmap of the appropriate size to store our scribbles */
static gboolean
scribble_configure_event (GtkWidget *widget,
GdkEventConfigure *event,
gpointer data)
scribble_configure_event (GtkWidget *widget,
GdkEventConfigure *event,
gpointer data)
{
if (pixmap)
g_object_unref (pixmap);
pixmap = gdk_pixmap_new (widget->window,
widget->allocation.width,
widget->allocation.height,
-1);
widget->allocation.width,
widget->allocation.height,
-1);
/* Initialize the pixmap to white */
gdk_draw_rectangle (pixmap,
widget->style->white_gc,
TRUE,
0, 0,
widget->allocation.width,
widget->allocation.height);
widget->style->white_gc,
TRUE,
0, 0,
widget->allocation.width,
widget->allocation.height);
/* We've handled the configure event, no need for further processing. */
return TRUE;
@@ -48,30 +48,30 @@ scribble_configure_event (GtkWidget *widget,
/* Redraw the screen from the pixmap */
static gboolean
scribble_expose_event (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
GdkEventExpose *event,
gpointer data)
{
/* We use the "foreground GC" for the widget since it already exists,
* but honestly any GC would work. The only thing to worry about
* is whether the GC has an inappropriate clip region set.
*/
gdk_draw_drawable (widget->window,
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
pixmap,
/* Only copy the area that was exposed. */
event->area.x, event->area.y,
event->area.x, event->area.y,
event->area.width, event->area.height);
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
pixmap,
/* Only copy the area that was exposed. */
event->area.x, event->area.y,
event->area.x, event->area.y,
event->area.width, event->area.height);
return FALSE;
}
/* Draw a rectangle on the screen */
static void
draw_brush (GtkWidget *widget,
gdouble x,
gdouble y)
gdouble x,
gdouble y)
{
GdkRectangle update_rect;
@@ -82,25 +82,25 @@ draw_brush (GtkWidget *widget,
/* Paint to the pixmap, where we store our state */
gdk_draw_rectangle (pixmap,
widget->style->black_gc,
TRUE,
update_rect.x, update_rect.y,
update_rect.width, update_rect.height);
widget->style->black_gc,
TRUE,
update_rect.x, update_rect.y,
update_rect.width, update_rect.height);
/* Now invalidate the affected region of the drawing area. */
gdk_window_invalidate_rect (widget->window,
&update_rect,
FALSE);
&update_rect,
FALSE);
}
static gboolean
scribble_button_press_event (GtkWidget *widget,
GdkEventButton *event,
gpointer data)
scribble_button_press_event (GtkWidget *widget,
GdkEventButton *event,
gpointer data)
{
if (pixmap == NULL)
return FALSE; /* paranoia check, in case we haven't gotten a configure event */
if (event->button == 1)
draw_brush (widget, event->x, event->y);
@@ -109,9 +109,9 @@ scribble_button_press_event (GtkWidget *widget,
}
static gboolean
scribble_motion_notify_event (GtkWidget *widget,
GdkEventMotion *event,
gpointer data)
scribble_motion_notify_event (GtkWidget *widget,
GdkEventMotion *event,
gpointer data)
{
int x, y;
GdkModifierType state;
@@ -129,9 +129,9 @@ scribble_motion_notify_event (GtkWidget *widget,
* we avoid getting a huge number of events faster than we
* can cope.
*/
gdk_window_get_pointer (event->window, &x, &y, &state);
if (state & GDK_BUTTON1_MASK)
draw_brush (widget, x, y);
@@ -141,17 +141,17 @@ scribble_motion_notify_event (GtkWidget *widget,
static gboolean
checkerboard_expose (GtkWidget *da,
GdkEventExpose *event,
gpointer data)
checkerboard_expose (GtkWidget *da,
GdkEventExpose *event,
gpointer data)
{
gint i, j, xcount, ycount;
GdkGC *gc1, *gc2;
GdkColor color;
#define CHECK_SIZE 10
#define SPACING 2
/* At the start of an expose handler, a clip region of event->area
* is set on the window, and event->area has been cleared to the
* widget's background color. The docs for
@@ -174,7 +174,7 @@ checkerboard_expose (GtkWidget *da,
color.green = 65535;
color.blue = 65535;
gdk_gc_set_rgb_fg_color (gc2, &color);
xcount = 0;
i = SPACING;
while (i < da->allocation.width)
@@ -182,36 +182,36 @@ checkerboard_expose (GtkWidget *da,
j = SPACING;
ycount = xcount % 2; /* start with even/odd depending on row */
while (j < da->allocation.height)
{
GdkGC *gc;
{
GdkGC *gc;
if (ycount % 2)
gc = gc1;
else
gc = gc2;
if (ycount % 2)
gc = gc1;
else
gc = gc2;
/* If we're outside event->area, this will do nothing.
* It might be mildly more efficient if we handled
* the clipping ourselves, but again we're feeling lazy.
*/
gdk_draw_rectangle (da->window,
gc,
TRUE,
i, j,
CHECK_SIZE,
CHECK_SIZE);
/* If we're outside event->area, this will do nothing.
* It might be mildly more efficient if we handled
* the clipping ourselves, but again we're feeling lazy.
*/
gdk_draw_rectangle (da->window,
gc,
TRUE,
i, j,
CHECK_SIZE,
CHECK_SIZE);
j += CHECK_SIZE + SPACING;
++ycount;
}
j += CHECK_SIZE + SPACING;
++ycount;
}
i += CHECK_SIZE + SPACING;
++xcount;
}
g_object_unref (gc1);
g_object_unref (gc2);
/* return TRUE because we've handled this event, so no
* further processing is required.
*/
@@ -235,12 +235,12 @@ do_drawingarea (GtkWidget *do_widget)
GtkWidget *vbox;
GtkWidget *da;
GtkWidget *label;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Drawing Area");
g_signal_connect (window, "destroy", G_CALLBACK (close_window), NULL);
@@ -254,38 +254,38 @@ do_drawingarea (GtkWidget *do_widget)
/*
* Create the checkerboard area
*/
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Checkerboard pattern</u>");
"<u>Checkerboard pattern</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
da = gtk_drawing_area_new ();
/* set a minimum size */
gtk_widget_set_size_request (da, 100, 100);
gtk_container_add (GTK_CONTAINER (frame), da);
g_signal_connect (da, "expose-event",
G_CALLBACK (checkerboard_expose), NULL);
g_signal_connect (da, "expose_event",
G_CALLBACK (checkerboard_expose), NULL);
/*
* Create the scribble area
*/
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Scribble area</u>");
"<u>Scribble area</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
da = gtk_drawing_area_new ();
/* set a minimum size */
gtk_widget_set_size_request (da, 100, 100);
@@ -293,28 +293,28 @@ do_drawingarea (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (frame), da);
/* Signals used to handle backing pixmap */
g_signal_connect (da, "expose-event",
G_CALLBACK (scribble_expose_event), NULL);
g_signal_connect (da,"configure-event",
G_CALLBACK (scribble_configure_event), NULL);
g_signal_connect (da, "expose_event",
G_CALLBACK (scribble_expose_event), NULL);
g_signal_connect (da,"configure_event",
G_CALLBACK (scribble_configure_event), NULL);
/* Event signals */
g_signal_connect (da, "motion-notify-event",
G_CALLBACK (scribble_motion_notify_event), NULL);
g_signal_connect (da, "button-press-event",
G_CALLBACK (scribble_button_press_event), NULL);
g_signal_connect (da, "motion_notify_event",
G_CALLBACK (scribble_motion_notify_event), NULL);
g_signal_connect (da, "button_press_event",
G_CALLBACK (scribble_button_press_event), NULL);
/* Ask to receive events the drawing area doesn't normally
* subscribe to
*/
gtk_widget_set_events (da, gtk_widget_get_events (da)
| GDK_LEAVE_NOTIFY_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK);
| GDK_LEAVE_NOTIFY_MASK
| GDK_BUTTON_PRESS_MASK
| GDK_POINTER_MOTION_MASK
| GDK_POINTER_MOTION_HINT_MASK);
}

View File

@@ -1,4 +1,4 @@
/* Entry/Entry Completion
/* Entry Completion
*
* GtkEntryCompletion provides a mechanism for adding support for
* completion in GtkEntry.

View File

@@ -16,16 +16,16 @@
*/
static void
insert_link (GtkTextBuffer *buffer,
GtkTextIter *iter,
gchar *text,
gint page)
GtkTextIter *iter,
gchar *text,
gint page)
{
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"foreground", "blue",
"underline", PANGO_UNDERLINE_SINGLE,
NULL);
"foreground", "blue",
"underline", PANGO_UNDERLINE_SINGLE,
NULL);
g_object_set_data (G_OBJECT (tag), "page", GINT_TO_POINTER (page));
gtk_text_buffer_insert_with_tags (buffer, iter, text, -1, tag, NULL);
}
@@ -35,7 +35,7 @@ insert_link (GtkTextBuffer *buffer,
*/
static void
show_page (GtkTextBuffer *buffer,
gint page)
gint page)
{
GtkTextIter iter;
@@ -52,12 +52,12 @@ show_page (GtkTextBuffer *buffer,
else if (page == 2)
{
gtk_text_buffer_insert (buffer, &iter,
"A tag is an attribute that can be applied to some range of text. "
"For example, a tag might be called \"bold\" and make the text inside "
"the tag bold. However, the tag concept is more general than that; "
"tags don't have to affect appearance. They can instead affect the "
"behavior of mouse and key presses, \"lock\" a range of text so the "
"user can't edit it, or countless other things.\n", -1);
"A tag is an attribute that can be applied to some range of text. "
"For example, a tag might be called \"bold\" and make the text inside "
"the tag bold. However, the tag concept is more general than that; "
"tags don't have to affect appearance. They can instead affect the "
"behavior of mouse and key presses, \"lock\" a range of text so the "
"user can't edit it, or countless other things.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
else if (page == 3)
@@ -65,12 +65,12 @@ show_page (GtkTextBuffer *buffer,
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"weight", PANGO_WEIGHT_BOLD,
NULL);
"weight", PANGO_WEIGHT_BOLD,
NULL);
gtk_text_buffer_insert_with_tags (buffer, &iter, "hypertext:\n", -1, tag, NULL);
gtk_text_buffer_insert (buffer, &iter,
"machine-readable text that is not sequential but is organized "
"so that related items of information are connected.\n", -1);
"machine-readable text that is not sequential but is organized "
"so that related items of information are connected.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
}
@@ -81,7 +81,7 @@ show_page (GtkTextBuffer *buffer,
*/
static void
follow_if_link (GtkWidget *text_view,
GtkTextIter *iter)
GtkTextIter *iter)
{
GSList *tags = NULL, *tagp = NULL;
@@ -93,8 +93,8 @@ follow_if_link (GtkWidget *text_view,
if (page != 0)
{
show_page (gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)), page);
break;
show_page (gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)), page);
break;
}
}
@@ -106,7 +106,7 @@ follow_if_link (GtkWidget *text_view,
*/
static gboolean
key_press_event (GtkWidget *text_view,
GdkEventKey *event)
GdkEventKey *event)
{
GtkTextIter iter;
GtkTextBuffer *buffer;
@@ -132,7 +132,7 @@ key_press_event (GtkWidget *text_view,
*/
static gboolean
event_after (GtkWidget *text_view,
GdkEvent *ev)
GdkEvent *ev)
{
GtkTextIter start, end, iter;
GtkTextBuffer *buffer;
@@ -215,7 +215,7 @@ set_cursor_if_appropriate (GtkTextView *text_view,
*/
static gboolean
motion_notify_event (GtkWidget *text_view,
GdkEventMotion *event)
GdkEventMotion *event)
{
gint x, y;
@@ -234,7 +234,7 @@ motion_notify_event (GtkWidget *text_view,
*/
static gboolean
visibility_notify_event (GtkWidget *text_view,
GdkEventVisibility *event)
GdkEventVisibility *event)
{
gint wx, wy, bx, by;
@@ -265,12 +265,12 @@ do_hypertext (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_default_size (GTK_WINDOW (window),
450, 450);
450, 450);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_window_set_title (GTK_WINDOW (window), "Hypertext");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
@@ -278,20 +278,20 @@ do_hypertext (GtkWidget *do_widget)
view = gtk_text_view_new ();
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view), GTK_WRAP_WORD);
g_signal_connect (view, "key-press-event",
G_CALLBACK (key_press_event), NULL);
G_CALLBACK (key_press_event), NULL);
g_signal_connect (view, "event-after",
G_CALLBACK (event_after), NULL);
G_CALLBACK (event_after), NULL);
g_signal_connect (view, "motion-notify-event",
G_CALLBACK (motion_notify_event), NULL);
G_CALLBACK (motion_notify_event), NULL);
g_signal_connect (view, "visibility-notify-event",
G_CALLBACK (visibility_notify_event), NULL);
G_CALLBACK (visibility_notify_event), NULL);
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (window), sw);
gtk_container_add (GTK_CONTAINER (sw), view);

View File

@@ -1,7 +1,7 @@
/* Icon View/Icon View Basics
*
* The GtkIconView widget is used to display and manipulate icons.
* It uses a GtkTreeModel for data storage, so the list store
* The GtkIconView widget is used to display and manipulate icons.
* It uses a GtkTreeModel for data storage, so the list store
* example might be helpful.
*/
@@ -47,10 +47,10 @@ load_pixbufs (GError **error)
file_pixbuf = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
if (!file_pixbuf)
return FALSE; /* Note that "error" was filled with a GError */
filename = demo_find_file (FOLDER_NAME, error);
if (!filename)
return FALSE; /* note that "error" was filled in and returned */
@@ -67,7 +67,7 @@ fill_store (GtkListStore *store)
GDir *dir;
const gchar *name;
GtkTreeIter iter;
/* First clear the store */
gtk_list_store_clear (store);
@@ -82,14 +82,14 @@ fill_store (GtkListStore *store)
{
gchar *path, *display_name;
gboolean is_dir;
/* We ignore hidden files that start with a '.' */
if (name[0] != '.')
{
path = g_build_filename (parent, name, NULL);
is_dir = g_file_test (path, G_FILE_TEST_IS_DIR);
display_name = g_filename_to_utf8 (name, -1, NULL, NULL, NULL);
gtk_list_store_append (store, &iter);
@@ -103,7 +103,7 @@ fill_store (GtkListStore *store)
g_free (display_name);
}
name = g_dir_read_name (dir);
name = g_dir_read_name (dir);
}
}
@@ -121,7 +121,7 @@ sort_func (GtkTreeModel *model,
* folders before files.
*/
gtk_tree_model_get (model, a,
COL_IS_DIRECTORY, &is_dir_a,
COL_DISPLAY_NAME, &name_a,
@@ -153,12 +153,12 @@ create_store (void)
GtkListStore *store;
store = gtk_list_store_new (NUM_COLS,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
GDK_TYPE_PIXBUF,
G_TYPE_BOOLEAN);
/* Set sort column and function */
/* Set sort column and function */
gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (store),
sort_func,
NULL, NULL);
@@ -178,7 +178,7 @@ item_activated (GtkIconView *icon_view,
gchar *path;
GtkTreeIter iter;
gboolean is_dir;
store = GTK_LIST_STORE (user_data);
gtk_tree_model_get_iter (GTK_TREE_MODEL (store),
@@ -193,7 +193,7 @@ item_activated (GtkIconView *icon_view,
g_free (path);
return;
}
/* Replace parent with path and re-fill the model*/
g_free (parent);
parent = path;
@@ -215,7 +215,7 @@ up_clicked (GtkToolItem *item,
dir_name = g_path_get_dirname (parent);
g_free (parent);
parent = dir_name;
fill_store (store);
@@ -261,10 +261,10 @@ do_iconview (GtkWidget *do_widget)
if (!window)
{
GError *error;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "GtkIconView demo");
@@ -299,13 +299,13 @@ do_iconview (GtkWidget *do_widget)
GtkWidget *vbox;
GtkWidget *tool_bar;
GtkToolItem *home_button;
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
tool_bar = gtk_toolbar_new ();
gtk_box_pack_start (GTK_BOX (vbox), tool_bar, FALSE, FALSE, 0);
up_button = gtk_tool_button_new_from_stock (GTK_STOCK_GO_UP);
gtk_tool_item_set_is_important (up_button, TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (up_button), FALSE);
@@ -314,17 +314,17 @@ do_iconview (GtkWidget *do_widget)
home_button = gtk_tool_button_new_from_stock (GTK_STOCK_HOME);
gtk_tool_item_set_is_important (home_button, TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), home_button, -1);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
/* Create the store and fill it with the contents of '/' */
parent = g_strdup ("/");
store = create_store ();
@@ -334,7 +334,7 @@ do_iconview (GtkWidget *do_widget)
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
GTK_SELECTION_MULTIPLE);
g_object_unref (store);
/* Connect to the "clicked" signal of the "Up" tool button */
g_signal_connect (up_button, "clicked",
G_CALLBACK (up_clicked), store);
@@ -342,22 +342,22 @@ do_iconview (GtkWidget *do_widget)
/* Connect to the "clicked" signal of the "Home" tool button */
g_signal_connect (home_button, "clicked",
G_CALLBACK (home_clicked), store);
/* We now set which model columns that correspond to the text
* and pixbuf of each item
*/
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_DISPLAY_NAME);
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), COL_PIXBUF);
/* Connect to the "item-activated" signal */
g_signal_connect (icon_view, "item-activated",
/* Connect to the "item_activated" signal */
g_signal_connect (icon_view, "item_activated",
G_CALLBACK (item_activated), store);
gtk_container_add (GTK_CONTAINER (sw), icon_view);
gtk_widget_grab_focus (icon_view);
}
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else

View File

@@ -31,14 +31,14 @@ progressive_prepared_callback (GdkPixbufLoader *loader,
GtkWidget *image;
image = GTK_WIDGET (data);
pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
/* Avoid displaying random memory contents, since the pixbuf
* isn't filled in yet.
*/
gdk_pixbuf_fill (pixbuf, 0xaaaaaaff);
gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf);
}
@@ -51,7 +51,7 @@ progressive_updated_callback (GdkPixbufLoader *loader,
gpointer data)
{
GtkWidget *image;
image = GTK_WIDGET (data);
/* We know the pixbuf inside the GtkImage has changed, but the image
@@ -61,7 +61,7 @@ progressive_updated_callback (GdkPixbufLoader *loader,
* the pixbuf on the display, then we could queue a draw for only
* the updated area of the image.
*/
gtk_widget_queue_draw (image);
}
@@ -71,24 +71,24 @@ progressive_timeout (gpointer data)
GtkWidget *image;
image = GTK_WIDGET (data);
/* This shows off fully-paranoid error handling, so looks scary.
* You could factor out the error handling code into a nice separate
* function to make things nicer.
*/
if (image_stream)
{
size_t bytes_read;
guchar buf[256];
GError *error = NULL;
bytes_read = fread (buf, 1, 256, image_stream);
if (ferror (image_stream))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -103,7 +103,7 @@ progressive_timeout (gpointer data)
image_stream = NULL;
gtk_widget_show (dialog);
load_timeout = 0;
return FALSE; /* uninstall the timeout */
@@ -114,7 +114,7 @@ progressive_timeout (gpointer data)
&error))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -123,13 +123,13 @@ progressive_timeout (gpointer data)
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
fclose (image_stream);
image_stream = NULL;
gtk_widget_show (dialog);
load_timeout = 0;
@@ -151,29 +151,29 @@ progressive_timeout (gpointer data)
&error))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load image: %s",
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
load_timeout = 0;
return FALSE; /* uninstall the timeout */
}
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
@@ -182,7 +182,7 @@ progressive_timeout (gpointer data)
{
gchar *filename;
gchar *error_message = NULL;
GError *error = NULL;
GError *error = NULL;
/* demo_find_file() looks in the current directory first,
* so you can run gtk-demo without installing GTK, then looks
@@ -207,7 +207,7 @@ progressive_timeout (gpointer data)
if (image_stream == NULL)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -217,7 +217,7 @@ progressive_timeout (gpointer data)
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
load_timeout = 0;
@@ -231,13 +231,13 @@ progressive_timeout (gpointer data)
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
pixbuf_loader = gdk_pixbuf_loader_new ();
g_signal_connect (pixbuf_loader, "area-prepared",
g_signal_connect (pixbuf_loader, "area_prepared",
G_CALLBACK (progressive_prepared_callback), image);
g_signal_connect (pixbuf_loader, "area-updated",
g_signal_connect (pixbuf_loader, "area_updated",
G_CALLBACK (progressive_updated_callback), image);
}
@@ -269,7 +269,7 @@ cleanup_callback (GtkObject *object,
g_source_remove (load_timeout);
load_timeout = 0;
}
if (pixbuf_loader)
{
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
@@ -289,7 +289,7 @@ toggle_sensitivity_callback (GtkWidget *togglebutton,
GtkContainer *container = user_data;
GList *list;
GList *tmp;
list = gtk_container_get_children (container);
tmp = list;
@@ -299,13 +299,13 @@ toggle_sensitivity_callback (GtkWidget *togglebutton,
if (GTK_WIDGET (tmp->data) != togglebutton)
gtk_widget_set_sensitive (GTK_WIDGET (tmp->data),
!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (togglebutton)));
tmp = tmp->next;
}
g_list_free (list);
}
GtkWidget *
do_images (GtkWidget *do_widget)
@@ -319,7 +319,7 @@ do_images (GtkWidget *do_widget)
GdkPixbuf *pixbuf;
GError *error = NULL;
char *filename;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -342,7 +342,7 @@ do_images (GtkWidget *do_widget)
gtk_label_set_markup (GTK_LABEL (label),
"<u>Image loaded from a file</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
@@ -373,7 +373,7 @@ do_images (GtkWidget *do_widget)
* be displayed instead.
*/
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
@@ -381,13 +381,13 @@ do_images (GtkWidget *do_widget)
"Unable to open image file 'gtk-logo-rgb.gif': %s",
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
image = gtk_image_new_from_pixbuf (pixbuf);
gtk_container_add (GTK_CONTAINER (frame), image);
@@ -399,7 +399,7 @@ do_images (GtkWidget *do_widget)
gtk_label_set_markup (GTK_LABEL (label),
"<u>Animation loaded from a file</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
@@ -414,16 +414,16 @@ do_images (GtkWidget *do_widget)
g_free (filename);
gtk_container_add (GTK_CONTAINER (frame), image);
/* Progressive */
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Progressive image loading</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
@@ -7,7 +7,7 @@
#include <gtk/gtk.h>
#include <glib/gstdio.h>
#include "demos.h"
#include <demos.h>
static GtkTextBuffer *info_buffer;
static GtkTextBuffer *source_buffer;
@@ -41,7 +41,7 @@ get_democodedir (void)
if (result == NULL)
{
result = g_win32_get_package_installation_directory_of_module (NULL);
result = g_win32_get_package_installation_directory (NULL, NULL);
if (result == NULL)
result = "unknown-location";
@@ -195,12 +195,11 @@ static gchar *types[] =
"const ",
"void",
"gint",
" int ",
" char ",
"int ",
"char ",
"gchar ",
"gfloat",
"float",
"double",
"gint8",
"gint16",
"gint32",
@@ -235,87 +234,6 @@ static gchar *types[] =
"GdkPixbuf ",
"GError",
"size_t",
"GtkAboutDialog ",
"GtkAction ",
"GtkActionEntry ",
"GtkRadioActionEntry ",
"GtkIconFactory ",
"GtkStockItem ",
"GtkIconSet ",
"GtkTextBuffer ",
"GtkStatusbar ",
"GtkTextIter ",
"GtkTextMark ",
"GdkEventWindowState ",
"GtkActionGroup ",
"GtkUIManager ",
"GtkRadioAction ",
"GtkActionClass ",
"GtkToggleActionEntry ",
"GtkAssistant ",
"GtkBuilder ",
"GtkSizeGroup ",
"GtkTreeModel ",
"GtkTreeSelection ",
"GdkDisplay ",
"GdkScreen ",
"GdkWindow ",
"GdkEventButton ",
"GdkCursor ",
"GtkTreeIter ",
"GtkTreeViewColumn ",
"GdkDisplayManager ",
"GtkClipboard ",
"GtkIconSize ",
"GtkImage ",
"GdkDragContext ",
"GtkSelectionData ",
"GtkDialog ",
"GtkMenuItem ",
"GtkListStore ",
"GtkCellLayout ",
"GtkCellRenderer ",
"GtkTreePath ",
"GtkTreeStore ",
"GtkEntry ",
"GtkEditable ",
"GtkEditableClass ",
"GdkPixmap ",
"GdkEventConfigure ",
"GdkEventMotion ",
"GdkModifierType ",
"GtkEntryCompletion ",
"GtkToolItem ",
"GDir ",
"GtkIconView ",
"GtkCellRendererText ",
"GtkContainer ",
"GtkAccelGroup ",
"GtkPaned ",
"GtkPrintOperation ",
"GtkPrintContext ",
"cairo_t ",
"PangoLayout "
"PangoFontDescription ",
"PangoRenderer ",
"PangoMatrix ",
"PangoContext ",
"PangoLayout ",
"GtkTable ",
"GtkToggleButton ",
"GString ",
"GtkIconSize ",
"GtkTreeView ",
"GtkTextTag ",
"GdkEvent ",
"GdkEventKey ",
"GtkTextView ",
"GdkEventVisibility ",
"GdkBitmap ",
"GtkTextChildAnchor ",
"GArray ",
"GtkCellEditable ",
"GtkCellRendererToggle ",
NULL
};
@@ -390,8 +308,7 @@ parse_chars (gchar *text,
}
/* check for types */
for (i = 0; types[i] != NULL; i++)
if (!strncmp (text, types[i], strlen (types[i])) ||
(start && types[i][0] == ' ' && !strncmp (text, types[i] + 1, strlen (types[i]) - 1)))
if (!strncmp (text, types[i], strlen (types[i])))
{
*end_ptr = text + strlen (types[i]);
*tag = "type";

View File

@@ -82,13 +82,13 @@ load_pixbufs (GError **error)
{
filename = demo_find_file (image_names[i], error);
if (!filename)
return FALSE; /* Note that "error" was filled with a GError */
return FALSE; /* Note that "error" was filled with a GError */
images[i] = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
if (!images[i])
return FALSE; /* Note that "error" was filled with a GError */
return FALSE; /* Note that "error" was filled with a GError */
}
return TRUE;
@@ -96,9 +96,9 @@ load_pixbufs (GError **error)
/* Expose callback for the drawing area */
static gint
expose_cb (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
expose_cb (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
{
guchar *pixels;
int rowstride;
@@ -108,12 +108,12 @@ expose_cb (GtkWidget *widget,
pixels = gdk_pixbuf_get_pixels (frame) + rowstride * event->area.y + event->area.x * 3;
gdk_draw_rgb_image_dithalign (widget->window,
widget->style->black_gc,
event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL,
pixels, rowstride,
event->area.x, event->area.y);
widget->style->black_gc,
event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL,
pixels, rowstride,
event->area.x, event->area.y);
return TRUE;
}
@@ -132,7 +132,7 @@ timeout (gpointer data)
double radius;
gdk_pixbuf_copy_area (background, 0, 0, back_width, back_height,
frame, 0, 0);
frame, 0, 0);
f = (double) (frame_num % CYCLE_LEN) / CYCLE_LEN;
@@ -175,16 +175,16 @@ timeout (gpointer data)
r2.height = back_height;
if (gdk_rectangle_intersect (&r1, &r2, &dest))
gdk_pixbuf_composite (images[i],
frame,
dest.x, dest.y,
dest.width, dest.height,
xpos, ypos,
k, k,
GDK_INTERP_NEAREST,
((i & 1)
? MAX (127, fabs (255 * sin (f * 2.0 * G_PI)))
: MAX (127, fabs (255 * cos (f * 2.0 * G_PI)))));
gdk_pixbuf_composite (images[i],
frame,
dest.x, dest.y,
dest.width, dest.height,
xpos, ypos,
k, k,
GDK_INTERP_NEAREST,
((i & 1)
? MAX (127, fabs (255 * sin (f * 2.0 * G_PI)))
: MAX (127, fabs (255 * cos (f * 2.0 * G_PI)))));
}
GDK_THREADS_ENTER ();
@@ -199,7 +199,7 @@ static guint timeout_id;
static void
cleanup_callback (GtkObject *object,
gpointer data)
gpointer data)
{
g_source_remove (timeout_id);
timeout_id = 0;
@@ -214,50 +214,48 @@ do_pixbufs (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Pixbufs");
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "destroy",
G_CALLBACK (cleanup_callback), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "destroy", G_CALLBACK (cleanup_callback), NULL);
error = NULL;
if (!load_pixbufs (&error))
{
GtkWidget *dialog;
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load an image: %s",
error->message);
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load an image: %s",
error->message);
g_error_free (error);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
gtk_widget_show (dialog);
}
else
{
gtk_widget_set_size_request (window, back_width, back_height);
{
gtk_widget_set_size_request (window, back_width, back_height);
frame = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, back_width, back_height);
frame = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, back_width, back_height);
da = gtk_drawing_area_new ();
da = gtk_drawing_area_new ();
g_signal_connect (da, "expose-event",
G_CALLBACK (expose_cb), NULL);
g_signal_connect (da, "expose_event",
G_CALLBACK (expose_cb), NULL);
gtk_container_add (GTK_CONTAINER (window), da);
gtk_container_add (GTK_CONTAINER (window), da);
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
}
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
}
}
if (!GTK_WIDGET_VISIBLE (window))

View File

@@ -49,7 +49,6 @@ begin_print (GtkPrintOperation *operation,
data->num_lines = i;
data->num_pages = (data->num_lines - 1) / data->lines_per_page + 1;
gtk_print_operation_set_n_pages (operation, data->num_pages);
}
@@ -112,7 +111,7 @@ draw_page (GtkPrintOperation *operation,
layout = gtk_print_context_create_pango_layout (context);
desc = pango_font_description_from_string ("monospace");
desc = pango_font_description_from_string ("mono");
pango_font_description_set_size (desc, data->font_size * PANGO_SCALE);
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
@@ -162,9 +161,6 @@ do_printing (GtkWidget *do_widget)
g_signal_connect (G_OBJECT (operation), "end-print",
G_CALLBACK (end_print), data);
gtk_print_operation_set_use_full_page (operation, FALSE);
gtk_print_operation_set_unit (operation, GTK_UNIT_POINTS);
gtk_print_operation_run (operation, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, GTK_WINDOW (do_widget), &error);
g_object_unref (operation);

View File

@@ -1,173 +1,101 @@
/* Rotated Text
*
* This demo shows how to use PangoCairo to draw rotated and transformed
* text. The right pane shows a rotated GtkLabel widget.
* This demo shows how to use GDK and Pango to draw rotated and transformed
* text. The use of GdkPangoRenderer in this example is a somewhat advanced
* technique; most applications can simply use gdk_draw_layout(). We use
* it here mostly because that allows us to work in user coordinates - that is,
* coordinates prior to the application of the transformation matrix, rather
* than device coordinates.
*
* In both cases, a custom PangoCairo shape renderer is installed to draw
* a red heard using cairo drawing operations instead of the Unicode heart
* character.
* As of GTK+-2.6, the ability to draw transformed and anti-aliased graphics
* as shown in this example is only present for text. With GTK+-2.8, a new
* graphics system called "Cairo" will be introduced that provides these
* capabilities and many more for all types of graphics.
*/
#include <math.h>
#include <gtk/gtk.h>
#include <string.h>
static GtkWidget *window = NULL;
#define HEART "♥"
const char text[] = "I ♥ GTK+";
static void
fancy_shape_renderer (cairo_t *cr,
PangoAttrShape *attr,
gboolean do_path,
gpointer data)
{
double x, y;
cairo_get_current_point (cr, &x, &y);
cairo_translate (cr, x, y);
cairo_scale (cr,
(double) attr->ink_rect.width / PANGO_SCALE,
(double) attr->ink_rect.height / PANGO_SCALE);
switch (GPOINTER_TO_UINT (attr->data))
{
case 0x2665: /* U+2665 BLACK HEART SUIT */
{
cairo_move_to (cr, .5, .0);
cairo_line_to (cr, .9, -.4);
cairo_curve_to (cr, 1.1, -.8, .5, -.9, .5, -.5);
cairo_curve_to (cr, .5, -.9, -.1, -.8, .1, -.4);
cairo_close_path (cr);
}
break;
}
if (!do_path) {
cairo_set_source_rgb (cr, 1., 0., 0.);
cairo_fill (cr);
}
}
PangoAttrList *
create_fancy_attr_list_for_layout (PangoLayout *layout)
{
PangoAttrList *attrs;
PangoFontMetrics *metrics;
int ascent;
PangoRectangle ink_rect, logical_rect;
const char *p;
/* Get font metrics and prepare fancy shape size */
metrics = pango_context_get_metrics (pango_layout_get_context (layout),
pango_layout_get_font_description (layout),
NULL);
ascent = pango_font_metrics_get_ascent (metrics);
logical_rect.x = 0;
logical_rect.width = ascent;
logical_rect.y = -ascent;
logical_rect.height = ascent;
ink_rect = logical_rect;
pango_font_metrics_unref (metrics);
/* Set fancy shape attributes for all hearts */
attrs = pango_attr_list_new ();
for (p = text; (p = strstr (p, HEART)); p += strlen (HEART))
{
PangoAttribute *attr;
attr = pango_attr_shape_new_with_data (&ink_rect,
&logical_rect,
GUINT_TO_POINTER (g_utf8_get_char (p)),
NULL, NULL);
attr->start_index = p - text;
attr->end_index = attr->start_index + strlen (HEART);
pango_attr_list_insert (attrs, attr);
}
return attrs;
}
static gboolean
rotated_text_expose_event (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
{
#define RADIUS 150
#define N_WORDS 5
#define FONT "Serif 18"
#define N_WORDS 10
#define FONT "Sans Bold 27"
PangoRenderer *renderer;
PangoMatrix matrix = PANGO_MATRIX_INIT;
PangoContext *context;
PangoLayout *layout;
PangoFontDescription *desc;
cairo_t *cr;
cairo_pattern_t *pattern;
PangoAttrList *attrs;
int width = widget->allocation.width;
int height = widget->allocation.height;
double device_radius;
int i;
/* Create a cairo context and set up a transformation matrix so that the user
* space coordinates for the centered square where we draw are [-RADIUS, RADIUS],
* [-RADIUS, RADIUS].
* We first center, then change the scale. */
cr = gdk_cairo_create (widget->window);
/* Get the default renderer for the screen, and set it up for drawing */
renderer = gdk_pango_renderer_get_default (gtk_widget_get_screen (widget));
gdk_pango_renderer_set_drawable (GDK_PANGO_RENDERER (renderer), widget->window);
gdk_pango_renderer_set_gc (GDK_PANGO_RENDERER (renderer), widget->style->black_gc);
/* Set up a transformation matrix so that the user space coordinates for
* the centered square where we draw are [-RADIUS, RADIUS], [-RADIUS, RADIUS]
* We first center, then change the scale */
device_radius = MIN (width, height) / 2.;
cairo_translate (cr,
device_radius + (width - 2 * device_radius) / 2,
device_radius + (height - 2 * device_radius) / 2);
cairo_scale (cr, device_radius / RADIUS, device_radius / RADIUS);
pango_matrix_translate (&matrix,
device_radius + (width - 2 * device_radius) / 2,
device_radius + (height - 2 * device_radius) / 2);
pango_matrix_scale (&matrix, device_radius / RADIUS, device_radius / RADIUS);
/* Create and a subtle gradient source and use it. */
pattern = cairo_pattern_create_linear (-RADIUS, -RADIUS, RADIUS, RADIUS);
cairo_pattern_add_color_stop_rgb (pattern, 0., .5, .0, .0);
cairo_pattern_add_color_stop_rgb (pattern, 1., .0, .0, .5);
cairo_set_source (cr, pattern);
/* Create a PangoContext and set up our shape renderer */
/* Create a PangoLayout, set the font and text */
context = gtk_widget_create_pango_context (widget);
pango_cairo_context_set_shape_renderer (context,
fancy_shape_renderer,
NULL, NULL);
/* Create a PangoLayout, set the text, font, and attributes */
layout = pango_layout_new (context);
pango_layout_set_text (layout, text, -1);
pango_layout_set_text (layout, "Text", -1);
desc = pango_font_description_from_string (FONT);
pango_layout_set_font_description (layout, desc);
attrs = create_fancy_attr_list_for_layout (layout);
pango_layout_set_attributes (layout, attrs);
pango_attr_list_unref (attrs);
pango_font_description_free (desc);
/* Draw the layout N_WORDS times in a circle */
for (i = 0; i < N_WORDS; i++)
{
GdkColor color;
PangoMatrix rotated_matrix = matrix;
int width, height;
double angle = (360. * i) / N_WORDS;
/* Inform Pango to re-layout the text with the new transformation matrix */
pango_cairo_update_layout (cr, layout);
/* Gradient from red at angle == 60 to blue at angle == 300 */
color.red = 65535 * (1 + cos ((angle - 60) * G_PI / 180.)) / 2;
color.green = 0;
color.blue = 65535 - color.red;
pango_layout_get_pixel_size (layout, &width, &height);
cairo_move_to (cr, - width / 2, - RADIUS * .9);
pango_cairo_show_layout (cr, layout);
gdk_pango_renderer_set_override_color (GDK_PANGO_RENDERER (renderer),
PANGO_RENDER_PART_FOREGROUND, &color);
pango_matrix_rotate (&rotated_matrix, angle);
/* Rotate for the next turn */
cairo_rotate (cr, G_PI*2 / N_WORDS);
pango_context_set_matrix (context, &rotated_matrix);
/* Inform Pango to re-layout the text with the new transformation matrix */
pango_layout_context_changed (layout);
pango_layout_get_size (layout, &width, &height);
pango_renderer_draw_layout (renderer, layout,
- width / 2, - RADIUS * PANGO_SCALE);
}
/* Clean up default renderer, since it is shared */
gdk_pango_renderer_set_override_color (GDK_PANGO_RENDERER (renderer),
PANGO_RENDER_PART_FOREGROUND, NULL);
gdk_pango_renderer_set_drawable (GDK_PANGO_RENDERER (renderer), NULL);
gdk_pango_renderer_set_gc (GDK_PANGO_RENDERER (renderer), NULL);
/* free the objects we created */
pango_font_description_free (desc);
g_object_unref (layout);
g_object_unref (context);
cairo_pattern_destroy (pattern);
cairo_destroy (cr);
return FALSE;
}
@@ -175,30 +103,21 @@ rotated_text_expose_event (GtkWidget *widget,
GtkWidget *
do_rotated_text (GtkWidget *do_widget)
{
GtkWidget *drawing_area;
if (!window)
{
GtkWidget *box;
GtkWidget *drawing_area;
GtkWidget *label;
PangoLayout *layout;
PangoAttrList *attrs;
const GdkColor white = { 0, 0xffff, 0xffff, 0xffff };
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Rotated Text");
gtk_window_set_default_size (GTK_WINDOW (window), 4 * RADIUS, 2 * RADIUS);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
box = gtk_hbox_new (TRUE, 0);
gtk_container_add (GTK_CONTAINER (window), box);
/* Add a drawing area */
drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (box), drawing_area);
gtk_container_add (GTK_CONTAINER (window), drawing_area);
/* This overrides the background color from the theme */
gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &white);
@@ -206,21 +125,7 @@ do_rotated_text (GtkWidget *do_widget)
g_signal_connect (drawing_area, "expose-event",
G_CALLBACK (rotated_text_expose_event), NULL);
/* And a label */
label = gtk_label_new (text);
gtk_container_add (GTK_CONTAINER (box), label);
gtk_label_set_angle (label, 45);
/* Set up fancy stuff on the label */
layout = gtk_label_get_layout (label);
pango_cairo_context_set_shape_renderer (pango_layout_get_context (layout),
fancy_shape_renderer,
NULL, NULL);
attrs = create_fancy_attr_list_for_layout (layout);
gtk_label_set_attributes (label, attrs);
pango_attr_list_unref (attrs);
gtk_window_set_default_size (GTK_WINDOW (window), 2 * RADIUS, 2 * RADIUS);
}
if (!GTK_WIDGET_VISIBLE (window))

View File

@@ -1,283 +0,0 @@
/* Entry/Search Entry
*
* GtkEntry allows to display icons and progress information.
* This demo shows how to use these features in a search entry.
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
static GtkWidget *menu = NULL;
static GtkWidget *notebook = NULL;
static guint search_progress_id = 0;
static guint finish_search_id = 0;
static void
show_find_button (void)
{
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0);
}
static void
show_cancel_button (void)
{
gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 1);
}
static gboolean
search_progress (gpointer data)
{
gtk_entry_progress_pulse (GTK_ENTRY (data));
return TRUE;
}
static void
search_progress_done (GtkEntry *entry)
{
gtk_entry_set_progress_fraction (entry, 0.0);
}
static gboolean
finish_search (GtkButton *button)
{
show_find_button ();
g_source_remove (search_progress_id);
search_progress_id = 0;
return FALSE;
}
static gboolean
start_search_feedback (gpointer data)
{
search_progress_id = g_timeout_add_full (G_PRIORITY_DEFAULT, 100,
(GSourceFunc)search_progress, data,
(GDestroyNotify)search_progress_done);
return FALSE;
}
static void
start_search (GtkButton *button,
GtkEntry *entry)
{
show_cancel_button ();
search_progress_id = g_timeout_add_seconds (1, (GSourceFunc)start_search_feedback, entry);
finish_search_id = g_timeout_add_seconds (15, (GSourceFunc)finish_search, button);
}
static void
stop_search (GtkButton *button,
gpointer data)
{
g_source_remove (finish_search_id);
finish_search (button);
}
static void
icon_press_cb (GtkEntry *entry,
gint position,
GdkEventButton *event,
gpointer data)
{
if (position == GTK_ENTRY_ICON_PRIMARY)
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
event->button, event->time);
else
gtk_entry_set_text (entry, "");
}
static void
text_changed_cb (GtkEntry *entry,
GParamSpec *pspec,
GtkWidget *button)
{
gboolean has_text;
has_text = gtk_entry_get_text_length (entry) > 0;
gtk_entry_set_icon_sensitive (entry,
GTK_ENTRY_ICON_SECONDARY,
has_text);
gtk_widget_set_sensitive (button, has_text);
}
static void
activate_cb (GtkEntry *entry,
GtkButton *button)
{
if (search_progress_id != 0)
return;
start_search (button, entry);
}
static void
search_by_name (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_FIND);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by name\n"
"Click here to change the search type");
}
static void
search_by_description (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_EDIT);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by description\n"
"Click here to change the search type");
}
static void
search_by_file (GtkWidget *item,
GtkEntry *entry)
{
gtk_entry_set_icon_from_stock (entry,
GTK_ENTRY_ICON_PRIMARY,
GTK_STOCK_OPEN);
gtk_entry_set_icon_tooltip_text (entry,
GTK_ENTRY_ICON_PRIMARY,
"Search by file name\n"
"Click here to change the search type");
}
static void
search_entry_destroyed (GtkWidget *widget)
{
if (finish_search_id != 0)
g_source_remove (finish_search_id);
if (search_progress_id != 0)
g_source_remove (search_progress_id);
window = NULL;
}
GtkWidget *
do_search_entry (GtkWidget *do_widget)
{
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *entry;
GtkWidget *item;
GtkWidget *image;
GtkWidget *find_button;
GtkWidget *cancel_button;
if (!window)
{
window = gtk_dialog_new_with_buttons ("Search Entry",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (search_entry_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), "Search entry demo");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 10);
gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 0);
/* Create our entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 0);
/* Create the find and cancel buttons */
notebook = gtk_notebook_new ();
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
gtk_notebook_set_show_border (GTK_NOTEBOOK (notebook), FALSE);
gtk_box_pack_start (GTK_BOX (hbox), notebook, FALSE, FALSE, 0);
find_button = gtk_button_new_with_label ("Find");
g_signal_connect (find_button, "clicked",
G_CALLBACK (start_search), entry);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), find_button, NULL);
gtk_widget_show (find_button);
cancel_button = gtk_button_new_with_label ("Cancel");
g_signal_connect (cancel_button, "clicked",
G_CALLBACK (stop_search), NULL);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), cancel_button, NULL);
gtk_widget_show (cancel_button);
/* Set up the search icon */
search_by_name (NULL, GTK_ENTRY (entry));
/* Set up the clear icon */
gtk_entry_set_icon_from_stock (GTK_ENTRY (entry),
GTK_ENTRY_ICON_SECONDARY,
GTK_STOCK_CLEAR);
text_changed_cb (GTK_ENTRY (entry), NULL, find_button);
g_signal_connect (entry, "icon-press",
G_CALLBACK (icon_press_cb), NULL);
g_signal_connect (entry, "notify::text",
G_CALLBACK (text_changed_cb), find_button);
g_signal_connect (entry, "activate",
G_CALLBACK (activate_cb), NULL);
/* Create the menu */
menu = gtk_menu_new ();
gtk_menu_attach_to_widget (GTK_MENU (menu), entry, NULL);
item = gtk_image_menu_item_new_with_label ("Search by name");
image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
g_signal_connect (item, "activate", G_CALLBACK (search_by_name), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_image_menu_item_new_with_label ("Search by description");
image = gtk_image_new_from_stock (GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
g_signal_connect (item, "activate", G_CALLBACK (search_by_description), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_image_menu_item_new_with_label ("Search by file name");
image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
g_signal_connect (item, "activate", G_CALLBACK (search_by_file), entry);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show_all (menu);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (menu);
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -156,7 +156,7 @@ create_text_view (GtkWidget *hbox,
guint timeout;
swindow = gtk_scrolled_window_new (NULL, NULL);
gtk_box_pack_start (GTK_BOX (hbox), swindow, TRUE, TRUE, 0);
gtk_box_pack_start_defaults (GTK_BOX (hbox), swindow);
textview = gtk_text_view_new ();
gtk_container_add (GTK_CONTAINER (swindow), textview);

View File

@@ -549,7 +549,6 @@ easter_egg_callback (GtkWidget *button,
gpointer data)
{
static GtkWidget *window = NULL;
gpointer window_ptr;
GtkTextBuffer *buffer;
GtkWidget *view;
GtkTextIter iter;
@@ -587,8 +586,8 @@ easter_egg_callback (GtkWidget *button,
gtk_container_add (GTK_CONTAINER (window), sw);
gtk_container_add (GTK_CONTAINER (sw), view);
window_ptr = &window;
g_object_add_weak_pointer (G_OBJECT (window), window_ptr);
g_object_add_weak_pointer (G_OBJECT (window),
(gpointer *) &window);
gtk_window_set_default_size (GTK_WINDOW (window), 300, 400);

View File

@@ -20,7 +20,7 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <stdlib.h>
#include <gtk/gtk.h>
#include <math.h>

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <glib.h>
#include <sys/stat.h>

View File

@@ -18,7 +18,7 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

View File

@@ -189,7 +189,6 @@ load_file (const gchar *filename)
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
gtk_text_buffer_apply_tag_by_name (info_buffer, "source", &start, &end);
fclose (file);
}
gboolean
@@ -228,7 +227,8 @@ button_press_event_cb (GtkTreeView *tree_view,
gtk_tree_path_free (path);
}
g_signal_stop_emission_by_name (tree_view, "button-press-event");
gtk_signal_emit_stop_by_name (GTK_OBJECT (tree_view),
"button_press_event");
return TRUE;
}
@@ -329,8 +329,8 @@ create_tree (void)
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
GTK_TREE_VIEW_COLUMN (column));
g_signal_connect (selection, "selection-changed", selection_cb, model);
g_signal_connect (tree_view, "button-press-event", G_CALLBACK (button_press_event_cb), model);
gtk_signal_connect (GTK_OBJECT (selection), "selection_changed", selection_cb, model);
gtk_signal_connect (GTK_OBJECT (tree_view), "button_press_event", GTK_SIGNAL_FUNC (button_press_event_cb), model);
return tree_view;
}
@@ -347,8 +347,8 @@ main (int argc, char **argv)
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (gtk_main_quit), NULL);
hbox = gtk_hbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), hbox);

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <gtk/gtk.h>
int

View File

@@ -1,4 +1,4 @@
#include "config.h"
#include <config.h>
#include <gtk/gtk.h>
#include <stdio.h>

View File

@@ -17,13 +17,13 @@
* Boston, MA 02111-1307, USA.
*/
#include "config.h"
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
#include "test-inline-pixbufs.h"
@@ -383,7 +383,7 @@ new_testrgb_window (GdkPixbuf *pixbuf, gchar *title)
w = gdk_pixbuf_get_width (pixbuf);
h = gdk_pixbuf_get_height (pixbuf);
window = g_object_new (gtk_window_get_type (),
window = gtk_widget_new (gtk_window_get_type (),
"GtkObject::user_data", NULL,
"GtkWindow::type", GTK_WINDOW_TOPLEVEL,
"GtkWindow::title", title ? title : "testrgb",

21
docs/.cvsignore Normal file
View File

@@ -0,0 +1,21 @@
Makefile
Makefile.in
*.html
*.dvi
*.ps
*.pg
*.ky
*.cp
*.fn
*.tp
*.vr
*.log
*.aux
*.toc
*.cps
*.fns
*.vrs
html
text
texinfo.tex
gtk-config.1

View File

@@ -1,9 +1,8 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
SUBDIRS = tutorial faq reference tools
EXTRA_DIST += \
EXTRA_DIST = \
defsformat.txt \
developers.txt \
dnd_internals.txt \

157
docs/README.linux-fb Normal file
View File

@@ -0,0 +1,157 @@
THIS FILE IS OBSOLETE - use docs/reference/gtk/framebuffer.sgml
About GtkFB:
------------
The linux-fb port of Gtk+, also known as GtkFB is an implementation of
gdk (and therefor gtk) that runs on the linux framebuffer. It runs in
a single process that doesn't need X. It should run most Gtk+ programs
without any changes to the source.
Build requirements:
-------------------
To run GtkFB programs you will need glib, pango and gtk from cvs
HEAD. Make sure you update these at the same time, since changes to
glib and pango often forces changes in gtk+. Pango optionally depends
on libfribidi, but for normal GtkFB usage that can be ignored.
You also need freetype 2, I recommend that you use freetype 2.0.1 or
later, as there was some problems with freetype-config in 2.0.
Make sure that you install freetype before pango, since pango also
needs it.
Freetype can be found at ftp://ftp.freetype.org
Hardware requirements:
----------------------
You need a graphics card with an available framebuffer driver that can
run in 8, 16, 24 or 32 bpp. I use the matroxfb driver, but i.e. vesafb
should work too. You also need a supported mouse. Currently supported
is ps2 mouse, ms serial mouse and fidmour touchscreen.
Building and installing:
------------------------
First build and install glib and pango as usual, in that order.
Then configure Gtk by running configure (or autogen.sh if running from
cvs) with --with-gdktarget=linux-fb.
Then compile as usual: make; make install
Fonts:
------
Since GtkFB uses freetype 2 to render fonts it can render truetype and
postscript type 1 antialiased fonts.
At startup it scans some directories looking for fonts. By default
it looks in $prefix/lib/ft2fonts, and if you want to change this you
must add something like:
[PangoFT2]
FontPath = /usr/share/fonts/default/Type1:/usr/share/fonts/default/TrueType
To your $prefix/etc/pango/pangorc or ~/.pangorc.
You must also set up font aliases for the fonts Sans, Serif and Monotype.
This is done by creating a $prefix/etc/pango/pangoft2.aliases or
~/.pangoft2_aliases file. You can also set the name of this file using the
key AliasFiles in the PangoFT2 section in pangorc.
An example of a font alias file for the urw fontset is:
sans normal normal normal normal "urw gothic l"
serif normal normal normal normal "urw palladio l"
monospace normal normal normal normal "nimbus mono l"
And one using the Windows truetype fonts is:
sans normal normal normal normal "arial"
serif normal normal normal normal "times new roman"
monospace normal normal normal normal "courier new"
A more detailed example can be found in examples/pangoft2.aliases in the
pango distribution.
Running:
--------
To run a program you should only need to start it, but there are some
things that can cause problems, and some things that can be controlled
by environment variables. Try testgtk distributed with gtk+ to test
if things work.
If you use a ps2 mouse, make sure that /dev/psaux is readable and
writable.
Make sure gpm is not running.
If you don't specify anything GtkFB will start up in the current
virtual console in the current resolution and bit-depth. This can be
changed by specifying environment variables:
GDK_VT:
unset means open on the current VT.
0-9: open on the specified VT. Make sure you have read/write rights
there.
new: Allocate a new VT after the last currently used one.
GDK_DISPLAY_MODE:
Specifies the name of a mode in /etc/fb.modes that you want to use.
GDK_DISPLAY_DEPTH:
Specify the desired bit depth of the framebuffer.
GDK_DISPLAY_WIDTH:
Specify the desired width of the framebuffer.
GDK_DISPLAY_HEIGHT:
Specify the desired height of the framebuffer.
GDK_DISPLAY:
Specify the framebuffer device to use. Default is /dev/fb0
GDK_MOUSE_TYPE:
Specify mouse type. Currently supported is:
ps2 - PS/2 mouse
imps2 - PS/2 intellimouse (wheelmouse)
ms - Microsoft serial mouse
fidmour - touch screen
Default is ps2.
GDK_KEYBOARD_TYPE:
Specify keyboard type. Currently supported is
xlate - normal tty mode keyboard.
Quite limited, cannot detect key up/key down events. Doesn't
handle ctrl/alt/shift for all keys. This is the default driver,
but should not be used in "production" use.
raw - read from the tty in RAW mode.
Sets the keyboard in RAW mode and handles all the keycodes. This
gives correct handling of modifiers and key up/down events. You
must be root to use this. If you use this for development or
debugging it is recommended to enable magic sysrq handling in the
kernel. Then you can use ALT-SysRQ-r to turn the keyboard back to
normal mode.
Default is xlate.
HACKING:
--------
Pressing Ctrl-Alt-Return repaints the whole screen.
Unfortunately this cannot be pressed when using the xlate keyboard
driver, so instead you can use shift-F1 instead when using this
driver.
Pressing Ctrl-Alt-BackSpace kills the GtkFB program. (Can't be pressed
in the xlate driver.
More to be written.
- Alexander Larsson <alexl@redhat.com>
2000/12/06

View File

@@ -1,107 +1,45 @@
How to do a GTK+ release?
=========================
Make sure you have suitable versions of autoconf and libtool.
Make sure you have Owen's special autoconf and libtool RPMs, available at:
http://people.redhat.com/otaylor/gtk/autotools/.
Also make sure you have the following packages installed with all their
dependencies:
dependencies (I used the RPM package names from RedHat 9):
* gtk-doc
* linuxdoc-tools
* docbook-utils
Without those packages make distcheck will *not* pass.
0) Go back to a pristine working directory. With git, this works:
git clean -f -x
1) autogen and build it, make sure to enable docs by specifying
--enable-gtk-doc --enable-man
2) Update NEWS based on the content of git log; follow the format
of prior entries. This includes finding noteworthy new features,
collecting summaries for all the fixed bugs that are referenced
and collecting all updated translations.
Also collect the names of all contributors that are mentioned.
We don't discriminate between bug reporters, patch writers,
committers, etc. Anybody who is mentioned in ChangeLog gets
credits, but only real names, not email addresses or nicknames.
3) In particular, if this is a major, stable, release, verify that
README.in contains the relevant release notes and that the
required versions of dependencies in INSTALL.in are in sync
with configure.in.
4) Verify that the version in configure.in has been bumped after the last
release. (Note that this is critical, a slip-up here will cause the
soname to change).
5) Make sure that make check is happy (If you don't do it here, make distcheck
will also catch it, but it is kind of disheartening to see make distcheck
fail due to an extraneous symbol after watching it build the docs for an
hour...).
Typical problems to expect here (depending on whether this is a devel
snapshot or a stable release):
* forgotten source files
* new symbols missing from .symbols files
* symbols that are exported by should be private (static or _-prefixed)
* symbols that cause PLT entries. This is either caused by using
a in the same library function without including the header or by
using a function from a different library, which is not yet allowed
by the filter in pltcheck.sh
6) If this is a devel release, make sure that the docs for new symbols
are in good shape. Look at the -unused.txt files and add stuff found
there to the corresponding -sections.txt file. Look at the
-undocumented.txt files and see if there is anything in there that
should be documented. If it is, this may be due to typos in the doc
comments in the source. Make sure that all new symbols have proper
Since: tags, and that there is an index in the main -docs.sgml for
the next stable version.
7) make distcheck
8) Fix broken stuff found by 7), repeat
9) Commit all changes: git commit -a. You will have a bunch of po file
changes, NEWS and maybe some doc changes too
10) Now you've got the tarball. Check that the tarball size looks
reasonable compared to previous releases. If the size goes down
a lot, likely the docs went missing for some reason. Or the translations.
If the size goes up by a lot, something else may be wrong.
11) Tag the release. The git command for doing that looks like
git tag -m "GTK+ 2.12.10" 2.12.10
12) Push the tagged commit upstream. The git command for doing that is
git push origin refs/tags/2.12.10
13) Bump the version number in configure.in and commit and push this change
14) Upload the tarball to master.gnome.org and run install-module to transfer
it to download.gnome.org. If you don't have an account on master.gnome.org,
find someone who can do it for you. The command for this looks like
scp gtk+-2.12.10.tar.gz matthiasc@master.gnome.org:
ssh matthiasc@master.gnome.org
install-module gtk+-2.12.10.tar.gz
15) Get the .bz2 tarball and the .md5sum files back from master.gnome.org
You can probably also create it locally, but I've experienced md5
mismatches when doing so.
16) Upload the .gz and .bz2 tarballs and checksums to ftp.gtk.org and put
them in the right directory below /ftp/pub. Pay attention to correct
ownership, and don't forget to update the LATEST file in the directory.
17) Go to the gnome-announce list archives, find the last announce message,
create a new message in the same form, replacing version numbers,
commentary at the top about "what this release is about" and the
summary of changes.
18) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
gtk-devel-list. Set reply-to to gnome-hackers.
19) Add a link to the release announcement to www.gtk.org which lives
in the gtk-web cvs module.
0) Blow away your gtk+ directory, check a new version out
1) autogen and build it, make sure to enable docs.
2) Update NEWS based on the various ChangeLog files
3) Verify that the version in configure.in has been bumped after the last
release. (Note that this is critical, a slip-up here will cause the soname
to change).
4) Make sure that make check is happy (If you don't do it here, make distcheck
will also catch it, but it is kind of disheartening to see make distcheck fail
due to an extraneous symbol after watching it build the docs for an hour...)
5) Add === Released 2.x.y === at the top of all ChangeLog files
6) make distcheck
7) Fix broken stuff found by 5) repeat
8) cvs commit; you'll have a bunch of po file changes, and maybe some
doc changes too (NOTE: be sure to use cvs with compression, else you'll
end up waiting for a long time :).
9) If 7) fails because someone else committed inbetween, curse, cvs up,
fix conflicts and go to 5)
10) type 'cvs tag GTK_2_x_y' in the toplevel directory
11) You now have the tarball, and the CVS tag, now upload the tarball to
gnome.org and gtk.org
12) Go to the gnome-announce list archives, find the last announce message,
create a new message in the same form, replacing version numbers, commentary
at the top about "what this release is about" and the Summary of changes.
13) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
gtk-devel-list. Set reply-to to gnome-hackers.
14) Bump the version number in configure.in.
15) Create a new milestone in bugzilla and move the remaining bugs from the
2.x.y milestone over to the new one.
16) Add a link to the release announcement to www.gtk.org which lives in
the gtk-web cvs module.

19
docs/faq/.cvsignore Normal file
View File

@@ -0,0 +1,19 @@
Makefile
Makefile.in
*.html
*.dvi
*.ps
*.pg
*.ky
*.cp
*.fn
*.tp
*.vr
*.log
*.aux
*.toc
*.cps
*.fns
*.vrs
html
text

View File

@@ -1,6 +1,4 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
EXTRA_DIST = \
gtk-faq.sgml
if HAVE_DOCBOOK

View File

@@ -429,7 +429,7 @@ in which they need to be installed:</para>
<itemizedlist spacing=compact>
<listitem><simpara> pkg-config
(<ulink url="http://pkg-config.freedesktop.org/wiki">
(<ulink url="http://www.freedesktop.org/software/pkgconfig">
pkg-config Site</ulink>)</simpara>
</listitem>
@@ -789,7 +789,8 @@ disgrace to the widget set will gladly be included.</para>
<para>The new widgets that get added to GTK+ are generally either
replacements for existing widgets that are no longer
deemed to be adequate, or have been developed externally to GTK+ but
have been widely tested.
have been widely tested. One possible avenue for this is via
<ulink url="http://cvs.gnome.org/lxr/source/libegg/">libegg</ulink>.</para>
<para>Before you spend months of your valuable time implementing your
revolutionary widget, it is highly recommended that you get some
@@ -824,8 +825,8 @@ However, bindings for many other languages are available.</para>
<para>So, after you have installed GTK+ there are a couple of
things that can ease you into developing applications with
it. There is the GTK+ Tutorial <ulink
url="http://library.gnome.org/devel/gtk-tutorial/stable/">
http://library.gnome.org/devel/gtk-tutorial/stable/</ulink>, which is undergoing
url="http://www.gtk.org/tutorial/">
http://www.gtk.org/tutorial/</ulink>, which is undergoing
development. This will introduce you to writing applications
using C.</para>

View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

View File

@@ -1,864 +1,6 @@
=== ChangeLog discontinued ===
2007-11-26 Matthias Clasen <mclasen@redhat.com>
With the move to git, GTK+ is switching from a ChangeLog file
to relying on commit messages to provide change history. Please
see README.commits for guidance on the expected message format.
2009-03-25 Paul Bolle <pebolle@tiscali.nl>
Bug 562863 - GtkVscrollbar is hardly documented
* gtk/tmpl/gtkvscrollbar.sgml:
* gtk/tmpl/gtkhscrollbar.sgml: Minor tweaks.
2009-03-24 Matthias Clasen <mclasen@redhat.com>
Bug 576150 Doc bug for GtkMenuPositionFunc
* gtk/tmpl/gtkmenu.sgml: Remove a misleading sentence.
Pointed out by Owen Taylor.
2009-03-23 Claudio Saavedra <csaavedra@igalia.com>
* gdk-pixbuf/tmpl/animation.sgml: Fix typos and document the
GdkPixbufSimpleAnim structure.
2009-03-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.16.0 ===
2009-03-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Rename gtk_style_get_property to
gtk_style_get_style_property
2009-03-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.5 ===
2009-03-01 Matthias Clasen <mclasen@redhat.com>
Bug 573393 Deprecated functions in gdk-Threads example code snippet
* gdk/tmpl/threads.sgml: Don't use deprecated GTK+ api.
Spotted by Andre Klapper
2009-03-01 Matthias Clasen <mclasen@redhat.com>
* gtk/images/messagedialog.png: Fix this image
* gtk/images/aboutdialog.png: New image
* gtk/Makefile.am: Add it here.
* gtk/visual_index.xml: And here.
2009-02-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_window_get_default_icon_name
2009-02-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.4 ===
2009-02-06 Stefan Kost <ensonic@users.sf.net>
* gdk-pixbuf/gdk-pixbuf.sgml:
* gdk/gdk-docs.sgml:
* gtk/gtk-docs.sgml:
* libgail-util/gail-libgail-util-docs.sgml:
Add online urls for library.gnome.org. This allows other docs to do
gtkdoc-rebase --online --html-dir=html
before publishing docs and have working xrefs.
Whitespece cleanup for gdk/gdk-docs.sgml.
2009-02-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.3 ===
2009-01-27 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.2 ===
2009-01-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new image menu item api
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.1 ===
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add GtkActivatableIface, too
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new GtkActivatable API
* gtk/gtk-docs.sgml: Include GtkActivatable section
* gtk.types: Add gtk_activatable_get_type
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Additions
2009-01-23 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/properties.sgml: Typo fix
2009-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new GtkAction api
2009-01-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new scale api
2009-01-19 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/cursors.sgml: Document GDK_BLANK_CURSOR.
2009-01-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new api
2009-01-13 Christian Dywan <christian@imendio.com>
Bug 567569 Typo in GtkFileChooser example in GTK+ documentation
* gtk/tmpl/gtkfilechooser.sgml: s/gobject_unref/g_object_unref.
Patch by Priyank Gosalia.
2009-01-05 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkstock.sgml: Add GTK_STOCK_CAPS_LOCK_WARNING
* gtk/Makefile.am: And copy the icon
2009-01-04 Matthias Clasen <mclasen@redhat.com>
Bug 566045 GtkViewport is lacking a description
* gtk/tmpl/gtkviewport.sgml: Add some descriptive text, shamelessly
copied from gtkscrolledwindow.sgml. Requested by Andrew Cowie.
2009-01-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.15.0 ===
2008-12-31 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkEntry-icons.sgml: Add a section about
signals.
* gtk/tmpl/gtkentry.sgml: Update to new signal names
2008-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkorientable.sgml:
* gtk/tmpl/gtkvscrollbar.sgml:
* gtk/tmpl/gtkhsv.sgml: Add short/long description.
2008-12-30 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtkprintoperation.sgml: Additions
* gtk/tmpl/gtkprintunixdialog.sgml: Document the preview
capability.
2008-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktreeview.sgml: Document GtkTreeViewGridLines
2008-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkprintsettings.sgml: Document NumberUpLayout
* gtk/images/layout-*.png: n-up page layout images
* gtk/Makefile.am: Glue
2008-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkenums.sgml:
* gtk/tmpl/gtkmain.sgml:
* gtk/tmpl/gtktypeutils.sgml: Additions
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkprintunixdialog.sgml: Document capabilities
* gtk/tmpl/gtkstyle.sgml: Document GtkBorder
* gtk/tmpl/gtkmenubar.sgml: Document GtkPackDirection
* gtk/tmpl/gtkenums.sgml: Document GtkArrowPlacement
* gtk/tmpl/gtkbuilder.sgml: Document GtkBuilderError
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Remove duplicate vscrollbar section.
Merge accident ?
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktreesortable.sgml: Small addition
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Move GtkFixedChild, GtkTableChild and
GtkTableRowCol to Private
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkfontseldlg.sgml: Merge docs inline.
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/building.sgml: It's <envar>, not <envvar>
* gtk/gtk-sections.txt: Remove duplicates, pick up misc new api
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkscrolledwindow.sgml:
* gtk/tmpl/gtkscale.sgml: Merge docs inline.
2008-12-28 Matthias Clasen <mclasen@redhat.com>
* docs/reference/gtk/gtk-sections.txt: Remove overridden INCLUDE
* gtk/tmpl/gtkfontsel.sgml:
* gtk/tmpl/gtkeditable.sgml: Merge docs inline.
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkmessagedialog.sgml:
* gtk/tmpl/gtkmenushell.sgml:
* gtk/tmpl/gtklinkbutton.sgml:
* gtk/tmpl/gtkimage.sgml: Additions
* gtk/gtk-sections.txt:
* gtk/gtk-docs.sgml: Add GtkHSV
* gtk/Makefile.am: Don't ignore gtkhsv.h
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Remove nonexisting api
* gtk/migrating-GtkEntry-icons.sgml: Formatting fixes
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am: Add migrating-GtkEntry-icons.sgml to
content_files and expand_content_files.
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkLinkButton.sgml: Mention default hook
* gtk/migrating-GtkEntry-icons.sgml: Migration chapter
SexyIconEntry -> GtkEntry
2008-12-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add GtkEntryIconPosition
* gtk/tmpl/gtkentry.sgml: Add note about a11y concerns.
2008-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkentry.sgml: Mention new functionality
* gtk/gtk-sections.txt: Add new api
2008-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkBuilder.xml: Update
2008-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/drawing-model.sgml: Turn into a refentry to fit better in
the overall formatting.
2008-12-25 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-docs.sgml: Add a "Since 2.16" index
2008-12-10 Matthias Clasen <mclasen@redhat.com>
Bug 563876 [Regression] GTK_MODULES env var is no longer relevant
* gtk/running.sgml: Improve GTK_MODULES docs.
2008-12-07 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkcontainer.sgml: Document translatable child
properties in GtkBuilder
2008-11-29 Baptiste Mille-Mathias <baptiste.millemathias@gmail.com>
* docs/reference/gtk/images/accel-label.png:
* docs/reference/gtk/images/assistant.png:
* docs/reference/gtk/images/button.png:
* docs/reference/gtk/images/check-button.png:
* docs/reference/gtk/images/color-button.png:
* docs/reference/gtk/images/colorsel.png:
* docs/reference/gtk/images/combo-box-entry.png:
* docs/reference/gtk/images/combo-box.png:
* docs/reference/gtk/images/entry.png:
* docs/reference/gtk/images/file-button.png:
* docs/reference/gtk/images/filechooser.png:
* docs/reference/gtk/images/font-button.png:
* docs/reference/gtk/images/fontsel.png:
* docs/reference/gtk/images/frame.png:
* docs/reference/gtk/images/icon-view.png:
* docs/reference/gtk/images/image.png:
* docs/reference/gtk/images/label.png
* docs/reference/gtk/images/link-button.png:
* docs/reference/gtk/images/list-and-tree.png:
* docs/reference/gtk/images/menubar.png:
* docs/reference/gtk/images/messagedialog.png:
* docs/reference/gtk/images/multiline-text.png:
* docs/reference/gtk/images/notebook.png:
* docs/reference/gtk/images/pagesetupdialog.png:
* docs/reference/gtk/images/panes.png:
* docs/reference/gtk/images/printdialog.png:
* docs/reference/gtk/images/progressbar.png:
* docs/reference/gtk/images/radio-group.png:
* docs/reference/gtk/images/recentchooserdialog.png:
* docs/reference/gtk/images/scales.png:
* docs/reference/gtk/images/scrolledwindow.png:
* docs/reference/gtk/images/separator.png:
* docs/reference/gtk/images/spinbutton.png:
* docs/reference/gtk/images/statusbar.png:
* docs/reference/gtk/images/toggle-button.png:
* docs/reference/gtk/images/toolbar.png:
* docs/reference/gtk/images/volumebutton.png:
* docs/reference/gtk/images/window.png:
update all screenshots to have a consistent look.
Closes the bug 523264.
2008-11-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktooltips.sgml:
* gtk/tmpl/gtkoptionmenu.sgml:
* gtk/tmpl/gtkcombo.sgml:
* gtk/tmpl/gtkwindow.sgml:
* gtk/tmpl/gtkwidget.sgml:
* gtk/tmpl/gtktogglebutton.sgml:
* gtk/tmpl/gtkstyle.sgml:
* gtk/tmpl/gtkspinbutton.sgml:
* gtk/tmpl/gtkrc.sgml:
* gtk/tmpl/gtknotebook.sgml:
* gtk/tmpl/gtklabel.sgml:
* gtk/tmpl/gtkdrawingarea.sgml:
* gtk/tmpl/gtkcheckmenuitem.sgml:
* gtk/tmpl/gtkcalendar.sgml:
* gtk/tmpl/gtkbbox.sgml: Improve deprecation annotations.
2008-11-21 Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am:
* gdk/Makefile.am:
* gdk-pixbuf/Makefile.am: Use a new gtk-doc feature to generate
much nicer indices.
* gtk/drawing-model.xml: Fix document structure
2008-11-25 Christian Dywan <christian@imendio.com>
Bug 559009 gtk_radio_button_get_group documentation needs
to say whether to free the returned GSList
* gtk/tmpl/gtkradiobutton.sgml: Clarify radio_button_get_group docs
2008-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new statusicon api.
2008-11-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new GtkStyle functions.
2008-10-29 Federico Mena Quintero <federico@novell.com>
* gtk/drawing-model.xml: New chapter for "The GTK+ Drawing Model".
* gtk/Makefile.am (content_files): Add drawing-model.xml.
(HTML_IMAGES): Add a the images for that new chapter.
* gtk/tmpl/gtkwidget.sgml: Link to the drawing model docs from the
descriptions of GTK_APP_PAINTABLE and GTK_DOUBLE_BUFFERED.
* gtk/glossary.xml: Link to the drawing model docs on no-window
widgets.
2008-10-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt:
* gtk/gtk-docs.sgml:
* gtk/gtk.types: Add GtkOrientable
2008-10-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.types: Add gtk_mount_operation_get_type
2008-10-09 Michael Natterer <mitch@imendio.com>
Bug 516425 Optionally display accelerators in popups
* gtk/tmpl/gtkuimanager.sgml: document the enhanced XML syntax and
the new enum value for popups with accelerators.
2008-10-07 Michael Natterer <mitch@imendio.com>
* gtk/gtk-sections.txt: add gtk_box_new.
2008-10-02 Michael Natterer <mitch@imendio.com>
* gtk/gtk-sections.txt: add gtk_ruler_new.
2008-09-30 Michael Natterer <mitch@imendio.com>
* gtk/gtk-sections.txt: add gtk_separator_new.
2008-09-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_im_multi_context_get_context_id.
2008-09-29 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-sections.txt: Add gdk_keymap_get_caps_locks_state.
2008-09-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.2 ===
2008-09-06 Sven Herzberg <sven@imendio.com>
Bug 551063 deprecated marking without a link to what new code should
use
* gdk/tmpl/input.sgml: dropped tmpl documentation for gdk_input_add()
and gdk_input_add_full()
2008-09-06 Stefan Kost <ensonic@users.sf.net>
* gdk-pixbuf/gdk-pixbuf-csource.xml:
* gdk-pixbuf/gdk-pixbuf-from-drawables.sgml:
* gdk-pixbuf/gdk-pixbuf-query-loaders.xml:
* gdk-pixbuf/gdk-pixbuf-rendering.sgml:
* gdk-pixbuf/gdk-pixbuf.sgml:
* gdk-pixbuf/porting-from-imlib.sgml:
* gdk/gdk-docs.sgml:
* gdk/multihead.sgml:
* libgail-util/gail-libgail-util-docs.sgml:
Use xi:include instead of entities to ease maintenance and speed up
documentation build. Fixes #540967
2008-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.1 ===
2008-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.14.0 ===
2008-09-03 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtk-sections.txt: Add some missing functions
2008-09-03 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkprintunixdialog.sgml: Document n-up-layout capability
2008-08-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_selection_data_get_length
2008-08-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add some forgotten apis.
2008-08-19 Torsten Schoenfeld <kaffeetisch@gmx.de>
* gtk/gtk-sections.txt: Move gtk_menu_set_monitor next to
gtk_menu_get_monitor. Move gtk_menu_set_title next to
gtk_menu_get_title.
2008-08-18 Matthias Clasen <mclasen@redhat.com>
* ==== Released 2.13.7 ===
2008-08-16 Torsten Schoenfeld <kaffeetisch@gmx.de>
* gdk/gdk-sections.txt: Don't mention GdkWindowRedirect in the
docs; it's opaque and not used in any public API.
2008-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/building.sgml: Add a note about shared-mime-info and
XDG_DATA_DIRS.
2008-08-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Remove useless getters
2008-08-13 Torsten Schoenfeld <kaffeetisch@gmx.de>
* gtk/gtk-sections.txt: Move
gtk_font_selection_dialog_get_apply_button,
gtk_font_selection_dialog_get_cancel_button, and
gtk_font_selection_dialog_get_ok_button to the
GtkFontSelectionDialog section.
2008-08-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.6 ===
2008-08-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new functions
2008-08-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add new functions
2008-08-02 Matthias Clasen <mclasen@redhat.com>
Bug 515596 GtkUIManager's embedded UI definition example is invalid
* gtk/tmpl/gtktreeview.sgml:
* gtk/tmpl/gtkuimanager.sgml: Fix GtkBuilder examples.
2008-08-02 Matthias Clasen <mclasen@redhat.com>
Bug 540834 Insensitive widgets cannot be grabbed
* gtk/tmpl/gtkmain.sgml: Explain that insensitive widgets
cannot be grabbed. Patch by Björn Lindqvist
2008-08-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Update
2008-08-02 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/gdkapplaunchcontext.sgml: Add an introduction
with an example.
2008-07-31 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-sections.txt: Add new api
2008-07-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.5 ===
2008-07-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add tons of new api
2008-07-19 Matthias Clasen <mclasen@redhat.com>
Bug 543590 documentation glitch in GtkBox description
* gtk/tmpl/gtkbox.sgml: Improve long description. Pointed
out by Claudio Saavedra
2008-07-15 Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am:
* gtk/tmpl/gtkstock.sgml: Add new icon.
* gtk/gtk-sections.txt: Add new GtkPrinter functions
2008-07-14 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtklabel.sgml: Fix markup
2008-07-11 Matthias Clasen <mclasen@redhat.com>
Bug 537430 label pango attributes & i18n
* gtk/tmpl/gtklabel.sgml: Improve docs for Pango attributes in
builder xml. Pointed out by Christian Persch
2008-07-10 Stefan Kost <ensonic@users.sf.net>
Bug 540967 docs build slowly because of entities
* gtk/building.sgml:
* gtk/changes-1.2.sgml:
* gtk/changes-2.0.sgml:
* gtk/compiling.sgml:
* gtk/directfb.sgml:
* gtk/glossary.xml:
* gtk/gtk-docs.sgml:
* gtk/gtk-query-immodules-2.0.xml:
* gtk/gtk-update-icon-cache.xml:
* gtk/migrating-GtkAboutDialog.sgml:
* gtk/migrating-GtkAction.sgml:
* gtk/migrating-GtkAssistant.sgml:
* gtk/migrating-GtkBuilder.sgml:
* gtk/migrating-GtkColorButton.sgml:
* gtk/migrating-GtkComboBox.sgml:
* gtk/migrating-GtkFileChooser.sgml:
* gtk/migrating-GtkIconView.sgml:
* gtk/migrating-GtkLinkButton.sgml:
* gtk/migrating-GtkRecentChooser.sgml:
* gtk/migrating-GtkTooltip.sgml:
* gtk/migrating-checklist.sgml:
* gtk/osx.sgml:
* gtk/other_software.sgml:
* gtk/question_index.sgml:
* gtk/resources.sgml:
* gtk/running.sgml:
* gtk/text_widget.sgml:
* gtk/tree_widget.sgml:
* gtk/visual_index.xml:
* gtk/windows.sgml:
* gtk/x11.sgml:
Use xi:include to speed up doc-build. Remove some unused entities.
2008-07-06 Matthias Clasen <mclasen@redhat.com>
Bug 528822 - typo in GtkCombo docs
* gtk/tmpl/gtkcombo.sgml: Fix a typo. Pointed out by Kevin Ryde.
2008-07-06 Matthias Clasen <mclasen@redhat.com>
Bug 488019 - Mention bind_textdomain_codeset in gettext related FAQ
* gtk/question_index.sgml: Mention bind_textdomain_codeset()
2008-07-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.4 ===
2008-07-04 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkradiobutton.sgml: Update
2008-07-04 Matthias Clasen <mclasen@redhat.com>
* gdk/tmpl/events.sgml:
* gdk/tmpl/gdktesting.sgml: Additions
2008-07-03 Matthias Clasen <mclasen@redhat.com>
* gtk/images/iconview.png: Update
2008-06-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.3 ===
2008-06-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.2 ===
2008-06-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.types: Add GtkPrintOperationPreview.
2008-05-29 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.1 ===
2008-05-29 Matthias Clasen <mclasen@redhat.com>
* gtk/building.sgml: Document added configure options
2008-05-29 Michael Natterer <mitch@imendio.com>
* gtk/Makefile.am (CPPFLAGS): add -UGTK_DISABLE_SINGLE_INCLUDES so
the code generated by gtkdoc-scangobj builds.
2008-05-29 Michael Natterer <mitch@imendio.com>
* gtk/gtk.types: include <gtk/gtkunixprint.h> instead of
individual files.
2008-05-28 Matthias Clasen <mclasen@redhat.com>
* gtk/compiling.sgml: Explains single includes
2008-05-28 Matthias Clasen <mclasen@redhat.com>
Bug 535250 - GtkToolButton reference page says "label" where
it should say "icon", uses underscores
* gtk/tmpl/gtktoolbutton.sgml: Improve introduction
2008-05-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Additions
2008-05-27 Matthias Clasen <mclasen@redhat.com>
Bug 531887 - GtkTooltips is deprecated, but what should I use?
* gtk/tmpl/gtktooltips.sgml: Add a hint for what to use instead
2008-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Additions
2008-05-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt:
* gtk/gtk-docs.sgml: Add a section for GtkMountOperation
2008-05-25 Matthias Clasen <mclasen@redhat.com>
Bug 465144 - gtkprintjob.h is not included with gtk.h
* gtk/gtk-sections.txt: Fix include for gtkprintjob.h, pointed
out by Étienne Bersac.
2008-05-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-sections.txt: Add gtk_printer_get_default_page_size
2008-05-20 Matthias Clasen <mclasen@redhat.com>
Bug 533761 - gdk_accelerator_parse() does not exist, should be
gtk_accelerator_parse()
* gtk/migrating-GtkAction.sgml: Fix a typo.
Pointed out by Matthias Warkus
2008-05-05 Matthias Clasen <mclasen@redhat.com>
* docs/reference/gtk/Makefile.am:
* docs/reference/gtk/tmpl/gtkstock.sgml: Add new icons.
2008-04-10 Cody Russell <bratsche@gnome.org>
* docs/reference/gdk/tmpl/windows.sgml: Fix to say
g_signal_connect_after rather than g_signal_register_after.
(reported by Guillaume Cottenceau)
2008-04-10 Cody Russell <bratsche@gnome.org>
* docs/reference/gtk/tmpl/gtktreeview.sgml: Fix a typo
in the markup. (reported by kraai -at- ftbfs.org)
2008-03-30 Tor Lillqvist <tml@novell.com>
Bug 524862 - Using GTK_WIN_POS_CENTER_ALWAYS gives jerky window
resizing in Win32
* gtk/tmpl/gtkenums.sgml: Recommend that GTK_WIN_POS_CENTER_ALWAYS
is not used.
2008-03-11 Michael Natterer <mitch@imendio.com>
* gdk/Makefile.am
* gtk/framebuffer.sgml: remove remaining linux-fb stuff.
2008-02-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.13.0 ===
2008-02-18 Sven Neumann <sven@gimp.org>
* gtk/tmpl/gtkstock.sgml: added GTK_STOCK_PAGE_SETUP.
2008-02-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-docs.sgml:
* gtk/gtk-sections.txt:
* gdk/gdk-docs.sgml:
* gdk/gdk-sections.txt: Updates
2008-02-13 Tor Lillqvist <tml@novell.com>
* gtk/windows.sgml: Correct description of the Wintab and max
palette size options. Drop obsolete Win9x stuff.
2008-02-11 Benjamin Otte <otte@gnome.org>
* gdk/tmpl/windows.sgml:
remove SGML comment in example code - it was visible in the generated
HTML.
2008-01-24 Johan Dahlin <johan@gnome.org>
* gtk/tmpl/gtkwidget.sgml:
Add documentation for <accessible> buildable tag.
2008-01-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk-docs.sgml:
* gdk-pixbuf/gdk-pixbuf.sgml: Add indices for 2.16
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add stream i/o functions.
2008-01-10 Sven Neumann <sven@gimp.org>
* gtk/tmpl/gtkeditable.sgml: corrected documentation for
GtkEditable::delete-text.
2007-12-28 Mathias Hasselmann <mathias@openismus.com>
* gtk/tmpl/gtkcalendar.sgml: Move documentation for
GtkCalendarDisplayOptions to gtk/gtkcalendar.c.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* gtk/tmpl/gtkcalendar.sgml: Move documentation for
GtkCalendarDisplayOptions to gtk/gtkcalendar.c.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* docs/reference/gtk/gtk-sections.txt: Add new GtkCalendar symbols.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* gtk/tmpl/gtkcalendar.sgml: Move documentation for
GtkCalendarDisplayOptions to gtk/gtkcalendar.c.
2007-12-27 Mathias Hasselmann <mathias@openismus.com>
* reference/gtk/gtk-sections.txt: Add new GtkCalendar symbols.
2007-12-27 Xan Lopez <xan@gnome.org>
* gtk/gtk-sections.txt: Add gtk_border_new
2007-12-19 19:54:11 Tim Janik <timj@imendio.com>
* libgail-util/Makefile.am: include Makefile.decl to unbreak test rules.
2007-12-17 Matthias Clasen <mclasen@redhat.com>
* gtk/running.sgml: Mention the Gtk/IMModule XSetting.
2007-12-12 Matthias Clasen <mclasen@redhat.com>
* gdk/gdk-docs.sgml:
* gdk/gdk-sections.txt: Add GdkAppLaunchContext
2007-12-11 Mathias Hasselmann <mathias@openismus.com>
* docs/reference/gtk/tmpl/gtkdnd.sgml:
Move documentation for gtk_drag_dest_set to gtkdnd.c.
2007-11-30 Matthias Clasen <mclasen@redhat.com>
* gkt/question-index.sgml: Correct a typo. (#500686,
David Lambert)
2007-11-26 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkaboutdialog.sgml: Add note about hook setup
to the introduction.
2007-11-25 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkdialog.sgml: Move signal docs inline.
2007-11-19 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtknotebook.sgml:
* gtk/tmpl/gtkradiobutton.sgml: Fix typos. (#494905,
Olivier Delhomme)
* === Released 2.12.2 ===
2007-11-19 Matthias Clasen <mclasen@redhat.com>
@@ -1447,7 +589,7 @@ Tue Oct 10 15:29:15 2006 Tim Janik <timj@imendio.com>
2006-08-14 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkruler.sgml: Fix a swapped argument
description. (#351241, Étienne Bersac)
description. (#351241, Étienne Bersac)
2006-08-06 Matthias Clasen <mclasen@redhat.com>
@@ -1877,7 +1019,7 @@ Tue Oct 10 15:29:15 2006 Tim Janik <timj@imendio.com>
2005-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtkmain.sgml: Add deprecation note to
gtk_exit() (#325199, Ævar Arnfjörð Bjarmason)
gtk_exit() (#325199, Ævar Arnfjörð Bjarmason)
2005-12-20 Matthias Clasen <mclasen@redhat.com>
@@ -2172,7 +1314,7 @@ Tue Sep 13 14:16:27 2005 Tim Janik <timj@imendio.com>
2005-07-07 Matthias Clasen <mclasen@redhat.com>
* gtk/migrating-GtkIconView.sgml: Corrections.
(#309718, Tim-Philipp Müller)
(#309718, Tim-Philipp Müller)
2005-07-06 Matthias Clasen <mclasen@redhat.com>
@@ -2746,7 +1888,7 @@ Mon Nov 1 13:37:31 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/question_index.sgml: Move the "tail" question to the
text view section.
Add an entry for "why are my types not registered". (#156809,
Q by Salvador Fandiño, A by Owen Taylor)
Q by Salvador Fandiño, A by Owen Taylor)
2004-10-27 Matthias Clasen <mclasen@redhat.com>
@@ -3268,7 +2410,7 @@ Tue May 11 00:29:53 2004 Matthias Clasen <maclas@gmx.de>
Fri May 7 01:21:14 2004 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkicontheme.sgml: Fix example. (Steffen Röcker)
* gtk/tmpl/gtkicontheme.sgml: Fix example. (Steffen Röcker)
Thu May 6 00:22:38 2004 Matthias Clasen <maclas@gmx.de>
@@ -3318,7 +2460,7 @@ Wed May 5 23:12:36 2004 Matthias Clasen <maclas@gmx.de>
casts from examples. (#139387, Olexiy Avramchenko)
* gtk/migrating-GtkAction.sgml: Fix an example.
(#138966, Tim-Philipp Müller)
(#138966, Tim-Philipp Müller)
* gdk/tmpl/properties.sgml: Document the only_if_exists argument
to gdk_atom_intern() as ignored.
@@ -4043,7 +3185,7 @@ Tue Jul 29 14:21:48 2003 Soeren Sandmann <sandmann@daimi.au.dk>
2003-07-21 Matthias Clasen <maclas@gmx.de>
* gtk/tmpl/gtkdnd.sgml: It is GTK_DEST_DEFAULT_DROP, not
GTK_DRAG_DEFAULT_DROP. (#117917, Tim-Philipp Müller)
GTK_DRAG_DEFAULT_DROP. (#117917, Tim-Philipp Müller)
2003-07-19 Matthias Clasen <maclas@gmx.de>
@@ -6411,7 +5553,7 @@ Wed Jan 5 10:23:41 2000 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtkclist.sgml: partially written documentation from
Paul Schifferer <isengard@geocities.com> who won't be able to finish it
1999-09-22 Martin Norbäck <d95mback@dtek.chalmers.se>
1999-09-22 Martin Norbäck <d95mback@dtek.chalmers.se>
* gtk/tmpl/gtkclist.sgml: Added information about the sorting functions

View File

@@ -1,5 +1,4 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
SUBDIRS = gdk-pixbuf gdk gtk libgail-util
SUBDIRS = gdk-pixbuf gdk gtk

View File

@@ -0,0 +1,18 @@
Makefile
Makefile.in
gdk-pixbuf-decl-list.txt
gdk-pixbuf-decl.txt
gdk-pixbuf-undocumented.txt
gdk-pixbuf-unused.txt
gdk-pixbuf.args
gdk-pixbuf.hierarchy
gdk-pixbuf.interfaces
gdk-pixbuf.prerequisites
gdk-pixbuf.signals
deprecated
html
xml
*.stamp
*.lo
.libs
version.xml

View File

@@ -1,5 +1,4 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
@@ -47,7 +46,7 @@ GTKDOC_LIBS = \
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml --name-space=gdk_pixbuf
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
@@ -79,17 +78,17 @@ EXTRA_DIST += version.xml.in \
########################################################################
if ENABLE_MAN
man_MANS = gdk-pixbuf-csource.1 gdk-pixbuf-query-loaders.1
if ENABLE_MAN
%.1 : %.xml
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
BUILT_EXTRA_DIST = $(man_MANS)
endif
BUILT_EXTRA_DIST = $(man_MANS)
dist-hook-local: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \

View File

@@ -0,0 +1,118 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GDK-PIXBUF-CSOURCE" 1 "" "" ""
.SH NAME
gdk-pixbuf-csource \- C code generation utility for GdkPixbuf images
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 19
\fBgdk\-pixbuf\-csource\fR [options] [image]
.ad
.hy
.ad l
.hy 0
.HP 19
\fBgdk\-pixbuf\-csource\fR [options] \-\-build\-list [[name]\ [image]...]
.ad
.hy
.SH "DESCRIPTION"
.PP
\fBgdk\-pixbuf\-csource\fR is a small utility that generates C code containing images, useful for compiling images directly into programs\&.
.SH "INVOCATION"
.PP
\fBgdk\-pixbuf\-csource\fR either takes as input one image file name to generate code for, or, using the \fB\-\-build\-list\fR option, a list of (\fIname\fR, \fIimage\fR) pairs to generate code for a list of images into named variables\&.
.SS "Options"
.TP
\fB\-\-stream\fR
Generate pixbuf data stream (a single string containing a serialized GdkPixdata structure in network byte order)\&.
.TP
\fB\-\-struct\fR
Generate GdkPixdata structure (needs the GdkPixdata structure definition from \fIgdk\-pixdata\&.h\fR)\&.
.TP
\fB\-\-macros\fR
Generate *_ROWSTRIDE, *_WIDTH, *_HEIGHT, *_BYTES_PER_PIXEL and *_RLE_PIXEL_DATA or *_PIXEL_DATA macro definitions for the image\&.
.TP
\fB\-\-rle\fR
Enables run\-length encoding for the generated pixel data (default)\&.
.TP
\fB\-\-raw\fR
Disables run\-length encoding for the generated pixel data\&.
.TP
\fB\-\-extern\fR
Generate extern symbols\&.
.TP
\fB\-\-static\fR
Generate static symbols (default)\&.
.TP
\fB\-\-decoder\fR
Provide a *_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) macro definition to decode run\-length encoded image data\&.
.TP
\fB\-\-name=identifier\fR
Specifies the identifier name (prefix) for the generated variables or macros (useful only if \fB\-\-build\-list\fR was not specified)\&.
.TP
\fB\-\-build\-list\fR
Enables (\fIname\fR, \fIimage\fR) pair parsing mode\&.
.TP
\fB\-h\fR, \fB\-\-help\fR
Print brief help and exit\&.
.TP
\fB\-v\fR, \fB\-\-version\fR
Print version and exit\&.
.TP
\fB\-\-g\-fatal\-warnings\fR
Make warnings fatal (causes the program to abort)\&.
.SH "SEE ALSO"
.PP
The GdkPixbuf documentation, shipped with the Gtk+ distribution, available from www\&.gtk\&.org: \fIhttp://www.gtk.org\fR\&.
.SH "BUGS"
.PP
The runlength encoder gets out of sync with the pixel boundaries, since it includes the rowstride padding in the encoded stream\&. Furthermore, it generates pixbufs with suboptimal rowstride in some cases\&.
.SH "AUTHOR"
.PP
\fBgdk\-pixbuf\-csource\fR was written by Tim Janik <timj@gtk\&.org>\&.
.PP
This manual page was provided by Tim Janik <timj@gtk\&.org>\&.

View File

@@ -1,7 +1,3 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-csource">
<refmeta>

View File

@@ -1,7 +1,3 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-gdk-pixbuf-from-drawables">
<refmeta>
<refentrytitle>Drawables to Pixbufs</refentrytitle>

View File

@@ -0,0 +1,49 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GDK-PIXBUF-QUERY" 1 "" "" ""
.SH NAME
gdk-pixbuf-query-loaders \- GdkPixbuf loader registration utility
.SH "SYNOPSIS"
.nf
\fBgdk-pixbuf-query-loaders\fR [module...]
.fi
.SH "DESCRIPTION"
.PP
\fBgdk-pixbuf-query-loaders\fR collects information about loadable modules for gdk-pixbuf and writes it to \fIstdout\fR\&.
.PP
If called without arguments, it looks for modules in the gdk-pixbuf loader directory\&.
.PP
If called with arguments, it looks for the specified modules\&. The arguments may be absolute or relative paths\&.
.SH "ENVIRONMENT"
.PP
The environment variable \fBGDK_PIXBUF_MODULEDIR\fR can be used to specify a different loader directory\&. The default gdk-pixbuf loader directory is \fI\fIlibdir\fR/gtk-2\&.0/\fIversion\fR/loaders\fR\&.
.SH "BUGS"
.PP
None known yet\&.

View File

@@ -1,7 +1,3 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-query-loaders">
<refmeta>

View File

@@ -1,7 +1,3 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gdk-pixbuf-gdk-pixbuf-rendering">
<refmeta>
<refentrytitle>Rendering</refentrytitle>

View File

@@ -65,8 +65,6 @@ gdk_pixbuf_new_from_file
gdk_pixbuf_new_from_file_at_size
gdk_pixbuf_new_from_file_at_scale
gdk_pixbuf_get_file_info
gdk_pixbuf_new_from_stream
gdk_pixbuf_new_from_stream_at_scale
</SECTION>
<SECTION>
@@ -78,7 +76,6 @@ gdk_pixbuf_save_to_callback
gdk_pixbuf_save_to_callbackv
gdk_pixbuf_save_to_buffer
gdk_pixbuf_save_to_bufferv
gdk_pixbuf_save_to_stream
</SECTION>
<SECTION>

View File

@@ -1,20 +1,38 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gdk-pixbuf-gdk-pixbuf SYSTEM "xml/gdk-pixbuf.xml">
<!ENTITY gdk-pixbuf-refcounting SYSTEM "xml/refcounting.xml">
<!ENTITY gdk-pixbuf-file-loading SYSTEM "xml/file-loading.xml">
<!ENTITY gdk-pixbuf-file-saving SYSTEM "xml/file-saving.xml">
<!ENTITY gdk-pixbuf-creating SYSTEM "xml/creating.xml">
<!ENTITY gdk-pixbuf-inline SYSTEM "xml/inline.xml">
<!ENTITY gdk-pixbuf-scaling SYSTEM "xml/scaling.xml">
<!ENTITY gdk-pixbuf-rendering SYSTEM "gdk-pixbuf-rendering.sgml">
<!ENTITY gdk-pixbuf-from-drawables SYSTEM "gdk-pixbuf-from-drawables.sgml">
<!ENTITY gdk-pixbuf-util SYSTEM "xml/util.xml">
<!ENTITY gdk-pixbuf-animation SYSTEM "xml/animation.xml">
<!ENTITY GdkPixbufLoader SYSTEM "xml/gdk-pixbuf-loader.xml">
<!ENTITY module-interface SYSTEM "xml/module_interface.xml">
<!ENTITY initialization-versions SYSTEM "xml/initialization_versions.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-init SYSTEM "xml/gdk-pixbuf-xlib-init.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rendering SYSTEM "xml/gdk-pixbuf-xlib-rendering.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-from-drawables SYSTEM "xml/gdk-pixbuf-xlib-from-drawables.xml">
<!ENTITY gdk-pixbuf-gdk-pixbuf-xlib-rgb SYSTEM "xml/gdk-pixbuf-xlib-rgb.xml">
<!ENTITY Porting-From-Imlib SYSTEM "porting-from-imlib.sgml">
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
<!ENTITY Imlib "<application>Imlib</application>">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY gdk-pixbuf-csource SYSTEM "gdk-pixbuf-csource.xml">
<!ENTITY gdk-pixbuf-query-loaders SYSTEM "gdk-pixbuf-query-loaders.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<book id="index">
<bookinfo>
<title>GDK-PixBuf Reference Manual</title>
<releaseinfo>
Version &version;
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://library.gnome.org/devel/gdk-pixbuf/unstable/">http://library.gnome.org/devel/gdk-pixbuf/unstable/</ulink>.
</releaseinfo>
<title>The &gdk-pixbuf; Library</title>
<releaseinfo>Version &version;</releaseinfo>
<authorgroup>
<author>
<firstname>Federico</firstname>
@@ -75,27 +93,27 @@
</para>
</partintro>
<xi:include href="xml/initialization_versions.xml" />
&initialization-versions;
<xi:include href="xml/gdk-pixbuf.xml" />
<xi:include href="xml/refcounting.xml" />
<xi:include href="xml/file-loading.xml" />
<xi:include href="xml/file-saving.xml" />
<xi:include href="xml/creating.xml" />
<xi:include href="xml/inline.xml" />
<xi:include href="xml/scaling.xml" />
<xi:include href="gdk-pixbuf-rendering.sgml" />
<xi:include href="gdk-pixbuf-from-drawables.sgml" />
<xi:include href="xml/util.xml" />
<xi:include href="xml/animation.xml" />
&gdk-pixbuf-gdk-pixbuf;
&gdk-pixbuf-refcounting;
&gdk-pixbuf-file-loading;
&gdk-pixbuf-file-saving;
&gdk-pixbuf-creating;
&gdk-pixbuf-inline;
&gdk-pixbuf-scaling;
&gdk-pixbuf-rendering;
&gdk-pixbuf-from-drawables;
&gdk-pixbuf-util;
&gdk-pixbuf-animation;
<xi:include href="xml/gdk-pixbuf-loader.xml" />
<xi:include href="xml/module_interface.xml" />
&GdkPixbufLoader;
&module-interface;
<xi:include href="xml/gdk-pixbuf-xlib-init.xml" />
<xi:include href="xml/gdk-pixbuf-xlib-rendering.xml" />
<xi:include href="xml/gdk-pixbuf-xlib-from-drawables.xml" />
<xi:include href="xml/gdk-pixbuf-xlib-rgb.xml" />
&gdk-pixbuf-gdk-pixbuf-xlib-init;
&gdk-pixbuf-gdk-pixbuf-xlib-rendering;
&gdk-pixbuf-gdk-pixbuf-xlib-from-drawables;
&gdk-pixbuf-gdk-pixbuf-xlib-rgb;
</reference>
<reference>
@@ -108,48 +126,30 @@
</para>
</partintro>
<xi:include href="gdk-pixbuf-csource.xml" />
<xi:include href="gdk-pixbuf-query-loaders.xml" />
&gdk-pixbuf-csource;
&gdk-pixbuf-query-loaders;
</reference>
<index id="api-index-full">
<title>Index of all symbols</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
<index>
<title>Index</title>
</index>
<index id="api-index-deprecated" role="deprecated">
<index role="deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-2" role="2.2">
<index role="2.2">
<title>Index of new symbols in 2.2</title>
<xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-4" role="2.4">
<index role="2.4">
<title>Index of new symbols in 2.4</title>
<xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-6" role="2.6">
</index>
<index role="2.6">
<title>Index of new symbols in 2.6</title>
<xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-8" role="2.8">
</index>
<index role="2.8">
<title>Index of new symbols in 2.8</title>
<xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-10" role="2.10">
<title>Index of new symbols in 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-12" role="2.12">
<title>Index of new symbols in 2.12</title>
<xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-14" role="2.14">
<title>Index of new symbols in 2.14</title>
<xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
</index>
</index>
<xi:include href="porting-from-imlib.sgml" />
&Porting-From-Imlib;
<!-- License -->

View File

@@ -1,4 +1,5 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
gdk_pixbuf_get_type
gdk_pixbuf_loader_get_type

View File

@@ -1,9 +1,3 @@
<?xml version="1.0"?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
<!ENTITY Imlib "<application>Imlib</application>">
]>
<appendix>
<title>Porting applications from &Imlib; to &gdk-pixbuf;</title>

View File

@@ -25,13 +25,13 @@ Animated images.
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
An opaque struct representing an animation.
And opaque struct representing an animation.
</para>
<!-- ##### STRUCT GdkPixbufAnimationIter ##### -->
<para>
An opaque struct representing an iterator which points to a
And opaque struct representing an iterator which points to a
certain position in an animation.
</para>
@@ -148,7 +148,7 @@ certain position in an animation.
<!-- ##### STRUCT GdkPixbufSimpleAnim ##### -->
<para>
An opaque struct representing a simple animation.
An
</para>

View File

@@ -79,28 +79,3 @@ End:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream ##### -->
<para>
</para>
@stream:
@cancellable:
@error:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream_at_scale ##### -->
<para>
</para>
@stream:
@width:
@height:
@preserve_aspect_ratio:
@cancellable:
@error:
@Returns:

View File

@@ -124,17 +124,3 @@ will fail with the same error.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_save_to_stream ##### -->
<para>
</para>
@pixbuf:
@stream:
@type:
@cancellable:
@error:
@Varargs:
@Returns:

View File

@@ -567,3 +567,14 @@ End:
</para>
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream ##### -->
<para>
</para>
@stream_length:
@stream:
@copy_pixels:
@error:
@Returns:

View File

@@ -0,0 +1,18 @@
Makefile
Makefile.in
gdk-decl-list.txt
gdk-decl.txt
gdk-undocumented.txt
gdk-unused.txt
gdk.args
gdk.hierarchy
gdk.interfaces
gdk.prerequisites
gdk.signals
deprecated
html
xml
*.stamp
*.lo
.libs
version.xml

View File

@@ -1,5 +1,4 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
@@ -30,6 +29,8 @@ IGNORE_HFILES= \
gdkpoly-generic.h \
gdkregion-generic.h \
keyname-table.h \
linux-fb \
nanox \
win32 \
directfb \
x11 \
@@ -52,7 +53,7 @@ GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=gdk
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \

View File

@@ -1,107 +1,114 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gdk-General SYSTEM "xml/general.xml">
<!ENTITY gdk-Bitmaps-and-Pixmaps SYSTEM "xml/pixmaps.xml">
<!ENTITY gdk-Images SYSTEM "xml/images.xml">
<!ENTITY gdk-GdkRGB SYSTEM "xml/rgb.xml">
<!ENTITY gdk-Pixbufs SYSTEM "xml/pixbufs.xml">
<!ENTITY gdk-Colormaps-and-Colors SYSTEM "xml/colors.xml">
<!ENTITY gdk-Fonts SYSTEM "xml/fonts.xml">
<!ENTITY gdk-Drawing-Primitives SYSTEM "xml/drawing.xml">
<!ENTITY gdk-Graphics-Contexts SYSTEM "xml/gcs.xml">
<!ENTITY gdk-Visuals SYSTEM "xml/visuals.xml">
<!ENTITY gdk-Windows SYSTEM "xml/windows.xml">
<!ENTITY gdk-Selections SYSTEM "xml/selections.xml">
<!ENTITY gdk-Properties-and-Atoms SYSTEM "xml/properties.xml">
<!ENTITY gdk-Pango-Interaction SYSTEM "xml/pango_interaction.xml">
<!ENTITY gdk-Cairo-Interaction SYSTEM "xml/cairo_interaction.xml">
<!ENTITY gdk-Points-Rectangles-and-Regions SYSTEM "xml/regions.xml">
<!ENTITY gdk-Threads SYSTEM "xml/threads.xml">
<!ENTITY gdk-Keys SYSTEM "xml/keys.xml">
<!ENTITY gdk-Input-Devices SYSTEM "xml/input_devices.xml">
<!ENTITY gdk-Events SYSTEM "xml/events.xml">
<!ENTITY gdk-Event-Structures SYSTEM "xml/event_structs.xml">
<!ENTITY gdk-Cursors SYSTEM "xml/cursors.xml">
<!ENTITY gdk-Input SYSTEM "xml/input.xml">
<!ENTITY gdk-Drag-and-Drop SYSTEM "xml/dnd.xml">
<!ENTITY gdk-X-Window-System-Interaction SYSTEM "xml/x_interaction.xml">
<!ENTITY gdk-Screen SYSTEM "xml/gdkscreen.xml">
<!ENTITY gdk-Display SYSTEM "xml/gdkdisplay.xml">
<!ENTITY gdk-DisplayManager SYSTEM "xml/gdkdisplaymanager.xml">
<!ENTITY gdk-Multihead SYSTEM "multihead.sgml">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<book id="index">
<bookinfo>
<title>GDK Reference Manual</title>
<releaseinfo>
for GDK &version;
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://library.gnome.org/devel/gdk/unstable/">http://library.gnome.org/devel/gdk/unstable/</ulink>.
</releaseinfo>
<releaseinfo>for GDK &version;</releaseinfo>
</bookinfo>
<reference id="reference">
<title>API Reference</title>
<xi:include href="xml/general.xml" />
&gdk-General;
<xi:include href="multihead.sgml" />
<xi:include href="xml/gdkdisplay.xml" />
<xi:include href="xml/gdkdisplaymanager.xml" />
<xi:include href="xml/gdkscreen.xml" />
&gdk-Multihead;
&gdk-Display;
&gdk-DisplayManager;
&gdk-Screen;
<xi:include href="xml/regions.xml" />
<xi:include href="xml/gcs.xml" />
<xi:include href="xml/drawing.xml" />
&gdk-Points-Rectangles-and-Regions;
&gdk-Graphics-Contexts;
&gdk-Drawing-Primitives;
<xi:include href="xml/pixmaps.xml" />
<xi:include href="xml/rgb.xml" />
<xi:include href="xml/images.xml" />
<xi:include href="xml/pixbufs.xml" />
&gdk-Bitmaps-and-Pixmaps;
&gdk-GdkRGB;
&gdk-Images;
&gdk-Pixbufs;
<xi:include href="xml/colors.xml" />
<xi:include href="xml/visuals.xml" />
&gdk-Colormaps-and-Colors;
&gdk-Visuals;
<xi:include href="xml/fonts.xml" />
<xi:include href="xml/cursors.xml" />
&gdk-Fonts;
&gdk-Cursors;
<xi:include href="xml/windows.xml" />
&gdk-Windows;
<xi:include href="xml/events.xml" />
<xi:include href="xml/event_structs.xml" />
&gdk-Events;
&gdk-Event-Structures;
<xi:include href="xml/keys.xml" />
&gdk-Keys;
<xi:include href="xml/selections.xml" />
<xi:include href="xml/dnd.xml" />
&gdk-Selections;
&gdk-Drag-and-Drop;
<xi:include href="xml/properties.xml" />
&gdk-Properties-and-Atoms;
<xi:include href="xml/threads.xml" />
&gdk-Threads;
<xi:include href="xml/input.xml" />
<xi:include href="xml/input_devices.xml" />
&gdk-Input;
<xi:include href="xml/pango_interaction.xml" />
<xi:include href="xml/cairo_interaction.xml" />
<xi:include href="xml/x_interaction.xml" />
&gdk-Input-Devices;
<xi:include href="xml/gdkapplaunchcontext.xml" />
<xi:include href="xml/gdktesting.xml" />
&gdk-Pango-Interaction;
&gdk-Cairo-Interaction;
&gdk-X-Window-System-Interaction;
</reference>
<index id="api-index-full">
<title>Index of all symbols</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
<index>
<title>Index</title>
</index>
<index id="api-index-deprecated" role="deprecated">
<index role="deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-2" role="2.2">
<index role="2.2">
<title>Index of new symbols in 2.2</title>
<xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-4" role="2.4">
<index role="2.4">
<title>Index of new symbols in 2.4</title>
<xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-6" role="2.6">
<title>Index of new symbols in 2.6</title>
<xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-8" role="2.8">
<title>Index of new symbols in 2.8</title>
<xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-10" role="2.10">
<title>Index of new symbols in 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-12" role="2.12">
<title>Index of new symbols in 2.12</title>
<xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-14" role="2.14">
<title>Index of new symbols in 2.14</title>
<xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-16" role="2.16">
<title>Index of new symbols in 2.16</title>
<xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
</index>
<index role="2.6">
<title>Index of new symbols in 2.6</title>
</index>
<index role="2.8">
<title>Index of new symbols in 2.8</title>
</index>
<index role="2.10">
<title>Index of new symbols in 2.10</title>
</index>
<index role="2.12">
<title>Index of new symbols in 2.12</title>
</index>
</book>

View File

@@ -30,7 +30,6 @@ gdk_screen_height
gdk_screen_width_mm
gdk_screen_height_mm
<SUBSECTION>
gdk_pointer_grab
GdkGrabStatus
@@ -218,9 +217,6 @@ gdk_screen_get_n_monitors
gdk_screen_get_monitor_geometry
gdk_screen_get_monitor_at_point
gdk_screen_get_monitor_at_window
gdk_screen_get_monitor_height_mm
gdk_screen_get_monitor_width_mm
gdk_screen_get_monitor_plug_name
gdk_screen_broadcast_client_message
gdk_screen_get_setting
gdk_screen_get_font_options
@@ -762,14 +758,11 @@ GdkWMFunction
gdk_window_get_toplevels
gdk_get_default_root_window
<SUBSECTION>
GdkPointerHooks
gdk_set_pointer_hooks
<SUBSECTION>
gdk_window_redirect_to_drawable
gdk_window_remove_redirection
<SUBSECTION Standard>
GDK_WINDOW
GDK_WINDOW_GET_CLASS
@@ -795,8 +788,6 @@ gdk_window_object_get_type
gdk_drawable_get_type
GdkWindowObject
GdkWindowObjectClass
gdk_window_freeze_toplevel_updates_libgtk_only
gdk_window_thaw_toplevel_updates_libgtk_only
</SECTION>
<SECTION>
@@ -971,8 +962,6 @@ gdk_threads_add_idle
gdk_threads_add_idle_full
gdk_threads_add_timeout
gdk_threads_add_timeout_full
gdk_threads_add_timeout_seconds
gdk_threads_add_timeout_seconds_full
<SUBSECTION Private>
gdk_threads_lock
@@ -992,7 +981,6 @@ gdk_keymap_get_entries_for_keyval
gdk_keymap_get_entries_for_keycode
gdk_keymap_get_direction
gdk_keymap_have_bidi_layouts
gdk_keymap_get_caps_lock_state
<SUBSECTION>
gdk_keyval_name
@@ -1297,7 +1285,6 @@ gdk_x11_get_server_time
gdk_net_wm_supports
gdk_x11_screen_supports_net_wm_hint
gdk_x11_screen_get_window_manager_name
gdk_x11_screen_get_monitor_output
gdk_x11_screen_lookup_visual
gdk_x11_window_set_user_time
gdk_x11_window_move_to_current_desktop
@@ -1347,35 +1334,3 @@ GDK_HAVE_WCTYPE_H
gdk_iswalnum
gdk_iswspace
</SECTION>
<SECTION>
<TITLE>Application launching</TITLE>
<FILE>gdkapplaunchcontext</FILE>
GdkAppLaunchContext
gdk_app_launch_context_new
gdk_app_launch_context_set_display
gdk_app_launch_context_set_screen
gdk_app_launch_context_set_desktop
gdk_app_launch_context_set_timestamp
gdk_app_launch_context_set_icon
gdk_app_launch_context_set_icon_name
<SUBSECTION Standard>
GDK_APP_LAUNCH_CONTEXT
GDK_APP_LAUNCH_CONTEXT_CLASS
GDK_APP_LAUNCH_CONTEXT_GET_CLASS
GDK_IS_APP_LAUNCH_CONTEXT
GDK_IS_APP_LAUNCH_CONTEXT_CLASS
GDK_TYPE_APP_LAUNCH_CONTEXT
GdkAppLaunchContextClass
GdkAppLaunchContextPrivate
<SUBSECTION Private>
gdk_app_launch_context_get_type
</SECTION>
<SECTION>
<TITLE>Testing</TITLE>
<FILE>gdktesting</FILE>
gdk_test_render_sync
gdk_test_simulate_button
gdk_test_simulate_key
</SECTION>

View File

@@ -1,7 +1,3 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="multihead" revision="1 May 2002">
<refmeta>
<refentrytitle>Multi-head Support Overview</refentrytitle>

View File

@@ -126,7 +126,7 @@ The colormap structure contains the following public fields.
@colormap:
@colors:
@n_colors:
@ncolors:
@writeable:
@best_match:
@success:
@@ -150,7 +150,7 @@ The colormap structure contains the following public fields.
@colormap:
@colors:
@n_colors:
@ncolors:
<!-- ##### FUNCTION gdk_colormap_query_color ##### -->

View File

@@ -121,9 +121,8 @@ The standard cursors available.
@GDK_WATCH: <inlinegraphic format="PNG" fileref="watch.png"></inlinegraphic>
@GDK_XTERM: <inlinegraphic format="PNG" fileref="xterm.png"></inlinegraphic>
@GDK_LAST_CURSOR: last cursor type
@GDK_BLANK_CURSOR: Blank cursor. Since 2.16
@GDK_CURSOR_IS_PIXMAP: type of cursors constructed with
gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
gdk_cursor_new_from_pixmap() or gdk_cursor_new_from_pixbuf()
<!-- ##### FUNCTION gdk_cursor_new ##### -->
<para>

View File

@@ -179,7 +179,7 @@ or a #GdkWindow.
@drawable:
@gc:
@points:
@n_points:
@npoints:
<!-- ##### FUNCTION gdk_draw_line ##### -->
@@ -202,7 +202,7 @@ or a #GdkWindow.
@gc:
@points:
lines.
@n_points:
@npoints:
<!-- ##### FUNCTION gdk_draw_pixbuf ##### -->
@@ -231,7 +231,7 @@ lines.
@drawable:
@gc:
@segs:
@n_segs:
@nsegs:
<!-- ##### STRUCT GdkSegment ##### -->
@@ -285,7 +285,7 @@ function.
@gc:
@filled:
@points:
@n_points:
@npoints:
<!-- ##### FUNCTION gdk_draw_trapezoids ##### -->

View File

@@ -259,11 +259,8 @@ Generated when the pointer enters or leaves a window.
@y: the y coordinate of the pointer relative to the window.
@x_root: the x coordinate of the pointer relative to the root of the screen.
@y_root: the y coordinate of the pointer relative to the root of the screen.
@mode: the crossing mode (%GDK_CROSSING_NORMAL, %GDK_CROSSING_GRAB,
%GDK_CROSSING_UNGRAB, %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB or
%GDK_CROSSING_STATE_CHANGED). %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB,
and %GDK_CROSSING_STATE_CHANGED were added in 2.14 and are always synthesized,
never native.
@mode: the crossing mode (%GDK_CROSSING_NORMAL, %GDK_CROSSING_GRAB or
%GDK_CROSSING_UNGRAB).
@detail: the kind of crossing that happened (%GDK_NOTIFY_INFERIOR,
%GDK_NOTIFY_ANCESTOR, %GDK_NOTIFY_VIRTUAL, %GDK_NOTIFY_NONLINEAR or
%GDK_NOTIFY_NONLINEAR_VIRTUAL).
@@ -477,10 +474,6 @@ Specifies the crossing mode for #GdkEventCrossing.
@GDK_CROSSING_NORMAL: crossing because of pointer motion.
@GDK_CROSSING_GRAB: crossing because a grab is activated.
@GDK_CROSSING_UNGRAB: crossing because a grab is deactivated.
@GDK_CROSSING_GTK_GRAB: crossing because a GTK+ grab is activated.
@GDK_CROSSING_GTK_UNGRAB: crossing because a GTK+ grab is deactivated.
@GDK_CROSSING_STATE_CHANGED: crossing because a GTK+ widget changed state (e.g.
sensitivity).
<!-- ##### ENUM GdkNotifyType ##### -->
<para>

View File

@@ -92,8 +92,6 @@ for the possible window states
was added in 2.6
@GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type
was added in 2.8.
@GDK_DAMAGE: the content of the window has been changed. This event type
was added in 2.14.
<!-- ##### ENUM GdkEventMask ##### -->
<para>

View File

@@ -459,12 +459,6 @@ status information, so the application does not need to do anything.
@GDK_PIXBUF_ALPHA_BILEVEL:
@GDK_PIXBUF_ALPHA_FULL:
<!-- ##### STRUCT GdkWindowRedirect ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_color_context_add_palette ##### -->
<para>

View File

@@ -1,106 +0,0 @@
<!-- ##### SECTION Title ##### -->
Application launching
<!-- ##### SECTION Short_Description ##### -->
Startup notification for applications
<!-- ##### SECTION Long_Description ##### -->
<para>
GdkAppLaunchContext is an implementation of #GAppLaunchContext that
handles launching an application in a graphical context. It provides
startup notification and allows to launch applications on a specific
screen or workspace.
</para>
<example>
<title>Launching an application</title>
<programlisting>
GdkAppLaunchContext *context;
context = gdk_app_launch_context_new (<!-- -->);
gdk_app_launch_context_set_screen (my_screen);
gdk_app_launch_context_set_timestamp (event-&gt;time);
if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &amp;error))
g_warning ("Launching failed: %s\n", error-&gt;message);
g_object_unref (context);
</programlisting>
</example>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### TYPEDEF GdkAppLaunchContext ##### -->
<para>
An opaque structure representing an application launch context.
</para>
<!-- ##### FUNCTION gdk_app_launch_context_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_app_launch_context_set_display ##### -->
<para>
</para>
@context:
@display:
<!-- ##### FUNCTION gdk_app_launch_context_set_screen ##### -->
<para>
</para>
@context:
@screen:
<!-- ##### FUNCTION gdk_app_launch_context_set_desktop ##### -->
<para>
</para>
@context:
@desktop:
<!-- ##### FUNCTION gdk_app_launch_context_set_timestamp ##### -->
<para>
</para>
@context:
@timestamp:
<!-- ##### FUNCTION gdk_app_launch_context_set_icon ##### -->
<para>
</para>
@context:
@icon:
<!-- ##### FUNCTION gdk_app_launch_context_set_icon_name ##### -->
<para>
</para>
@context:
@icon_name:

View File

@@ -41,13 +41,6 @@ when GDK gets multihead support.
@gdkscreen: the object which received the signal.
<!-- ##### SIGNAL GdkScreen::monitors-changed ##### -->
<para>
</para>
@gdkscreen: the object which received the signal.
<!-- ##### SIGNAL GdkScreen::size-changed ##### -->
<para>
@@ -284,36 +277,6 @@ when GDK gets multihead support.
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_height_mm ##### -->
<para>
</para>
@screen:
@monitor_num:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_width_mm ##### -->
<para>
</para>
@screen:
@monitor_num:
@Returns:
<!-- ##### FUNCTION gdk_screen_get_monitor_plug_name ##### -->
<para>
</para>
@screen:
@monitor_num:
@Returns:
<!-- ##### FUNCTION gdk_screen_broadcast_client_message ##### -->
<para>

View File

@@ -1,56 +0,0 @@
<!-- ##### SECTION Title ##### -->
Testing
<!-- ##### SECTION Short_Description ##### -->
Test utilities
<!-- ##### SECTION Long_Description ##### -->
<para>
The functions in this section are intended to be used in test programs.
They allow to simulate some user input.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_test_render_sync ##### -->
<para>
</para>
@window:
<!-- ##### FUNCTION gdk_test_simulate_button ##### -->
<para>
</para>
@window:
@x:
@y:
@button:
@modifiers:
@button_pressrelease:
@Returns:
<!-- ##### FUNCTION gdk_test_simulate_key ##### -->
<para>
</para>
@window:
@x:
@y:
@keyval:
@modifiers:
@key_pressrelease:
@Returns:

View File

@@ -35,14 +35,19 @@ callbacks.</para></listitem>
<!-- ##### FUNCTION gdk_input_add_full ##### -->
<para>
Establish a callback when a condition becomes true on
a file descriptor.
</para>
@source:
@condition:
@function:
@data:
@destroy:
@Returns:
@source: a file descriptor.
@condition: the condition.
@function: the callback function.
@data: callback data passed to @function.
@destroy: callback function to call with @data when the input
handler is removed.
@Returns: a tag that can later be used as an argument to
gdk_input_remove().
<!-- ##### ENUM GdkInputCondition ##### -->
@@ -83,13 +88,17 @@ structure or object that @data points to.
<!-- ##### FUNCTION gdk_input_add ##### -->
<para>
Establish a callback when a condition becomes true on
a file descriptor.
</para>
@source:
@condition:
@function:
@data:
@Returns:
@source: a file descriptor.
@condition: the condition.
@function: the callback function.
@data: callback data passed to @function.
@Returns: a tag that can later be used as an argument to
gdk_input_remove().
<!-- ##### FUNCTION gdk_input_remove ##### -->

View File

@@ -11,7 +11,7 @@ They appear in the <structfield>keyval</structfield> field of the
#GdkEventKey structure, which is passed to signal handlers for the
"key-press-event" and "key-release-event" signals.
The complete list of key values can be found in the <filename>&lt;gdk/gdkkeysyms.h&gt;</filename>
header file. <filename>&lt;gdk/gdkkeysyms.h&gt;</filename> is not included in <filename>&lt;gdk/gdk.h&gt;</filename>,
header file. <filename>&lt;gdk/gdkkeysyms.h&gt;</filename> is not included in <filename>&lt;gtk/gtk.h&gt;</filename>,
it must be included independently, because the file is quite large.
</para>
<para>
@@ -108,13 +108,6 @@ in the keymap and see what keyval it corresponds to.
@keymap: the object which received the signal.
<!-- ##### SIGNAL GdkKeymap::state-changed ##### -->
<para>
</para>
@gdkkeymap: the object which received the signal.
<!-- ##### STRUCT GdkKeymapKey ##### -->
<para>
A <structname>GdkKeymapKey</structname> is a hardware key that can
@@ -220,15 +213,6 @@ Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL.
@Returns:
<!-- ##### FUNCTION gdk_keymap_get_caps_lock_state ##### -->
<para>
</para>
@keymap:
@Returns:
<!-- ##### FUNCTION gdk_keyval_name ##### -->
<para>
Converts a key value into a symbolic name.

View File

@@ -305,7 +305,7 @@ is provided.
@data: location to store a pointer to the data. The retrieved
data should be freed with g_free() when you are finished
using it.
@Returns: %TRUE if data was successfully received and stored
@Returns: %TRUE if data was sucessfully received and stored
in @data, otherwise %FALSE.

View File

@@ -95,7 +95,7 @@ A GdkRegion represents a set of pixels on the screen.
</para>
@points:
@n_points:
@npoints:
@fill_rule:
@Returns:

View File

@@ -212,7 +212,8 @@ int main (int argc, char *argv[])
/* create a window */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
@@ -356,27 +357,3 @@ gdk_threads_enter()/gdk_threads_leave().
@Returns:
<!-- ##### FUNCTION gdk_threads_add_timeout_seconds ##### -->
<para>
</para>
@interval:
@function:
@data:
@Returns:
<!-- ##### FUNCTION gdk_threads_add_timeout_seconds_full ##### -->
<para>
</para>
@priority:
@interval:
@function:
@data:
@notify:
@Returns:

Some files were not shown because too many files have changed in this diff Show More